1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <meta content="IE=edge" http-equiv="X-UA-Compatible" /> 6 <meta content="width=device-width,initial-scale=1" name="viewport" /> 7 <link rel="canonical" href="https://canvastique.com/cart" /> 8 9 <title>Your Shopping Cart | Canvastique</title> 10 11 12<meta name="description" content="The official website and shop of Canvastique. Find the latest content, buy merch, and support your favorite creator. Shop online Canvastique Merch for trendy apparel and accessories. Upgrade your style with exclusive picks from the official Canvastique Merch store!" /> 13<meta property="og:site_name" content="Canvastique" /> 14<meta property="og:url" content="https://canvastique.com/cart" /> 15<meta property="og:description" content="The official website and shop of Canvastique. Find the latest content, buy merch, and support your favorite creator. Shop online Canvastique Merch for trendy apparel and accessories. Upgrade your style with exclusive picks from the official Canvastique Merch store!" /> 16 17 18 19 20 21<meta property="og:title" content="Your Shopping Cart | Canvastique" /> 22<meta property="og:type" content="website" /> 23 24 25 <meta property="og:image" content="https://imgproxy.fourthwall.dev/IpN9av632Vk_GJZ8b7JPBCksXV_I-VYVUj4v87LCGEw/w:1200/sm:1/enc/eO4WIG8NFp1i1oV6/pNppjC8R_walImmp/OVbJjna3smZaZyBV/zl71rvrpraUnqL0O/hwUkRlZbdmOBFzlz/tV4LzBK0THfuUA17/zmesuNKaZftaHb1O/zaHOFVnboZA1gmFA/djEfLN27Osc7XExa/uIJgwIAcdt5u54fh/LvkRJpsBNsdy9_3R/eZ5LIpzl0DrmQkOI/8aNl-jZizseo5V6X/K5W21OFV2H3R-yWF/4ZrTmlllX-nfZE_h/FPCG2H8OzbmoRtuV.png" /> 26 <meta property="og:image:secure_url" content="https://imgproxy.fourthwall.dev/IpN9av632Vk_GJZ8b7JPBCksXV_I-VYVUj4v87LCGEw/w:1200/sm:1/enc/eO4WIG8NFp1i1oV6/pNppjC8R_walImmp/OVbJjna3smZaZyBV/zl71rvrpraUnqL0O/hwUkRlZbdmOBFzlz/tV4LzBK0THfuUA17/zmesuNKaZftaHb1O/zaHOFVnboZA1gmFA/djEfLN27Osc7XExa/uIJgwIAcdt5u54fh/LvkRJpsBNsdy9_3R/eZ5LIpzl0DrmQkOI/8aNl-jZizseo5V6X/K5W21OFV2H3R-yWF/4ZrTmlllX-nfZE_h/FPCG2H8OzbmoRtuV.png" /> 27 <meta property="twitter:image" content="https://imgproxy.fourthwall.dev/IpN9av632Vk_GJZ8b7JPBCksXV_I-VYVUj4v87LCGEw/w:1200/sm:1/enc/eO4WIG8NFp1i1oV6/pNppjC8R_walImmp/OVbJjna3smZaZyBV/zl71rvrpraUnqL0O/hwUkRlZbdmOBFzlz/tV4LzBK0THfuUA17/zmesuNKaZftaHb1O/zaHOFVnboZA1gmFA/djEfLN27Osc7XExa/uIJgwIAcdt5u54fh/LvkRJpsBNsdy9_3R/eZ5LIpzl0DrmQkOI/8aNl-jZizseo5V6X/K5W21OFV2H3R-yWF/4ZrTmlllX-nfZE_h/FPCG2H8OzbmoRtuV.png" /> 28 29<meta name="twitter:card" content="summary_large_image" /> 30<meta name="twitter:title" content="Your Shopping Cart | Canvastique" /> 31<meta name="twitter:description" content="The official website and shop of Canvastique. Find the latest content, buy merch, and support your favorite creator. Shop online Canvastique Merch for trendy apparel and accessories. Upgrade your style with exclusive picks from the official Canvastique Merch store!" /> 32 33 34 <link rel="shortcut icon" href="https://imgproxy.fourthwall.dev/07n53fvGlLV8xDn-Yjihktn1qXq4ixFDdWt0HYdS8a8/s:96:96/sm:1/enc/MDkwt429U7oAOz_X/J8AjcWh4eLXTrEZ4/FK-WC4vcSKerjgg_/EvCn-Hl-hyZkV8eX/hLGsPmATcwwNEnlg/jKsIB-dcGG55iCMW/njqhxEYHYhCnr3GG/qjgrD59fmvDa5vU4/9n6aUXYre-I_A5XM/Zpo6ADrliox9Dmm-/GrPcDljmJBrBMTZ0/dnWC0k-BKjRG1svK/oWwD_TLG4L9iVgU2/MAJik7o6eSr6n8wy/ZTqVkeP4QzmG0WSk/6D5x6pZoNXGvBzVC.webp" sizes="96x96" type="image/png" /> 35<link rel="shortcut icon" href="https://imgproxy.fourthwall.dev/Lm8HpyHeQuesfk7C3095t5R6g9hCC2mWc37WyGwy1q8/s:48:48/sm:1/enc/MDkwt429U7oAOz_X/J8AjcWh4eLXTrEZ4/FK-WC4vcSKerjgg_/EvCn-Hl-hyZkV8eX/hLGsPmATcwwNEnlg/jKsIB-dcGG55iCMW/njqhxEYHYhCnr3GG/qjgrD59fmvDa5vU4/9n6aUXYre-I_A5XM/Zpo6ADrliox9Dmm-/GrPcDljmJBrBMTZ0/dnWC0k-BKjRG1svK/oWwD_TLG4L9iVgU2/MAJik7o6eSr6n8wy/ZTqVkeP4QzmG0WSk/6D5x6pZoNXGvBzVC.webp" sizes="48x48" type="image/png" /> 36 37 38 <link rel="apple-touch-icon" href="https://imgproxy.fourthwall.dev/vmGu4zQYFjiJhEhZYaRT35_dLvdlf6C64zS81Fa7bL8/s:180:180/sm:1/enc/MDkwt429U7oAOz_X/J8AjcWh4eLXTrEZ4/FK-WC4vcSKerjgg_/EvCn-Hl-hyZkV8eX/hLGsPmATcwwNEnlg/jKsIB-dcGG55iCMW/njqhxEYHYhCnr3GG/qjgrD59fmvDa5vU4/9n6aUXYre-I_A5XM/Zpo6ADrliox9Dmm-/GrPcDljmJBrBMTZ0/dnWC0k-BKjRG1svK/oWw
38D_TLG4L9iVgU2/MAJik7o6eSr6n8wy/ZTqVkeP4QzmG0WSk/6D5x6pZoNXGvBzVC.webp" sizes="180x180" type="image/png" /> 39 40 41<meta content="#ffffff" name="msapplication-TileColor" /> 42<meta content="1.0.0" name="version" /> 43 44 45 <link rel="stylesheet" type="text/css" href="https://themes.fourthwall.dev/themes-library/assets/08dd3f60-c671-4fb0-b5cb-94d117ca8b31/assets/vendor.css?v=b1b11eb5397f6f25bd27f727622a7b127d42cd4e0ede0f0b643a4ec082686d92" media="all" integrity="sha256-sbEetTl/byW9J/cnYip7En1CzU4O3g8LZDpOwIJobZI=" crossorigin="anonymous" /> 46 47 <link rel="stylesheet" type="text/css" href="https://themes.fourthwall.dev/themes/assets/eb0625be-248f-4645-b362-6bce4e760fe2/assets/styles/css-variables.scss.css?v=a985be305195d9e8e0713192e9a4019973327b637250cf48168ec5cc75a1af3d" media="all" integrity="sha256-qYW+MFGV2ejgcTGS6aQBmXMye2NyUM9IFo7FzHWhrz0=" crossorigin="anonymous" /> 48 <link rel="stylesheet" type="text/css" href="https://themes.fourthwall.dev/themes/assets/eb0625be-248f-4645-b362-6bce4e760fe2/assets/styles/theme.scss.css?v=12a5600be3b2c73701261301abe6cf02504cf8af0b75c9b3582d26f6dc7dddb7" media="all" integrity="sha256-EqVgC+OyxzcBJhMBq+bPAlBM+K8LdcmzWC0m9tx93bc=" crossorigin="anonymous" /> 49 50 <link rel="preconnect" href="https://imgproxy.fourthwall.com" crossorigin> 51<link rel="preconnect" href="https://storage.googleapis.com" crossorigin>
52<script src="/platform/geo/redirect.js"></script>
vendor: 1 bytes, line 52
52
53<script src="https://js.stripe.com/v3/" async></script>
53 54<link rel="alternate" href="https://canvastique.com/cart" hreflang="x-default" /> 55<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-AQ" /> 56<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-AS" /> 57<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-BQ" /> 58<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-EC" /> 59<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-FM" /> 60<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-GU" /> 61<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-IO" /> 62<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-MH" /> 63<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-MP" /> 64<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-PR" /> 65<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-PW" /> 66<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-SV" /> 67<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-TC" /> 68<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-UM" /> 69<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-US" /> 70<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-VG" /> 71<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-VI" /> 72<link rel="alternate" href="https://canvastique.com/en-usd/cart" hreflang="en-ZW" /> 73<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-AD" /> 74<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-AT" /> 75<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-AX" /> 76<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-BE" /> 77<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-BG" /> 78<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-BL" /> 79<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-CY" /> 80<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-DE" /> 81<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-EE" /> 82<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-ES" /> 83<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-FI" /> 84<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-FR" /> 85<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-GF" /> 86<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-GP" /> 87<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-GR" /> 88<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-HR" /> 89<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-IE" /> 90<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-IT" /> 91<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-LT" /> 92<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-LU" /> 93<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-LV" /> 94<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-MC" /> 95<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-ME" /> 96<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-MF" /> 97<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-MQ" /> 98<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-MT" /> 99<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-NL" /> 100<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-PM" /> 101<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-PT" /> 102<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-RE" /> 103<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-SI" /> 104<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-SK" /> 105<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-SM" /> 106<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-TF" /> 107<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-VA" /> 108<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-YT" /> 109<link rel="alternate" href="https://canvastique.com/en-eur/cart" hreflang="en-XK" /> 110<link rel="alternate" href="https://canvastique.com/en-cad/cart" hreflang="en-CA" /> 111<link rel="alternate" href="https://canvastique.com/en-gbp/cart" hreflang="en-GB" /> 112<link rel="alternate" href="https://canvastique.com/en-gbp/cart" hreflang="en-GG" /> 113<link rel="alternate" href="https://canvastique.com/en-gbp/cart" hreflang="en-GS" /> 114<link rel="alternate" href="https://canvastique.com/en-gbp/cart" hreflang="en-IM" /> 115<link rel="alternate" href="https://canvastique.com/en-gbp/cart" hreflang="en-JE" /> 116<link rel="alternate" href="https://canvastique.com/en-aud/cart" hreflang="en-AU" /> 117<link rel="alternate" href="https://canvastique.com/en-aud/cart" hreflang="en-CC" /> 118<link rel="alternate" href="https://canvastique.com/en-aud/cart" hreflang="en-CX" /> 119<link rel="alternate" href="https://canvastique.com/en-aud/cart" hreflang="en-HM" /> 120<link rel="alternate" href="https://canvastique.com/en-aud/cart" hreflang="en-KI" /> 121<link rel="alternate" href="https://canvastique.com/en-aud/cart" hreflang="en-NF" /> 122<link rel="alternate" href="https://canvastique.com/en-aud/cart" hreflang="en-NR" /> 123<link rel="alternate" href="https://canvastique.com/en-aud/cart" hreflang="en-TV" /> 124<link rel="alternate" href="https://canvastique.com/en-nzd/cart" hreflang="en-CK" /> 125<link rel="alternate" href="https://canvastique.com/en-nzd/cart" hreflang="en-NU" /> 126<link rel="alternate" href="https://canvastique.com/en-nzd/cart" hreflang="en-NZ" /> 127<link rel="alternate" href="https://canvastique.com/en-nzd/cart" hreflang="en-PN" /> 128<link rel="alternate" href="https://canvastique.com/en-nzd/cart" hreflang="en-TK" /> 129<link rel="alternate" href="https://canvastique.com/en-sek/cart" hreflang="en-SE" /> 130<link rel="alternate" href="https://canvastique.com/en-nok/cart" hreflang="en-BV" /> 131<link rel="alternate" href="https://canvastique.com/en-nok/cart" hreflang="en-NO" /> 132<link rel="alternate" href="https://canvastique.com/en-nok/cart" hreflang="en-SJ" /> 133<link rel="alternate" href="https://canvastique.com/en-dkk/cart" hreflang="en-DK" /> 134<link rel="alternate" href="https://canvastique.com/en-dkk/cart" hreflang="en-FO" /> 135<link rel="alternate" href="https://canvastique.com/en-dkk/cart" hreflang="en-GL" /> 136<link rel="alternate" href="https://canvastique.com/en-pln/cart" hreflang="en-PL" /> 137<link rel="alternate" href="https://canvastique.com/en-inr/cart" hreflang="en-IN" /> 138<link rel="alternate" href="https://canvastique.com/en-jpy/cart" hreflang="en-JP" /> 139<link rel="alternate" href="https://canvastique.com/en-myr/cart" hreflang="en-MY" /> 140<link rel="alternate" href="https://canvastique.com/en-sgd/cart" hreflang="en-SG" /> 141<link rel="alternate" href="https://canvastique.com/en-mxn/cart" hreflang="en-MX" /> 142<link rel="alternate" href="https://canvastique.com/en-brl/cart" hreflang="en-BR" /> 143<link rel="alternate" href="https://canvastique.com/en-chf/cart" hreflang="en-CH" /> 144<link rel="alternate" href="https://canvastique.com/en-chf/cart" hreflang="en-LI" />
vendor: 68 bytes, lines 144-145
144 145<script src="https://www.google.com/recaptcha/enterprise.js?render=
1456LcUIoYlAAAAALE9OrjdIcUfeYTpTq5RlXh5HuZt
vendor: 18 bytes, line 145
145" async></script>
146<script>window.recaptchaSiteKey = '6LcUIoYlAAAAALE9OrjdIcUfeYTpTq5RlXh5HuZt';</script>
146 147<style> 148 .grecaptcha-badge { display: none !important; } 149</style>
150<script type='module' src="https://cdn.fourthwall.dev/web-perf/instant.js" defer></script>
vendor: 1 bytes, line 150
150
151<script> 152 window.shopName = 'Canvastique'; 153 window.shopId = 'sh_020f2382-8846-4880-aa5b-2fd6a908b32b'; 154 window.cookie_policy = 'ShowInEu'; 155</script>
155 156<!-- Google Tag Manager -->
157<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 158new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 159j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 160'/_c/mtg.js?id='+i+dl;f.parentNode.insertBefore(j,f); 161})(window,document,'script','dataLayer','GTM-PV2BBNN');</script>
161 162<!-- End Google Tag Manager -->
163<script>window.creatorGa4Id = 'G-WH0MLWPYBH'; window.creatorFbPixelId = ''; window.creatorTiktokAnalyticsId = ''; window.creatorKlaviyoAnalyticsId = ''; window.useServerAnalytics = false;</script>
vendor: 1 bytes, line 163
163
164<script> 165 (function () { 166 function setCookie(name, value, days) { 167 if (typeof days === 'undefined') days = 90; 168 var expires = new Date(Date.now() + days * 86400000).toUTCString(); 169 document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value.substring(0, 200)) + '; expires=' + expires + '; path=/'; 170 } 171 172 function getCookie(name) { 173 var cookies = document.cookie.split('; '); 174 for (var i = 0; i < cookies.length; i++) { 175 if (cookies[i].indexOf(name + '=') === 0) { 176 return cookies[i].split('=')[1]; 177 } 178 } 179 return null; 180 } 181 182 function handleTrackingParams() { 183 var params = window.location.search.substring(1).split('&'); 184 var paramMap = {}; 185 186 for (var i = 0; i < params.length; i++) { 187 var kv = params[i].split('='); 188 if (kv.length === 2) { 189 paramMap[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1]); 190 } 191 } 192 193 if (!getCookie('_fbp')) { 194 var randomPart = Math.floor(Math.random() * 10000000000); 195 var fbp = 'fb.1.' + Date.now() + '.' + randomPart; 196 setCookie('_fbp', fbp); 197 } 198 199 for (var key in paramMap) { 200 if (paramMap.hasOwnProperty(key)) { 201 var value = paramMap[key]; 202 var isUTM = key.indexOf('utm_') === 0; 203 204 if(key === 'utm_source' && getCookie('utm_source') === 'fourthwall_ads') { 205 continue; 206 } 207 208 if (isUTM || key === 'gclid' || key === 'fbclid') { 209 setCookie(key, value); 210 } 211 212 if (key === 'fbclid' && !getCookie('_fbc')) { 213 var fbc = 'fb.1.' + Date.now() + '.' + value; 214 setCookie('_fbc', fbc); 215 } 216 } 217 } 218 } 219 220 handleTrackingParams(); 221 })(); 222</script>
vendor: 1 bytes, line 222
222
223<script type='text/javascript'>var eventsListenerScript = document.createElement('script');eventsListenerScript.async = true;eventsListenerScript.src = "https://cdn.fourthwall.dev/shop-event-listener/shop-events-listener.js";document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);</script>
223 224<link rel="manifest" href="/manifest.json" /> 225<meta name='theme-color' content='#FFFFFF' /> 226<link rel="stylesheet" type="text/css" href="https://themes.fourthwall.dev/themes/assets/eb0625be-248f-4645-b362-6bce4e760fe2/assets/styles/custom_sections.css?v=00f2f80cb6a238417806795b5ee8cd361e058edd6662d8a84657adc3e59bbaf2" media="all">
227<script> 228 (function() { 229 window.addEventListener('cart:updated', function(event) { 230 var cart = event.detail; 231 if (!cart || !cart.items || !cart.items.length) return; 232 var currency = 'USD'; 233 var isZeroDecimal = currency === 'JPY'; 234 var items = cart.items.map(function(item) { 235 var price = isZeroDecimal ? item.price : item.price / 100; 236 return { 237 item_id: item.id || item.offer_id, 238 item_name: item.title || item.name, 239 item_brand: `Canvastique`, 240 price: price, 241 quantity: item.quantity || 1 242 }; 243 }); 244 var value = isZeroDecimal ? cart.total_price : cart.total_price / 100; 245 dataLayer.push({ ecommerce: null }); 246 dataLayer.push({ 247 event: "view_cart", 248 ecommerce: { 249 currency: currency, 250 value: value, 251 items: items 252 }, 253 shopId: 'sh_020f2382-8846-4880-aa5b-2fd6a908b32b' 254 }); 255 }, { once: true }); 256 })(); 257</script>
vendor: 1 bytes, line 257
257
258<script type="text/javascript"> 259 var currentCart = {"id":null,"item_count":0,"unique_item_count":0,"items":[]}; 260</script>
vendor: 1 bytes, line 260
260
261<script type="module"> 262 function iframeReady(section, iframe, url, appId, settings) { 263 const baseIframeUrl = url; 264 265 function buildUrl(url, params) { 266 if (!params) return url; 267 var qs = Object.keys(params) 268 .map((k) => encodeURIComponent(k) + '=' + encodeURIComponent(params[k])) 269 .join('&'); 270 return url + (url.includes('?') ? '&' : '?') + qs + '&' + settings; 271 } 272 273 const params = { 274 hmac: window.appHmac[appId], 275 timestamp: window.hmacTimestamp, 276 tier_id: window.tierId, 277 supporter_id: window.supporterId, 278 shop_id: window.shopId, 279 }; 280 281 iframe.src = buildUrl(baseIframeUrl, window.appHmac[appId] ? params : null); 282 iframe.onload = null 283 284 // Extract origin from URL for security checking 285 let expectedOrigin; 286 try { 287 expectedOrigin = new URL(url).origin; 288 } catch (e) { 289 console.warn('Could not parse URL origin:', url); 290 } 291 292 // Listen for messages specifically from this iframe 293 const messageHandler = (event) => { 294 // Check if the message is from this specific iframe 295 if (event.source !== iframe.contentWindow) { 296 return; // Ignore messages from other iframes/windows 297 } 298 299 // Optional: Also verify the origin for security 300 if (expectedOrigin && event.origin !== expectedOrigin) { 301 console.warn('Message received from unexpected origin:', event.origin); 302 return; 303 } 304 305 if (event.data.type === 'RESIZE') { 306 iframe.style.height = event.data.data.height + 'px'; 307 } else if (event.data.type === 'CLOSE') { 308 section.style.height = '0px'; 309 } 310 }; 311 312 window.addEventListener('message', messageHandler); 313 314 // Store the handler for cleanup (optional) 315 iframe._messageHandler = messageHandler; 316 } 317 318 class Hmac extends HTMLElement { 319 constructor() { 320 super() 321 this.section = this.parentElement.parentElement; 322 this.iframe = this.querySelector('iframe') 323 this.url = this.getAttribute('url') 324 this.appId = this.getAttribute('app_id') 325 this.settings = this.getAttribute('settings') 326 } 327 328 connectedCallback() { 329 if (this.iframe && this.iframe.contentDocument && this.iframe.contentDocument.readyState === 'complete') { 330 iframeReady(this.section, this.iframe, this.url, this.appId, this.settings) 331 } else { 332 this.iframe.onload = () => iframeReady(this.section, this.iframe, this.url, this.appId, this.settings) 333 } 334 } 335 336 disconnectedCallback() { 337 if (this.iframe && this.iframe._messageHandler) { 338 window.removeEventListener('message', this.iframe._messageHandler); 339 delete this.iframe._messageHandler; 340 } 341 } 342 } 343 344 customElements.define('app-hmac-component', Hmac) 345</script>
345 346 347 </head> 348 349 350 351 352 353 354 <body class="body cart " > 355 <!-- Google Tag Manager (noscript) --> 356<noscript><iframe src='/_c/ns.html?id=GTM-PV2BBNN' 357height='0' width='0' style='display:none;visibility:hidden'></iframe></noscript> 358<!-- End Google Tag Manager (noscript) --> 359 360 <a href="#main-content" class="skip-link">Skip to content</a> 361 362 <div class="page"> 363 <div> 364 <div id="fw-section-announcement-bar-0" class="fw-section"><section class="announcement-bar"> 365 <div class="wrapper"> 366 367 368 369 370 371 372 373 <div class="announcement-bar__inner"> 374 375 376 377 <div class="announcement-bar__label"> 378 Shop new arrivals 379 </div> 380 381 382 383 </div> 384 385 </div> 386</section> 387 388 389</div><div id="fw-section-header" class="fw-section"> 390 391 392 393 394 395<header 396 data-testid='main.single.section' 397 class='header' 398> 399 <div class='wrapper'> 400 <div class='header__grid header__grid--search header--left header__size--md'> 401 <div class='header__mobile-menu hidden@sm'> 402 <button data-drawer-trigger-primary='mobile-menu' class='header__icon' aria-label='Open menu'> 403 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 404 <path fill-rule="evenodd" clip-rule="evenodd" d="M16 3.75H0V2.25H16V3.75ZM16 8.75H0V7.25H16V8.75ZM16 13.75H0V12.25H16V13.75Z" fill="currentColor"/> 405</svg> 406 407 </button> 408 </div> 409 410 411 412 <div class='header__logo-container'><div class='header__logo'> 413 <a href='/' class='header__logo-link'> 414 415 416 <div class="text-logo"> 417 Canvastique 418 </div> 419 420 421 </a> 422 </div> 423 </div> 424 425 426 <div class='header__nav-container visible@sm'> 427 <nav class='header__nav' aria-label='Primary'> 428 <ul class='header__list list--horizontal'> 429 430 <li class="header__list-item"> 431 <a 432 href="/collections/t-shirts" 433 class="header__link" 434 435 > 436 T-Shirts 437 438 439 </a> 440 441 442 </li> 443 444 <li class="header__list-item"> 445 <a 446 href="/collections/leggings" 447 class="header__link" 448 449 > 450 Leggings 451 452 453 </a> 454 455 456 </li> 457 458 <li class="header__list-item"> 459 <a 460 href="/collections/pants" 461 class="header__link" 462 463 > 464 Pants 465 466 467 </a> 468 469 470 </li> 471 472 <li class="header__list-item"> 473 <a 474 href="/collections/backpacks" 475 class="header__link" 476 477 > 478 Backpacks 479 480 481 </a> 482 483 484 </li> 485 486 <li class="header__list-item"> 487 <a 488 href="/collections/mugs" 489 class="header__link" 490 491 > 492 Mugs 493 494 495 </a> 496 497 498 </li> 499 500 <li class="header__list-item"> 501 <a 502 href="/collections/desk-mats" 503 class="header__link" 504 505 > 506 Desk Mats 507 508 509 </a> 510 511 512 </li> 513 514 <li class="header__list-item"> 515 <a 516 href="/collections/blankets" 517 class="header__link" 518 519 > 520 Blankets 521 522 523 </a> 524 525 526 </li> 527 528 <li class="header__list-item"> 529 <a 530 href="/collections/joggers" 531 class="header__link" 532 533 > 534 Joggers 535 536 537 </a> 538 539 540 </li> 541 542 <li class="header__list-item"> 543 <a 544 href="/collections/rash-guards" 545 class="header__link" 546 547 > 548 Rash Guards 549 550 551 </a> 552 553 554 </li> 555 556 <li class="header__list-item"> 557 <a 558 href="/collections/hoodies" 559 class="header__link" 560 561 > 562 Hoodies 563 564 565 </a> 566 567 568 </li> 569 570 <li class="header__list-item"> 571 <a 572 href="/collections/pillows" 573 class="header__link" 574 575 > 576 Pillows 577 578 579 </a> 580 581 582 </li> 583 584 <li class="header__list-item"> 585 <a 586 href="/collections/sweatshirts" 587 class="header__link" 588 589 > 590 Sweatshirts 591 592 593 </a> 594 595 596 </li> 597 598 </ul> 599 </nav> 600 </div> 601 602 603 <div class='header__icons'> 604 <ul class='header__list list list--horizontal'> 605 606 607 608 609 610 611 <li class='header__list-item visible@sm'> 612 <a class='header__link header__link--icon' tabindex='0' role='button' aria-label='Currency selector, current: USD'> 613 USD 614 615
616 <span class='header__link-icon'> 617 <svg class="svg-fill-current-color" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 618 <path d="M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z" vector-effect="non-scaling-stroke"/> 619</svg> 620 621 </span> 622 623 </a> 624 625 626 <div class='header__dropdown header__dropdown--content'> 627 <ul class='header__dropdown-inner'> 628 629 <li class='header__dropdown-item'> 630 <a 631 class='header__dropdown-link' 632 href='/localization?currency=USD&return_to=/cart' 633 > 634 USD 635 </a> 636 </li> 637 638 <li class='header__dropdown-item'> 639 <a 640 class='header__dropdown-link' 641 href='/localization?currency=EUR&return_to=/cart' 642 > 643 EUR 644 </a> 645 </li> 646 647 <li class='header__dropdown-item'> 648 <a 649 class='header__dropdown-link' 650 href='/localization?currency=CAD&return_to=/cart' 651 > 652 CAD 653 </a> 654 </li> 655 656 <li class='header__dropdown-item'> 657 <a 658 class='header__dropdown-link' 659 href='/localization?currency=GBP&return_to=/cart' 660 > 661 GBP 662 </a> 663 </li> 664 665 <li class='header__dropdown-item'> 666 <a 667 class='header__dropdown-link' 668 href='/localization?currency=AUD&return_to=/cart' 669 > 670 AUD 671 </a> 672 </li> 673 674 <li class='header__dropdown-item'> 675 <a 676 class='header__dropdown-link' 677 href='/localization?currency=NZD&return_to=/cart' 678 > 679 NZD 680 </a> 681 </li> 682 683 <li class='header__dropdown-item'> 684 <a 685 class='header__dropdown-link' 686 href='/localization?currency=SEK&return_to=/cart' 687 > 688 SEK 689 </a> 690 </li> 691 692 <li class='header__dropdown-item'> 693 <a 694 class='header__dropdown-link' 695 href='/localization?currency=NOK&return_to=/cart' 696 > 697 NOK 698 </a> 699 </li> 700 701 <li class='header__dropdown-item'> 702 <a 703 class='header__dropdown-link' 704 href='/localization?currency=DKK&return_to=/cart' 705 > 706 DKK 707 </a> 708 </li> 709 710 <li class='header__dropdown-item'> 711 <a 712 class='header__dropdown-link' 713 href='/localization?currency=PLN&return_to=/cart' 714 > 715 PLN 716 </a> 717 </li> 718 719 <li class='header__dropdown-item'> 720 <a 721 class='header__dropdown-link' 722 href='/localization?currency=INR&return_to=/cart' 723 > 724 INR 725 </a> 726 </li> 727 728 <li class='header__dropdown-item'> 729 <a 730 class='header__dropdown-link' 731 href='/localization?currency=JPY&return_to=/cart' 732 > 733 JPY 734 </a> 735 </li> 736 737 <li class='header__dropdown-item'> 738 <a 739 class='header__dropdown-link' 740 href='/localization?currency=MYR&return_to=/cart' 741 > 742 MYR 743 </a> 744 </li> 745 746 <li class='header__dropdown-item'> 747 <a 748 class='header__dropdown-link' 749 href='/localization?currency=SGD&return_to=/cart' 750 > 751 SGD 752 </a> 753 </li> 754 755 <li class='header__dropdown-item'> 756 <a 757 class='header__dropdown-link' 758 href='/localization?currency=MXN&return_to=/cart' 759 > 760 MXN 761 </a> 762 </li> 763 764 <li class='header__dropdown-item'> 765 <a 766 class='header__dropdown-link' 767 href='/localization?currency=BRL&return_to=/cart' 768 > 769 BRL 770 </a> 771 </li> 772 773 <li class='header__dropdown-item'> 774 <a 775 class='header__dropdown-link' 776 href='/localization?currency=CHF&return_to=/cart' 777 > 778 CHF 779 </a> 780 </li> 781 782 </ul> 783 </div> 784 785 </li> 786 787 788 789 <li class='header__list-item'> 790 <button class='header__icon' aria-label='Search' type='button' data-search-toggle>
791 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 792<path fill-rule="evenodd" clip-rule="evenodd" d="M0 6.37079C0 2.8523 2.8523 0 6.37079 0C9.88927 0 12.7416 2.8523 12.7416 6.37079C12.7416 7.85977 12.2308 9.22945 11.3748 10.3141L15.7803 14.7197L14.7197 15.7803L10.3141 11.3748C9.22945 12.2308 7.85977 12.7416 6.37079 12.7416C2.8523 12.7416 0 9.88927 0 6.37079ZM6.37079 1.5C3.68073 1.5 1.5 3.68073 1.5 6.37079C1.5 9.06085 3.68073 11.2416 6.37079 11.2416C9.06085 11.2416 11.2416 9.06085 11.2416 6.37079C11.2416 3.68073 9.06085 1.5 6.37079 1.5Z" fill="currentColor"/> 793</svg> 794 795 </button> 796 </li> 797 798 799 800 <li class='header__list-item visible@sm'> 801 <a 802 href='/supporters' 803 class='header__icon' 804 aria-label='Account' 805 > 806 807 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 808 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.00001 1.5C6.12618 1.5 4.60715 3.01903 4.60715 4.89286C4.60715 6.76668 6.12618 8.28572 8.00001 8.28572C9.87383 8.28572 11.3929 6.76668 11.3929 4.89286C11.3929 3.01903 9.87383 1.5 8.00001 1.5ZM11.0301 8.73481C12.1647 7.83876 12.8929 6.45085 12.8929 4.89286C12.8929 2.19061 10.7023 0 8.00001 0C5.29776 0 3.10715 2.19061 3.10715 4.89286C3.10715 6.4509 3.83539 7.83886 4.97005 8.73491C2.45623 9.52559 0.500579 11.3512 0.0811315 14.1413C-0.0807331 15.218 0.820538 16 1.74999 16H14.25C15.1795 16 16.0807 15.218 15.9189 14.1413C15.4995 11.3511 13.5442 9.52544 11.0301 8.73481ZM8.00001 9.78572C4.59946 9.78572 1.99323 11.5122 1.56446 14.3643C1.56176 14.3823 1.56391 14.393 1.56646 14.4006C1.56947 14.4096 1.57619 14.4228 1.59068 14.438C1.62139 14.4701 1.67746 14.5 1.74999 14.5H14.25C14.3225 14.5 14.3786 14.4701 14.4093 14.438C14.4238 14.4228 14.4305 14.4096 14.4335 14.4006C14.4361 14.393 14.4382 14.3823 14.4355 14.3643C14.0069 11.5122 11.4015 9.78572 8.00001 9.78572Z" fill="currentColor"/> 809</svg> 810 811 812 </a> 813 </li> 814 815 816 <li class='header__list-item'> 817 <a 818 href='/cart' 819 class='header__icon' 820 aria-label='Cart' 821 > 822 <div 823 data-cart-widget="widget" 824 data-testid="cart.icon" 825 class="cart-widget cart-widget--icons empty" 826> 827 828 <span data-cart-widget="quantity" class="cart-widget__items"></span> 829 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 830 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.99999 1.5C7.40211 1.5 6.83677 1.72464 6.4264 2.11207C6.0175 2.49812 5.79646 3.0122 5.79646 3.53846V4.46154H10.2035V3.53846C10.2035 3.0122 9.98249 2.49812 9.57359 2.11207C9.16322 1.72464 8.59788 1.5 7.99999 1.5ZM11.7035 4.46154V3.53846C11.7035 2.58564 11.3022 1.68119 10.6033 1.02137C9.90591 0.362928 8.96875 0 7.99999 0C7.03123 0 6.09408 0.362928 5.39666 1.02137C4.69777 1.68119 4.29646 2.58564 4.29646 3.53846V4.46154H2.96808C2.09126 4.46154 1.34979 5.11042 1.23353 5.97949L0.15814 14.018C0.0177587 15.0673 0.833995 16 1.89269 16H14.1073C15.166 16 15.9822 15.0673 15.8419 14.018L14.7665 5.97949C14.6502 5.11042 13.9087 4.46154 13.0319 4.46154H11.7035ZM2.96808 5.96154C2.84282 5.96154 2.73689 6.05424 2.72028 6.17839L1.64489 14.2169C1.62484 14.3668 1.74145 14.5 1.89269 14.5H14.1073C14.2586 14.5 14.3752 14.3668 14.3551 14.2169L13.2797 6.17839C13.2631 6.05424 13.1572 5.96154 13.0319 5.96154H2.96808Z" fill="currentColor"/> 831</svg> 832 833 834</div> 835 </a> 836 </li> 837 </ul> 838 839 <div data-cart-announcer aria-live="polite" aria-atomic="true" class="visually-hidden"></div> 840 841 </div> 842 </div> 843 844 <search-header> 845 <div class='search-header'> 846 <div class='search-header__inner'> 847 <form class='search-header__form' action='/search' method='get'> 848 <button type='submit' class='search-header__button' aria-label='Search'>
849 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 850<path fill-rule="evenodd" clip-rule="evenodd" d="M0 6.37079C0 2.8523 2.8523 0 6.37079 0C9.88927 0 12.7416 2.8523 12.7416 6.37079C12.7416 7.85977 12.2308 9.22945 11.3748 10.3141L15.7803 14.7197L14.7197 15.7803L10.3141 11.3748C9.22945 12.2308 7.85977 12.7416 6.37079 12.7416C2.8523 12.7416 0 9.88927 0 6.37079ZM6.37079 1.5C3.68073 1.5 1.5 3.68073 1.5 6.37079C1.5 9.06085 3.68073 11.2416 6.37079 11.2416C9.06085 11.2416 11.2416 9.06085 11.2416 6.37079C11.2416 3.68073 9.06085 1.5 6.37079 1.5Z" fill="currentColor"/> 851</svg> 852 853 </button> 854 <input 855 type='search' 856 name='q' 857 class='search-header__input' 858 placeholder='Search' 859 aria-label='Search' 860 autocomplete='off' 861 > 862 <button class='search-header__button' type='button' aria-label='Close search'> 863 <svg class="svg-fill-current-color" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 864 <path d="M1.25 18.75L18.75 1.25M18.75 18.75L1.25 1.25" vector-effect="non-scaling-stroke" stroke="currentColor" stroke-width="1.5" stroke-linejoin="bevel"/> 865</svg> 866 867 </button> 868 </form> 869 </div> 870</div> 871 872 </search-header> 873 874 </div> 875</header> 876 877 878<aside 879 data-drawer="mobile-menu" 880 class="drawer hidden@sm" 881> 882 <div class="drawer__background" data-drawer-trigger-primary="mobile-menu"></div> 883 <div class="drawer__content drawer__content--small mobile-menu"> 884 <div class="mobile-menu__section mobile-menu__section--header"> 885 <button type="button" class="mobile-menu__close" data-drawer-trigger-primary="mobile-menu" aria-label="Close menu"> 886 <svg class="svg-fill-current-color" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 887 <path d="M1.25 18.75L18.75 1.25M18.75 18.75L1.25 1.25" vector-effect="non-scaling-stroke" stroke="currentColor" stroke-width="1.5" stroke-linejoin="bevel"/> 888</svg> 889 890 </button> 891 </div> 892 <div class="mobile-menu__section mobile-menu__section--body"> 893 <div class="mobile-menu__nav"> 894 <ul class="mobile-menu__list"> 895 896 <li class="mobile-menu__list-item"> 897 898 <a 899 href="/collections/t-shirts" 900 class="mobile-menu__link" 901 > 902 T-Shirts 903 </a> 904 905 906 907 </li> 908 909 <li class="mobile-menu__list-item"> 910 911 <a 912 href="/collections/leggings" 913 class="mobile-menu__link" 914 > 915 Leggings 916 </a> 917 918 919 920 </li> 921 922 <li class="mobile-menu__list-item"> 923 924 <a 925 href="/collections/pants" 926 class="mobile-menu__link" 927 > 928 Pants 929 </a> 930 931 932 933 </li> 934 935 <li class="mobile-menu__list-item"> 936 937 <a 938 href="/collections/backpacks" 939 class="mobile-menu__link" 940 > 941 Backpacks 942 </a> 943 944 945 946 </li> 947 948 <li class="mobile-menu__list-item"> 949 950 <a 951 href="/collections/mugs" 952 class="mobile-menu__link" 953 > 954 Mugs 955 </a> 956 957 958 959 </li> 960 961 <li class="mobile-menu__list-item"> 962 963 <a 964 href="/collections/desk-mats" 965 class="mobile-menu__link" 966 > 967 Desk Mats 968 </a> 969 970 971 972 </li> 973 974 <li class="mobile-menu__list-item"> 975 976 <a 977 href="/collections/blankets" 978 class="mobile-menu__link" 979 > 980 Blankets 981 </a> 982 983 984 985 </li> 986 987 <li class="mobile-menu__list-item"> 988 989 <a 990 href="/collections/joggers" 991 class="mobile-menu__link" 992 > 993 Joggers 994 </a> 995 996 997 998 </li> 999 1000 <li class="mobile-menu__list-item"> 1001 1002 <a 1003 href="/collections/rash-guards" 1004 class="mobile-menu__link" 1005 > 1006 Rash Guards 1007 </a> 1008 1009 1010 1011 </li> 1012 1013 <li class="mobile-menu__list-item"> 1014 1015 <a 1016 href="/collections/hoodies" 1017 class="mobile-menu__link" 1018 > 1019 Hoodies 1020 </a> 1021 1022 1023 1024 </li> 1025 1026 <li class="mobile-menu__list-item"> 1027 1028 <a 1029 href="/collections/pillows" 1030 class="mobile-menu__link" 1031 > 1032 Pillows 1033 </a> 1034 1035 1036 1037 </li> 1038 1039 <li class="mobile-menu__list-item"> 1040 1041 <a 1042 href="/collections/sweatshirts" 1043 class="mobile-menu__link" 1044 > 1045 Sweatshirts 1046 </a> 1047 1048 1049 1050 </li> 1051 1052 1053 1054 <li class="mobile-menu__list-item"> 1055 <a for="input-drawer" class="mobile-menu__link" data-accordion="trigger" role="button" tabindex="0"> 1056 USD 1057 1058 1059 <div class="mobile-menu__link-icon"> 1060 <svg class="svg-fill-current-color" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 1061 <path d="M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z" vector-effect="non-scaling-stroke"/> 1062</svg> 1063 1064 </div> 1065 1066 </a> 1067 1068 1069 <div class="mobile-menu__dropdown mobile-menu__dropdown--content"> 1070 <ul class="mobile-menu__dropdown-inner"> 1071 1072 <li class="mobile-menu__dropdown-item"> 1073 <a class="mobile-menu__dropdown-link" href="/localization?currency=USD&return_to=/cart"> 1074 USD 1075 </a> 1076 </li> 1077 1078 <li class="mobile-menu__dropdown-item"> 1079 <a class="mobile-menu__dropdown-link" href="/localization?currency=EUR&return_to=/cart"> 1080 EUR 1081 </a> 1082 </li> 1083 1084 <li class="mobile-menu__dropdown-item"> 1085 <a class="mobile-menu__dropdown-link" href="/localization?currency=CAD&return_to=/cart"> 1086 CAD 1087 </a> 1088 </li> 1089 1090 <li class="mobile-menu__dropdown-item"> 1091 <a class="mobile-menu__dropdown-link" href="/localization?currency=GBP&return_to=/cart"> 1092 GBP 1093 </a> 1094 </li> 1095 1096 <li class="mobile-menu__dropdown-item"> 1097 <a class="mobile-menu__dropdown-link" href="/localization?currency=AUD&return_to=/cart"> 1098 AUD 1099 </a> 1100 </li> 1101 1102 <li class="mobile-menu__dropdown-item"> 1103 <a class="mobile-menu__dropdown-link" href="/localization?currency=NZD&return_to=/cart"> 1104 NZD 1105 </a> 1106 </li> 1107 1108 <li class="mobile-menu__dropdown-item"> 1109 <a class="mobile-menu__dropdown-link" href="/localization?currency=SEK&return_to=/cart"> 1110 SEK 1111 </a> 1112 </li> 1113 1114 <li class="mobile-menu__dropdown-item"> 1115 <a class="mobile-menu__dropdown-link" href="/localization?currency=NOK&return_to=/cart"> 1116 NOK 1117 </a> 1118 </li> 1119 1120 <li class="mobile-menu__dropdown-item"> 1121 <a class="mobile-menu__dropdown-link" href="/localization?currency=DKK&return_to=/cart"> 1122 DKK 1123 </a> 1124 </li> 1125 1126 <li class="mobile-menu__dropdown-item"> 1127 <a class="mobile-menu__dropdown-link" href="/localization?currency=PLN&return_to=/cart"> 1128 PLN 1129 </a> 1130 </li> 1131 1132 <li class="mobile-menu__dropdown-item"> 1133 <a class="mobile-menu__dropdown-link" href="/localization?currency=INR&return_to=/cart"> 1134 INR 1135 </a> 1136 </li> 1137 1138 <li class="mobile-menu__dropdown-item"> 1139 <a class="mobile-menu__dropdown-link" href="/localization?currency=JPY&return_to=/cart"> 1140 JPY 1141 </a> 1142 </li> 1143 1144 <li class="mobile-menu__dropdown-item"> 1145 <a class="mobile-menu__dropdown-link" href="/localization?currency=MYR&return_to=/cart"> 1146 MYR 1147 </a> 1148 </li> 1149 1150 <li class="mobile-menu__dropdown-item"> 1151 <a class="mobile-menu__dropdown-link" href="/localization?currency=SGD&return_to=/cart"> 1152 SGD 1153 </a> 1154 </li> 1155 1156 <li class="mobile-menu__dropdown-item"> 1157 <a class="mobile-menu__dropdown-link" href="/localization?currency=MXN&return_to=/cart"> 1158 MXN 1159 </a> 1160 </li> 1161 1162 <li class="mobile-menu__dropdown-item"> 1163 <a class="mobile-menu__dropdown-link" href="/localization?currency=BRL&return_to=/cart"> 1164 BRL 1165 </a> 1166 </li> 1167 1168 <li class="mobile-menu__dropdown-item"> 1169 <a class="mobile-menu__dropdown-link" href="/localization?currency=CHF&return_to=/cart"> 1170 CHF 1171 </a> 1172 </li> 1173 1174 </ul> 1175 </div> 1176 1177 </li> 1178 1179 </ul> 1180 </div> 1181 </div> 1182 <div class="mobile-menu__section mobile-menu__section--socials"> 1183 <div class="mobile-menu__list-social"> 1184 <ul class="mobile-menu__socials"> 1185 1186 1187 1188 1189 </ul> 1190 </div> 1191 </div> 1192 </div> 1193</aside> 1194
1195<script> 1196 const currencyData = { 1197 locale: 'en-US', 1198 currency: 'USD', 1199 } 1200</script>
1200 1201 1202 1203 1204</div> 1205 </div> 1206 1207 <main id="main-content" class="page__main"> 1208 <div class="main main--cart"> 1209 <div class="main__sections main__sections--space" data-testid="main.sections"> 1210 <div id="fw-section-cart" class="fw-section"> 1211<section class="cart-container" data-cart="cart" data-testid="main.single.section"> 1212 <div class="container container--10 wrapper"> 1213 <div id="cart-component" class="cart-container__cart-component"></div> 1214 </div> 1215</section> 1216</div> 1217 1218 <div id="fw-section-cart-product-recommendations" class="fw-section"> 1219<section data-testid="main.single.section" class="cart-product-recommendations"> 1220 <cart-product-recommendations /> 1221</section> 1222 1223<template id="product-template"> 1224 <div> 1225 <div data-testid="product" class="product-tile" data-id="fw-section-cart-product-recommendations"> 1226 <a href="" class="tile"> 1227 <div class="tile__image"> 1228 <div class="image image--background-color"> 1229 <div class="image__object"> 1230 <img 1231 alt="" 1232 class="tile__item" 1233 > 1234 </div> 1235 </div> 1236 </div> 1237 1238 1239 <div class="tile__description tile__description--center"> 1240 <h3 class="tile__heading"> 1241 </h3> 1242 1243 1244 <p class="tile__prices"> 1245 <span class="tile__price tile__price--offer"> 1246 </span> 1247 1248 <span class="tile__price tile__price--original"> 1249 </span> 1250 </p> 1251 </div> 1252 1253 </a> 1254 </div> 1255 </div> 1256</template> 1257</div> 1258 </div> 1259</div> 1260 1261 </main> 1262 1263 <div class="page__footer"> 1264 <div id="fw-section-footer" class="fw-section"><style> 1265 .section-fw-section-footer-padding { 1266 padding-top: 15px; 1267 padding-bottom: 15px; 1268 } 1269 1270 @media screen and (min-width: 640px) { 1271 .section-fw-section-footer-padding { 1272 padding-top: 20px; 1273 padding-bottom: 20px; 1274 } 1275 } 1276</style> 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293<footer data-testid="main.single.section" class="footer section-fw-section-footer-padding"> 1294 1295 <div class="wrapper "> 1296 <div class="footer__inner"> 1297 1298 <div class="footer__top"> 1299 <div class="col-grid col-grid--middle col-grid--4-8@md col-grid--reversed@md"> 1300 <div> 1301 1302 <div class="footer__socials"> 1303 <ul class="footer__list footer__list--socials"> 1304 1305 1306 1307 1308 </ul> 1309 </div> 1310 1311 </div> 1312 1313 <div> 1314 <nav class="footer__nav" aria-label="Footer"> 1315 <ul class="footer__list footer__list--menu"> 1316 1317 1318 <li class="footer__list-item"> 1319 <a class="footer__menu-link footer__menu-link--icon" tabindex="0" role="button" aria-label="Currency selector, current: USD"> 1320 USD 1321 1322 <span class="footer__link-icon"> 1323 <svg class="svg-fill-current-color" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false"> 1324 <path d="M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z" vector-effect="non-scaling-stroke"/> 1325</svg> 1326 1327 </span> 1328 1329 </a> 1330 1331 <div class="footer__dropdown footer__dropdown--content"> 1332 <ul class="footer__dropdown-inner"> 1333 1334 <li class="footer__dropdown-item"> 1335 <a class="footer__dropdown-link" href="/localization?currency=USD&return_to=/cart"> 1336 USD 1337 </a> 1338 </li> 1339 1340 <li class="footer__dropdown-item"> 1341 <a class="footer__dropdown-link" href="/localization?currency=EUR&return_to=/cart"> 1342 EUR 1343 </a> 1344 </li> 1345 1346 <li class="footer__dropdown-item"> 1347 <a class="footer__dropdown-link" href="/localization?currency=CAD&return_to=/cart"> 1348 CAD 1349 </a> 1350 </li> 1351 1352 <li class="footer__dropdown-item"> 1353 <a class="footer__dropdown-link" href="/localization?currency=GBP&return_to=/cart"> 1354 GBP 1355 </a> 1356 </li> 1357 1358 <li class="footer__dropdown-item"> 1359 <a class="footer__dropdown-link" href="/localization?currency=AUD&return_to=/cart"> 1360 AUD 1361 </a> 1362 </li> 1363 1364 <li class="footer__dropdown-item"> 1365 <a class="footer__dropdown-link" href="/localization?currency=NZD&return_to=/cart"> 1366 NZD 1367 </a> 1368 </li> 1369 1370 <li class="footer__dropdown-item"> 1371 <a class="footer__dropdown-link" href="/localization?currency=SEK&return_to=/cart"> 1372 SEK 1373 </a> 1374 </li> 1375 1376 <li class="footer__dropdown-item"> 1377 <a class="footer__dropdown-link" href="/localization?currency=NOK&return_to=/cart"> 1378 NOK 1379 </a> 1380 </li> 1381 1382 <li class="footer__dropdown-item"> 1383 <a class="footer__dropdown-link" href="/localization?currency=DKK&return_to=/cart"> 1384 DKK 1385 </a> 1386 </li> 1387 1388 <li class="footer__dropdown-item"> 1389 <a class="footer__dropdown-link" href="/localization?currency=PLN&return_to=/cart"> 1390 PLN 1391 </a> 1392 </li> 1393 1394 <li class="footer__dropdown-item"> 1395 <a class="footer__dropdown-link" href="/localization?currency=INR&return_to=/cart"> 1396 INR 1397 </a> 1398 </li> 1399 1400 <li class="footer__dropdown-item"> 1401 <a class="footer__dropdown-link" href="/localization?currency=JPY&return_to=/cart"> 1402 JPY 1403 </a> 1404 </li> 1405 1406 <li class="footer__dropdown-item"> 1407 <a class="footer__dropdown-link" href="/localization?currency=MYR&return_to=/cart"> 1408 MYR 1409 </a> 1410 </li> 1411 1412 <li class="footer__dropdown-item"> 1413 <a class="footer__dropdown-link" href="/localization?currency=SGD&return_to=/cart"> 1414 SGD 1415 </a> 1416 </li> 1417 1418 <li class="footer__dropdown-item"> 1419 <a class="footer__dropdown-link" href="/localization?currency=MXN&return_to=/cart"> 1420 MXN 1421 </a> 1422 </li> 1423 1424 <li class="footer__dropdown-item"> 1425 <a class="footer__dropdown-link" href="/localization?currency=BRL&return_to=/cart"> 1426 BRL 1427 </a> 1428 </li> 1429 1430 <li class="footer__dropdown-item"> 1431 <a class="footer__dropdown-link" href="/localization?currency=CHF&return_to=/cart"> 1432 CHF 1433 </a> 1434 </li> 1435 1436 </ul> 1437 </div> 1438 1439 </li> 1440 1441 1442 1443 1444 <li class="footer__list-item"> 1445 <a href="/contact" class="footer__menu-link" >Contact Support</a> 1446 </li> 1447 1448 <li class="footer__list-item"> 1449 <a href="/pages/terms-of-service" class="footer__menu-link" >Terms of Service</a> 1450 </li> 1451 1452 <li class="footer__list-item"> 1453 <a href="/pages/privacy-policy" class="footer__menu-link" >Privacy Policy</a> 1454 </li> 1455 1456 <li class="footer__list-item"> 1457 <a href="/pages/returns-faq" class="footer__menu-link" >Returns & FAQ</a> 1458 </li> 1459 1460 1461 </ul> 1462 </nav> 1463 </div> 1464 </div> 1465 </div> 1466 1467 <div class="footer__bottom"> 1468 <ul class="footer__list footer__list--bottom"> 1469 <li class="footer__list-item">
1469<div class="footer__copy">© 2026 Canvastique</div></li> 1470 1471 <li class="footer__list-item"><div class="footer__powered-by">Powered by <a href="https://fourthwall.com/?utm_source=footer&utm_medium=fourthwall&utm_campaign=poweredby" style="padding-left: 0;" target="_blank" rel="noopener">Fourthwall</a></div></li> 1472 1473 </ul> 1474 </div> 1475 1476 </div> 1477 </div> 1478</footer> 1479 1480 1481</div> 1482 </div> 1483 </div> 1484 1485
1485<script> 1486 var fourthwallTheme = { 1487 strings: { 1488 addToCart: "Add to Cart", 1489 redeemGift: "Redeem Your Gift", 1490 viewCart: "View Cart", 1491 checkout: "Checkout", 1492 outOfStock: "Out of Stock", 1493 unavailable: "Not Available", 1494 soldOut: "Sold Out", 1495 soldOutSuffix: " - Sold Out", 1496 missingQuantityError: "Please choose the quantity.", 1497 generalError: "An error occurred. Please try refreshing the page.", 1498 item: "item", 1499 items: "items", 1500 startShopping: "Start Shopping", 1501 subtotal: "Subtotal", 1502 backToShopping: "Back to Shopping", 1503 cart: { 1504 heading: "[item_count] [item_count_label] in your cart for [total]", 1505 emptyHeading: "Your Shopping Cart is Empty", 1506 tableHeader: { 1507 item: "Item", 1508 quantity: "Quantity", 1509 price: "Price" 1510 }, 1511 deleteModal: { 1512 heading: "Are you sure you want to remove [title] from your cart?", 1513 cancel: "Cancel", 1514 delete: "Delete" 1515 } 1516 }, 1517 newsletter: { 1518 missingEmailError: 'Please enter your email.', 1519 invalidEmailError: 'Please enter a valid email.', 1520 subscribeSuccess: 'Thanks for subscribing!' 1521 }, 1522 donation: { 1523 missingAmountError: 'Please select or enter the donation amount.', 1524 invalidAmountError: 'Please enter a valid donation amount.', 1525 missingNameError: 'Please enter your name.', 1526 missingMessageError: 'Please enter the message.' 1527 }, 1528 checkoutErrors: { 1529 default: "There was an issue with your checkout. Please review your cart and try again.", 1530 CHECKOUT_CART_ITEMS_CHANGED: "Your cart has changed since you started checkout. Please review your items and try again.", 1531 CHECKOUT_STOCK_NOT_ENOUGH_QUANTITY: "Some items in your cart are no longer available in the requested quantity. Please update your cart and try again." 1532 } 1533 }, 1534 urls: { 1535 cart: "/cart", 1536 cartItemLocalizedPrefix: "", 1537 cartAddUrl: "/cart/add", 1538 cartChangeUrl: "/cart/change", 1539 productsUrlPrefix: "/products", 1540 allProductsCollection: "/collections/all", 1541 } 1542 }; 1543</script>
1543 1544 1545 1546
1546<script src="https://themes.fourthwall.dev/themes-library/assets/08dd3f60-c671-4fb0-b5cb-94d117ca8b31/assets/theme.js?v=0998c548254534492e2e74a8ee58b250997fc37235abf47f3df8be4bd9e768bb" rel="preload" integrity="sha256-CZjFSCVFNEkuLnSo7liyUJl/w3I1q/R/Pfi+S9nnaLs=" crossorigin="anonymous"></script>
1546 1547 1548 1549<div id="cookie-consent-banner-container" data-turbo-permanent="true"></div> 1550 1551 1552 <div class="admin-bar-container hidden"> 1553 <div id="admin-bar" class="admin-bar sticky hidden"> 1554 <div class="wrapper"> 1555 <div> 1556 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"> 1557 <path fill="#FDFCFB" d="m11.947 6-.682 3.151H9.983c-1.61 0-1.964.081-2.237 1.195l-.136.733h3.246l-.683 3.178H6.928L4.5 25.692H0l2.428-11.435H.409l.682-3.178h1.991l.219-.923C4.01 6.706 5.7 6 9.628 6h2.319Zm3.525 5.08 1.936 9.913 1.718-9.914h4.637l1.69 9.914 1.938-9.914H32l-3.382 14.613h-5.21L21.446 14.91 19.48 25.692h-5.237L10.862 11.08h4.61Z"/> 1558 </svg> 1559 </div> 1560 <div class="actions"> 1561 <div class='desktop'> 1562 <div class="dropdown"> 1563 <button class="dropdown-button desktop-switcher pill" data-target="desktop-switcher">View as: </button> 1564 <div class="dropdown-content" id="desktop-switcher"> 1565 <ul> 1566 <li class="dropdown-item" data-mode="creator">Admin</li> 1567 <li class="dropdown-item" data-mode="supporter">Supporter</li> 1568 </ul> 1569 </div> 1570 </div> 1571 1572 <a href="/admin/dashboard" rel="noopener noreferrer" class="pill dashboard-link">Go to dashboard</a> 1573 </div> 1574 1575 <div class='mobile'> 1576 <div class="dropdown"> 1577 <button class="dropdown-button pill mobile-switcher" data-target="mobile-switcher">View as</button> 1578 <div class="dropdown-content" id="mobile-switcher"> 1579 <ul> 1580 <li class="dropdown-item" data-mode="creator">Admin</li> 1581 <li class="dropdown-item" data-mode="supporter">Supporter</li> 1582 </ul> 1583 </div> 1584 </div> 1585 1586 <div class="dropdown mobile"> 1587 <button class="dropdown-button pill" data-target="mobile-links"> 1588 <svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 1589 <g id="Dots horizontal"> 1590 <g> 1591 <path d="M2.96875 7C2.96875 7.42284 2.62597 7.76562 2.20312 7.76562C1.78028 7.76562 1.4375 7.42284 1.4375 7C1.4375 6.57716 1.78028 6.23438 2.20312 6.23438C2.62597 6.23438 2.96875 6.57716 2.96875 7Z" stroke="#FDFCFB" stroke-width="1.5"/> 1592 <path d="M8.76562 7C8.76562 7.42284 8.42284 7.76562 8 7.76562C7.57716 7.76562 7.23438 7.42284 7.23438 7C7.23438 6.57716 7.57716 6.23438 8 6.23438C8.42284 6.23438 8.76562 6.57716 8.76562 7Z" stroke="#FDFCFB" stroke-width="1.5"/> 1593 <path d="M14.5625 7C14.5625 7.42284 14.2197 7.76562 13.7969 7.76562C13.374 7.76562 13.0312 7.42284 13.0312 7C13.0312 6.57716 13.374 6.23438 13.7969 6.23438C14.2197 6.23438 14.5625 6.57716 14.5625 7Z" stroke="#FDFCFB" stroke-width="1.5"/> 1594 </g> 1595 </g> 1596 </svg> 1597 </button> 1598 <div class="dropdown-content" id="mobile-links"> 1599 <a href="/admin/dashboard" rel="noopener noreferrer" class="dropdown-item">Go to dashboard</a> 1600 </div> 1601 </div> 1602 </div> 1603 1604 <div class="pill close"> 1605 <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 1606 <g> 1607 <path d="M0.875 13.125L13.125 0.875M13.125 13.125L0.875 0.875" stroke="#FDFCFB" stroke-width="1.5" stroke-linejoin="bevel"/> 1608 </g> 1609 </svg> 1610 </div> 1611 </div> 1612 </div> 1613 </div> 1614 1615 <div id="admin-bar-small" class="admin-bar-small sticky hidden"> 1616 <div class="wrapper"> 1617 <div> 1618 <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"> 1619 <path fill="#FDFCFB" d="m11.947 6-.682 3.151H9.983c-1.61 0-1.964.081-2.237 1.195l-.136.733h3.246l-.683 3.178H6.928L4.5 25.692H0l2.428-11.435H.409l.682-3.178h1.991l.219-.923C4.01 6.706 5.7 6 9.628 6h2.319Zm3.525 5.08 1.936 9.913 1.718-9.914h4.637l1.69 9.914 1.938-9.914H32l-3.382 14.613h-5.21L21.446 14.91 19.48 25.692h-5.237L10.862 11.08h4.61Z"/> 1620 </svg> 1621 </div> 1622 </div> 1623 </div> 1624</div> 1625
1626<script> 1627 const cookieModule = { 1628 setCookie: function (name, value, days = 365, maxAge) { 1629 const expires = new Date(Date.now() + days * 24 * 60 * 60 * 1000).toUTCString(); 1630 let cookieString = `${name}=${value}; expires=${expires}; path=/`; 1631 1632 if (maxAge) { 1633 cookieString += `; max-age=${maxAge}`; 1634 } 1635 1636 document.cookie = cookieString; 1637 }, 1638 1639 getCookie: function (name) { 1640 const cookie = document.cookie.split(';').find(c => c.trim().startsWith(`${name}=`)); 1641 return cookie ? cookie.split('=')[1] : null; 1642 } 1643 }; 1644 1645 const AdminBar = { 1646 adminBar: document.getElementById("admin-bar"), 1647 adminBarContainer: document.querySelector(".admin-bar-container"), 1648 adminBarSmall: document.getElementById("admin-bar-small"), 1649 closeButton: document.querySelector('#admin-bar .close'), 1650 viewAsDesktopButton: document.querySelector(".desktop-switcher"), 1651 dropdownButtons: document.querySelectorAll(".dropdown-button"), 1652 dropdownContents: document.querySelectorAll(".dropdown-content"), 1653 inIframe: () => { 1654 try { 1655 return window.self !== window.top; 1656 } catch (e) { 1657 return true; 1658 } 1659 }, 1660 inThemeEditor: () => cookieModule.getCookie('view_as') === 'theme_editor' || AdminBar.inIframe(), 1661 viewAsCreator: () => cookieModule.getCookie('view_as') === 'creator', 1662 viewAsSupporter: () => cookieModule.getCookie('view_as') === 'supporter', 1663 verifyCreator: () => { 1664 document.cookie = 'return_to=' + window.location.href + '; path=/; max-age=30;'; 1665 window.location.href = '/platform/creators/handoff/start?return=' + encodeURIComponent(window.location.pathname + window.location.search); 1666 }, 1667 getSelectedView: () => (AdminBar.viewAsCreator() ? 'Admin' : 'Supporter'), 1668 toggleDropdown: (dropdownContent) => { 1669 dropdownContent.style.display = dropdownContent.style.display === 'none' || dropdownContent.style.display === '' ? 'block' : 'none'; 1670 }, 1671 init() { 1672 if ( 1673 !AdminBar.inThemeEditor() && 1674 cookieModule.getCookie('core_dashboard_visited') 1675 ) { 1676 AdminBar.viewAsDesktopButton.textContent = 'View as: ' + AdminBar.getSelectedView(); 1677 AdminBar.adminBarContainer.classList.toggle('hidden'); 1678 if (cookieModule.getCookie('admin_bar_mode') === 'condensed') { 1679 AdminBar.adminBarSmall.classList.toggle('hidden'); 1680 } else { 1681 AdminBar.adminBar.classList.toggle('hidden'); 1682 } 1683 } 1684 1685 AdminBar.closeButton.addEventListener('click', () => { 1686 cookieModule.setCookie('admin_bar_mode', 'condensed'); 1687 AdminBar.adminBar.classList.toggle('hidden'); 1688 AdminBar.adminBarSmall.classList.toggle('hidden'); 1689 }); 1690 1691 AdminBar.adminBarSmall.addEventListener('click', () => { 1692 cookieModule.setCookie('admin_bar_mode', 'expanded'); 1693 AdminBar.adminBar.classList.toggle('hidden'); 1694 AdminBar.adminBarSmall.classList.toggle('hidden'); 1695 }); 1696 1697 // Add event listeners to each dropdown button 1698 AdminBar.dropdownButtons.forEach((button) => { 1699 button.addEventListener("click", () => { 1700 const dropdownId = button.getAttribute("data-target"); 1701 const dropdownContent = document.getElementById(dropdownId); 1702 AdminBar.toggleDropdown(dropdownContent); 1703 }); 1704 }); 1705 1706 // Close the dropdowns when clicking outside 1707 document.addEventListener("click", (event) => { 1708 AdminBar.dropdownButtons.forEach((button) => { 1709 const dropdownId = button.getAttribute("data-target"); 1710 const dropdownContent = document.getElementById(dropdownId); 1711 if (event.target !== button && !button.contains(event.target) && event.target !== dropdownContent) { 1712 dropdownContent.style.display = "none"; 1713 } 1714 }); 1715 }); 1716 1717 document.querySelectorAll(".dropdown-content li").forEach((item) => { 1718 item.addEventListener("click", (event) => { 1719 const mode = event.target.getAttribute("data-mode"); 1720 if (mode === 'creator') { 1721 cookieModule.setCookie('view_as', 'creator'); 1722 AdminBar.verifyCreator(); 1723 } else { 1724 cookieModule.setCookie('view_as', 'supporter'); 1725 window.location.reload(); 1726 } 1727 }); 1728 }); 1729 }, 1730 }; 1731
1732 AdminBar.init(); 1733</script>
1733 1734 1735<style> 1736 .admin-bar-container { 1737 height: 56px; 1738 } 1739 1740 .hidden { 1741 display: none; 1742 } 1743 1744 .admin-bar, 1745 .admin-bar-small { 1746 z-index: 1000; 1747 background-color: rgba(0, 0, 0, 0.7); 1748 backdrop-filter: blur(15px); 1749 -webkit-backdrop-filter: blur(15px); 1750 height: 56px; 1751 width: 100%; 1752 } 1753 1754 .admin-bar-small { 1755 width: 73px; 1756 cursor: pointer; 1757 } 1758 1759 .sticky { 1760 position: fixed; 1761 bottom: 0; 1762 } 1763 1764 .admin-bar a { 1765 color: #FDFCFB; 1766 padding: 14px; 1767 font-size: 14px; 1768 text-decoration: none; 1769 } 1770 1771 .admin-bar button { 1772 padding: 14px; 1773 font-size: 14px; 1774 } 1775 1776 .admin-bar .wrapper, 1777 .admin-bar-small .wrapper { 1778 display: flex; 1779 justify-content: space-between; 1780 align-items: center; 1781 padding: 10px 20px; 1782 } 1783 1784 .admin-bar-small .wrapper { 1785 padding: 12px 20px; 1786 } 1787 1788 .admin-bar .pill { 1789 display: flex; 1790 justify-content: center; 1791 align-items: center; 1792 gap: 10px; 1793 text-transform: capitalize; 1794 1795 padding: 6px 14px; 1796 border-radius: 100px; 1797 background: rgba(253, 252, 251, 0.12); 1798 1799 cursor: pointer; 1800 } 1801 1802 .admin-bar .pill:hover { 1803 background: rgba(253, 252, 251, 0.22); 1804 } 1805 1806 .admin-bar .close { 1807 padding: 6px 11px; 1808 } 1809 1810 .admin-bar .actions, 1811 .admin-bar .actions .desktop, 1812 .admin-bar .actions .mobile { 1813 display: flex; 1814 gap: 10px; 1815 } 1816 1817 .admin-bar .actions .desktop, 1818 .admin-bar .actions .edit-page { 1819 display: none; 1820 } 1821 1822 @media (min-width: 768px) { 1823 .admin-bar a, 1824 .admin-bar button { 1825 font-size: 16px; 1826 } 1827 1828 .admin-bar .actions .desktop, 1829 .admin-bar .actions .edit-page { 1830 display: flex; 1831 gap: 10px; 1832 } 1833 1834 .admin-bar .actions .mobile { 1835 display: none; 1836 } 1837 } 1838 1839 .dropdown { 1840 position: relative; 1841 } 1842 1843 .dropdown-content { 1844 display: none; 1845 position: absolute; 1846 background-color: rgba(0,0,0,0.9); 1847 min-width: 130px; 1848 box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); 1849 bottom: 100%; /* Position above the button */ 1850 border-radius: 10px; 1851 bottom: calc((100% + 8px) - 0px); 1852 right: 0; 1853 } 1854 1855 /* Style for each list item */ 1856 .dropdown-content .dropdown-item { 1857 color: white; 1858 padding: 12px 16px; 1859 text-decoration: none; 1860 white-space: nowrap; 1861 display: block; 1862 cursor: pointer; 1863 border-radius: 10px; 1864 } 1865 1866 .dropdown-content .dropdown-item:hover { 1867 background-color: rgba(255,255,255,0.2) 1868 } 1869 1870 /* Style for the button */ 1871 .dropdown-button { 1872 color: white; 1873 padding: 10px 20px; 1874 border: none; 1875 border-radius: 5px; 1876 cursor: pointer; 1877 line-height: 24px; 1878 } 1879</style> 1880 1881</body> 1882</html>
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.