{"product_id":"custom-d20","title":"Custom D20","description":"\u003cbody\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\n\u003cstyle\u003e\n#svgAdjustTools{\nposition: absolute;\nleft: 0;\ntop: 0;\n}\n#svgAdjustTools span{\ndisplay: block;\nheight: 40px;\nwidth: 40px;\nmargin-top:10px;\ncursor: pointer;\n}\n.product-options{display: none;}\n.ap-options__text-container{display: none;}\n#color1{\ndisplay: block;\nmargin: 15px auto;\n}\n.activeSwatch {box-shadow: 0 0 0 1px #000000, 0 0 0 3px #ffffff, 0 0 0 5px #000000 !important;}\n.switch {\nposition: relative;\ndisplay: inline-block;\nwidth: 60px;\nheight: 34px;\n}\n.switch input { opacity: 0; width: 0; height: 0;}\n.slider {\nposition: absolute;\ncursor: pointer;\ntop: 0;\nleft: 0;\nright: 0;\nbottom: 0;\nbackground-color: #ccc;\n-webkit-transition: .4s;\ntransition: .4s;\n}\n.slider:before {\nposition: absolute;\ncontent: \"\";\nheight: 26px;\nwidth: 26px;\nleft: 4px;\nbottom: 4px;\nbackground-color: white;\n-webkit-transition: .4s;\ntransition: .4s;\n}\ninput:checked + .slider {background-color: #2196F3;}\ninput:focus + .slider {box-shadow: 0 0 1px #2196F3;}\ninput:checked + .slider:before {\n-webkit-transform: translateX(26px);\n-ms-transform: translateX(26px);\ntransform: translateX(26px);\n}\n.slider.round {border-radius: 34px;}\n.slider.round:before {border-radius: 50%;}\n.qtySlideContainer {max-width: 350px; appearance: none; -webkit-appearance: none;}\n.qtySlideContainer input{\n\tborder-radius: 15px;\n\tborder-style: outset;\n\tborder-color: #a4aeba;\n\tborder-width: 3px;\n\tpadding: 0px 3px;\n\theight: auto !important;\nappearance: none;\n-webkit-appearance: none;\n}\n.qtySlideContainer input::-webkit-slider-thumb {\n-webkit-appearance: none; \/* Override default look *\/\nappearance: none;\nwidth: 15px; \/* Set a specific slider handle width *\/\nheight: 15px; \/* Slider handle height *\/\nbackground: #173153; \/* Green background *\/\ncursor: pointer; \/* Cursor on hover *\/\nborder-radius: 50%;\n}\n.qtySlideContainer input::-moz-range-thumb {\nwidth: 15px; \/* Set a specific slider handle width *\/\nheight: 15px; \/* Slider handle height *\/\nbackground: #173153; \/* Green background *\/\ncursor: pointer; \/* Cursor on hover *\/\nborder-radius: 50%;\n}\n.optionsPanel {\n\twidth: 100%;\n\tmax-width: 440px;\npadding: 30px 30px;\n\tborder-radius: 40px;\nbox-shadow: 0px 0px 16px rgb(128 128 128 \/ 30%);\n\t\/* box-shadow: 0px 8px 40px rgb(128 128 128 \/ 15%); *\/\n\tmargin: auto;\n}\ndatalist {\ndisplay: flex;\njustify-content: space-between;\nwriting-mode: horizontal-tb;\nwidth: 100%;\nmax-width: 350px;\nfont-size: 10px;\n}\n#d20outline{transition: opacity 1s ease-in-out;}\n.renders{transition: opacity 1s ease-in-out;}\n.product-info__block{display: \"none\";}\n.product-info.product-info--sticky {width: 100% !important; background: white;}\n#product-media {display: none !important;}\n.product-grid__container\u003e.product-grid__content {width: 100%;}\n.add-to-cart {width: 100%;}\n.medium-up--one-half * {box-sizing: border-box;}\n.flex-container {display: flex;\tflex-direction: row;}\n.flex-item-left {padding: 10px;\tflex: 60%; text-align: center;}\n.flex-item-right {padding: 10px; flex: 40%; text-align: left;}\n.flex-btn-left {padding: 0 2px 0 0; flex: 50%; text-align: center;}\n.flex-btn-right { padding: 0 0 0 2px; flex: 50%; text-align: center;}\n@media (max-width: 900px) { \/* Responsive layout - makes a one column-layout instead of two-column layout *\/\n.flex-container {flex-direction: column;}\n}\n.hot-flex-container {\ndisplay: flex;\nflex-wrap: wrap;\nflex-direction: row;\nalign-content: center;\njustify-content: space-evenly;\n}\n.hot-flex-container * {\n\tmargin: 3px;\nwidth: 25px;\nheight: 25px;\ndisplay: inline-block;\nvertical-align: middle;\nborder-radius: 50%;\nbox-sizing: border-box;\ncursor: pointer;\ntransition: 0.3s ease-in-out;\nborder: 1px solid #fff;\nbox-shadow: 0px 0px 0px 2px #50505070;\npadding: 10px !important;\n}\n.hot-flex-item-all {background: conic-gradient(red, orange, yellow, green, blue, indigo, violet, red);}\n.hot-flex-item-left {background-color: #000000;}\n.hot-flex-item-left2 {background: repeating-linear-gradient(45deg, #fbe23b, #e0a91b 10px);}\n.hot-flex-item-right {background-color: #FFFFFF;}\n.hot-flex-item-right2 {background: repeating-linear-gradient(45deg, #B87333, #f0a865 10px);}\n@media (max-width: 120px) { \/* Responsive layout - makes a one column-layout instead of a two-column layout *\/\n.hot-flex-item-all, .hot-flex-item-right, .hot-flex-item-right2, .hot-flex-item-left, .hot-flex-item-left2 {flex: 50%;}\n}\n@media (max-width: 60px) {\n.hot-flex-item-all, .hot-flex-item-right, .hot-flex-item-right2, .hot-flex-item-left, .hot-flex-item-left2 {flex: 100%;}\n}\nfieldset.jester {\nborder: 0;\npadding: 0;\nmargin: 0 0 -12px;\nposition: relative;\n}\n.jester input {\nclip: rect(0,0,0,0);\noverflow: hidden;\nposition: absolute;\nheight: 1px;\nwidth: 1px;\n}\nfieldset.jester label{\nfont-family: var(--typeBasePrimary),var(--typeBaseFallback);\nfont-size: var(--typeBaseSize);\nletter-spacing: var(--typeBaseSpacing);\nline-height: var(--typeBaseLineHeight);\nposition: relative;\ndisplay: inline-block;\nfont-weight: 400;\npadding: 7px 15px;\nmargin: 0 8px 12px 0;\nbackground-color: #fff;\nbackground-color: var(--colorBody);\nbox-shadow: 0 0 0 1px #e8e8e1;\nbox-shadow: 0 0 0 1px var(--colorBorder);\nborder-radius: 1px;\noverflow: hidden;\ncursor: pointer;\ntext-align: center;\nwidth: 100%;\n}\n.jester label.disabled {color: #e8e8e1; box-shadow: 0 0 0 1px #e8e8e1; cursor: default;}\n.jester label.disabled:after {\nposition: absolute;\ncontent: \"\";\nleft: 50%;\ntop: 0;\nbottom: 0;\nborder-left: 2px solid;\nborder-color: #e8e8e1;\nborder-color: var(--colorBorder);\ntransform: rotate(45deg);\n}\nfieldset.jester legend{\nfont-family: var(--typeBasePrimary),var(--typeBaseFallback);\nfont-size: var(--typeBaseSize);\nletter-spacing: var(--typeBaseSpacing);\nline-height: var(--typeBaseLineHeight);\nposition: relative;\ndisplay: inline-block;\nfont-weight: 400;\npadding: 7px 15px;\nmargin: 0 8px 12px 0;\noverflow: hidden;\n}\n.jester input:checked+label{box-shadow: 0 0 0 2px var(--colorTextBody);}\ntd label{margin-bottom: 0px !important;}\ntd {padding: 0px !important;}\n.upload{\npadding: 10px 12px;\nmin-height: auto;\nmin-width: auto;\nborder-radius: var(--gw_main_border_radius, 5px);\ntext-transform: unset;\nbox-shadow: none;\nbackground: 0 0;\ncolor: var(--gw_main_color_review, var(--gw_main_color, #000));\nborder: 1px solid var(--gw_main_color_review, var(--gw_main_color, #000));\ntransition: all .15s ease-in-out;\n}\n.upload:hover{color: blue; border: 1px solid blue;}\n#myRange, #myRange2 {\n\twidth: 100% !important;\n\tposition: relative !important;\n\tmargin: 0 0 20px 0 !important;\n}\n.apo-delete__file{display: none !important;}\n#toggleOverlay {position: absolute;\tright: 0; bottom: 0;}\n#toggleOverlay2 {position: absolute;\tright: 0; top: 0; cursor: pointer;}\n#svgTools{padding-top:15px}\n#lightIntensity{max-width: 35%;}\n.bright{margin: 0 0 -25px !important}\n#lightIntensity label {\n\tmargin-bottom: 0 !important;\n\tfont-variant-caps: all-petite-caps;\nmargin: -5px auto 0px auto;\ndisplay: block;\n}\n#toggleOverlay label,#toggleOverlay2 label{\n\tmargin-bottom: 0 !important;\n\tfont-variant-caps: all-petite-caps;\nmargin: -5px auto 5px auto;\ndisplay: block;\n}\n.jesterHot {display: flex; flex-wrap: wrap;}\n.jesterHot \u003e label {margin-right: 12px;\tcursor: pointer; margin-bottom: 10px;}\n.jesterHot \u003e label input {position: fixed; opacity: 0;}\n.jesterHot \u003e label span {\n\tmargin: 0;\n\twidth: 30px;\n\theight: 30px;\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tborder-radius: 2px;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\ttransition: 0.3s ease-in-out;\n\tborder: 1px solid #fff;\n\tbox-shadow: 0px 0px 0px 2px #50505070;\n}\n.apo-file {width: 100%; height: 100%;}\n.apo-file input {display:none}\n.apo-file \u003e label {\nmin-width: 220px;\ndisplay: flex;\njustify-content: center;\nalign-items: center;\nflex-direction: column;\ntransition: 0.4s;\n}\n.apo-file \u003e label \u003e span {\ndisplay: inline-block;\ntext-align: center;\nfont-size: 14px;\ncolor: #6d7175;\nline-height: 1.5;\nmargin-top: 6px;\n}\n.apo-file__action {\npadding: 4px 16px;\nbackground: #fde5e5;\nfont-weight: bold;\ncolor: #f82020 !important;\nborder-radius: 6px;\nbox-shadow: 0px 5px 10px -8px #df7474;\ntransition: 0.4s;\n}\n.apo-file \u003e label:hover .apo-file__action {\ntransform: scale(1.15);\ntransition: 0.4s;\n}\n.apo-file__lable {\nwidth: 100%;\nheight: 100px;\nborder: 1px dashed #888;\nborder-radius: 6px;\ncursor: pointer;\n}\n#add_to_cart_btn {width: 100%;}\n.shopify-payment-button__more-options,.shopify-payment-terms,.shopify-payment-button__button {display: none;}\n.apo-file__img{display:none;}\n#avp-watermark-footer{display:none !important;}\n.product-grid__container\u003e.product-grid__content {width: 100%;}\n.add-to-cart {width: 100%;}\n.st0 {display: none;}\n.st1 {display: inline;}\n.st2 {fill: #FFFFFF;}\n.b{stroke-width: 0px; fill:yellow; transition: fill 3s ease;}\n#userImage {transition: filter 3s ease-in-out;}\n.medium-up--one-half{width: 100% !important;}\n.swatchy {\nwidth: 50px;\nheight: 50px;\nborder-radius: 50%;\nborder: 2px rgba(0, 0, 0, 1) solid;\nbox-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);\nmargin: 5px;\n}\n.swatchy:hover {box-shadow: 0px 0px 15px orange;}\n.n4a {background:linear-gradient(-45deg,#fFFFFF 50%, #800080 51%);}\n.n4b {background:linear-gradient(-45deg,#FFA500 50%, #fFFFFF 51%);}\n.n4c {background:linear-gradient(-45deg,#B21E1E 50%, #C0C0C0 51%);}\n.n4d {background:linear-gradient(-45deg,#3B13E9 50%, #fFFFFF 51%);}\n.n4e {background:linear-gradient(-45deg,#4C175A 50%, #000000 51%);}\n.n4f {background:linear-gradient(-45deg,#F3F3F3 50%, #676767 51%);}\n.n4g {background:linear-gradient(-45deg,#F3F3F3 50%, #B21E1E 51%);}\n.n4j {background:linear-gradient(-45deg,#009DC4 50%, #fFFFFF 51%);}\n.n4k {background:linear-gradient(-45deg,#0080FF 50%, #0000CC 51%);}\n.n4l {background:linear-gradient(-45deg,#A1A1CE 50%, #676767 51%);}\n.n4m {background:linear-gradient(-45deg,#00FF00 50%, #F6D7B0 51%);}\n.n4n {background:linear-gradient(-45deg,#228B22 50%, #6D431E 51%);}\n.n4o {background:linear-gradient(-45deg,#E3DAC9 50%, #F6CCCC 51%);}\n.n4p {background:linear-gradient(-45deg,#B21E1E 50%, #000000 51%);}\n.n4q {background:linear-gradient(-45deg,#000000 50%, #000000 51%);}\n.n4r {background:linear-gradient(-45deg,#00ff22 50%, #00da62 51%);}\n.n4s {background:linear-gradient(-45deg,#ffffff 50%, #f2f1ed 51%);}\n\u003c\/style\u003e\n\n\u003cscript\u003e\nfunction isMobileBrowser() {\nreturn \/Mobi|Android\/i.test(navigator.userAgent);\n}\n\nfunction AVISupdater(property, newColor) {\nvar avis = document.getElementById('avpoptions-container__v2'); \/\/ Get AVIS App Options container\nif(avis){\nvar avisInput = avis.querySelectorAll('input');\n\nfor (let i = 0; i \u003c avisInput.length; i++) { \/\/ Update the visible input field\nif (avisInput[i].name == property) {\navisInput[i].value = newColor;\navisInput[i].dispatchEvent(new Event('input')); \/\/ Trigger input event\navisInput[i].dispatchEvent(new Event('change')); \/\/ Trigger change event\nconsole.log(`Updated visible input ${property} to ${newColor}`);\n}\n}\n\n\/\/ Update the hidden input field\nvar avisHidden = document.querySelector('.avis-input-hiddens');\nvar avisInputHidden = avisHidden.querySelectorAll('input');\nfor (let i = 0; i \u003c avisInputHidden.length; i++) {\nif (avisInputHidden[i].name == `properties[${property}]`) {\navisInputHidden[i].value = newColor;\navisInputHidden[i].dispatchEvent(new Event('input')); \/\/ Trigger input event\navisInputHidden[i].dispatchEvent(new Event('change')); \/\/ Trigger change event\nconsole.log(`Updated hidden input properties[${property}] to ${newColor}`);\n}\n}\n}\n}\n\ndocument.addEventListener('DOMContentLoaded', function () {\n\nif(isMobileBrowser()){\ndocument.getElementById('sideOverlays').style.filter = \"url(#userImgFilter)\"\n}\nvar colorPicker = document.getElementById('color1')\ncolorPicker.addEventListener(\"change\", watchInlay, false);\n\nvar brightnessPicker = document.getElementById('myRange2')\nbrightnessPicker.addEventListener(\"change\", onChangeBrightness, false);\n\n\/\/ Get the element to which the filter is applied\nconst userImg = document.getElementById('userImage');\n\n\/\/ Default Clicks\nif(document.querySelectorAll(\".option-selector\")[0]){\ndocument.querySelectorAll(\".option-selector\")[0].children[1].children[0].click()\ndocument.querySelectorAll(\".option-selector\")[1].children[1].children[0].click()\n}\ndocument.querySelector('.n4a').click()\n\nwaitForIt()\n\n\/\/ Function to reapply the filter\nconst reapplyFilter = () =\u003e {};\n\n\/\/ Add an event listener for the transition end event\nuserImg.addEventListener('transitionend', reapplyFilter);\n});\nasync function waitForIt() {\nconst myTimeout = setTimeout(timeToMove, 1000);\n}\nfunction timeToMove() {\n\/\/ Move AVIS\nvar itemToMove1 = document.getElementById('avpoptions-container__v2');\nvar placeToMove = document.getElementById('moveUploadHere');\nvar placeToMovePrice = document.getElementById('moveUploadHerePrice');\n\n\/\/ Move PRICE\nvar itemToMove2 = document.querySelector('.product-price');\n\n\/\/ Move ADD TO CART\nvar itemToMove3;\ndocument.querySelectorAll('.product-info__block').forEach(item =\u003e { if (item.innerText.includes('ADD TO CART')) { itemToMove3 = item } })\nconsole.log(\n\"\\nItem1\", itemToMove1,\n\"\\nItem2\", itemToMove2,\n\"\\nItem3\",itemToMove3,\n)\n\nif(itemToMove1 \u0026\u0026 itemToMove2 \u0026\u0026 itemToMove3){\nplaceToMove.appendChild(itemToMove1);\nplaceToMovePrice.appendChild(itemToMove3);\nplaceToMovePrice.appendChild(itemToMove2);\n}\n}\nasync function moveTheAvis(){\n\/\/ Move AVIS\nvar itemToMove = document.getElementById('avpoptions-container__v2');\nvar placeToMove = document.getElementById('moveUploadHere');\nvar placeToMovePrice = document.getElementById('moveUploadHerePrice');\nplaceToMove.appendChild(itemToMove);\n}\nfunction jesterColor(hex, target, gradient) {\nconst rgb = hexToRgb(hex);\nif (rgb.length !== 3) {\nalert('Invalid format!');\nreturn;\n}\nconst color = new Color(rgb[0], rgb[1], rgb[2]);\nconst solver = new Solver(color);\nconst result = solver.solve();\n\nvar filterString = result.filter;\nfilterString = filterString.substring(7, filterString.length - 1);\n\n\/\/ Apply filter to the image \u0026 preview\nif (target === 'userImage') {\n\/\/ Add Inset Shadow\nvar thisAttr = document.getElementById(\"dropColor\").attributes;\nfor (let i = 0; i \u003c thisAttr.length; i++) {\nif (thisAttr[i].name === 'flood-color') {\nthisAttr[i].value = ColorLuminance(hex, -0.4);\n}\nif (thisAttr[i].name === 'dropColor') {\nthisAttr[i].value = ColorLuminance(hex, -0.4);\n}\n}\nsafariRecolor(hex, 'safariTest', 'None');\nsafariRecolor(hex, 'userImgFilter', 'None');\n\n\/\/ Apply the filter with transition\nconst userImage = document.getElementById('userImage');\nuserImage.style.filter = filterString;\n}\n}\nfunction watchInlay(event) {\t\/\/Change Pip Inlay\nvar newColor = event.target.value;\nAVISupdater('Inlay Color', newColor)\nvar cInput = document.getElementById('color1');\ncInput.style.background = '';\nadjustNumbersColors(newColor)\n}\n\nfunction hotWatchPick() {\nvar newColor = document.getElementById('color2').value;\nAVISupdater('Inlay Color', newColor)\nvar cInput = document.getElementById('color1');\ncInput.value = newColor;\ncInput.style.background = '';\n\nadjustNumbersColors(newColor)\n}\nfunction hotWatchInlay(btnColor, fauxName) {\t\/\/Change Pip Inlay\nvar newColor = btnColor;\nAVISupdater('Inlay Color', fauxName)\nvar cInput = document.getElementById('color1');\n\nif (fauxName == 'Black') {\ncInput.value = newColor;\ncInput.style.background = '';\n} else if (fauxName == 'White') {\ncInput.value = newColor;\ncInput.style.background = '';\n} else if (fauxName == 'Gold') {\ncInput.value = newColor;\ncInput.style.background = \"repeating-linear-gradient(45deg, #fbe23b, #e0a91b 10px)\";\n} else if (fauxName == 'Copper') {\ncInput.value = newColor;\ncInput.style.background = \"repeating-linear-gradient(45deg, #B87333, #f0a865 10px)\";\n}\nadjustNumbersColors(newColor)\n}\nfunction onChangeBrightness(event){\nvar newBrightness = event.target.value;\n\nvar renders = document.getElementById('d20_renders').children;\nfor(i=0;i\u003crenders.length;i++){\nif(renders[i].style.opacity == 1 \u0026\u0026 renders[i].id.substring(renders[i].id.length - 8,renders[i].id.length ) == 'no-shade' ){\ndocument.getElementById(renders[i].id.substring(0, 8) + \"shade\").style.opacity = newBrightness * 0.1;\n}\n}\nvar currentColor = document.getElementById('color1').value;\nadjustNumbersColors(currentColor);\n}\n\nfunction adjustNumbersColors(hex){\n\nvar brightness = 1;\nvar renders = document.getElementById('d20_renders').children;\nfor(i=0;i\u003crenders.length;i++){\nif(renders[i].style.opacity == 1 \u0026\u0026 renders[i].id.substring(renders[i].id.length - 8,renders[i].id.length ) == 'no-shade' ){\nbrightness = document.getElementById(renders[i].id.substring(0, 8) + \"shade\").style.opacity\n}\n}\n\/\/ Groups 5 and 15\ndocument.getElementById(\"5of5\").style.fill = adjustHexColor(hex, -75*brightness);\ndocument.getElementById(\"1of15\").style.fill = adjustHexColor(hex, -75*brightness);\ndocument.getElementById(\"5of15\").style.fill = adjustHexColor(hex, -75*brightness);\n\n\/\/ Groups 13\ndocument.getElementById(\"1of13\").style.fill = adjustHexColor(hex, -50*brightness);\ndocument.getElementById(\"3of13\").style.fill = adjustHexColor(hex, -50*brightness);\n\n\/\/ Groups User Upload and 11\ndocument.getElementById(\"1of11a\").style.fill = adjustHexColor(hex, -25*brightness);\ndocument.getElementById(\"1of11b\").style.fill = adjustHexColor(hex, -25*brightness);\njesterColor(adjustHexColor(hex, -25*brightness), 'userImage');\n\/\/ Groups 7 and 9\ndocument.getElementById(\"7of7\").style.fill = adjustHexColor(hex, -25*brightness);\ndocument.getElementById(\"_of9\").style.fill = adjustHexColor(hex, -25*brightness);\ndocument.getElementById(\"9of9\").style.fill = adjustHexColor(hex, -25*brightness);\n\n\/\/ Groups 17 and 19\ndocument.getElementById(\"1of17\").style.fill = adjustHexColor(hex, +25*brightness);\ndocument.getElementById(\"7of17\").style.fill = adjustHexColor(hex, +25*brightness);\ndocument.getElementById(\"1of19\").style.fill = adjustHexColor(hex, +25*brightness);\ndocument.getElementById(\"9of19\").style.fill = adjustHexColor(hex, +25*brightness);\n\/\/ Groups 3\ndocument.getElementById(\"3of3\").style.fill = adjustHexColor(hex, +75*brightness);\n}\n\nfunction adjustHexColor(hex, percent) {\n\/\/ Remove the hash at the start if it's there\nhex = hex.replace(\/^#\/, '');\n\n\/\/ Parse the r, g, b values\nlet r = parseInt(hex.substring(0, 2), 16);\nlet g = parseInt(hex.substring(2, 4), 16);\nlet b = parseInt(hex.substring(4, 6), 16);\n\n\/\/ Adjust each value by the given percent\nr = Math.floor(r * (1 + percent \/ 100));\ng = Math.floor(g * (1 + percent \/ 100));\nb = Math.floor(b * (1 + percent \/ 100));\n\n\/\/ Ensure values are within the valid range\nr = Math.max(0, Math.min(255, r));\ng = Math.max(0, Math.min(255, g));\nb = Math.max(0, Math.min(255, b));\n\n\/\/ Convert back to hex and return\nconst adjustedHex = `#${((1 \u003c\u003c 24) + (r \u003c\u003c 16) + (g \u003c\u003c 8) + b).toString(16).slice(1).toUpperCase()}`;\nreturn adjustedHex;\n}\n\n\/\/ From jesterColor\nfunction ColorLuminance(hex, lum) {\n\t\/\/ validate hex string\n\thex = String(hex).replace(\/[^0-9a-f]\/gi, '');\n\tif (hex.length \u003c 6) {\nhex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];\n\t}\n\tlum = lum || 0;\n\t\/\/ convert to decimal and change luminosity\n\tvar rgb = \"#\", c, i;\n\tfor (i = 0; i \u003c 3; i++) {\nc = parseInt(hex.substr(i*2,2), 16);\nc = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);\nrgb += (\"00\"+c).substr(c.length);\n\t}\n\treturn rgb;\n}\n\nfunction hexToRgb(hex) {\n\/\/ Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\nconst shorthandRegex = \/^#?([a-f\\d])([a-f\\d])([a-f\\d])$\/i;\nhex = hex.replace(shorthandRegex, (m, r, g, b) =\u003e {\nreturn r + r + g + g + b + b;\n});\n\nconst result = \/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$\/i.exec(hex);\nreturn result\n? [\nparseInt(result[1], 16),\nparseInt(result[2], 16),\nparseInt(result[3], 16),\n]\n: null;\n}\n\nclass Color { constructor(r, g, b) { this.set(r, g, b); } toString() { return `rgb(${Math.round(this.r)}, ${Math.round(this.g)}, ${Math.round(this.b)})`; } set(r, g, b) { this.r = this.clamp(r); this.g = this.clamp(g); this.b = this.clamp(b); } hueRotate(angle = 0) { angle = angle \/ 180 * Math.PI; const sin = Math.sin(angle); const cos = Math.cos(angle); this.multiply([0.213 + cos * 0.787 - sin * 0.213, 0.715 - cos * 0.715 - sin * 0.715, 0.072 - cos * 0.072 + sin * 0.928, 0.213 - cos * 0.213 + sin * 0.143, 0.715 + cos * 0.285 + sin * 0.140, 0.072 - cos * 0.072 - sin * 0.283, 0.213 - cos * 0.213 - sin * 0.787, 0.715 - cos * 0.715 + sin * 0.715, 0.072 + cos * 0.928 + sin * 0.072,]); } grayscale(value = 1) { this.multiply([0.2126 + 0.7874 * (1 - value), 0.7152 - 0.7152 * (1 - value), 0.0722 - 0.0722 * (1 - value), 0.2126 - 0.2126 * (1 - value), 0.7152 + 0.2848 * (1 - value), 0.0722 - 0.0722 * (1 - value), 0.2126 - 0.2126 * (1 - value), 0.7152 - 0.7152 * (1 - value), 0.0722 + 0.9278 * (1 - value),]); } sepia(value = 1) { this.multiply([0.393 + 0.607 * (1 - value), 0.769 - 0.769 * (1 - value), 0.189 - 0.189 * (1 - value), 0.349 - 0.349 * (1 - value), 0.686 + 0.314 * (1 - value), 0.168 - 0.168 * (1 - value), 0.272 - 0.272 * (1 - value), 0.534 - 0.534 * (1 - value), 0.131 + 0.869 * (1 - value),]); } saturate(value = 1) { this.multiply([0.213 + 0.787 * value, 0.715 - 0.715 * value, 0.072 - 0.072 * value, 0.213 - 0.213 * value, 0.715 + 0.285 * value, 0.072 - 0.072 * value, 0.213 - 0.213 * value, 0.715 - 0.715 * value, 0.072 + 0.928 * value,]); } multiply(matrix) { const newR = this.clamp(this.r * matrix[0] + this.g * matrix[1] + this.b * matrix[2]); const newG = this.clamp(this.r * matrix[3] + this.g * matrix[4] + this.b * matrix[5]); const newB = this.clamp(this.r * matrix[6] + this.g * matrix[7] + this.b * matrix[8]); this.r = newR; this.g = newG; this.b = newB; } brightness(value = 1) { this.linear(value); } contrast(value = 1) { this.linear(value, -(0.5 * value) + 0.5); } linear(slope = 1, intercept = 0) { this.r = this.clamp(this.r * slope + intercept * 255); this.g = this.clamp(this.g * slope + intercept * 255); this.b = this.clamp(this.b * slope + intercept * 255); } invert(value = 1) { this.r = this.clamp((value + this.r \/ 255 * (1 - 2 * value)) * 255); this.g = this.clamp((value + this.g \/ 255 * (1 - 2 * value)) * 255); this.b = this.clamp((value + this.b \/ 255 * (1 - 2 * value)) * 255); } hsl() { const r = this.r \/ 255; const g = this.g \/ 255; const b = this.b \/ 255; const max = Math.max(r, g, b); const min = Math.min(r, g, b); let h, s, l = (max + min) \/ 2; if (max === min) { h = s = 0; } else { const d = max - min; s = l \u003e 0.5 ? d \/ (2 - max - min) : d \/ (max + min); switch (max) { case r: h = (g - b) \/ d + (g \u003c b ? 6 : 0); break; case g: h = (b - r) \/ d + 2; break; case b: h = (r - g) \/ d + 4; break; } h \/= 6; } return { h: h * 100, s: s * 100, l: l * 100, }; } clamp(value) { if (value \u003e 255) { value = 255; } else if (value \u003c 0) { value = 0; } return value; } }\nclass Solver { constructor(target, baseColor) { this.target = target; this.targetHSL = target.hsl(); this.reusedColor = new Color(0, 0, 0); } solve() { const result = this.solveNarrow(this.solveWide()); return { values: result.values, loss: result.loss, filter: this.css(result.values), }; } solveWide() { const A = 5; const c = 15; const a = [60, 180, 18000, 600, 1.2, 1.2]; let best = { loss: Infinity }; for (let i = 0; best.loss \u003e 25 \u0026\u0026 i \u003c 3; i++) { const initial = [50, 20, 3750, 50, 100, 100]; const result = this.spsa(A, a, c, initial, 1000); if (result.loss \u003c best.loss) { best = result; } } return best; } solveNarrow(wide) { const A = wide.loss; const c = 2; const A1 = A + 1; const a = [0.25 * A1, 0.25 * A1, A1, 0.25 * A1, 0.2 * A1, 0.2 * A1]; return this.spsa(A, a, c, wide.values, 500); } spsa(A, a, c, values, iters) { const alpha = 1; const gamma = 0.16666666666666666; let best = null; let bestLoss = Infinity; const deltas = new Array(6); const highArgs = new Array(6); const lowArgs = new Array(6); for (let k = 0; k \u003c iters; k++) { const ck = c \/ Math.pow(k + 1, gamma); for (let i = 0; i \u003c 6; i++) { deltas[i] = Math.random() \u003e 0.5 ? 1 : -1; highArgs[i] = values[i] + ck * deltas[i]; lowArgs[i] = values[i] - ck * deltas[i]; } const lossDiff = this.loss(highArgs) - this.loss(lowArgs); for (let i = 0; i \u003c 6; i++) { const g = lossDiff \/ (2 * ck) * deltas[i]; const ak = a[i] \/ Math.pow(A + k + 1, alpha); values[i] = fix(values[i] - ak * g, i); } const loss = this.loss(values); if (loss \u003c bestLoss) { best = values.slice(0); bestLoss = loss; } } return { values: best, loss: bestLoss }; function fix(value, idx) { let max = 100; if (idx === 2 \/* saturate *\/) { max = 7500; } else if (idx === 4 \/* brightness *\/ || idx === 5 \/* contrast *\/) { max = 200; } if (idx === 3 \/* hue-rotate *\/) { if (value \u003e max) { value %= max; } else if (value \u003c 0) { value = max + value % max; } } else if (value \u003c 0) { value = 0; } else if (value \u003e max) { value = max; } return value; } } loss(filters) { const color = this.reusedColor; color.set(0, 0, 0); color.invert(filters[0] \/ 100); color.sepia(filters[1] \/ 100); color.saturate(filters[2] \/ 100); color.hueRotate(filters[3] * 3.6); color.brightness(filters[4] \/ 100); color.contrast(filters[5] \/ 100); const colorHSL = color.hsl(); return (Math.abs(color.r - this.target.r) + Math.abs(color.g - this.target.g) + Math.abs(color.b - this.target.b) + Math.abs(colorHSL.h - this.targetHSL.h) + Math.abs(colorHSL.s - this.targetHSL.s) + Math.abs(colorHSL.l - this.targetHSL.l)); } css(filters) { function fmt(idx, multiplier = 1) { return Math.round(filters[idx] * multiplier); } return `filter: invert(${fmt(0)}%) sepia(${fmt(1)}%) saturate(${fmt(2)}%) hue-rotate(${fmt(3, 3.6)}deg) brightness(${fmt(4)}%) contrast(${fmt(5)}%);`; } }\n\n\/\/Function to convert SVG Filter for Mobile Safari\nfunction safariRecolor(hex,target,gradient){\n\/\/alert(`SafariRecolor, ${hex} , ${target} , ${gradient}.`);\n\tconsole.log(gradient + \" is grad\");\n\tvar x = document.getElementById(target);\n\tif(gradient != 'None'){\nif(gradient=='Gold'){\nvar rgb1 = [251,226,59];\nvar rgb2 = [224,169,27];\n}else if(gradient=='Copper'){\nvar rgb1 = [184,115,51];\nvar rgb2 = [0,0,0];\n}\n\tfor(i=0;i\u003cx.children.length;i++){\nif(x.children[i].nodeName == 'feComponentTransfer' \u0026\u0026 x.children[i].children.length \u003e 1){\nx.children[i].children[0].attributes[1].value=rgb1[0]\/255 + \" \" +rgb2[0]\/255 ;\t\/\/R\nx.children[i].children[1].attributes[1].value=rgb1[1]\/255 + \" \" +rgb2[1]\/255 ;\t\/\/G\nx.children[i].children[2].attributes[1].value=rgb1[2]\/255 + \" \" +rgb2[2]\/255 ;\t\/\/B\n}\n}\n\t}else{\nvar rgb1 = hex2rgb(hex);\nvar rgb2 = hex2rgb(ColorLuminance(hex, -0.4));\nfor(i=0;i\u003cx.children.length;i++){\nif(x.children[i].nodeName == 'feComponentTransfer' \u0026\u0026 x.children[i].children.length \u003e 1){\nx.children[i].children[0].attributes[1].value=rgb1[0]\/255 + \" \" +rgb2[0]\/255 ;\t\/\/R\nx.children[i].children[1].attributes[1].value=rgb1[1]\/255 + \" \" +rgb2[1]\/255 ;\t\/\/G\nx.children[i].children[2].attributes[1].value=rgb1[2]\/255 + \" \" +rgb2[2]\/255 ;\t\/\/B\n}\n}\n\t}\n}\n\/\/Function to convert HEX to RGB\nfunction hex2rgb(x){\nif(x.length == 7){\nx = x.substring(1,7);\n}\nif(x.length != 6){\nthrow \"Only six-digit hex colors are allowed.\";\n}\n\nvar aRgbHex = x.match(\/.{1,2}\/g);\nvar aRgb = [\nparseInt(aRgbHex[0], 16),\nparseInt(aRgbHex[1], 16),\nparseInt(aRgbHex[2], 16)\n];\nreturn aRgb;\n}\n\t\u003c\/script\u003e\n\n\u003cdiv class=\"flex-container\"\u003e\n\u003cdiv class=\"flex-item-left\"\u003e\n\n\u003cdiv id=\"previewBox\" style=\"position:relative;top:0;left:0;\"\u003e\n\u003cdiv id=\"previewSVG\" style=\"position:relative;top:0;left:0;\"\u003e\n\n\u003csvg version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\" viewbox=\"540 317 850 600\" style=\"enable-background:new 540 317 850 600;\" xml:space=\"preserve\"\u003e\n\u003cdefs\u003e\n\u003cfilter id=\"insetEffect\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003c!-- First shadow (inner top-left) --\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\" result=\"cutoff\"\u003e\n\u003cfefunca type=\"table\" tablevalues=\"1 0\"\u003e\u003c\/fefunca\u003e\n\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur in=\"cutoff\" stddeviation=\"2\" result=\"shadowBlur1\"\u003e\u003c\/fegaussianblur\u003e\n\u003cfeoffset in=\"shadowBlur1\" dx=\"-2\" dy=\"-2\" result=\"shadowOffset1\"\u003e\u003c\/feoffset\u003e\n\u003cfecomposite in=\"shadowOffset1\" in2=\"SourceAlpha\" operator=\"in\" result=\"innerShadow1\"\u003e\u003c\/fecomposite\u003e\n\u003cfeflood flood-color=\"black\" result=\"shadowColor1\"\u003e\u003c\/feflood\u003e\n\u003cfecomposite in=\"shadowColor1\" in2=\"innerShadow1\" operator=\"in\" result=\"innerShadow1Colored\"\u003e\u003c\/fecomposite\u003e\n\n\u003c!-- Second shadow (inner bottom-right) --\u003e\n\u003cfegaussianblur in=\"cutoff\" stddeviation=\"2\" result=\"shadowBlur2\"\u003e\u003c\/fegaussianblur\u003e\n\u003cfeoffset in=\"shadowBlur2\" dx=\"2\" dy=\"2\" result=\"shadowOffset2\"\u003e\u003c\/feoffset\u003e\n\u003cfecomposite in=\"shadowOffset2\" in2=\"SourceAlpha\" operator=\"in\" result=\"innerShadow2\"\u003e\u003c\/fecomposite\u003e\n\u003cfeflood flood-color=\"white\" result=\"shadowColor2\"\u003e\u003c\/feflood\u003e\n\u003cfecomposite in=\"shadowColor2\" in2=\"innerShadow2\" operator=\"in\" result=\"innerShadow2Colored\"\u003e\u003c\/fecomposite\u003e\n\n\u003c!-- Merge shadows with the original graphic --\u003e\n\u003cfemerge\u003e\n\u003cfemergenode in=\"innerShadow1Colored\"\u003e\u003c\/femergenode\u003e\n\u003cfemergenode in=\"innerShadow2Colored\"\u003e\u003c\/femergenode\u003e\n\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\n\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\n\u003cfefunca type=\"table\" tablevalues=\"0.5 0\"\u003e\u003c\/fefunca\u003e\n\u003c\/fecomponenttransfer\u003e\n\n\u003cfegaussianblur stddeviation=\"0.9\"\u003e\u003c\/fegaussianblur\u003e\n\u003cfeoffset dx=\"-1.5\" dy=\"-1.5\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\n\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\n\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\n\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\n\n\u003cfemerge\u003e\n\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\n\u003cfemergenode\u003e\u003c\/femergenode\u003e\n\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\n\u003cfilter id=\"inset-shadows-a\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.4 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"2\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"2\" dy=\"2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-b\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"0.5\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"0\" dy=\"-1.5\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-c\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.4 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"1\" dy=\"1\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-d\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.4 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"2\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"2\" dy=\"-2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\n\n\u003cfilter id=\"inset-shadows-left\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"2.5\" dy=\"2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-5\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"0.5\" dy=\"-3\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-13\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"3\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"2\" dy=\"-4\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-1of13\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.6 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"-2.5\" dy=\"-2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-3of13\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.4 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"0.5\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"2\" dy=\"-2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-11\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"-2\" dy=\"-3\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-19\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"-2.5\" dy=\"0\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-17\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"2.5\" dy=\"2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-3\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"-4\" dy=\"2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-15\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"3\" dy=\"-2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-7\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"2\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"3\" dy=\"-1\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadows-9\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\u003cfefunca type=\"table\" tablevalues=\"0.8 0\"\u003e\u003c\/fefunca\u003e\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"1\"\u003e\u003c\/fegaussianblur\u003e\u003cfeoffset dx=\"-3\" dy=\"-2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\u003cfemerge\u003e\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\u003cfemergenode\u003e\u003c\/femergenode\u003e\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\n\n\u003cfilter id=\"inset-shadowsxx\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003c!-- Inverting alpha --\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\" result=\"invertedAlpha\"\u003e\n\u003cfefunca type=\"table\" tablevalues=\"1 0\"\u003e\u003c\/fefunca\u003e\n\u003c\/fecomponenttransfer\u003e\n\n\u003c!-- Top-left inner shadow --\u003e\n\u003cfegaussianblur in=\"invertedAlpha\" stddeviation=\"0.9\" result=\"blur1\"\u003e\u003c\/fegaussianblur\u003e\n\u003cfeoffset in=\"blur1\" dx=\"-1.5\" dy=\"-1.5\" result=\"offsetBlur1\"\u003e\u003c\/feoffset\u003e\n\u003cfeflood flood-color=\"black\" result=\"color1\"\u003e\u003c\/feflood\u003e\n\u003cfecomposite in=\"color1\" in2=\"offsetBlur1\" operator=\"in\" result=\"innerShadow1\"\u003e\u003c\/fecomposite\u003e\n\n\u003c!-- Bottom-right inner shadow --\u003e\n\u003cfegaussianblur in=\"invertedAlpha\" stddeviation=\"0.9\" result=\"blur2\"\u003e\u003c\/fegaussianblur\u003e\n\u003cfeoffset in=\"blur2\" dx=\"1.5\" dy=\"1.5\" result=\"offsetBlur2\"\u003e\u003c\/feoffset\u003e\n\u003cfeflood flood-color=\"white\" result=\"color2\"\u003e\u003c\/feflood\u003e\n\u003cfecomposite in=\"color2\" in2=\"offsetBlur2\" operator=\"in\" result=\"innerShadow2\"\u003e\u003c\/fecomposite\u003e\n\n\u003c!-- Merging the shadows with the original graphic --\u003e\n\u003cfemerge\u003e\n\u003cfemergenode in=\"innerShadow1\"\u003e\u003c\/femergenode\u003e\n\u003cfemergenode in=\"innerShadow2\"\u003e\u003c\/femergenode\u003e\n\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\n\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"inset-shadow-backup\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\n\u003cfefunca type=\"table\" tablevalues=\"1 0\"\u003e\u003c\/fefunca\u003e\n\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"40\"\u003e\u003c\/fegaussianblur\u003e\n\u003cfeoffset dx=\"-50\" dy=\"50\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\n\u003cfeflood id=\"dropColor1\" flood-color=\"#000000\" result=\"color\"\u003e\u003c\/feflood\u003e\n\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\n\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\n\u003cfemerge\u003e\n\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\n\u003cfemergenode\u003e\u003c\/femergenode\u003e\n\u003c\/femerge\u003e\n\u003c\/filter\u003e\n\u003cfilter id=\"userImgFilter\" x=\"0\" y=\"0\"\u003e\n\u003cfecomponenttransfer in=\"SourceAlpha\"\u003e\n\u003cfefunca type=\"table\" tablevalues=\"1 0\"\u003e\u003c\/fefunca\u003e\n\u003c\/fecomponenttransfer\u003e\n\u003cfegaussianblur stddeviation=\"0.5\"\u003e\u003c\/fegaussianblur\u003e\n\u003cfeoffset dx=\"0\" dy=\"-2\" result=\"offsetblur\"\u003e\u003c\/feoffset\u003e\n\u003cfeflood id=\"dropColor\" flood-color=\"#ffffff\" result=\"color\"\u003e\u003c\/feflood\u003e\n\u003cfecomposite in2=\"offsetblur\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\n\u003cfecomposite in2=\"SourceAlpha\" operator=\"in\"\u003e\u003c\/fecomposite\u003e\n\u003cfemerge\u003e\n\u003cfemergenode in=\"SourceGraphic\"\u003e\u003c\/femergenode\u003e\n\u003cfemergenode\u003e\u003c\/femergenode\u003e\n\u003c\/femerge\u003e\n\n\u003cfecolormatrix type=\"matrix\" values=\" .33 .33 .33 0 0\n.33 .33 .33 0 0\n.33 .33 .33 0 0\n0 0 0 1 0\"\u003e\n\u003c\/fecolormatrix\u003e\n\n\u003c!-- Map the grayscale result to the gradient map provided in tableValues --\u003e\n\u003cfecomponenttransfer color-interpolation-filters=\"sRGB\"\u003e\n\u003cfefuncr type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncr\u003e\n\u003cfefuncg type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncg\u003e\n\u003cfefuncb type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncb\u003e\n\u003c\/fecomponenttransfer\u003e\n\n\u003c\/filter\u003e\n\n\u003cfilter id=\"smokeAFilter\" x=\"0\" y=\"0\"\u003e\n\u003cfecolormatrix type=\"matrix\" values=\".33 .33 .33 0 0\n.33 .33 .33 0 0\n.33 .33 .33 0 0\n0 0 0 1 0\"\u003e\n\u003c\/fecolormatrix\u003e\n\n\u003c!-- Map the grayscale result to the gradient map provided in tableValues --\u003e\n\u003cfecomponenttransfer color-interpolation-filters=\"sRGB\"\u003e\n\u003cfefuncr type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncr\u003e\n\u003cfefuncg type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncg\u003e\n\u003cfefuncb type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncb\u003e\n\u003c\/fecomponenttransfer\u003e\n\n\u003c\/filter\u003e\n\n\u003cfilter id=\"smokeBFilter\" x=\"0\" y=\"0\"\u003e\n\u003cfecolormatrix type=\"matrix\" values=\"\n.33 .33 .33 0 0\n.33 .33 .33 0 0\n.33 .33 .33 0 0\n0 0 0 1 0\"\u003e\n\u003c\/fecolormatrix\u003e\n\n\u003c!-- Map the grayscale result to the gradient map provided in tableValues --\u003e\n\u003cfecomponenttransfer color-interpolation-filters=\"sRGB\"\u003e\n\u003cfefuncr type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncr\u003e\n\u003cfefuncg type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncg\u003e\n\u003cfefuncb type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncb\u003e\n\u003c\/fecomponenttransfer\u003e\n\n\u003c\/filter\u003e\n\n\u003cfilter id=\"safariTest\" x=\"0\" y=\"0\"\u003e\n\u003cfecolormatrix type=\"matrix\" values=\"\n.33 .33 .33 0 0\n.33 .33 .33 0 0\n.33 .33 .33 0 0\n0 0 0 1 0\"\u003e\n\u003c\/fecolormatrix\u003e\n\n\u003c!-- Map the grayscale result to the gradient map provided in tableValues --\u003e\n\u003cfecomponenttransfer color-interpolation-filters=\"sRGB\"\u003e\n\u003cfefuncr type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncr\u003e\n\u003cfefuncg type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncg\u003e\n\u003cfefuncb type=\"table\" tablevalues=\"0 0\"\u003e\u003c\/fefuncb\u003e\n\u003c\/fecomponenttransfer\u003e\n\n\u003c\/filter\u003e\n\u003cfilter id=\"toneBlur\"\u003e\n\u003cfegaussianblur in=\"SourceGraphic\" stddeviation=\"5\"\u003e\u003c\/fegaussianblur\u003e\n\u003c\/filter\u003e\n\n\u003clineargradient id=\"grad1\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"\u003e\n\u003cstop offset=\"10%\" style=\"stop-color:LIGHTSALMON\"\u003e\u003c\/stop\u003e\n\u003cstop offset=\"50%\" style=\"stop-color:TEAL\"\u003e\u003c\/stop\u003e\n\u003cstop offset=\"90%\" style=\"stop-color:LIGHTPINK\"\u003e\u003c\/stop\u003e\n\u003c\/lineargradient\u003e\n\u003c\/defs\u003e\n\n\u003cg id=\"d20_renders\"\u003e\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 1.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4a_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4a_no-shade.png?v=1716065556\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.5; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4a_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4a_shade.png?v=1716065556\"\u003e \u003c\/image\u003e  \n\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4b_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4b_no-shade.png?v=1716065556\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4b_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4b_shade.png?v=1716065556\n\"\u003e \u003c\/image\u003e\n\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4c_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4c_no-shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4c_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4c_shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4d_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4d_no-shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4d_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4d_shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4e_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4e_no-shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4e_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4e_shade.png?v=1716150745\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4f_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4f_no-shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4f_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4f_shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4g_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4g_no-shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4g_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4g_shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4j_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4j_no-shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4j_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4j_shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4k_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4k_no-shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4k_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4k_shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4l_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4l_no-shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4l_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4l_shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4m_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4m_no-shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4m_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4m_shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4n_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4n_no-shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4n_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4n_shade.png?v=1716150745\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4o_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4o_no-shade.png?v=1716150746\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4o_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4o_shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4p_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4p_no-shade.png?v=1716150747\"\u003e \u003c\/image\u003e  \n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4p_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4p_shade.png?v=1716150745\"\u003e \u003c\/image\u003e  \n\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4q_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4q_no-shade.png?v=1738170133\"\u003e\n\u003c\/image\u003e\n\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4q_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4q_shade.png?v=1738170133\"\u003e \u003c\/image\u003e\n\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4r_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4r_no-shade.png?v=1738170134\"\u003e\u003c\/image\u003e\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4r_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4r_shade.png?v=1738170134\"\u003e \u003c\/image\u003e\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4s_no-shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4s_no-shade.png?v=1738170133\"\u003e \u003c\/image\u003e\n\u003cimage class=\"renders\" style=\"overflow: visible; opacity: 0.0; enable-background: new;\" x=\"385\" y=\"290\" width=\"1156\" height=\"650\" id=\"d20_n4s_shade\" filter=\"\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_marble_n4s_shade.png?v=1738170134\"\u003e \u003c\/image\u003e\n\n\u003c\/g\u003e\n\u003c!-- Overlay for d20 --\u003e\n\u003c!-- \u003cg id=\"d20shading\"\u003e\n\u003cimage style=\"overflow: visible; opacity: 1.0; enable-background: new;\" width=\"1920\" height=\"1080\" id=\"smokeB\" filter=\"url(#smokeBFilter)\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_base_transparency.png?v=1711032206\"\u003e \u003c\/image\u003e\n\u003cimage style=\"overflow: visible; opacity: 1.0; enable-background: new;\" width=\"1920\" height=\"1080\" id=\"smokeB\" filter=\"url(#smokeBFilter)\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_base_transparency.png?v=1711032206\"\u003e \u003c\/image\u003e\n\u003c\/g\u003e --\u003e\n\u003c!-- d20 numbers --\u003e\n\n\u003c!-- In order 1, 17, 3, 7, 19, 15, 9, 5, 13, 11 --\u003e\n\u003c!-- 1 of 1 --\u003e\n\u003c!-- \u003cpath id=\"customSide\" class=\"b\" d=\"M947.53,622.31c-7.09,3.22-13.38,6.07-20.41,9.25-1.58-5.31-3.06-10.26-4.67-15.65,15.27-6.64,29.07-17.21,47.92-11.99-.91,37.22-1.83,74.86-2.76,112.62h-22.36c.76-31.4,1.51-62.38,2.28-94.23Z\" \/\u003e --\u003e\n\u003cg id=\"d20numbers\" filter=\"\"\u003e\n\u003c!-- 17 --\u003e\n\u003cg id=\"d20numbers-17\" filter=\"url(#inset-shadows-17)\"\u003e\n\u003c!-- 1 of 17 --\u003e\n\u003cpath id=\"1of17\" class=\"b\" d=\"M848,412.51c-6,1.69-12,3.38-18.02,5.08-.02-7.04,1.44-9.16,7.67-11.04,7.32-2.21,14.57-4.83,22.03-6.4,5.23-1.1,10.77-.75,17.69-1.12-4.44,5.96-7.88,10.67-11.42,15.31-13.5,17.67-27.14,35.23-40.47,53.02-2.64,3.53-5.14,5.55-9.76,4.83-3.24-.5-6.62-.1-11.38-.1,15.24-20.1,29.81-39.31,44.38-58.52-.24-.35-.47-.7-.71-1.05Z\"\u003e\u003c\/path\u003e\n\u003c!-- 7 of 17 --\u003e\n\u003cpath id=\"7of17\" class=\"b\" d=\"M919.24,412.17h-36.34c3.34-9.47,7.14-12.25,16.18-12.18,14.64.12,29.28.26,43.91.42,1.61.02,3.23.18,6.16.36-3.32,3.82-5.52,7.41-8.65,9.79-26.22,19.99-52.71,39.64-78.87,59.71-4.35,3.34-8.72,2.24-13.21,2.49-2.26.13-4.53.02-7.29-1.17,26.2-19.36,52.39-38.71,78.59-58.07-.17-.45-.33-.9-.5-1.35Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\n\u003c!-- 3 --\u003e\n\u003cg id=\"d20numbers-3\" filter=\"url(#inset-shadows-3)\"\u003e\n\u003c!-- 3 of 3 --\u003e\n\u003cpath id=\"3of3\" class=\"b\" d=\"M990.2,397.33c7.98-4.32,15.9-5.6,24.09-5.22,11.69.54,22.55,3.77,31.9,11.12,1.82,1.43,3.52,3.07,4.99,4.86,6.32,7.7,6.04,11.43-1.52,18.4,4.5,1.57,8.89,2.84,13.07,4.61,8.76,3.72,16.31,9.04,20.63,17.87,3.63,7.42,1.47,12.88-6.18,15.96-9.95,4-20.2,3.1-30.46,1.64-.65-.09-1.29-.43-1.94-.44-7.91-.16-12.13-4.2-12.6-12.3,5.05.77,10.21,1.77,15.42,2.27,3.28.32,6.69.26,9.94-.27,6.55-1.07,8.4-5.95,4.42-11.25-5.97-7.93-14.61-10.48-23.92-11.59-.66-.08-1.36-.22-1.99-.09-7.99,1.77-12.25-2.83-15.77-9.48,3.45-.44,6.83-.56,10.06-1.35,7.63-1.88,8.92-6.64,3.21-12.09-8.04-7.69-17.72-7.78-27.46-4.57-3.81,1.25-6.29,1.37-8.93-1.74-1.81-2.12-4.13-3.8-6.95-6.35Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\n\u003c!-- 7 --\u003e\n\u003cg filter=\"url(#inset-shadows-7)\"\u003e\n\u003c!-- 7 of 7 --\u003e\n\u003cpath id=\"7of7\" class=\"b\" d=\"M804.08,546.08c-7.9,15.06-15.2,28.98-22.67,43.21-4.28-2.78-8.15-5.3-12.53-8.15,11.03-21.21,22-42.32,32.89-63.27,8.05,3.03,11.7,9.47,15.34,16.07,12.93,23.4,25.92,46.76,39.1,70.02,2.25,3.96,2.45,7.12-.01,10.98-2.64,4.15-4.66,8.71-7.69,14.49-15.03-28.18-29.46-55.25-44.44-83.34Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\n\u003c!-- 19 --\u003e\n\u003cg filter=\"url(#inset-shadows-19)\"\u003e\n\u003c!-- 1 of 19 --\u003e\n\u003cpath id=\"1of19\" class=\"b\" d=\"M1088.18,529.25c-5.99-3.93-11.08-7.28-16.55-10.87,2.5-4.06,4.88-7.94,7.56-12.28,10.67,7.98,23.41,12.56,29.62,25.35,1.9,3.92,2.23,5.74-1.5,8.77-22.04,17.87-43.79,36.09-65.65,54.19-.37.31-.85.48-2,1.11-3.51-5.48-7.01-10.96-10.81-16.9,19.69-16.38,39.13-32.56,59.33-49.37Z\"\u003e\u003c\/path\u003e\n\u003c!-- 9 of 19 --\u003e\n\u003cpath id=\"9of19\" class=\"b\" d=\"M1050.47,615.85c4.01-3.33,7.3-6.06,11.08-9.21,10.02,16.15,22.35,26.72,43.82,18.23-10.48-4.08-16.37-11.13-20-20.29-7.42-18.72,2.78-38.63,22.14-43.22,11.38-2.7,24.57,4.08,31.96,16.42,11.25,18.78,7.51,39.45-9.37,53.68-8.66,7.3-17.92,13.44-29.27,15.12-15.9,2.35-28.57-4.3-38.93-15.79-4.09-4.53-7.47-9.7-11.44-14.93ZM1097.91,600.24c1.78,3.61,3.1,7.58,5.46,10.76,3.31,4.44,9.57,5.91,13.29,3.61,6.24-3.85,10.99-9.17,13.57-16.07,3.35-8.97-1.96-18.43-10.27-18.77-10.32-.42-20.88,9.62-22.05,20.47Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\n\u003c!-- 15 --\u003e\n\u003cg filter=\"url(#inset-shadows-15)\"\u003e\n\u003c!-- 1 of 15 --\u003e\n\u003cpath id=\"1of15\" class=\"b\" d=\"M752.15,642.8c1.98,5.25,4.09,10.45,5.84,15.77.47,1.44.07,3.29-.32,4.86-3.54,14.18-7,28.37-10.86,42.46-1.13,4.12-.92,7.57,2.03,10.52,4.83,4.84,4.93,10.49,2.96,18.15-4.01-6.33-7.72-11.61-10.83-17.22-4.68-8.47-5.24-17.1-2.28-26.7,4.84-15.68,8.33-31.77,12.39-47.69.36-.05.71-.1,1.07-.16Z\"\u003e\u003c\/path\u003e\n\u003c!-- 5 of 15 --\u003e\n\u003cpath id=\"5of15\" class=\"b\" d=\"M727.17,680.52c-5.96-16-11.62-30.5-16.63-45.23-.94-2.77.7-6.43,2.3-9.89,3.72,9.86,7.44,19.72,11.46,30.41,2.64-4.25,4.85-7.26,2.96-12.17-4.96-12.9-8.53-26.26-8.95-40.15-.16-5.23.57-10.67,1.99-15.71,1.45-5.13,5.3-5.84,8.25-1.19,4.57,7.2,8.28,15.03,11.63,22.91,2.39,5.61,3.65,11.71,5.28,17.64,1.27,4.64,1.17,4.67-2.49,8.55-2.38-7.37-4.43-14.87-7.29-22.06-1.24-3.12-4.14-5.57-6.29-8.32-1.01,3.44-2.89,6.88-2.89,10.32.03,12.88,4.99,24.61,9.41,36.44.54,1.45,1.19,3.33.71,4.62-2.8,7.57-5.91,15.02-9.45,23.84Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\n\u003c!-- 9 --\u003e\n\u003cg filter=\"url(#inset-shadows-9)\"\u003e\n\u003c!-- _ of 9 --\u003e\n\u003cpath id=\"_of9\" class=\"b\" d=\"M1180.74,610.89c2.64,3.97,2.68,7.63.84,11.91-3.88,8.96-7.21,18.17-10.76,27.27-.55.03-1.1.07-1.66.1-.32-2.79-1.61-5.92-.79-8.33,3.38-9.9,7.39-19.58,11.21-29.33.22-.57.73-1.03,1.16-1.62Z\"\u003e\u003c\/path\u003e\n\u003c!-- 9 of 9 --\u003e\n\u003cpath id=\"9of9\" class=\"b\" d=\"M1181.82,676.92c1.98-5.76,3.76-11.61,6.03-17.26,1.28-3.2,3.06-6.31,5.18-9.03,3.71-4.76,8.22-4.09,9.94,1.67,1.45,4.87,2.52,10.07,2.51,15.12-.03,15.67-3.57,30.64-10.79,44.64-.98,1.9-2.27,3.7-3.69,5.29-4.53,5.09-8.42,4.7-11.64-1.48-5.44-10.45-6.59-21.87-6.42-33.39.3-20.2,5.29-39.43,13.05-58.91,2.26,4.35,3.82,7.73,1.93,12.31-4.79,11.61-7.48,23.74-7.39,36.39.01,1.56.2,3.11.31,4.67l.98-.03ZM1198.77,683.17c-1.14-4.54-1.82-8.63-3.25-12.45-1.2-3.23-3.46-3.1-5.66-.5-5.09,6.02-6.74,21.39-2.79,28.04.78,1.31,2.41,3.17,3.42,3.04,1.46-.19,3.42-1.72,3.92-3.11,1.75-4.95,2.97-10.09,4.36-15.01Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\n\u003c!-- 5 --\u003e\n\u003cg filter=\"url(#inset-shadows-5)\"\u003e\n\u003c!-- 5 of 5 --\u003e\n\u003cpath id=\"5of5\" class=\"b\" d=\"M872.82,842.53c-4.43-3.51-9.33-6.57-13.18-10.63-9.13-9.61-19.03-18.1-30.84-24.23-1.42-.73-2.93-1.28-4.4-1.92-.38.43-.76.85-1.13,1.28,4.37,4.81,8.75,9.61,13.13,14.44-25.07-10.9-46.97-26.01-65.29-48.33,4.47,2.65,8.27,4.22,11.2,6.78,6.26,5.47,11.9,11.65,18.13,17.14,3.35,2.95,7.42,5.09,11.17,7.6.34-.4.67-.8,1.01-1.2-2.7-3.52-5.39-7.04-8.09-10.56.32-.53.63-1.07.95-1.6,2.59.87,5.51,1.23,7.71,2.68,13.54,8.93,27.17,17.77,40.26,27.34,6.38,4.67,11.67,10.84,17.42,16.38,1.12,1.08,2.06,2.35,3.08,3.53-.38.43-.75.86-1.13,1.29Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\n\u003c!-- 13 --\u003e\n\u003cg filter=\"url(#inset-shadows-13)\"\u003e\n\u003c!-- 1 of 13 --\u003e\n\u003cg filter=\"url(#inset-shadows-1of13)\"\u003e\n\u003cpath id=\"1of13\" class=\"b\" d=\"M1019.87,830.47c-15.69,4-30.37,10.78-46.84,6.83v-67.47c7.16,0,13.61-.06,20.06.03,3.33.04,2.81,2.64,2.78,4.74-.2,15.29-.42,30.59-.64,45.88-.02,1.64,0,3.28,0,5.62,4.91-1.31,9.54-1.98,13.67-3.79,5.29-2.32,7.93-.64,9.45,4.37.33,1.09.84,2.12,1.51,3.8Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\u003c!-- 3 of 13 --\u003e\n\u003cg filter=\"url(#inset-shadows-3of13)\"\u003e\n\u003cpath id=\"3of13\" class=\"b\" d=\"M959.11,771.66c-.62,1.88-.75,2.54-1.04,3.13-3.65,7.49-3.64,7.39-11.7,5.62-9-1.97-18.08-3-27.16-.52-4.52,1.23-8.7,3.29-8.87,8.72-.17,5.45,3.83,8.03,8.39,9.03,7.37,1.62,14.89,2.59,22.78,3.91v7.87c-5.72.44-11.33.59-16.84,1.41-2.85.43-5.84,1.59-8.22,3.22-4.64,3.18-4.29,7.94.62,10.71,6.1,3.44,12.78,3.14,19.41,2.28,4.27-.56,8.47-1.59,13.3-2.53,1.4,2.91,2.87,5.97,4.54,9.45-9.93,3.35-19.83,4.45-29.75,4.07-6.9-.26-13.74-1.99-20.6-3.12-.97-.16-1.9-.6-2.8-1.02-5.96-2.76-11.56-6.22-11.24-13.69.3-7.23,6.17-10.08,11.95-12.59,1.45-.63,2.93-1.2,5.25-2.15-4.4-1.95-8.06-3.3-11.46-5.14-5.19-2.81-9.28-6.64-9.03-13.19.25-6.43,4.42-10.23,9.61-12.96,12.72-6.71,26.5-7.27,40.38-6.08,7.33.63,14.58,2.29,22.47,3.59Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\u003c\/g\u003e\n\n\u003c!-- 11 --\u003e\n\u003cg filter=\"url(#inset-shadows-11)\"\u003e\n\u003c!-- 1st 1 of 11 --\u003e\n\u003cpath id=\"1of11a\" class=\"b\" d=\"M1066.37,817.2c5.25-3.77,10.14-8.25,15.83-11.17,16.85-8.65,34.04-16.64,51.04-25.01,1.66-.82,3.62-2.22,4.2-3.81,2.43-6.66,9-7.47,14.44-11.9-1.74,9.75-7.24,15.84-13.95,19.31-23.14,11.96-46.78,22.94-70.24,34.3-.44-.57-.88-1.14-1.32-1.71Z\"\u003e\u003c\/path\u003e\n\n\u003c!-- 2nd 1 of 11 --\u003e\n\u003cpath id=\"1of11b\" class=\"b\" d=\"M1120.13,798.81c-2.33,9.85-8.35,15.85-15.7,19.62-22.6,11.59-45.59,22.44-68.43,33.57-.32-.39-.64-.79-.96-1.18,3.83-3.33,7.18-7.6,11.57-9.84,17.77-9.06,35.86-17.48,53.81-26.19,1.6-.78,3.94-1.66,4.35-2.98,2.27-7.43,9.06-9.11,15.37-13.01Z\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\u003c!-- Overlay for d20 --\u003e\n\u003cg id=\"sideOverlays\" filter=\"\"\u003e\n\u003cg filter=\"url(#inset-shadows-a)\"\u003e\n\u003cg filter=\"url(#inset-shadows-b)\"\u003e\n\u003cg filter=\"url(#inset-shadows-c)\"\u003e\n\u003cg filter=\"url(#inset-shadows-d)\"\u003e\n\u003cimage style=\"overflow:visible; transform:translate(872px, 560px);\" width=\"150\" height=\"150\" id=\"userImage\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/jesterSampleSVG02.svg?v=1677778938\" filter=\"\"\u003e\u003c\/image\u003e\n\u003c\/g\u003e\n\u003c\/g\u003e\n\u003c\/g\u003e\n\u003c!-- \u003cimage style=\"overflow:visible; transform:translate(872px, 100%);\" width=\"150\" height=\"150\" id=\"userImage\" xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/jesterSampleSVG01.svg?v=1677778938\" filter=\"url(#userImgFilter)\"\u003e\u003c\/image\u003e --\u003e\n\u003cimage xlink:href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/d20_outline.png?v=1716050261\" id=\"d20outline\" height=\"1080\" width=\"1920\" style=\"overflow: visible; opacity: 0; enable-background: new;\"\u003e \u003c\/image\u003e\n\u003c\/g\u003e\n\u003c\/g\u003e\n\u003c\/g\u003e\u003c\/svg\u003e\n\u003c!-- END OF SVG --\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"svgAdjustTools\" class=\"\"\u003e\n\u003cspan\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/icon-nudge-up-01.png?v=1716394094\u0026amp;width=700\" style=\"height: 100%; width: 100%;\" onclick=\"nudgeImage('up')\" alt=\"Nudge Up\"\u003e\n\u003c\/span\u003e\n\u003cspan\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/icon-nudge-down-01.png?v=1716394094\u0026amp;width=700\" style=\"height: 100%; width: 100%;\" onclick=\"nudgeImage('down')\" alt=\"Nudge Down\"\u003e\n\u003c\/span\u003e\n\u003cspan\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/icon-nudge-zoom-in-01.png?v=1716394094\u0026amp;width=700\" style=\"height: 100%; width: 100%;\" onclick=\"zoomImg(1.1)\" alt=\"Zoom In\"\u003e\n\u003c\/span\u003e\n\u003cspan\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0549\/1379\/4157\/files\/icon-nudge-zoom-out-01.png?v=1716394094\u0026amp;width=700\" style=\"height: 100%; width: 100%;\" onclick=\"zoomImg(0.9)\" alt=\"Zoom Out\"\u003e\n\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"flex-container\" id=\"svgTools\"\u003e\n\u003cdiv class=\"flex-container-left\" id=\"lightIntensity\"\u003e\n\u003cform\u003e\n\u003cfieldset class=\"jester bright\"\u003e\n\u003cdiv class=\"qtySlideContainer\"\u003e\n\u003cdatalist id=\"brightLabels\"\u003e\n\u003coption value=\"0\" label=\"0%\"\u003e\u003c\/option\u003e\n\u003coption value=\"1\"\u003e\u003c\/option\u003e\n\u003coption value=\"2\"\u003e\u003c\/option\u003e\n\u003coption value=\"3\"\u003e\u003c\/option\u003e\n\u003coption value=\"4\"\u003e\u003c\/option\u003e\n\u003coption value=\"5\" label=\"50%\"\u003e\u003c\/option\u003e\n\u003coption value=\"6\"\u003e\u003c\/option\u003e\n\u003coption value=\"7\"\u003e\u003c\/option\u003e\n\u003coption value=\"8\"\u003e\u003c\/option\u003e\n\u003coption value=\"9\"\u003e\u003c\/option\u003e\n\u003coption value=\"10\" label=\"100%\"\u003e\u003c\/option\u003e\n\u003c\/datalist\u003e\n\u003cinput type=\"range\" min=\"0\" max=\"10\" value=\"5\" id=\"myRange2\" list=\"brightLabels\"\u003e\n\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003clabel style=\"margin: -20px auto 5px auto\"\u003eLight Intensity \u003cspan id=\"brightLabel\"\u003e\u003c\/span\u003e\u003c\/label\u003e\n\u003c\/form\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"flex-container-right\" id=\"toggleOverlay\" onclick=\"toggleOutline()\"\u003e\n\u003clabel class=\"switch\"\u003e\n\u003cinput id=\"jesterLimits\" type=\"checkbox\"\u003e \u003cspan class=\"slider round\"\u003e\u003c\/span\u003e\n\u003c\/label\u003e\n\u003clabel for=\"jesterLimits\"\u003e Toggle Outline\u003c\/label\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\nasync function thisIs(){\nconst myTimeout = setTimeout(thatIs, 1000);\n}\nfunction thatIs() {\n\tvar AVISimage = document.querySelector('.ap-options__file').querySelector('a').href;\n\tdocument.getElementById('userImage').href.baseVal= AVISimage;\n}\nwindow.onload = (event) =\u003e {\nconsole.log('The page has fully loaded');\n\/\/Event Listener for AVIS Upload\nif(document.querySelector('.apo-file')){\ndocument.querySelector('.apo-file').addEventListener(\"change\", thisIs);\n}\njesterColor('#ffff00','userImage');\ndocument.getElementById('myRange').addEventListener('change', changeQuantity);\n}\n\t\nfunction nudgeImage(direction) {\nvar element = document.getElementById('userImage');\nif (!element) {\nconsole.error('Element not found');\nreturn;\n}\nvar transform = element.style.transform;\n\/\/ Extract the translate values\nvar translateMatch = \/translate\\(([^,]+),\\s*([^)]+)\\)\/.exec(transform);\nif (!translateMatch) {\nconsole.error('Invalid transform format');\nreturn;\n}\nvar translateX = translateMatch[1];\nvar translateY = parseFloat(translateMatch[2]);\n\/\/ Adjust the Y value based on the direction\nif (direction === 'up') {\ntranslateY -= 10; \/\/ Adjust by 10 pixels up\n} else if (direction === 'down') {\ntranslateY += 10; \/\/ Adjust by 10 pixels down\n} else {\nconsole.error('Invalid direction. Use \"up\" or \"down\".');\nreturn;\n}\n\/\/ Update the transform style\nelement.style.transform = `translate(${translateX}, ${translateY}px)`;\n}\n\nfunction zoomImg(scaleFactor) {\nvar userImage = document.getElementById('userImage');\n\/\/ Get the current width and height\nvar width = parseFloat(userImage.getAttribute('width'));\nvar height = parseFloat(userImage.getAttribute('height'));\n\/\/ Calculate the new width and height\nvar newWidth = width * scaleFactor;\nvar newHeight = height * scaleFactor;\n\/\/ Get the current transform property\nvar transform = userImage.style.transform;\n\/\/ Extract the translate values\nvar translateValues = transform.match(\/translate\\(([^)]+)\\)\/);\nvar translateX = 0;\nvar translateY = 0;\nif (translateValues) {\nvar translateParts = translateValues[1].split(',');\ntranslateX = parseFloat(translateParts[0].trim());\ntranslateY = parseFloat(translateParts[1].trim());\n}\n\/\/ Adjust the translate values to keep the image centered\nvar deltaX = (newWidth - width) \/ 2;\nvar deltaY = (newHeight - height) \/ 2;\ntranslateX -= deltaX;\ntranslateY -= deltaY;\n\/\/ Set the new width and height\nuserImage.setAttribute('width', newWidth);\nuserImage.setAttribute('height', newHeight);\n\/\/ Update the transform property with the new translate values\nuserImage.style.transform = `translate(${translateX}px, ${translateY}px)`;\n}\nfunction changeQuantity() {\nvar slider = document.getElementById(\"myRange\");\nvar output = document.getElementById(\"qtyLabel\");\nvar myQty = ['100', '200', '300', '400', '500'];\noutput.innerHTML = myQty[slider.value - 1];\nvar varQty; \/\/0 = 100, 2 = 200; 4 = 300; 6 = 400; 8 = 500\nswitch (myQty[slider.value - 1]) {\ncase '100':varQty = 0;break;\ncase '200':varQty = 2;break;\ncase '300':varQty = 4;break;\ncase '400':varQty = 6;break;\ncase '500':varQty = 8;break;\n}\ndocument.querySelectorAll(\".option-selector\")[0].children[1].children[varQty].click()\n}\nfunction diceRecolor(selectedColor){\n\tdocument.querySelector('#Layer_4').style.fill = selectedColor;\n}\nfunction changeRender(event,src) {\ndocument.querySelectorAll('.renders').forEach((item) =\u003e {\nitem.style.opacity = 0\n})\ndocument.querySelectorAll('.activeSwatch').forEach( (btn) =\u003e {btn.classList.remove('activeSwatch')})\nevent.target.classList.add('activeSwatch');\nif(src){\nvar tgt = src;\n}else{\nvar tgt = event.srcElement.classList[1];\n}\nvar varNumber;\nswitch (tgt) {\ncase 'n4a':varNumber = 0;break;\ncase 'n4b':varNumber = 2;break;\ncase 'n4c':varNumber = 4;break;\ncase 'n4d':varNumber = 6;break;\ncase 'n4e':varNumber = 8;break;\ncase 'n4f':varNumber = 10;break;\ncase 'n4g':varNumber = 12;break;\ncase 'n4j':varNumber = 14;break;\ncase 'n4k':varNumber = 16;break;\ncase 'n4l':varNumber = 18;break;\ncase 'n4m':varNumber = 20;break;\ncase 'n4n':varNumber = 22;break;\ncase 'n4o':varNumber = 24;break;\ncase 'n4p':varNumber = 26;break;\ncase 'n4q': varNumber = 28; break;\ncase 'n4r': varNumber = 30; break;\ncase 'n4s': varNumber = 32; break;\n}\nif (document.querySelectorAll(\".option-selector\")[0]) {\ndocument.querySelectorAll(\".option-selector\")[1].children[1].children[varNumber].click()\n}\ndocument.getElementById(`d20_${tgt}_no-shade`).style.opacity = 1;\nvar brightness = document.getElementById('myRange2').value;\ndocument.getElementById(`d20_${tgt}_shade`).style.opacity = brightness * 0.1;\n}\n\nfunction toggleOutline(){\n\tif(document.getElementById('jesterLimits').checked){\ndocument.getElementById('d20outline').style.opacity = 1\n}else{\ndocument.getElementById('d20outline').style.opacity = 0;\n}\n}\n\u003c\/script\u003e\n\u003cdiv class=\"flex-item-right\"\u003e\n\u003cdiv class=\"optionsPanel\"\u003e\n\u003ch6\u003e1. Pick the Inlay Color\u003c\/h6\u003e\n\u003cinput style=\"border: 2px black dashed\" type=\"color\" id=\"color1\" name=\"color1\" value=\"#ffff00\"\u003e\n\u003cdiv class=\"hot-flex-container\"\u003e\n\u003cinput title=\"Picker\" id=\"color2\" type=\"color\" class=\"hot-flex-item-all\" onchange=\"hotWatchPick()\"\u003e\n\u003cdiv title=\"Black\" class=\"hot-flex-item-left\" onclick=\"hotWatchInlay('#000000','Black')\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv title=\"Gold\" class=\"hot-flex-item-left2\" onclick=\"hotWatchInlay('#d4af37','Gold')\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv title=\"White\" class=\"hot-flex-item-right\" onclick=\"hotWatchInlay('#ffffff','White')\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv title=\"Copper\" class=\"hot-flex-item-right2\" onclick=\"hotWatchInlay('#b87333','Copper')\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u0026lt;\u0026gt;\n\u003cdiv\u003e\n\u003ch6\u003e2. Pick the Dice Color\u003c\/h6\u003e\n\u003cbutton title=\"Artificial Intelligence\" class=\"swatchy n4a activeSwatch\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Asian Giant\" class=\"swatchy n4b\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Aggression Incarnate\" class=\"swatchy n4c\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Show Me The Light!\" class=\"swatchy n4d\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Conquering Aliens\" class=\"swatchy n4e\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Marbled\" class=\"swatchy n4f\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Bloody Intent\" class=\"swatchy n4g\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Hyperpower\" class=\"swatchy n4j\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Judge \u0026amp; Jury\" class=\"swatchy n4k\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Purple\" class=\"swatchy n4l\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Union\" class=\"swatchy n4m\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Lost Colony\" class=\"swatchy n4n\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Search For Knowledge\" class=\"swatchy n4o\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Thrice \u0026amp; Coalition\" class=\"swatchy n4p\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Matte Black\" class=\"swatchy n4q\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Radioactive Green\" class=\"swatchy n4r\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003cbutton title=\"Marbled White\" class=\"swatchy n4s\" onclick=\"changeRender(event)\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u0026lt;\u0026gt;\n\u003cdiv\u003e\n\u003ch6\u003e3. Upload your Design\u003c\/h6\u003e\n\u003cp\u003ePlease upload an SVG or Black and White PNG file without a background. A great resource is https:\/\/picsvg.com\/ to get an SVG version of your image!\u003c\/p\u003e\n\u003cdiv id=\"moveUploadHere\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u0026lt;\u0026gt;\n\u003cform\u003e\n\u003clabel\u003e\n\u003ch6\u003e4. Pick Your Quantity: \u003cspan id=\"qtyLabel\"\u003e100\u003c\/span\u003e\n\u003c\/h6\u003e\n\u003c\/label\u003e\n\u003cfieldset class=\"jester\"\u003e\n\u003cdiv class=\"qtySlideContainer\"\u003e\n\u003cdatalist id=\"qtyLabels\"\u003e\n\u003coption value=\"1\" label=\"100\"\u003e\u003c\/option\u003e\n\u003coption value=\"2\"\u003e\u003c\/option\u003e\n\u003coption value=\"3\"\u003e\u003c\/option\u003e\n\u003coption value=\"4\"\u003e\u003c\/option\u003e\n\u003coption value=\"5\" label=\"500\"\u003e\u003c\/option\u003e\n\u003c\/datalist\u003e\n\u003cinput type=\"range\" min=\"1\" max=\"5\" value=\"1\" id=\"myRange\" list=\"qtyLabels\"\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"moveUploadHerePrice\"\u003e\u003c\/div\u003e\n\u003c\/fieldset\u003e\n\u003c\/form\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/body\u003e","brand":"BaronOfDice","offers":[{"title":"100 \/ Artificial Intelligence","offer_id":44219364442186,"sku":"apv1789534923464","price":212.4,"currency_code":"USD","in_stock":true},{"title":"100 \/ Asian Giant","offer_id":44219364474954,"sku":"ckl1789534923465","price":182.9,"currency_code":"USD","in_stock":true},{"title":"100 \/ Aggression Incarnate","offer_id":44219364507722,"sku":"ylk1789534923466","price":221.25,"currency_code":"USD","in_stock":true},{"title":"100 \/ Show Me The Light!","offer_id":44219364540490,"sku":"oal1789534923467","price":236.0,"currency_code":"USD","in_stock":true},{"title":"100 \/ Conquering Aliens","offer_id":44219364573258,"sku":"cfd1789534923468","price":203.55,"currency_code":"USD","in_stock":true},{"title":"100 \/ Marbled","offer_id":44219364606026,"sku":"wvq1789534923469","price":177.0,"currency_code":"USD","in_stock":true},{"title":"100 \/ Bloody Intent","offer_id":44219364638794,"sku":"wag1789534923470","price":233.05,"currency_code":"USD","in_stock":true},{"title":"100 \/ Hyperpower","offer_id":44219364671562,"sku":"sdu1789534923471","price":218.3,"currency_code":"USD","in_stock":true},{"title":"100 \/ Judge \u0026 Jury","offer_id":44219364704330,"sku":"erq1789534923472","price":200.6,"currency_code":"USD","in_stock":true},{"title":"100 \/ Purple","offer_id":44219364737098,"sku":"zib1789534923473","price":191.75,"currency_code":"USD","in_stock":true},{"title":"100 \/ Union","offer_id":44219364769866,"sku":"fhk1789534923474","price":188.8,"currency_code":"USD","in_stock":true},{"title":"100 \/ Lost Colony","offer_id":44219364802634,"sku":"xro1789534923475","price":212.4,"currency_code":"USD","in_stock":true},{"title":"100 \/ Search For Knowledge","offer_id":44219364835402,"sku":"xvq1789534923476","price":182.9,"currency_code":"USD","in_stock":true},{"title":"100 \/ Thrice \u0026 Coalition","offer_id":44219364868170,"sku":"nve1789534923477","price":224.2,"currency_code":"USD","in_stock":true},{"title":"100 \/ Matte Black","offer_id":44219364900938,"sku":"zgv1789534923478","price":236.0,"currency_code":"USD","in_stock":true},{"title":"100 \/ Radioactive Green","offer_id":44219364933706,"sku":"mxt1789534923479","price":177.0,"currency_code":"USD","in_stock":true},{"title":"100 \/ Marbled White","offer_id":44219364966474,"sku":"aan1789534923480","price":218.3,"currency_code":"USD","in_stock":true},{"title":"200 \/ Artificial Intelligence","offer_id":44219364999242,"sku":"aiw1789534923481","price":342.0,"currency_code":"USD","in_stock":true},{"title":"200 \/ Asian Giant","offer_id":44219365032010,"sku":"wmn1789534923482","price":404.7,"currency_code":"USD","in_stock":true},{"title":"200 \/ Aggression Incarnate","offer_id":44219365064778,"sku":"phy1789534923483","price":387.6,"currency_code":"USD","in_stock":true},{"title":"200 \/ Show Me The Light!","offer_id":44219365097546,"sku":"lgn1789534923484","price":381.9,"currency_code":"USD","in_stock":true},{"title":"200 \/ Conquering Aliens","offer_id":44219365130314,"sku":"aku1789534923485","price":404.7,"currency_code":"USD","in_stock":true},{"title":"200 \/ Marbled","offer_id":44219365163082,"sku":"mnl1789534923486","price":347.7,"currency_code":"USD","in_stock":true},{"title":"200 \/ Bloody Intent","offer_id":44219365195850,"sku":"kzz1789534923487","price":438.9,"currency_code":"USD","in_stock":true},{"title":"200 \/ Hyperpower","offer_id":44219365228618,"sku":"xfe1789534923488","price":456.0,"currency_code":"USD","in_stock":true},{"title":"200 \/ Judge \u0026 Jury","offer_id":44219365261386,"sku":"gzx1789534923489","price":421.8,"currency_code":"USD","in_stock":true},{"title":"200 \/ Purple","offer_id":44219365294154,"sku":"lcq1789534923490","price":376.2,"currency_code":"USD","in_stock":true},{"title":"200 \/ Union","offer_id":44219365326922,"sku":"jji1789534923491","price":393.3,"currency_code":"USD","in_stock":true},{"title":"200 \/ Lost Colony","offer_id":44219365359690,"sku":"gjx1789534923492","price":347.7,"currency_code":"USD","in_stock":true},{"title":"200 \/ Search For Knowledge","offer_id":44219365392458,"sku":"pfv1789534923493","price":387.6,"currency_code":"USD","in_stock":true},{"title":"200 \/ Thrice \u0026 Coalition","offer_id":44219365425226,"sku":"nkp1789534923494","price":410.4,"currency_code":"USD","in_stock":true},{"title":"200 \/ Matte Black","offer_id":44219365457994,"sku":"mqo1789534923495","price":438.9,"currency_code":"USD","in_stock":true},{"title":"200 \/ Radioactive Green","offer_id":44219365490762,"sku":"aav1789534923496","price":450.3,"currency_code":"USD","in_stock":true},{"title":"200 \/ Marbled White","offer_id":44219365523530,"sku":"fht1789534923497","price":364.8,"currency_code":"USD","in_stock":true},{"title":"300 \/ Artificial Intelligence","offer_id":44219365556298,"sku":"fns1789534923498","price":612.15,"currency_code":"USD","in_stock":true},{"title":"300 \/ Asian Giant","offer_id":44219365589066,"sku":"tas1789534923499","price":492.9,"currency_code":"USD","in_stock":true},{"title":"300 \/ Aggression Incarnate","offer_id":44219365621834,"sku":"jtv1789534923500","price":636.0,"currency_code":"USD","in_stock":true},{"title":"300 \/ Show Me The Light!","offer_id":44219365654602,"sku":"luz1789534923501","price":492.9,"currency_code":"USD","in_stock":true},{"title":"300 \/ Conquering Aliens","offer_id":44219365687370,"sku":"zci1789534923502","price":604.2,"currency_code":"USD","in_stock":true},{"title":"300 \/ Marbled","offer_id":44219365720138,"sku":"pis1789534923503","price":524.7,"currency_code":"USD","in_stock":true},{"title":"300 \/ Bloody Intent","offer_id":44219365752906,"sku":"hdz1789534923504","price":604.2,"currency_code":"USD","in_stock":true},{"title":"300 \/ Hyperpower","offer_id":44219365785674,"sku":"nfb1789534923505","price":612.15,"currency_code":"USD","in_stock":true},{"title":"300 \/ Judge \u0026 Jury","offer_id":44219365818442,"sku":"wmx1789534923506","price":612.15,"currency_code":"USD","in_stock":true},{"title":"300 \/ Purple","offer_id":44219365851210,"sku":"qay1789534923507","price":636.0,"currency_code":"USD","in_stock":true},{"title":"300 \/ Union","offer_id":44219365883978,"sku":"lnk1789534923508","price":477.0,"currency_code":"USD","in_stock":true},{"title":"300 \/ Lost Colony","offer_id":44219365916746,"sku":"lfc1789534923509","price":500.85,"currency_code":"USD","in_stock":true},{"title":"300 \/ Search For Knowledge","offer_id":44219365949514,"sku":"xub1789534923510","price":564.45,"currency_code":"USD","in_stock":true},{"title":"300 \/ Thrice \u0026 Coalition","offer_id":44219365982282,"sku":"ztz1789534923511","price":628.05,"currency_code":"USD","in_stock":true},{"title":"300 \/ Matte Black","offer_id":44219366015050,"sku":"blm1789534923512","price":564.45,"currency_code":"USD","in_stock":true},{"title":"300 \/ Radioactive Green","offer_id":44219366047818,"sku":"mdu1789534923513","price":628.05,"currency_code":"USD","in_stock":true},{"title":"300 \/ Marbled White","offer_id":44219366080586,"sku":"lwe1789534923514","price":484.95,"currency_code":"USD","in_stock":true},{"title":"400 \/ Artificial Intelligence","offer_id":44219366113354,"sku":"cax1789534923515","price":600.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Asian Giant","offer_id":44219366146122,"sku":"afm1789534923516","price":780.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Aggression Incarnate","offer_id":44219366178890,"sku":"tsc1789534923517","price":800.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Show Me The Light!","offer_id":44219366211658,"sku":"tsi1789534923518","price":650.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Conquering Aliens","offer_id":44219366244426,"sku":"sxv1789534923519","price":610.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Marbled","offer_id":44219366277194,"sku":"kjw1789534923520","price":680.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Bloody Intent","offer_id":44219366309962,"sku":"iyc1789534923521","price":620.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Hyperpower","offer_id":44219366342730,"sku":"ywj1789534923522","price":710.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Judge \u0026 Jury","offer_id":44219366375498,"sku":"xtg1789534923523","price":790.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Purple","offer_id":44219366408266,"sku":"bts1789534923524","price":770.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Union","offer_id":44219366441034,"sku":"bon1789534923525","price":710.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Lost Colony","offer_id":44219366473802,"sku":"vja1789534923526","price":660.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Search For Knowledge","offer_id":44219366506570,"sku":"pik1789534923527","price":750.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Thrice \u0026 Coalition","offer_id":44219366539338,"sku":"lvp1789534923528","price":780.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Matte Black","offer_id":44219366572106,"sku":"fzm1789534923529","price":600.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Radioactive Green","offer_id":44219366604874,"sku":"mgk1789534923530","price":600.0,"currency_code":"USD","in_stock":true},{"title":"400 \/ Marbled White","offer_id":44219366637642,"sku":"vhq1789534923531","price":780.0,"currency_code":"USD","in_stock":true},{"title":"500 \/ Artificial Intelligence","offer_id":44219366670410,"sku":"vrf1789534923532","price":940.0,"currency_code":"USD","in_stock":true},{"title":"500 \/ Asian Giant","offer_id":44219366703178,"sku":"mpc1789534923533","price":834.25,"currency_code":"USD","in_stock":true},{"title":"500 \/ Aggression Incarnate","offer_id":44219366735946,"sku":"exy1789534923534","price":705.0,"currency_code":"USD","in_stock":true},{"title":"500 \/ Show Me The Light!","offer_id":44219366768714,"sku":"dzm1789534923535","price":916.5,"currency_code":"USD","in_stock":true},{"title":"500 \/ Conquering Aliens","offer_id":44219366801482,"sku":"irs1789534923536","price":940.0,"currency_code":"USD","in_stock":true},{"title":"500 \/ Marbled","offer_id":44219366834250,"sku":"sxc1789534923537","price":763.75,"currency_code":"USD","in_stock":true},{"title":"500 \/ Bloody Intent","offer_id":44219366867018,"sku":"pao1789534923538","price":799.0,"currency_code":"USD","in_stock":true},{"title":"500 \/ Hyperpower","offer_id":44219366899786,"sku":"osv1789534923539","price":752.0,"currency_code":"USD","in_stock":true},{"title":"500 \/ Judge \u0026 Jury","offer_id":44219366932554,"sku":"vof1789534923540","price":716.75,"currency_code":"USD","in_stock":true},{"title":"500 \/ Purple","offer_id":44219366965322,"sku":"doi1789534923541","price":916.5,"currency_code":"USD","in_stock":true},{"title":"500 \/ Union","offer_id":44219366998090,"sku":"lii1789534923542","price":752.0,"currency_code":"USD","in_stock":true},{"title":"500 \/ Lost Colony","offer_id":44219367030858,"sku":"pid1789534923543","price":787.25,"currency_code":"USD","in_stock":true},{"title":"500 \/ Search For Knowledge","offer_id":44219367063626,"sku":"ogc1789534923544","price":787.25,"currency_code":"USD","in_stock":true},{"title":"500 \/ Thrice \u0026 Coalition","offer_id":44219367096394,"sku":"wom1789534923545","price":869.5,"currency_code":"USD","in_stock":true},{"title":"500 \/ Matte Black","offer_id":44219367129162,"sku":"wwp1789534923546","price":810.75,"currency_code":"USD","in_stock":true},{"title":"500 \/ Radioactive Green","offer_id":44219367161930,"sku":"xxs1789534923547","price":916.5,"currency_code":"USD","in_stock":true},{"title":"500 \/ Marbled White","offer_id":44219367194698,"sku":"dsv1789534923548","price":846.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0709\/8820\/2058\/files\/custom-d20_1.jpg?v=1789534930","url":"https:\/\/everstylefashion.shop\/products\/custom-d20","provider":"My Store","version":"1.0","type":"link"}