Mostrando 41 - 60 de 94 Resultados
Filter
{"id":2459163623482,"title":"Be HumanKIND Kids","handle":"be-humankind-nina","description":"\u003ch5\u003ePlantamos un árbol por cada prenda\u003c\/h5\u003e\n\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/info_ROPA_Green_Hug.png?v=1592417502\" width=\"551\" height=\"985\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/nina.png?890\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2019-06-19T11:45:50-05:00","created_at":"2019-06-19T11:45:50-05:00","vendor":"Green Hug","type":"playera","tags":["car del valle","kids","niña","playeras"],"price":17500,"price_min":17500,"price_max":17500,"available":true,"price_varies":false,"compare_at_price":35000,"compare_at_price_min":35000,"compare_at_price_max":35000,"compare_at_price_varies":false,"variants":[{"id":23369052160058,"title":"7-8","option1":"7-8","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Be HumanKIND Kids - 7-8","public_title":"7-8","options":["7-8"],"price":17500,"weight":150,"compare_at_price":35000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":23369052192826,"title":"9-10","option1":"9-10","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Be HumanKIND Kids - 9-10","public_title":"9-10","options":["9-10"],"price":17500,"weight":150,"compare_at_price":35000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":23369052225594,"title":"11-12","option1":"11-12","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Be HumanKIND Kids - 11-12","public_title":"11-12","options":["11-12"],"price":17500,"weight":150,"compare_at_price":35000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32758847963241,"title":"13-14","option1":"13-14","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Be HumanKIND Kids - 13-14","public_title":"13-14","options":["13-14"],"price":17500,"weight":150,"compare_at_price":35000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0013.jpg?v=1560981622","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0015.jpg?v=1560981622","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0062.jpg?v=1560981622","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0063.jpg?v=1560981622","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0064.jpg?v=1560981622"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0013.jpg?v=1560981622","options":["Talla"],"media":[{"alt":null,"id":2104332484666,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0013.jpg?v=1560981622"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0013.jpg?v=1560981622","width":1500},{"alt":null,"id":2104347754554,"position":2,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0015.jpg?v=1560981622"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0015.jpg?v=1560981622","width":1500},{"alt":null,"id":2104342085690,"position":3,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0062.jpg?v=1560981622"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0062.jpg?v=1560981622","width":1500},{"alt":null,"id":2104347787322,"position":4,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0063.jpg?v=1560981622"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0063.jpg?v=1560981622","width":1500},{"alt":null,"id":2104342118458,"position":5,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0064.jpg?v=1560981622"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0064.jpg?v=1560981622","width":1500}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003ePlantamos un árbol por cada prenda\u003c\/h5\u003e\n\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/info_ROPA_Green_Hug.png?v=1592417502\" width=\"551\" height=\"985\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/nina.png?890\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":4778508714089,"title":"Hoodie Grey Rock Lisa - Mujer","handle":"hoodie-gris-lisa-mujer","description":"\u003cblockquote\u003e\n\u003ch5 style=\"text-align: center;\"\u003eTallas Unisex. Revisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_hoodie-05_480x480.jpg?v=1646942200\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eDaniela\u003c\/strong\u003e\u003cstrong\u003e mide 1.67 m de altura y está usando la talla\u003c\/strong\u003e S.\u003c\/h5\u003e\n\u003c\/blockquote\u003e\n\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Info_hoodies_green_hug-10.png?v=1598117508\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_hoodies_green_hug_2020.png?v=1598116739\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2020-08-23T11:07:29-05:00","created_at":"2020-08-23T11:07:30-05:00","vendor":"Green Hug","type":"Hoodie","tags":["mujer"],"price":89900,"price_min":89900,"price_max":89900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":32745798860905,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Rock Lisa - Mujer - XS","public_title":"XS","options":["XS"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32745798893673,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Rock Lisa - Mujer - S","public_title":"S","options":["S"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32745798926441,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Rock Lisa - Mujer - M","public_title":"M","options":["M"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32745798959209,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Rock Lisa - Mujer - L","public_title":"L","options":["L"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32745798991977,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Rock Lisa - Mujer - XL","public_title":"XL","options":["XL"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0057.jpg?v=1602462503","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0054.jpg?v=1602462503","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0055.jpg?v=1602462503","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0024_9e610e00-7b88-43db-acc2-01a7d17d8ab4.jpg?v=1602462503"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0057.jpg?v=1602462503","options":["Size"],"media":[{"alt":null,"id":8040494268521,"position":1,"preview_image":{"aspect_ratio":0.75,"height":1620,"width":1215,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0057.jpg?v=1602462503"},"aspect_ratio":0.75,"height":1620,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0057.jpg?v=1602462503","width":1215},{"alt":null,"id":8040494202985,"position":2,"preview_image":{"aspect_ratio":0.75,"height":1620,"width":1215,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0054.jpg?v=1602462503"},"aspect_ratio":0.75,"height":1620,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0054.jpg?v=1602462503","width":1215},{"alt":null,"id":8040494235753,"position":3,"preview_image":{"aspect_ratio":0.75,"height":1620,"width":1215,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0055.jpg?v=1602462503"},"aspect_ratio":0.75,"height":1620,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0055.jpg?v=1602462503","width":1215},{"alt":null,"id":7824202694761,"position":4,"preview_image":{"aspect_ratio":1.386,"height":808,"width":1120,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0024_9e610e00-7b88-43db-acc2-01a7d17d8ab4.jpg?v=1602462503"},"aspect_ratio":1.386,"height":808,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Agosto2020-0024_9e610e00-7b88-43db-acc2-01a7d17d8ab4.jpg?v=1602462503","width":1120}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cblockquote\u003e\n\u003ch5 style=\"text-align: center;\"\u003eTallas Unisex. Revisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_hoodie-05_480x480.jpg?v=1646942200\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eDaniela\u003c\/strong\u003e\u003cstrong\u003e mide 1.67 m de altura y está usando la talla\u003c\/strong\u003e S.\u003c\/h5\u003e\n\u003c\/blockquote\u003e\n\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Info_hoodies_green_hug-10.png?v=1598117508\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_hoodies_green_hug_2020.png?v=1598116739\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":4807402881129,"title":"Classic Green Moss - Mujer","handle":"classic-green-moss-mujer","description":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eFeris mide 1.76m y está usando la talla M .\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2020-10-11T08:43:48-05:00","created_at":"2020-10-09T13:15:06-05:00","vendor":"Green Hug","type":"playera","tags":["mujer"],"price":39900,"price_min":39900,"price_max":39900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":32858990444649,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Green Moss - Mujer - XS","public_title":"XS","options":["XS"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32858990477417,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Green Moss - Mujer - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32858990510185,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Green Moss - Mujer - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32858990542953,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Green Moss - Mujer - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32858990575721,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Classic Green Moss - Mujer - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/verdefrenteclasicamujer.jpg?v=1602267391","\/\/www.greenhug.com\/cdn\/shop\/products\/verdeladoclassicmujer.jpg?v=1602267391","\/\/www.greenhug.com\/cdn\/shop\/products\/verdemujerdet_ed354942-8bfa-4a25-862b-045caefbaa5d.png?v=1602267391"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdefrenteclasicamujer.jpg?v=1602267391","options":["Size"],"media":[{"alt":null,"id":8028130902121,"position":1,"preview_image":{"aspect_ratio":0.666,"height":1421,"width":947,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdefrenteclasicamujer.jpg?v=1602267391"},"aspect_ratio":0.666,"height":1421,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdefrenteclasicamujer.jpg?v=1602267391","width":947},{"alt":null,"id":8028130869353,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1263,"width":842,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdeladoclassicmujer.jpg?v=1602267391"},"aspect_ratio":0.667,"height":1263,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdeladoclassicmujer.jpg?v=1602267391","width":842},{"alt":null,"id":8028130836585,"position":3,"preview_image":{"aspect_ratio":1.059,"height":625,"width":662,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdemujerdet_ed354942-8bfa-4a25-862b-045caefbaa5d.png?v=1602267391"},"aspect_ratio":1.059,"height":625,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdemujerdet_ed354942-8bfa-4a25-862b-045caefbaa5d.png?v=1602267391","width":662}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eFeris mide 1.76m y está usando la talla M .\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":6565014241449,"title":"Ambientalista Imperfecto Black Sand - Hombre","handle":"ambientalista-imperfecto-hombre-negra","description":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Hombre_Cuello_redondo_480x480.jpg?v=1646928018\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eLoic mide 1.70m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2023-04-28T11:28:35-06:00","created_at":"2021-03-01T11:16:24-06:00","vendor":"Green Hug","type":"playera","tags":["hombre"],"price":39900,"price_min":39900,"price_max":39920,"available":false,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":39332504567977,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Hombre - XS","public_title":"XS","options":["XS"],"price":39920,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332504600745,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Hombre - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332504633513,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Hombre - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332504666281,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Hombre - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332504699049,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Hombre - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0042.jpg?v=1614619313","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0039.jpg?v=1614619330","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0040.jpg?v=1614619330","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0041.jpg?v=1614619330"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0042.jpg?v=1614619313","options":["Size"],"media":[{"alt":null,"id":20675872260265,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1353,"width":902,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0042.jpg?v=1614619313"},"aspect_ratio":0.667,"height":1353,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0042.jpg?v=1614619313","width":902},{"alt":null,"id":20675874783401,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1374,"width":916,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0039.jpg?v=1614619330"},"aspect_ratio":0.667,"height":1374,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0039.jpg?v=1614619330","width":916},{"alt":null,"id":20675874816169,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1314,"width":876,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0040.jpg?v=1614619330"},"aspect_ratio":0.667,"height":1314,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0040.jpg?v=1614619330","width":876},{"alt":null,"id":20675874848937,"position":4,"preview_image":{"aspect_ratio":1.501,"height":951,"width":1427,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0041.jpg?v=1614619330"},"aspect_ratio":1.501,"height":951,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0041.jpg?v=1614619330","width":1427}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Hombre_Cuello_redondo_480x480.jpg?v=1646928018\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eLoic mide 1.70m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":6565026922665,"title":"Playera Logo Green Hug - Blue Ocean","handle":"logo-green-hug-azul","description":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Hombre_Cuello_redondo_480x480.jpg?v=1646928018\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eLoic mide 1.70m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-03-01T14:01:14-06:00","created_at":"2021-03-01T11:27:40-06:00","vendor":"Green Hug","type":"playera","tags":["hombre"],"price":39900,"price_min":39900,"price_max":39900,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":39332534878377,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera Logo Green Hug - Blue Ocean - XS","public_title":"XS","options":["XS"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332534911145,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera Logo Green Hug - Blue Ocean - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332534943913,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Playera Logo Green Hug - Blue Ocean - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332534976681,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera Logo Green Hug - Blue Ocean - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332535009449,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera Logo Green Hug - Blue Ocean - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0031.jpg?v=1614619772","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0028.jpg?v=1614619782","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0029.jpg?v=1614619782","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0030.jpg?v=1614619782"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0031.jpg?v=1614619772","options":["Size"],"media":[{"alt":null,"id":20675956539561,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1268,"width":846,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0031.jpg?v=1614619772"},"aspect_ratio":0.667,"height":1268,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0031.jpg?v=1614619772","width":846},{"alt":null,"id":20675958210729,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1352,"width":902,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0028.jpg?v=1614619782"},"aspect_ratio":0.667,"height":1352,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0028.jpg?v=1614619782","width":902},{"alt":null,"id":20675958243497,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1387,"width":925,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0029.jpg?v=1614619782"},"aspect_ratio":0.667,"height":1387,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0029.jpg?v=1614619782","width":925},{"alt":null,"id":20675958276265,"position":4,"preview_image":{"aspect_ratio":1.501,"height":949,"width":1424,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0030.jpg?v=1614619782"},"aspect_ratio":1.501,"height":949,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0030.jpg?v=1614619782","width":1424}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Hombre_Cuello_redondo_480x480.jpg?v=1646928018\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eLoic mide 1.70m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":7708005367977,"title":"Creció un jardín en mi - White - Regular fit","handle":"crecio-un-jardin-en-mi-white-regular-fit","description":"\u003ch5\u003e8M\u003c\/h5\u003e\n\u003cp\u003eEste #8M queremos acompañarte en tu lucha. Es por eso que nos unimos una vez más con Regina Blandón y Eréndira Derbez, para apoyarte a ti y a organizaciones que luchan por la igualdad.\u003c\/p\u003e\n\u003cp\u003eCon tu compra apoyamos a Refugio Casa Frida.\u003c\/p\u003e\n\u003cp\u003eAdemás por cada prenda plantamos un árbol.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso9_480x480.png?v=1677089633\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch5 data-mce-style=\"text-align: center;\"\u003eRevisa la Guía de Medidas\u003c\/h5\u003e\n\u003cp\u003eKarla mide 1,64 m y está usando talla M\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guiastallesycosturasweb-02_480x480.png?v=1677098014\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003c\/h5\u003e","published_at":"2023-02-23T22:35:27-06:00","created_at":"2023-02-22T14:46:56-06:00","vendor":"Green Hug","type":"playera","tags":["mujer","Nuevas Colecciones"],"price":49900,"price_min":49900,"price_max":49900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42930283872425,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Creció un jardín en mi - White - Regular fit - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42930283905193,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Creció un jardín en mi - White - Regular fit - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42930283937961,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Creció un jardín en mi - White - Regular fit - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42930283970729,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Creció un jardín en mi - White - Regular fit - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42930284003497,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Creció un jardín en mi - White - Regular fit - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08893.jpg?v=1677273997","\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08899.jpg?v=1677273997"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08893.jpg?v=1677273997","options":["Size"],"media":[{"alt":null,"id":30033640947881,"position":1,"preview_image":{"aspect_ratio":0.666,"height":4919,"width":3278,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08893.jpg?v=1677273997"},"aspect_ratio":0.666,"height":4919,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08893.jpg?v=1677273997","width":3278},{"alt":null,"id":30033640980649,"position":2,"preview_image":{"aspect_ratio":0.666,"height":4919,"width":3278,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08899.jpg?v=1677273997"},"aspect_ratio":0.666,"height":4919,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08899.jpg?v=1677273997","width":3278}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003e8M\u003c\/h5\u003e\n\u003cp\u003eEste #8M queremos acompañarte en tu lucha. Es por eso que nos unimos una vez más con Regina Blandón y Eréndira Derbez, para apoyarte a ti y a organizaciones que luchan por la igualdad.\u003c\/p\u003e\n\u003cp\u003eCon tu compra apoyamos a Refugio Casa Frida.\u003c\/p\u003e\n\u003cp\u003eAdemás por cada prenda plantamos un árbol.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso9_480x480.png?v=1677089633\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch5 data-mce-style=\"text-align: center;\"\u003eRevisa la Guía de Medidas\u003c\/h5\u003e\n\u003cp\u003eKarla mide 1,64 m y está usando talla M\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guiastallesycosturasweb-02_480x480.png?v=1677098014\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003c\/h5\u003e"}
{"id":6565052612777,"title":"Ambientalista Imperfecto White Snow - Mujer","handle":"ambientalista-imperfecto-mujer-blanca","description":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eMilly mide 1.60m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-03-01T14:01:18-06:00","created_at":"2021-03-01T11:57:13-06:00","vendor":"Green Hug","type":"playera","tags":["mujer"],"price":39900,"price_min":39900,"price_max":39900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":39332593500329,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto White Snow - Mujer - XS","public_title":"XS","options":["XS"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332593533097,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto White Snow - Mujer - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332593565865,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Ambientalista Imperfecto White Snow - Mujer - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332593598633,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Ambientalista Imperfecto White Snow - Mujer - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332593631401,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Ambientalista Imperfecto White Snow - Mujer - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0036.jpg?v=1614621691","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0033.jpg?v=1614621725","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0034.jpg?v=1614621725","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0035.jpg?v=1614621725"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0036.jpg?v=1614621691","options":["Size"],"media":[{"alt":null,"id":20676190994601,"position":1,"preview_image":{"aspect_ratio":0.666,"height":1265,"width":843,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0036.jpg?v=1614621691"},"aspect_ratio":0.666,"height":1265,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0036.jpg?v=1614621691","width":843},{"alt":null,"id":20676193779881,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1401,"width":934,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0033.jpg?v=1614621725"},"aspect_ratio":0.667,"height":1401,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0033.jpg?v=1614621725","width":934},{"alt":null,"id":20676193812649,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1480,"width":987,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0034.jpg?v=1614621725"},"aspect_ratio":0.667,"height":1480,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0034.jpg?v=1614621725","width":987},{"alt":null,"id":20676193845417,"position":4,"preview_image":{"aspect_ratio":1.499,"height":874,"width":1310,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0035.jpg?v=1614621725"},"aspect_ratio":1.499,"height":874,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0035.jpg?v=1614621725","width":1310}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eMilly mide 1.60m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":7240773107881,"title":"\"Mis sueños\" - Mexicanas que Hicieron Historia","handle":"mis-suenos-mexicanas","description":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eMilly mide 1.60m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-09-27T16:56:55-05:00","created_at":"2021-09-27T16:33:51-05:00","vendor":"Green Hug","type":"playera","tags":["mexicanas","mujer","Nuevas Colecciones"],"price":44900,"price_min":44900,"price_max":44900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":41422466711721,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"\"Mis sueños\" - Mexicanas que Hicieron Historia - XS","public_title":"XS","options":["XS"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41422466744489,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"\"Mis sueños\" - Mexicanas que Hicieron Historia - S","public_title":"S","options":["S"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41422466777257,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"\"Mis sueños\" - Mexicanas que Hicieron Historia - M","public_title":"M","options":["M"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41422466810025,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"\"Mis sueños\" - Mexicanas que Hicieron Historia - L","public_title":"L","options":["L"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41422466842793,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Mis sueños\" - Mexicanas que Hicieron Historia - XL","public_title":"XL","options":["XL"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5254.jpg?v=1632779778","\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5249.jpg?v=1632779778","\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5255.jpg?v=1632779778"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5254.jpg?v=1632779778","options":["Size"],"media":[{"alt":null,"id":26395205828777,"position":1,"preview_image":{"aspect_ratio":0.8,"height":1350,"width":1080,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5254.jpg?v=1632779778"},"aspect_ratio":0.8,"height":1350,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5254.jpg?v=1632779778","width":1080},{"alt":null,"id":26395205796009,"position":2,"preview_image":{"aspect_ratio":0.8,"height":1350,"width":1080,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5249.jpg?v=1632779778"},"aspect_ratio":0.8,"height":1350,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5249.jpg?v=1632779778","width":1080},{"alt":null,"id":26395205861545,"position":3,"preview_image":{"aspect_ratio":0.8,"height":1350,"width":1080,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5255.jpg?v=1632779778"},"aspect_ratio":0.8,"height":1350,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5255.jpg?v=1632779778","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eMilly mide 1.60m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":6565057855657,"title":"Ambientalista Imperfecto Black Sand - Mujer","handle":"ambientalista-imperfecto-mujer-negra","description":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eMilly mide 1.60m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2023-04-28T11:28:02-06:00","created_at":"2021-03-01T12:03:16-06:00","vendor":"Green Hug","type":"playera","tags":["mujer"],"price":39900,"price_min":39900,"price_max":39900,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":39332609491113,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Mujer - XS","public_title":"XS","options":["XS"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332609523881,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Mujer - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332609556649,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Mujer - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332609589417,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Mujer - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332609622185,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto Black Sand - Mujer - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0047.jpg?v=1614621941","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0044.jpg?v=1614621958","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0045.jpg?v=1614621958","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0046.jpg?v=1614621958"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0047.jpg?v=1614621941","options":["Size"],"media":[{"alt":null,"id":20676214128809,"position":1,"preview_image":{"aspect_ratio":0.666,"height":1343,"width":895,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0047.jpg?v=1614621941"},"aspect_ratio":0.666,"height":1343,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0047.jpg?v=1614621941","width":895},{"alt":null,"id":20676216815785,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1353,"width":902,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0044.jpg?v=1614621958"},"aspect_ratio":0.667,"height":1353,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0044.jpg?v=1614621958","width":902},{"alt":null,"id":20676216848553,"position":3,"preview_image":{"aspect_ratio":0.666,"height":1241,"width":827,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0045.jpg?v=1614621958"},"aspect_ratio":0.666,"height":1241,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0045.jpg?v=1614621958","width":827},{"alt":null,"id":20676216881321,"position":4,"preview_image":{"aspect_ratio":1.501,"height":841,"width":1262,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0046.jpg?v=1614621958"},"aspect_ratio":1.501,"height":841,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0046.jpg?v=1614621958","width":1262}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eMilly mide 1.60m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":6868642496681,"title":"Hoodie Grey Rock Green Hug Logo - Hombre","handle":"hoodie-grey-rock-green-hug-logo-hombre","description":"\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003eTallas Unisex. Revisa la Guía de Medidas.\u003cbr\u003e\n\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_hoodie-05_480x480.jpg?v=1646942200\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\n\u003cstrong\u003eJosé Julián mide 1.71 m de altura y está usando la talla M\u003c\/strong\u003e\u003cstrong\u003e.\u003c\/strong\u003e\n\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Info_hoodies_green_hug-10.png?v=1598117508\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_hoodies_green_hug_2020.png?v=1598116739\" alt=\"\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-04-21T11:26:45-05:00","created_at":"2021-04-21T11:26:45-05:00","vendor":"Green Hug","type":"Hoodie","tags":["hombre","hoodies"],"price":89900,"price_min":89900,"price_max":89900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":40142647296169,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Rock Green Hug Logo - Hombre - XS","public_title":"XS","options":["XS"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142647328937,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Rock Green Hug Logo - Hombre - S","public_title":"S","options":["S"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142647394473,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Rock Green Hug Logo - Hombre - M","public_title":"M","options":["M"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142647460009,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Rock Green Hug Logo - Hombre - L","public_title":"L","options":["L"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142647492777,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Rock Green Hug Logo - Hombre - XL","public_title":"XL","options":["XL"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-5.jpg?v=1619032173","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-6.jpg?v=1619032173","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-8.jpg?v=1619032179","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-7.jpg?v=1619032179"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-5.jpg?v=1619032173","options":["Size"],"media":[{"alt":null,"id":23668733542569,"position":1,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-5.jpg?v=1619032173"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-5.jpg?v=1619032173","width":940},{"alt":null,"id":23668733640873,"position":2,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-6.jpg?v=1619032173"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-6.jpg?v=1619032173","width":940},{"alt":null,"id":23668733771945,"position":3,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-8.jpg?v=1619032179"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-8.jpg?v=1619032179","width":940},{"alt":null,"id":23668733739177,"position":4,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-7.jpg?v=1619032179"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-7.jpg?v=1619032179","width":940}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003eTallas Unisex. Revisa la Guía de Medidas.\u003cbr\u003e\n\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_hoodie-05_480x480.jpg?v=1646942200\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\n\u003cstrong\u003eJosé Julián mide 1.71 m de altura y está usando la talla M\u003c\/strong\u003e\u003cstrong\u003e.\u003c\/strong\u003e\n\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Info_hoodies_green_hug-10.png?v=1598117508\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_hoodies_green_hug_2020.png?v=1598116739\" alt=\"\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":7708004024489,"title":"Caparazón - White - Regular fit","handle":"caparazon-white-regular-fit","description":"\u003ch5\u003e8M\u003c\/h5\u003e\n\u003cp\u003eEste #8M queremos acompañarte en tu lucha. Es por eso que nos unimos una vez más con Regina Blandón y Eréndira Derbez, para apoyarte a ti y a organizaciones que luchan por la igualdad.\u003c\/p\u003e\n\u003cp\u003eCon tu compra apoyamos a Refugio Casa Frida.\u003c\/p\u003e\n\u003cp\u003eAdemás por cada prenda plantamos un árbol.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso9_480x480.png?v=1677089633\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch5 data-mce-style=\"text-align: center;\"\u003eRevisa la Guía de Medidas\u003c\/h5\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eKarla mide 1,64 m y está usando talla M\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guiastallesycosturasweb-02_480x480.png?v=1677098014\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003c\/h5\u003e","published_at":"2023-02-23T22:35:25-06:00","created_at":"2023-02-22T14:38:52-06:00","vendor":"Green Hug","type":"playera","tags":["mujer","Nuevas Colecciones"],"price":49900,"price_min":49900,"price_max":49900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42930278858921,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Caparazón - White - Regular fit - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42930278891689,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Caparazón - White - Regular fit - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42930278924457,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Caparazón - White - Regular fit - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42930278957225,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Caparazón - White - Regular fit - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42930278989993,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Caparazón - White - Regular fit - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08883.jpg?v=1677273948","\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08889.jpg?v=1677273948"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08883.jpg?v=1677273948","options":["Size"],"media":[{"alt":null,"id":30033639276713,"position":1,"preview_image":{"aspect_ratio":0.666,"height":4919,"width":3278,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08883.jpg?v=1677273948"},"aspect_ratio":0.666,"height":4919,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08883.jpg?v=1677273948","width":3278},{"alt":null,"id":30033639309481,"position":2,"preview_image":{"aspect_ratio":0.666,"height":4919,"width":3278,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08889.jpg?v=1677273948"},"aspect_ratio":0.666,"height":4919,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08889.jpg?v=1677273948","width":3278}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003e8M\u003c\/h5\u003e\n\u003cp\u003eEste #8M queremos acompañarte en tu lucha. Es por eso que nos unimos una vez más con Regina Blandón y Eréndira Derbez, para apoyarte a ti y a organizaciones que luchan por la igualdad.\u003c\/p\u003e\n\u003cp\u003eCon tu compra apoyamos a Refugio Casa Frida.\u003c\/p\u003e\n\u003cp\u003eAdemás por cada prenda plantamos un árbol.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso9_480x480.png?v=1677089633\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch5 data-mce-style=\"text-align: center;\"\u003eRevisa la Guía de Medidas\u003c\/h5\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eKarla mide 1,64 m y está usando talla M\u003c\/span\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guiastallesycosturasweb-02_480x480.png?v=1677098014\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003c\/h5\u003e"}
{"id":7656205418665,"title":"Orgullo Green Hug","handle":"orgullo-green-hug","description":"\u003cp\u003ePREVENTA\u003c\/p\u003e\n\u003cp\u003ePide hoy, obtén un 25% de descuento y recíbela antes del partido México - Argentina\u003c\/p\u003e\n\u003cp\u003eVive el orgullo y la pasión del mundial de futbol Qatar 2022 con la playera conmemorativa de Green Hug. \u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eEsta playera tiene plasmados elementos del orgullo mexicano sobre los colores de nuestra pasión.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cmeta charset=\"utf-8\"\u003eTela deportiva hecha 100% de botellas PET recicladas\u003c\/span\u003e\u003c\/p\u003e","published_at":"2022-11-20T09:33:30-06:00","created_at":"2022-11-16T13:32:00-06:00","vendor":"Green Hug","type":"Ecotines","tags":["accesorios","hombre","mujer"],"price":39900,"price_min":39900,"price_max":39900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42750440341673,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Orgullo Green Hug - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42750538121385,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Orgullo Green Hug - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42750538154153,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Orgullo Green Hug - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42750538186921,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Orgullo Green Hug - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42814691279017,"title":"XXL","option1":"XXL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Orgullo Green Hug - XXL","public_title":"XXL","options":["XXL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/MUNDIAL.jpg?v=1668627672"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/MUNDIAL.jpg?v=1668627672","options":["Size"],"media":[{"alt":null,"id":29629756801193,"position":1,"preview_image":{"aspect_ratio":0.664,"height":2409,"width":1600,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MUNDIAL.jpg?v=1668627672"},"aspect_ratio":0.664,"height":2409,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MUNDIAL.jpg?v=1668627672","width":1600}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003ePREVENTA\u003c\/p\u003e\n\u003cp\u003ePide hoy, obtén un 25% de descuento y recíbela antes del partido México - Argentina\u003c\/p\u003e\n\u003cp\u003eVive el orgullo y la pasión del mundial de futbol Qatar 2022 con la playera conmemorativa de Green Hug. \u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eEsta playera tiene plasmados elementos del orgullo mexicano sobre los colores de nuestra pasión.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cmeta charset=\"utf-8\"\u003eTela deportiva hecha 100% de botellas PET recicladas\u003c\/span\u003e\u003c\/p\u003e"}
{"id":7617749516457,"title":"Good vibes only - Mujer","handle":"good-vibes-only-mujer","description":"\u003ch5\u003eMickey y sus amigos\u003c\/h5\u003e\n\u003ch4\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/ContentDisney2_Mesadetrabajo1-12_21773f75-aec9-4de3-b1a1-23e8c3f0b7f6_600x600.jpg?v=1665764390\" data-mce-selected=\"1\"\u003e\n\u003c\/h4\u003e\n\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/h5\u003e\n\u003ch5\u003eRevisa la guía de tallas\u003c\/h5\u003e\n\u003ch4\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guiastallesycosturasEvaryDay-02_480x480.png?v=1664817840\" alt=\"\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guiastallesycosturasEvaryDay-02_480x480.png?v=1664817840\"\u003e \u003c\/h4\u003e\n\u003cp\u003ePao mide 1.67 m y está usando talla XS\u003c\/p\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" style=\"height: 400px;\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2022-10-03T13:49:40-05:00","created_at":"2022-10-03T12:30:40-05:00","vendor":"Green Hug","type":"playera","tags":["Mickey","mujer"],"price":49900,"price_min":49900,"price_max":49900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42633172910249,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Good vibes only - Mujer - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42633172943017,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Good vibes only - Mujer - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42633172975785,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Good vibes only - Mujer - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42633173008553,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Good vibes only - Mujer - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42633173041321,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Good vibes only - Mujer - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-1.jpg?v=1664818255","\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-2.jpg?v=1664818255","\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-4.jpg?v=1664818254"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-1.jpg?v=1664818255","options":["Size"],"media":[{"alt":null,"id":29369274302633,"position":1,"preview_image":{"aspect_ratio":0.664,"height":2409,"width":1600,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-1.jpg?v=1664818255"},"aspect_ratio":0.664,"height":2409,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-1.jpg?v=1664818255","width":1600},{"alt":null,"id":29369274335401,"position":2,"preview_image":{"aspect_ratio":0.666,"height":2460,"width":1639,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-2.jpg?v=1664818255"},"aspect_ratio":0.666,"height":2460,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-2.jpg?v=1664818255","width":1639},{"alt":null,"id":29369274368169,"position":3,"preview_image":{"aspect_ratio":0.667,"height":2552,"width":1701,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-4.jpg?v=1664818254"},"aspect_ratio":0.667,"height":2552,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-4.jpg?v=1664818254","width":1701}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003eMickey y sus amigos\u003c\/h5\u003e\n\u003ch4\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/ContentDisney2_Mesadetrabajo1-12_21773f75-aec9-4de3-b1a1-23e8c3f0b7f6_600x600.jpg?v=1665764390\" data-mce-selected=\"1\"\u003e\n\u003c\/h4\u003e\n\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/h5\u003e\n\u003ch5\u003eRevisa la guía de tallas\u003c\/h5\u003e\n\u003ch4\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guiastallesycosturasEvaryDay-02_480x480.png?v=1664817840\" alt=\"\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guiastallesycosturasEvaryDay-02_480x480.png?v=1664817840\"\u003e \u003c\/h4\u003e\n\u003cp\u003ePao mide 1.67 m y está usando talla XS\u003c\/p\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" style=\"height: 400px;\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":4791668211817,"title":"GIFT CARD","handle":"🌱-the-green-gift-card","description":"\u003ch1\u003eRegala este cupón a una persona importante \u003cspan data-mce-fragment=\"1\"\u003e💚\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp\u003e♻️ Sabemos que eres unx consumidorx responsable, por lo que tenemos muchos productos que ofrecer para que nos ayudes a cuidar el medio ambiente.\u003c\/p\u003e\n\u003cp\u003e🌳 Con este regalo, nos estás ayudando a plantar árboles ¡Muchas gracias!\u003c\/p\u003e\n\u003cp\u003eRecuerda: ''Sé amable con el planeta''. 🌎\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e 👐🏼 Un abrazo verde de todo el equipo Green Hug.\u003c\/strong\u003e\u003c\/p\u003e","published_at":"2020-09-11T14:35:42-05:00","created_at":"2020-09-11T14:35:40-05:00","vendor":"Green Hug","type":"Gift Card","tags":["accesorios","biocase","fundas","hombre","kids","mujer","niña","niño","Nuevas Colecciones","playeras","pulsera"],"price":30000,"price_min":30000,"price_max":150000,"available":true,"price_varies":true,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":32795385626729,"title":"MX$300.00","option1":"MX$300.00","option2":null,"option3":null,"sku":"","requires_shipping":false,"taxable":false,"featured_image":{"id":33754978255017,"product_id":4791668211817,"position":1,"created_at":"2021-09-01T13:25:50-05:00","updated_at":"2021-09-01T13:32:09-05:00","alt":null,"width":1333,"height":2000,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard300_0dde4e69-6f46-4159-a859-64dfcb3e535e.jpg?v=1630521129","variant_ids":[32795385626729]},"available":true,"name":"GIFT CARD - MX$300.00","public_title":"MX$300.00","options":["MX$300.00"],"price":30000,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":"","featured_media":{"alt":null,"id":26072781258921,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2000,"width":1333,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard300_0dde4e69-6f46-4159-a859-64dfcb3e535e.jpg?v=1630521129"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32795385659497,"title":"MX$500.00","option1":"MX$500.00","option2":null,"option3":null,"sku":"","requires_shipping":false,"taxable":false,"featured_image":{"id":33754992279721,"product_id":4791668211817,"position":2,"created_at":"2021-09-01T13:28:39-05:00","updated_at":"2021-09-01T13:32:09-05:00","alt":null,"width":1333,"height":2000,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard500_d4b6c79f-8c5a-4b6b-87a9-e92180950c12.jpg?v=1630521129","variant_ids":[32795385659497]},"available":true,"name":"GIFT CARD - MX$500.00","public_title":"MX$500.00","options":["MX$500.00"],"price":50000,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":"","featured_media":{"alt":null,"id":26072796201129,"position":2,"preview_image":{"aspect_ratio":0.667,"height":2000,"width":1333,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard500_d4b6c79f-8c5a-4b6b-87a9-e92180950c12.jpg?v=1630521129"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32795385692265,"title":"MX$1,500.00","option1":"MX$1,500.00","option2":null,"option3":null,"sku":"","requires_shipping":false,"taxable":false,"featured_image":{"id":33755011088553,"product_id":4791668211817,"position":4,"created_at":"2021-09-01T13:32:33-05:00","updated_at":"2021-09-01T13:32:33-05:00","alt":null,"width":1333,"height":2000,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1500.jpg?v=1630521153","variant_ids":[32795385692265]},"available":true,"name":"GIFT CARD - MX$1,500.00","public_title":"MX$1,500.00","options":["MX$1,500.00"],"price":150000,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":"","featured_media":{"alt":null,"id":26072814977193,"position":4,"preview_image":{"aspect_ratio":0.667,"height":2000,"width":1333,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1500.jpg?v=1630521153"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40487328088233,"title":"MX$1,000.00","option1":"MX$1,000.00","option2":null,"option3":null,"sku":"","requires_shipping":false,"taxable":false,"featured_image":{"id":33754995687593,"product_id":4791668211817,"position":3,"created_at":"2021-09-01T13:29:13-05:00","updated_at":"2021-09-01T13:32:09-05:00","alt":null,"width":1333,"height":2000,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1000_5607caae-6788-4573-b1cb-6035336149d1.jpg?v=1630521129","variant_ids":[40487328088233]},"available":true,"name":"GIFT CARD - MX$1,000.00","public_title":"MX$1,000.00","options":["MX$1,000.00"],"price":100000,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":"","featured_media":{"alt":null,"id":26072799314089,"position":3,"preview_image":{"aspect_ratio":0.667,"height":2000,"width":1333,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1000_5607caae-6788-4573-b1cb-6035336149d1.jpg?v=1630521129"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard300_0dde4e69-6f46-4159-a859-64dfcb3e535e.jpg?v=1630521129","\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard500_d4b6c79f-8c5a-4b6b-87a9-e92180950c12.jpg?v=1630521129","\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1000_5607caae-6788-4573-b1cb-6035336149d1.jpg?v=1630521129","\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1500.jpg?v=1630521153"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard300_0dde4e69-6f46-4159-a859-64dfcb3e535e.jpg?v=1630521129","options":["Denominations"],"media":[{"alt":null,"id":26072781258921,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2000,"width":1333,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard300_0dde4e69-6f46-4159-a859-64dfcb3e535e.jpg?v=1630521129"},"aspect_ratio":0.667,"height":2000,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard300_0dde4e69-6f46-4159-a859-64dfcb3e535e.jpg?v=1630521129","width":1333},{"alt":null,"id":26072796201129,"position":2,"preview_image":{"aspect_ratio":0.667,"height":2000,"width":1333,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard500_d4b6c79f-8c5a-4b6b-87a9-e92180950c12.jpg?v=1630521129"},"aspect_ratio":0.667,"height":2000,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard500_d4b6c79f-8c5a-4b6b-87a9-e92180950c12.jpg?v=1630521129","width":1333},{"alt":null,"id":26072799314089,"position":3,"preview_image":{"aspect_ratio":0.667,"height":2000,"width":1333,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1000_5607caae-6788-4573-b1cb-6035336149d1.jpg?v=1630521129"},"aspect_ratio":0.667,"height":2000,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1000_5607caae-6788-4573-b1cb-6035336149d1.jpg?v=1630521129","width":1333},{"alt":null,"id":26072814977193,"position":4,"preview_image":{"aspect_ratio":0.667,"height":2000,"width":1333,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1500.jpg?v=1630521153"},"aspect_ratio":0.667,"height":2000,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GiftCard1500.jpg?v=1630521153","width":1333}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch1\u003eRegala este cupón a una persona importante \u003cspan data-mce-fragment=\"1\"\u003e💚\u003c\/span\u003e\n\u003c\/h1\u003e\n\u003cp\u003e♻️ Sabemos que eres unx consumidorx responsable, por lo que tenemos muchos productos que ofrecer para que nos ayudes a cuidar el medio ambiente.\u003c\/p\u003e\n\u003cp\u003e🌳 Con este regalo, nos estás ayudando a plantar árboles ¡Muchas gracias!\u003c\/p\u003e\n\u003cp\u003eRecuerda: ''Sé amable con el planeta''. 🌎\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e 👐🏼 Un abrazo verde de todo el equipo Green Hug.\u003c\/strong\u003e\u003c\/p\u003e"}
{"id":6565019844777,"title":"Ambientalista Imperfecto White Snow - Hombre","handle":"ambientalista-imperfecto-hombre-blanca","description":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Hombre_Cuello_redondo_480x480.jpg?v=1646928018\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eLoic mide 1.70m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-03-01T14:00:29-06:00","created_at":"2021-03-01T11:23:13-06:00","vendor":"Green Hug","type":"playera","tags":["hombre"],"price":39900,"price_min":39900,"price_max":39900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":39332518494377,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Ambientalista Imperfecto White Snow - Hombre - XS","public_title":"XS","options":["XS"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332518527145,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto White Snow - Hombre - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332518559913,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto White Snow - Hombre - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332518592681,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto White Snow - Hombre - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332518625449,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Ambientalista Imperfecto White Snow - Hombre - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0049.jpg?v=1614619576","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0050.jpg?v=1614619576","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0051.jpg?v=1614619576","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0052.jpg?v=1614619576"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0049.jpg?v=1614619576","options":["Size"],"media":[{"alt":null,"id":20675916660905,"position":1,"preview_image":{"aspect_ratio":0.666,"height":1481,"width":987,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0049.jpg?v=1614619576"},"aspect_ratio":0.666,"height":1481,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0049.jpg?v=1614619576","width":987},{"alt":null,"id":20675916693673,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1390,"width":927,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0050.jpg?v=1614619576"},"aspect_ratio":0.667,"height":1390,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0050.jpg?v=1614619576","width":927},{"alt":null,"id":20675916726441,"position":3,"preview_image":{"aspect_ratio":0.666,"height":1409,"width":939,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0051.jpg?v=1614619576"},"aspect_ratio":0.666,"height":1409,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0051.jpg?v=1614619576","width":939},{"alt":null,"id":20675916759209,"position":4,"preview_image":{"aspect_ratio":1.501,"height":965,"width":1448,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0052.jpg?v=1614619576"},"aspect_ratio":1.501,"height":965,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0052.jpg?v=1614619576","width":1448}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Hombre_Cuello_redondo_480x480.jpg?v=1646928018\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eLoic mide 1.70m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":7159178494121,"title":"Hoodie Parques Nacionales - Hombre","handle":"hoodie-parques-nacionales","description":"\u003ch5 style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cstrong\u003eTALLAS UNISEX, REVISA LA GUÍA DE MEDIDAS: \u003c\/strong\u003e\u003c\/h5\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_hoodie-05_480x480.jpg?v=1646942200\" alt=\"\"\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cstrong\u003eParques Nacionales\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\n\u003cspan style=\"color: #23512a;\" data-mce-style=\"color: #23512a;\"\u003e\u003cstrong\u003eMEXICO\u003c\/strong\u003e\u003c\/span\u003e cuenta con todos los ecosistemas, volviéndolo un territorio de enorme biodiversidad.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNuestros 67 \u003cspan style=\"color: #26562d;\"\u003e\u003cstrong\u003eParques Nacionales\u003c\/strong\u003e\u003c\/span\u003e protegen más de 16 millones de hectáreas de paisajes naturales.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e¡Llévalos en tus aventuras con tu hoodie de materiales sustentables!\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\n\u003cstrong\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/strong\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/WhatsApp_Image_2021-08-24_at_12.46.46_PM.jpg?v=1629913521\" alt=\"\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/1A.png?v=1629815238\" alt=\"\" style=\"float: none;\"\u003e\u003c\/div\u003e","published_at":"2021-08-24T11:59:21-05:00","created_at":"2021-08-20T17:08:04-05:00","vendor":"Green Hug","type":"Hoodie","tags":["car del valle","hombre","hoodies","Nuevas Colecciones"],"price":89900,"price_min":89900,"price_max":89900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":41093209948329,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Parques Nacionales - Hombre - XS","public_title":"XS","options":["XS"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41093209981097,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Parques Nacionales - Hombre - S","public_title":"S","options":["S"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41093331583145,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Parques Nacionales - Hombre - M","public_title":"M","options":["M"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41093355634857,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Parques Nacionales - Hombre - L","public_title":"L","options":["L"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41093364711593,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Parques Nacionales - Hombre - XL","public_title":"XL","options":["XL"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie.jpg?v=1633968640","\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_Back.jpg?v=1633968613","\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_front.jpg?v=1633968612","\/\/www.greenhug.com\/cdn\/shop\/products\/image_63a09e02-aa9c-477a-ac91-0e06e5795a59.jpg?v=1633968646"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie.jpg?v=1633968640","options":["Size"],"media":[{"alt":null,"id":26553522880681,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1401,"width":934,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie.jpg?v=1633968640"},"aspect_ratio":0.667,"height":1401,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie.jpg?v=1633968640","width":934},{"alt":null,"id":26553517408425,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1401,"width":934,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_Back.jpg?v=1633968613"},"aspect_ratio":0.667,"height":1401,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_Back.jpg?v=1633968613","width":934},{"alt":null,"id":26553517441193,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1401,"width":934,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_front.jpg?v=1633968612"},"aspect_ratio":0.667,"height":1401,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_front.jpg?v=1633968612","width":934},{"alt":null,"id":26093990052009,"position":4,"preview_image":{"aspect_ratio":1.335,"height":959,"width":1280,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/image_63a09e02-aa9c-477a-ac91-0e06e5795a59.jpg?v=1633968646"},"aspect_ratio":1.335,"height":959,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/image_63a09e02-aa9c-477a-ac91-0e06e5795a59.jpg?v=1633968646","width":1280}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cstrong\u003eTALLAS UNISEX, REVISA LA GUÍA DE MEDIDAS: \u003c\/strong\u003e\u003c\/h5\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_hoodie-05_480x480.jpg?v=1646942200\" alt=\"\"\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cstrong\u003eParques Nacionales\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\n\u003cspan style=\"color: #23512a;\" data-mce-style=\"color: #23512a;\"\u003e\u003cstrong\u003eMEXICO\u003c\/strong\u003e\u003c\/span\u003e cuenta con todos los ecosistemas, volviéndolo un territorio de enorme biodiversidad.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNuestros 67 \u003cspan style=\"color: #26562d;\"\u003e\u003cstrong\u003eParques Nacionales\u003c\/strong\u003e\u003c\/span\u003e protegen más de 16 millones de hectáreas de paisajes naturales.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e¡Llévalos en tus aventuras con tu hoodie de materiales sustentables!\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\n\u003cstrong\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/strong\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cbr\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/WhatsApp_Image_2021-08-24_at_12.46.46_PM.jpg?v=1629913521\" alt=\"\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/1A.png?v=1629815238\" alt=\"\" style=\"float: none;\"\u003e\u003c\/div\u003e"}
{"id":7240774484137,"title":"\"Colores e Historias\" - Mexicanas que Hicieron Historia","handle":"colores-e-historias-mexicanas","description":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eMilly mide 1.60m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-09-27T16:55:54-05:00","created_at":"2021-09-27T16:36:55-05:00","vendor":"Green Hug","type":"playera","tags":["mexicanas","mujer","Nuevas Colecciones"],"price":44900,"price_min":44900,"price_max":44900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":41422473887913,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Colores e Historias\" - Mexicanas que Hicieron Historia - XS","public_title":"XS","options":["XS"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41422473920681,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Colores e Historias\" - Mexicanas que Hicieron Historia - S","public_title":"S","options":["S"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41422473953449,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Colores e Historias\" - Mexicanas que Hicieron Historia - M","public_title":"M","options":["M"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41422473986217,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Colores e Historias\" - Mexicanas que Hicieron Historia - L","public_title":"L","options":["L"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41422474018985,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Colores e Historias\" - Mexicanas que Hicieron Historia - XL","public_title":"XL","options":["XL"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5251.jpg?v=1632779746","\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5252_323bfd79-e2a6-4a9b-8554-76651f185f13.jpg?v=1632779746"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5251.jpg?v=1632779746","options":["Size"],"media":[{"alt":null,"id":26395202748585,"position":1,"preview_image":{"aspect_ratio":0.8,"height":1350,"width":1080,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5251.jpg?v=1632779746"},"aspect_ratio":0.8,"height":1350,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5251.jpg?v=1632779746","width":1080},{"alt":null,"id":26395202781353,"position":2,"preview_image":{"aspect_ratio":0.8,"height":1350,"width":1080,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5252_323bfd79-e2a6-4a9b-8554-76651f185f13.jpg?v=1632779746"},"aspect_ratio":0.8,"height":1350,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5252_323bfd79-e2a6-4a9b-8554-76651f185f13.jpg?v=1632779746","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eMilly mide 1.60m y está usando la talla S \u003c\/strong\u003e.\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-04.png?v=1602390645\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":7707953791145,"title":"Creció un jardín en mi - White - crop top","handle":"crecio-un-jardin-en-mi-crop-top","description":"\u003ch5\u003e8M\u003c\/h5\u003e\n\u003cp\u003eEste #8M queremos acompañarte en tu lucha. Es por eso que nos unimos una vez más con Regina Blandón y Eréndira Derbez, para apoyarte a ti y a organizaciones que luchan por la igualdad.\u003c\/p\u003e\n\u003cp\u003eCon tu compra apoyamos a Refugio Casa Frida.\u003c\/p\u003e\n\u003cp\u003eAdemás por cada prenda plantamos un árbol.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso9_480x480.png?v=1677089633\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch5 data-mce-style=\"text-align: center;\"\u003eRevisa la Guía de Medidas\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/h5\u003e","published_at":"2023-02-23T22:35:22-06:00","created_at":"2023-02-22T11:43:01-06:00","vendor":"Green Hug","type":"playera","tags":["mujer","Nuevas Colecciones"],"price":49900,"price_min":49900,"price_max":49900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42929970512041,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Creció un jardín en mi - White - crop top - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42929970544809,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Creció un jardín en mi - White - crop top - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42929970577577,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Creció un jardín en mi - White - crop top - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42929970610345,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Creció un jardín en mi - White - crop top - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42929970643113,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Creció un jardín en mi - White - crop top - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08846.jpg?v=1677273226","\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08852.jpg?v=1677273226"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08846.jpg?v=1677273226","options":["Size"],"media":[{"alt":null,"id":30033607884969,"position":1,"preview_image":{"aspect_ratio":0.666,"height":4970,"width":3312,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08846.jpg?v=1677273226"},"aspect_ratio":0.666,"height":4970,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08846.jpg?v=1677273226","width":3312},{"alt":null,"id":30033607917737,"position":2,"preview_image":{"aspect_ratio":0.666,"height":4970,"width":3312,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08852.jpg?v=1677273226"},"aspect_ratio":0.666,"height":4970,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08852.jpg?v=1677273226","width":3312}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003e8M\u003c\/h5\u003e\n\u003cp\u003eEste #8M queremos acompañarte en tu lucha. Es por eso que nos unimos una vez más con Regina Blandón y Eréndira Derbez, para apoyarte a ti y a organizaciones que luchan por la igualdad.\u003c\/p\u003e\n\u003cp\u003eCon tu compra apoyamos a Refugio Casa Frida.\u003c\/p\u003e\n\u003cp\u003eAdemás por cada prenda plantamos un árbol.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso9_480x480.png?v=1677089633\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch5 data-mce-style=\"text-align: center;\"\u003eRevisa la Guía de Medidas\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/h5\u003e"}
{"id":7617792442537,"title":"Outdoor living - Hombre","handle":"outdoor-living-hombre-1","description":"\u003ch5\u003eMickey y sus amigos\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/ContentDisney2_Mesadetrabajo1-12_21773f75-aec9-4de3-b1a1-23e8c3f0b7f6_600x600.jpg?v=1665764390\" data-mce-selected=\"1\"\u003e\u003c\/h4\u003e\n\u003ch5\u003eRevisa la guía de tallas\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso1_480x480.png?v=1664821731\" alt=\"\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso1_480x480.png?v=1664821731\"\u003e\u003c\/h4\u003e\n\u003cp\u003eChema mide 1.80 m y está usando talla M\u003c\/p\u003e\n\u003ch5\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 1.4em;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/h5\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" style=\"height: 400px;\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2022-10-03T13:43:39-05:00","created_at":"2022-10-03T13:35:23-05:00","vendor":"Green Hug","type":"playera","tags":["hombre","Mickey"],"price":49900,"price_min":49900,"price_max":49900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42633302540457,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Outdoor living - Hombre - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42633302573225,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Outdoor living - Hombre - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42633302605993,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Outdoor living - Hombre - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42633302638761,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Outdoor living - Hombre - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42633302671529,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Outdoor living - Hombre - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-34.jpg?v=1664822150","\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-35.jpg?v=1664822150","\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-37.jpg?v=1664822150"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-34.jpg?v=1664822150","options":["Size"],"media":[{"alt":null,"id":29369489653929,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2352,"width":1568,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-34.jpg?v=1664822150"},"aspect_ratio":0.667,"height":2352,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-34.jpg?v=1664822150","width":1568},{"alt":null,"id":29369489686697,"position":2,"preview_image":{"aspect_ratio":0.667,"height":2346,"width":1565,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-35.jpg?v=1664822150"},"aspect_ratio":0.667,"height":2346,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-35.jpg?v=1664822150","width":1565},{"alt":null,"id":29369489719465,"position":3,"preview_image":{"aspect_ratio":0.667,"height":2348,"width":1565,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-37.jpg?v=1664822150"},"aspect_ratio":0.667,"height":2348,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHDISNEY-37.jpg?v=1664822150","width":1565}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003eMickey y sus amigos\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/ContentDisney2_Mesadetrabajo1-12_21773f75-aec9-4de3-b1a1-23e8c3f0b7f6_600x600.jpg?v=1665764390\" data-mce-selected=\"1\"\u003e\u003c\/h4\u003e\n\u003ch5\u003eRevisa la guía de tallas\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso1_480x480.png?v=1664821731\" alt=\"\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Recurso1_480x480.png?v=1664821731\"\u003e\u003c\/h4\u003e\n\u003cp\u003eChema mide 1.80 m y está usando talla M\u003c\/p\u003e\n\u003ch5\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 1.4em;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/h5\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Everyday_Guia_de_Medidas-03.png?v=1602390630\" style=\"height: 400px;\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":7594150363305,"title":"Ecotines","handle":"ecotines","description":"\u003ch5\u003eDeja tu huella\u003c\/h5\u003e\nTres pares unitalla y unisex (24-28 cm) \u003cbr\u003e35% PET reciclado + 45% Algodón reciclado + 20% Elastano \u003cbr\u003ePlantamos un árbol por cada paquete.\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","published_at":"2022-09-14T13:03:31-05:00","created_at":"2022-09-14T13:03:30-05:00","vendor":"Green Hug","type":"Ecotines","tags":["accesorios","hombre","mujer"],"price":39900,"price_min":39900,"price_max":39900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42570641572009,"title":"Blancos","option1":"Blancos","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Ecotines - Blancos","public_title":"Blancos","options":["Blancos"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42570641604777,"title":"Negros","option1":"Negros","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Ecotines - Negros","public_title":"Negros","options":["Negros"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42570641637545,"title":"Grises","option1":"Grises","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Ecotines - Grises","public_title":"Grises","options":["Grises"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42570641670313,"title":"Combinados","option1":"Combinados","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Ecotines - Combinados","public_title":"Combinados","options":["Combinados"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-20.jpg?v=1664823708","\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-19.jpg?v=1664823708","\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-16.jpg?v=1664823708","\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-17.jpg?v=1664823708","\/\/www.greenhug.com\/cdn\/shop\/products\/Copiadegreenhug-0499.jpg?v=1664823708"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-20.jpg?v=1664823708","options":["Color"],"media":[{"alt":null,"id":29369630916777,"position":1,"preview_image":{"aspect_ratio":0.666,"height":1568,"width":1045,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-20.jpg?v=1664823708"},"aspect_ratio":0.666,"height":1568,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-20.jpg?v=1664823708","width":1045},{"alt":null,"id":29369630818473,"position":2,"preview_image":{"aspect_ratio":0.667,"height":2313,"width":1542,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-19.jpg?v=1664823708"},"aspect_ratio":0.667,"height":2313,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-19.jpg?v=1664823708","width":1542},{"alt":null,"id":29369630884009,"position":3,"preview_image":{"aspect_ratio":0.667,"height":2080,"width":1388,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-16.jpg?v=1664823708"},"aspect_ratio":0.667,"height":2080,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-16.jpg?v=1664823708","width":1388},{"alt":null,"id":29369630851241,"position":4,"preview_image":{"aspect_ratio":0.666,"height":2406,"width":1603,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-17.jpg?v=1664823708"},"aspect_ratio":0.666,"height":2406,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHECOTINES-17.jpg?v=1664823708","width":1603},{"alt":null,"id":29250149548201,"position":5,"preview_image":{"aspect_ratio":0.666,"height":1276,"width":850,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Copiadegreenhug-0499.jpg?v=1664823708"},"aspect_ratio":0.666,"height":1276,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Copiadegreenhug-0499.jpg?v=1664823708","width":850}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003eDeja tu huella\u003c\/h5\u003e\nTres pares unitalla y unisex (24-28 cm) \u003cbr\u003e35% PET reciclado + 45% Algodón reciclado + 20% Elastano \u003cbr\u003ePlantamos un árbol por cada paquete.\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e"}