Mostrando 1 - 20 de 77 Resultados
Filter
{"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":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":7240775532713,"title":"\"Protagonistas\" - Mexicanas que Hicieron Historia","handle":"protagonistas-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.\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\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-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:55:10-05:00","created_at":"2021-09-27T16:38:05-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":41422475493545,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Protagonistas\" - 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":41422475526313,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Protagonistas\" - 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":41422475559081,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Protagonistas\" - 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":41422475591849,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"\"Protagonistas\" - 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":41422475624617,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"\"Protagonistas\" - 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_5253.jpg?v=1632779693","\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5252.jpg?v=1632779672","\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5239.jpg?v=1632779659"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5253.jpg?v=1632779693","options":["Size"],"media":[{"alt":null,"id":26395194491049,"position":1,"preview_image":{"aspect_ratio":0.8,"height":1350,"width":1080,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5253.jpg?v=1632779693"},"aspect_ratio":0.8,"height":1350,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5253.jpg?v=1632779693","width":1080},{"alt":null,"id":26395190821033,"position":2,"preview_image":{"aspect_ratio":0.8,"height":1350,"width":1080,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5252.jpg?v=1632779672"},"aspect_ratio":0.8,"height":1350,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5252.jpg?v=1632779672","width":1080},{"alt":null,"id":26395188297897,"position":3,"preview_image":{"aspect_ratio":0.8,"height":1350,"width":1080,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5239.jpg?v=1632779659"},"aspect_ratio":0.8,"height":1350,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/IMG_5239.jpg?v=1632779659","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.\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/infoeveryday.png?v=1614361514\"\u003e\n\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-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":7158859694249,"title":"Acondicionador en Barra","handle":"acondicionador-en-barra","description":"\u003ch5 style=\"text-align: center;\"\u003e¡El shampoo perfecto para un ambientalista imperfectx!\u003c\/h5\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cimg height=\"996\" width=\"559\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/AC1.png?v=1629814988\"\u003e\u003c\/p\u003e","published_at":"2021-08-24T09:23:32-05:00","created_at":"2021-08-20T11:35:46-05:00","vendor":"Green Hug","type":"EcoCare","tags":["ecocare"],"price":11000,"price_min":11000,"price_max":11000,"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":41090267611305,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Acondicionador en Barra","public_title":null,"options":["Default Title"],"price":11000,"weight":40,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Acondicionador3_Mesadetrabajo1.jpg?v=1629916897","\/\/www.greenhug.com\/cdn\/shop\/products\/acondicionador-2.jpg?v=1629916897","\/\/www.greenhug.com\/cdn\/shop\/products\/acondicionador-3.jpg?v=1629916897"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Acondicionador3_Mesadetrabajo1.jpg?v=1629916897","options":["Title"],"media":[{"alt":null,"id":25998449049769,"position":1,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Acondicionador3_Mesadetrabajo1.jpg?v=1629916897"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Acondicionador3_Mesadetrabajo1.jpg?v=1629916897","width":940},{"alt":null,"id":25975981047977,"position":2,"preview_image":{"aspect_ratio":1.267,"height":850,"width":1077,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/acondicionador-2.jpg?v=1629916897"},"aspect_ratio":1.267,"height":850,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/acondicionador-2.jpg?v=1629916897","width":1077},{"alt":null,"id":25975981080745,"position":3,"preview_image":{"aspect_ratio":0.864,"height":850,"width":734,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/acondicionador-3.jpg?v=1629916897"},"aspect_ratio":0.864,"height":850,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/acondicionador-3.jpg?v=1629916897","width":734}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003e¡El shampoo perfecto para un ambientalista imperfectx!\u003c\/h5\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cimg height=\"996\" width=\"559\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/AC1.png?v=1629814988\"\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":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":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":2459343913018,"title":"Be HumanKIND Kids","handle":"be-humankind-nino","description":"\u003ch5\u003ePlantamos un árbol por cada producto\u003c\/h5\u003e\n\u003cimg height=\"984\" width=\"551\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/info_ROPA_Green_Hug.png?v=1592417502\"\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\/nino.png?767\" 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-19T16:49:30-05:00","created_at":"2019-06-19T16:49:30-05:00","vendor":"Green Hug","type":"","tags":["car del valle","kids","niño"],"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":23369972449338,"title":"5-6","option1":"5-6","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Be HumanKIND Kids - 5-6","public_title":"5-6","options":["5-6"],"price":17500,"weight":150,"compare_at_price":35000,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":23369972514874,"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":23369972547642,"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":23369972580410,"title":"13-14","option1":"13-14","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"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-0054.jpg?v=1560981475","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0055.jpg?v=1560981475","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0028.jpg?v=1560981475","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0029.jpg?v=1560981475","\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0030.jpg?v=1560981475"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0054.jpg?v=1560981475","options":["Talla"],"media":[{"alt":null,"id":2104345493562,"position":1,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0054.jpg?v=1560981475"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0054.jpg?v=1560981475","width":1500},{"alt":null,"id":2104347033658,"position":2,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0055.jpg?v=1560981475"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0055.jpg?v=1560981475","width":1500},{"alt":null,"id":2104345559098,"position":3,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0028.jpg?v=1560981475"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0028.jpg?v=1560981475","width":1500},{"alt":null,"id":2104345624634,"position":4,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0029.jpg?v=1560981475"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0029.jpg?v=1560981475","width":1500},{"alt":null,"id":2104345657402,"position":5,"preview_image":{"aspect_ratio":0.667,"height":2250,"width":1500,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0030.jpg?v=1560981475"},"aspect_ratio":0.667,"height":2250,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GreenHug-Junio2019-0030.jpg?v=1560981475","width":1500}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003ePlantamos un árbol por cada producto\u003c\/h5\u003e\n\u003cimg height=\"984\" width=\"551\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/info_ROPA_Green_Hug.png?v=1592417502\"\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\/nino.png?767\" 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":4610610987113,"title":"Better Days Hoodie","handle":"better-days-hoodie","description":"\u003ch5 style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003c\/h5\u003e\n\u003ch5\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cstrong\u003eRevisa la guía de medida\u003c\/strong\u003e\n\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\u003e\u003cstrong\u003eBetter Days Will Come\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cp\u003e¡Ya saldrá el sol para todos y vamos a encontrarnos con un mundo mejor y más sano! Better Days Will Come está pensada para traerte lo más cómodo y con los materiales más sustentables, para que te quedes en tu casa.\u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/info_Green_Hug-07.png?v=1592419558\" width=\"551\" height=\"984\"\u003e\u003c\/p\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_Hoodie_Green_Hug-11.png?v=1592581737\" 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":"2020-04-09T13:18:00-05:00","created_at":"2020-04-10T12:06:06-05:00","vendor":"Green Hug","type":"","tags":[],"price":64000,"price_min":64000,"price_max":64000,"available":true,"price_varies":false,"compare_at_price":79900,"compare_at_price_min":79900,"compare_at_price_max":79900,"compare_at_price_varies":false,"variants":[{"id":32166727909481,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Better Days Hoodie - XS","public_title":"XS","options":["XS"],"price":64000,"weight":0,"compare_at_price":79900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/banner.jpg?v=1592582631","\/\/www.greenhug.com\/cdn\/shop\/products\/betterdaysdetallehoodie.jpg?v=1592582631","\/\/www.greenhug.com\/cdn\/shop\/products\/betterdayshoodie.jpg?v=1592582631","\/\/www.greenhug.com\/cdn\/shop\/products\/7.jpg?v=1592582631","\/\/www.greenhug.com\/cdn\/shop\/products\/6.jpg?v=1592582631"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/banner.jpg?v=1592582631","options":["Size"],"media":[{"alt":null,"id":7000200577129,"position":1,"preview_image":{"aspect_ratio":1.01,"height":938,"width":947,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/banner.jpg?v=1592582631"},"aspect_ratio":1.01,"height":938,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/banner.jpg?v=1592582631","width":947},{"alt":null,"id":6994034163817,"position":2,"preview_image":{"aspect_ratio":0.75,"height":1024,"width":768,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/betterdaysdetallehoodie.jpg?v=1592582631"},"aspect_ratio":0.75,"height":1024,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/betterdaysdetallehoodie.jpg?v=1592582631","width":768},{"alt":null,"id":6994034786409,"position":3,"preview_image":{"aspect_ratio":0.834,"height":2337,"width":1948,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/betterdayshoodie.jpg?v=1592582631"},"aspect_ratio":0.834,"height":2337,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/betterdayshoodie.jpg?v=1592582631","width":1948},{"alt":null,"id":7000202444905,"position":4,"preview_image":{"aspect_ratio":0.75,"height":1280,"width":960,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/7.jpg?v=1592582631"},"aspect_ratio":0.75,"height":1280,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/7.jpg?v=1592582631","width":960},{"alt":null,"id":7000203395177,"position":5,"preview_image":{"aspect_ratio":0.75,"height":1280,"width":960,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/6.jpg?v=1592582631"},"aspect_ratio":0.75,"height":1280,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/6.jpg?v=1592582631","width":960}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003c\/h5\u003e\n\u003ch5\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cstrong\u003eRevisa la guía de medida\u003c\/strong\u003e\n\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\u003e\u003cstrong\u003eBetter Days Will Come\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cp\u003e¡Ya saldrá el sol para todos y vamos a encontrarnos con un mundo mejor y más sano! Better Days Will Come está pensada para traerte lo más cómodo y con los materiales más sustentables, para que te quedes en tu casa.\u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/info_Green_Hug-07.png?v=1592419558\" width=\"551\" height=\"984\"\u003e\u003c\/p\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_Hoodie_Green_Hug-11.png?v=1592581737\" 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":7525302337705,"title":"Black Sand Hombre Everyday","handle":"black-sand-hombre-everyday-new-colors","description":"\u003ch5\u003eEveryday New Colors\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg height=\"134\" width=\"328\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/logoeveryday2-15_480x480.png?v=1656438308\" alt=\"\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e¡Everyday ya llegó! Nuestra nueva variedad de los colores más frescos con un sinfín de combinaciones para tus outfits de cada día. Tu comodidad es nuestra prioridad, reinventa tu estilo y aporta un cambio al planeta. Plantamos un árbol por cada prenda.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/h5\u003e\n\u003ch5\u003eRevisa la guía de tallas\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-01_480x480.png?v=1656600951\"\u003e\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-07-01T11:48:25-05:00","created_at":"2022-06-30T10:23:22-05:00","vendor":"Green Hug","type":"playera","tags":["hombre"],"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":42350094516393,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461768605865,"product_id":7525302337705,"position":1,"created_at":"2022-06-30T10:36:24-05:00","updated_at":"2022-06-30T10:36:30-05:00","alt":null,"width":3068,"height":4603,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390","variant_ids":[42350094516393,42350094549161,42350094581929,42350094614697,42350094647465]},"available":true,"name":"Black Sand Hombre Everyday - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817687609513,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4603,"width":3068,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350094549161,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461768605865,"product_id":7525302337705,"position":1,"created_at":"2022-06-30T10:36:24-05:00","updated_at":"2022-06-30T10:36:30-05:00","alt":null,"width":3068,"height":4603,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390","variant_ids":[42350094516393,42350094549161,42350094581929,42350094614697,42350094647465]},"available":true,"name":"Black Sand Hombre Everyday - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817687609513,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4603,"width":3068,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350094581929,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461768605865,"product_id":7525302337705,"position":1,"created_at":"2022-06-30T10:36:24-05:00","updated_at":"2022-06-30T10:36:30-05:00","alt":null,"width":3068,"height":4603,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390","variant_ids":[42350094516393,42350094549161,42350094581929,42350094614697,42350094647465]},"available":true,"name":"Black Sand Hombre Everyday - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817687609513,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4603,"width":3068,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350094614697,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461768605865,"product_id":7525302337705,"position":1,"created_at":"2022-06-30T10:36:24-05:00","updated_at":"2022-06-30T10:36:30-05:00","alt":null,"width":3068,"height":4603,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390","variant_ids":[42350094516393,42350094549161,42350094581929,42350094614697,42350094647465]},"available":true,"name":"Black Sand Hombre Everyday - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817687609513,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4603,"width":3068,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350094647465,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461768605865,"product_id":7525302337705,"position":1,"created_at":"2022-06-30T10:36:24-05:00","updated_at":"2022-06-30T10:36:30-05:00","alt":null,"width":3068,"height":4603,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390","variant_ids":[42350094516393,42350094549161,42350094581929,42350094614697,42350094647465]},"available":true,"name":"Black Sand Hombre Everyday - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817687609513,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4603,"width":3068,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390","\/\/www.greenhug.com\/cdn\/shop\/products\/HNegrolateral.jpg?v=1656603390","\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroback.jpg?v=1656603390","\/\/www.greenhug.com\/cdn\/shop\/products\/NegraDetalle.jpg?v=1656606391"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390","options":["Size"],"media":[{"alt":null,"id":28817687609513,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4603,"width":3068,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390"},"aspect_ratio":0.667,"height":4603,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroFront.jpg?v=1656603390","width":3068},{"alt":null,"id":28817687576745,"position":2,"preview_image":{"aspect_ratio":0.667,"height":5028,"width":3352,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegrolateral.jpg?v=1656603390"},"aspect_ratio":0.667,"height":5028,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegrolateral.jpg?v=1656603390","width":3352},{"alt":null,"id":28817687543977,"position":3,"preview_image":{"aspect_ratio":0.667,"height":4720,"width":3146,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroback.jpg?v=1656603390"},"aspect_ratio":0.667,"height":4720,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HNegroback.jpg?v=1656603390","width":3146},{"alt":null,"id":28818013192361,"position":4,"preview_image":{"aspect_ratio":0.8,"height":4496,"width":3597,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/NegraDetalle.jpg?v=1656606391"},"aspect_ratio":0.8,"height":4496,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/NegraDetalle.jpg?v=1656606391","width":3597}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003eEveryday New Colors\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg height=\"134\" width=\"328\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/logoeveryday2-15_480x480.png?v=1656438308\" alt=\"\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e¡Everyday ya llegó! Nuestra nueva variedad de los colores más frescos con un sinfín de combinaciones para tus outfits de cada día. Tu comodidad es nuestra prioridad, reinventa tu estilo y aporta un cambio al planeta. Plantamos un árbol por cada prenda.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/h5\u003e\n\u003ch5\u003eRevisa la guía de tallas\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-01_480x480.png?v=1656600951\"\u003e\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":7525315739817,"title":"Black Sand Mujer Everyday","handle":"black-sand-mujer-everyday-new-colors","description":"\u003ch5\u003eEveryday New Colors\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg height=\"134\" width=\"328\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/logoeveryday2-15_480x480.png?v=1656438308\" alt=\"\" data-mce-selected=\"1\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e¡Everyday ya llegó! Nuestra nueva variedad de los colores más frescos con un sinfín de combinaciones para tus outfits de cada día. Tu comodidad es nuestra prioridad, reinventa tu estilo y aporta un cambio al planeta. Plantamos un árbol por cada prenda.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5 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 data-mce-fragment=\"1\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-02_480x480.png?v=1656601435\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-02_480x480.png?v=1656601435\"\u003e \u003c\/h4\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=\"\" 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":"2022-07-01T11:50:02-05:00","created_at":"2022-06-30T10:39:51-05:00","vendor":"Green Hug","type":"playera","tags":["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":42350117290153,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461835485353,"product_id":7525315739817,"position":1,"created_at":"2022-06-30T10:46:10-05:00","updated_at":"2022-06-30T10:46:17-05:00","alt":null,"width":2772,"height":4157,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977","variant_ids":[42350117290153,42350117322921,42350117355689,42350117388457,42350117421225]},"available":true,"name":"Black Sand Mujer Everyday - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817759928489,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4157,"width":2772,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350117322921,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461835485353,"product_id":7525315739817,"position":1,"created_at":"2022-06-30T10:46:10-05:00","updated_at":"2022-06-30T10:46:17-05:00","alt":null,"width":2772,"height":4157,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977","variant_ids":[42350117290153,42350117322921,42350117355689,42350117388457,42350117421225]},"available":true,"name":"Black Sand Mujer Everyday - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817759928489,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4157,"width":2772,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350117355689,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461835485353,"product_id":7525315739817,"position":1,"created_at":"2022-06-30T10:46:10-05:00","updated_at":"2022-06-30T10:46:17-05:00","alt":null,"width":2772,"height":4157,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977","variant_ids":[42350117290153,42350117322921,42350117355689,42350117388457,42350117421225]},"available":true,"name":"Black Sand Mujer Everyday - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817759928489,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4157,"width":2772,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350117388457,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461835485353,"product_id":7525315739817,"position":1,"created_at":"2022-06-30T10:46:10-05:00","updated_at":"2022-06-30T10:46:17-05:00","alt":null,"width":2772,"height":4157,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977","variant_ids":[42350117290153,42350117322921,42350117355689,42350117388457,42350117421225]},"available":true,"name":"Black Sand Mujer Everyday - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817759928489,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4157,"width":2772,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350117421225,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461835485353,"product_id":7525315739817,"position":1,"created_at":"2022-06-30T10:46:10-05:00","updated_at":"2022-06-30T10:46:17-05:00","alt":null,"width":2772,"height":4157,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977","variant_ids":[42350117290153,42350117322921,42350117355689,42350117388457,42350117421225]},"available":true,"name":"Black Sand Mujer Everyday - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817759928489,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4157,"width":2772,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977","\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroLateral.jpg?v=1656603977","\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroBack.jpg?v=1656603977","\/\/www.greenhug.com\/cdn\/shop\/products\/NegraDetalle_e2b2ba69-629b-426e-b54b-38a01262c978.jpg?v=1656606419"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977","options":["Size"],"media":[{"alt":null,"id":28817759928489,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4157,"width":2772,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977"},"aspect_ratio":0.667,"height":4157,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroFront.jpg?v=1656603977","width":2772},{"alt":null,"id":28817759895721,"position":2,"preview_image":{"aspect_ratio":0.667,"height":4297,"width":2864,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroLateral.jpg?v=1656603977"},"aspect_ratio":0.667,"height":4297,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroLateral.jpg?v=1656603977","width":2864},{"alt":null,"id":28817759862953,"position":3,"preview_image":{"aspect_ratio":0.667,"height":4432,"width":2956,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroBack.jpg?v=1656603977"},"aspect_ratio":0.667,"height":4432,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MNegroBack.jpg?v=1656603977","width":2956},{"alt":null,"id":28818016338089,"position":4,"preview_image":{"aspect_ratio":0.8,"height":4496,"width":3597,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/NegraDetalle_e2b2ba69-629b-426e-b54b-38a01262c978.jpg?v=1656606419"},"aspect_ratio":0.8,"height":4496,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/NegraDetalle_e2b2ba69-629b-426e-b54b-38a01262c978.jpg?v=1656606419","width":3597}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003eEveryday New Colors\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg height=\"134\" width=\"328\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/logoeveryday2-15_480x480.png?v=1656438308\" alt=\"\" data-mce-selected=\"1\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e¡Everyday ya llegó! Nuestra nueva variedad de los colores más frescos con un sinfín de combinaciones para tus outfits de cada día. Tu comodidad es nuestra prioridad, reinventa tu estilo y aporta un cambio al planeta. Plantamos un árbol por cada prenda.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5 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 data-mce-fragment=\"1\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-02_480x480.png?v=1656601435\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-02_480x480.png?v=1656601435\"\u003e \u003c\/h4\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=\"\" 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":7525303025833,"title":"Blue Sky Hombre Everyday","handle":"blue-sky-hombre-everyday-new-colors","description":"\u003ch5\u003eEveryday New Colors\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/logoeveryday2-15_480x480.png?v=1656438308\" width=\"328\" height=\"134\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e¡Everyday ya llegó! Nuestra nueva variedad de los colores más frescos con un sinfín de combinaciones para tus outfits de cada día. Tu comodidad es nuestra prioridad, reinventa tu estilo y aporta un cambio al planeta. Plantamos un árbol por cada prenda.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/h5\u003e\n\u003ch5\u003eRevisa la guía de tallas\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-01_480x480.png?v=1656600951\" alt=\"\"\u003e\u003c\/p\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=\"\" 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":"2022-07-01T11:50:14-05:00","created_at":"2022-06-30T10:24:43-05:00","vendor":"Green Hug","type":"playera","tags":["hombre"],"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":42350096285865,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461908656297,"product_id":7525303025833,"position":1,"created_at":"2022-06-30T10:56:52-05:00","updated_at":"2022-06-30T10:59:36-05:00","alt":null,"width":3065,"height":4598,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776","variant_ids":[42350096285865,42350096318633,42350096351401,42350096384169,42350096416937]},"available":true,"name":"Blue Sky Hombre Everyday - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817836867753,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4598,"width":3065,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350096318633,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461908656297,"product_id":7525303025833,"position":1,"created_at":"2022-06-30T10:56:52-05:00","updated_at":"2022-06-30T10:59:36-05:00","alt":null,"width":3065,"height":4598,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776","variant_ids":[42350096285865,42350096318633,42350096351401,42350096384169,42350096416937]},"available":true,"name":"Blue Sky Hombre Everyday - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817836867753,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4598,"width":3065,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350096351401,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461908656297,"product_id":7525303025833,"position":1,"created_at":"2022-06-30T10:56:52-05:00","updated_at":"2022-06-30T10:59:36-05:00","alt":null,"width":3065,"height":4598,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776","variant_ids":[42350096285865,42350096318633,42350096351401,42350096384169,42350096416937]},"available":false,"name":"Blue Sky Hombre Everyday - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817836867753,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4598,"width":3065,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350096384169,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461908656297,"product_id":7525303025833,"position":1,"created_at":"2022-06-30T10:56:52-05:00","updated_at":"2022-06-30T10:59:36-05:00","alt":null,"width":3065,"height":4598,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776","variant_ids":[42350096285865,42350096318633,42350096351401,42350096384169,42350096416937]},"available":false,"name":"Blue Sky Hombre Everyday - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817836867753,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4598,"width":3065,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350096416937,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461908656297,"product_id":7525303025833,"position":1,"created_at":"2022-06-30T10:56:52-05:00","updated_at":"2022-06-30T10:59:36-05:00","alt":null,"width":3065,"height":4598,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776","variant_ids":[42350096285865,42350096318633,42350096351401,42350096384169,42350096416937]},"available":false,"name":"Blue Sky Hombre Everyday - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817836867753,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4598,"width":3065,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776","\/\/www.greenhug.com\/cdn\/shop\/products\/HAzullateral.jpg?v=1656604776","\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulBack.jpg?v=1656604616","\/\/www.greenhug.com\/cdn\/shop\/products\/AzulDetalle.jpg?v=1656609727"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776","options":["Size"],"media":[{"alt":null,"id":28817836867753,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4598,"width":3065,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776"},"aspect_ratio":0.667,"height":4598,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulFront.jpg?v=1656604776","width":3065},{"alt":null,"id":28817836802217,"position":2,"preview_image":{"aspect_ratio":0.667,"height":4554,"width":3036,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzullateral.jpg?v=1656604776"},"aspect_ratio":0.667,"height":4554,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzullateral.jpg?v=1656604776","width":3036},{"alt":null,"id":28817836834985,"position":3,"preview_image":{"aspect_ratio":0.667,"height":4836,"width":3224,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulBack.jpg?v=1656604616"},"aspect_ratio":0.667,"height":4836,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/HAzulBack.jpg?v=1656604616","width":3224},{"alt":null,"id":28818350669993,"position":4,"preview_image":{"aspect_ratio":0.8,"height":4135,"width":3308,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/AzulDetalle.jpg?v=1656609727"},"aspect_ratio":0.8,"height":4135,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/AzulDetalle.jpg?v=1656609727","width":3308}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003eEveryday New Colors\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/logoeveryday2-15_480x480.png?v=1656438308\" width=\"328\" height=\"134\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e¡Everyday ya llegó! Nuestra nueva variedad de los colores más frescos con un sinfín de combinaciones para tus outfits de cada día. Tu comodidad es nuestra prioridad, reinventa tu estilo y aporta un cambio al planeta. Plantamos un árbol por cada prenda.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/h5\u003e\n\u003ch5\u003eRevisa la guía de tallas\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-01_480x480.png?v=1656600951\" alt=\"\"\u003e\u003c\/p\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=\"\" 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":7525316001961,"title":"Blue Sky Mujer Everyday","handle":"blue-sky-mujer-everyday-new-colors","description":"\u003ch5\u003eEveryday New Colors\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg height=\"134\" width=\"328\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/logoeveryday2-15_480x480.png?v=1656438308\" alt=\"\" data-mce-selected=\"1\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e¡Everyday ya llegó! Nuestra nueva variedad de los colores más frescos con un sinfín de combinaciones para tus outfits de cada día. Tu comodidad es nuestra prioridad, reinventa tu estilo y aporta un cambio al planeta. Plantamos un árbol por cada prenda.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5 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 data-mce-fragment=\"1\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-02_480x480.png?v=1656601435\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-02_480x480.png?v=1656601435\"\u003e \u003c\/h4\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=\"\" 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":"2022-07-01T11:50:34-05:00","created_at":"2022-06-30T10:40:05-05:00","vendor":"Green Hug","type":"playera","tags":["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":42350117879977,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461869695145,"product_id":7525316001961,"position":1,"created_at":"2022-06-30T10:52:14-05:00","updated_at":"2022-06-30T10:52:16-05:00","alt":null,"width":3060,"height":4590,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336","variant_ids":[42350117879977,42350117912745,42350117945513,42350117978281,42350118011049]},"available":true,"name":"Blue Sky Mujer Everyday - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817796333737,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4590,"width":3060,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350117912745,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461869695145,"product_id":7525316001961,"position":1,"created_at":"2022-06-30T10:52:14-05:00","updated_at":"2022-06-30T10:52:16-05:00","alt":null,"width":3060,"height":4590,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336","variant_ids":[42350117879977,42350117912745,42350117945513,42350117978281,42350118011049]},"available":false,"name":"Blue Sky Mujer Everyday - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817796333737,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4590,"width":3060,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350117945513,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461869695145,"product_id":7525316001961,"position":1,"created_at":"2022-06-30T10:52:14-05:00","updated_at":"2022-06-30T10:52:16-05:00","alt":null,"width":3060,"height":4590,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336","variant_ids":[42350117879977,42350117912745,42350117945513,42350117978281,42350118011049]},"available":true,"name":"Blue Sky Mujer Everyday - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817796333737,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4590,"width":3060,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350117978281,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461869695145,"product_id":7525316001961,"position":1,"created_at":"2022-06-30T10:52:14-05:00","updated_at":"2022-06-30T10:52:16-05:00","alt":null,"width":3060,"height":4590,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336","variant_ids":[42350117879977,42350117912745,42350117945513,42350117978281,42350118011049]},"available":false,"name":"Blue Sky Mujer Everyday - L","public_title":"L","options":["L"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817796333737,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4590,"width":3060,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42350118011049,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":{"id":36461869695145,"product_id":7525316001961,"position":1,"created_at":"2022-06-30T10:52:14-05:00","updated_at":"2022-06-30T10:52:16-05:00","alt":null,"width":3060,"height":4590,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336","variant_ids":[42350117879977,42350117912745,42350117945513,42350117978281,42350118011049]},"available":true,"name":"Blue Sky Mujer Everyday - XL","public_title":"XL","options":["XL"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28817796333737,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4590,"width":3060,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336","\/\/www.greenhug.com\/cdn\/shop\/products\/MAzullateral.jpg?v=1656604338","\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulBack.jpg?v=1656604338","\/\/www.greenhug.com\/cdn\/shop\/products\/AzulDetalle_e53b3dda-5c56-4de1-9e5b-4c0e922f1e70.jpg?v=1656609794"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336","options":["Size"],"media":[{"alt":null,"id":28817796333737,"position":1,"preview_image":{"aspect_ratio":0.667,"height":4590,"width":3060,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336"},"aspect_ratio":0.667,"height":4590,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulFront.jpg?v=1656604336","width":3060},{"alt":null,"id":28817796399273,"position":2,"preview_image":{"aspect_ratio":0.667,"height":4713,"width":3142,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzullateral.jpg?v=1656604338"},"aspect_ratio":0.667,"height":4713,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzullateral.jpg?v=1656604338","width":3142},{"alt":null,"id":28817796366505,"position":3,"preview_image":{"aspect_ratio":0.667,"height":4591,"width":3061,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulBack.jpg?v=1656604338"},"aspect_ratio":0.667,"height":4591,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MAzulBack.jpg?v=1656604338","width":3061},{"alt":null,"id":28818355028137,"position":4,"preview_image":{"aspect_ratio":0.8,"height":4135,"width":3308,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/AzulDetalle_e53b3dda-5c56-4de1-9e5b-4c0e922f1e70.jpg?v=1656609794"},"aspect_ratio":0.8,"height":4135,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/AzulDetalle_e53b3dda-5c56-4de1-9e5b-4c0e922f1e70.jpg?v=1656609794","width":3308}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5\u003eEveryday New Colors\u003c\/h5\u003e\n\u003ch4\u003e\u003cimg height=\"134\" width=\"328\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/logoeveryday2-15_480x480.png?v=1656438308\" alt=\"\" data-mce-selected=\"1\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e¡Everyday ya llegó! Nuestra nueva variedad de los colores más frescos con un sinfín de combinaciones para tus outfits de cada día. Tu comodidad es nuestra prioridad, reinventa tu estilo y aporta un cambio al planeta. Plantamos un árbol por cada prenda.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5 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 data-mce-fragment=\"1\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-02_480x480.png?v=1656601435\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_EvaryDay-02_480x480.png?v=1656601435\"\u003e \u003c\/h4\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=\"\" 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":6374116393129,"title":"Cepillo de Dientes - 100% Bambú","handle":"cepillo-bambu","description":"\u003ch3 style=\"text-align: center;\"\u003e¡El cepillo perfecto para un ambientalista imperfectx!\u003c\/h3\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/CEPILLO_INFO-14.png?v=1610386293\"\u003e","published_at":"2021-01-15T12:10:02-06:00","created_at":"2021-01-11T11:40:51-06:00","vendor":"Green Hug","type":"EcoCare","tags":["ecocare"],"price":9900,"price_min":9900,"price_max":9900,"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":38361117917353,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Cepillo de Dientes - 100% Bambú","public_title":null,"options":["Default Title"],"price":9900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/cepillo1.png?v=1611081936","\/\/www.greenhug.com\/cdn\/shop\/products\/cepillo2.png?v=1611081936","\/\/www.greenhug.com\/cdn\/shop\/products\/MG_4971.jpg?v=1611081968"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/cepillo1.png?v=1611081936","options":["Title"],"media":[{"alt":null,"id":18057863102633,"position":1,"preview_image":{"aspect_ratio":1.429,"height":850,"width":1215,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/cepillo1.png?v=1611081936"},"aspect_ratio":1.429,"height":850,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/cepillo1.png?v=1611081936","width":1215},{"alt":null,"id":18057915531433,"position":2,"preview_image":{"aspect_ratio":1.429,"height":850,"width":1215,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/cepillo2.png?v=1611081936"},"aspect_ratio":1.429,"height":850,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/cepillo2.png?v=1611081936","width":1215},{"alt":null,"id":18057944957097,"position":3,"preview_image":{"aspect_ratio":1.5,"height":3456,"width":5184,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_4971.jpg?v=1611081968"},"aspect_ratio":1.5,"height":3456,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_4971.jpg?v=1611081968","width":5184}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch3 style=\"text-align: center;\"\u003e¡El cepillo perfecto para un ambientalista imperfectx!\u003c\/h3\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/CEPILLO_INFO-14.png?v=1610386293\"\u003e"}
{"id":4807413858409,"title":"Classic Blue Ocean - Hombre","handle":"classic-blue-ocean-hombre","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\u003eDavid mide 1.83m 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-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":"2020-10-11T08:42:06-05:00","created_at":"2020-10-09T13:38:45-05: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":32859025080425,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Blue Ocean - 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":32859025113193,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Classic Blue Ocean - 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":32859025145961,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Classic Blue Ocean - 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":32859025178729,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Blue Ocean - 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":32859025211497,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Classic Blue Ocean - 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\/azulhombrecl2.jpg?v=1602268772","\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombrecl1.jpg?v=1602268777","\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombredetalle.png?v=1602268777"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombrecl2.jpg?v=1602268772","options":["Size"],"media":[{"alt":null,"id":8028208988265,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1429,"width":953,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombrecl2.jpg?v=1602268772"},"aspect_ratio":0.667,"height":1429,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombrecl2.jpg?v=1602268772","width":953},{"alt":null,"id":8028209021033,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1417,"width":945,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombrecl1.jpg?v=1602268777"},"aspect_ratio":0.667,"height":1417,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombrecl1.jpg?v=1602268777","width":945},{"alt":null,"id":8028208955497,"position":3,"preview_image":{"aspect_ratio":0.921,"height":598,"width":551,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombredetalle.png?v=1602268777"},"aspect_ratio":0.921,"height":598,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulhombredetalle.png?v=1602268777","width":551}],"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\u003eDavid mide 1.83m 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-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":4807403765865,"title":"Classic Blue Ocean - Mujer","handle":"classic-blue-ocean-mujer","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\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 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":"2020-10-11T08:42:34-05:00","created_at":"2020-10-09T13:17:04-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":32858991558761,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Blue Ocean - 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":32858991591529,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Blue Ocean - 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":32858991624297,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Blue Ocean - 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":32858991657065,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Classic Blue Ocean - 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":32858991689833,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Classic Blue Ocean - 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\/azulclassicmujerlado.jpg?v=1602267573","\/\/www.greenhug.com\/cdn\/shop\/products\/azulclassicmujerfrente.jpg?v=1602267573","\/\/www.greenhug.com\/cdn\/shop\/products\/azulmujerdet_a0d88c72-3061-4401-beab-ae7da7ca3acf.png?v=1602267573"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulclassicmujerlado.jpg?v=1602267573","options":["Size"],"media":[{"alt":null,"id":8028140830825,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1467,"width":978,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulclassicmujerlado.jpg?v=1602267573"},"aspect_ratio":0.667,"height":1467,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulclassicmujerlado.jpg?v=1602267573","width":978},{"alt":null,"id":8028140798057,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1422,"width":948,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulclassicmujerfrente.jpg?v=1602267573"},"aspect_ratio":0.667,"height":1422,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulclassicmujerfrente.jpg?v=1602267573","width":948},{"alt":null,"id":8028137029737,"position":3,"preview_image":{"aspect_ratio":1.06,"height":633,"width":671,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulmujerdet_a0d88c72-3061-4401-beab-ae7da7ca3acf.png?v=1602267573"},"aspect_ratio":1.06,"height":633,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/azulmujerdet_a0d88c72-3061-4401-beab-ae7da7ca3acf.png?v=1602267573","width":671}],"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\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 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":4807416938601,"title":"Classic Green Moss - Hombre","handle":"classic-green-moss-hombre","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\u003eDavid mide 1.83m 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-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":"2020-10-11T08:43:14-05:00","created_at":"2020-10-09T13:43:03-05: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":32859037597801,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Green Moss - 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":32859037630569,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Classic Green Moss - 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":32859037663337,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Classic Green Moss - 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":32859037696105,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Green Moss - 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":32859037728873,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Classic Green Moss - 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\/verdehombrecl2.jpg?v=1602269026","\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombrecl1.jpg?v=1602269026","\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombredetalle_4b7ae4ad-20a4-4e08-acc1-e335cfc1ba5f.png?v=1602269029"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombrecl2.jpg?v=1602269026","options":["Size"],"media":[{"alt":null,"id":8028228288617,"position":1,"preview_image":{"aspect_ratio":0.666,"height":1496,"width":997,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombrecl2.jpg?v=1602269026"},"aspect_ratio":0.666,"height":1496,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombrecl2.jpg?v=1602269026","width":997},{"alt":null,"id":8028228321385,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1470,"width":980,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombrecl1.jpg?v=1602269026"},"aspect_ratio":0.667,"height":1470,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombrecl1.jpg?v=1602269026","width":980},{"alt":null,"id":8028228354153,"position":3,"preview_image":{"aspect_ratio":0.934,"height":623,"width":582,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombredetalle_4b7ae4ad-20a4-4e08-acc1-e335cfc1ba5f.png?v=1602269029"},"aspect_ratio":0.934,"height":623,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdehombredetalle_4b7ae4ad-20a4-4e08-acc1-e335cfc1ba5f.png?v=1602269029","width":582}],"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\u003eDavid mide 1.83m 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-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":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":7707962572969,"title":"Creció un jardín en mi - black - crop top","handle":"copy-of-crecio-un-jardin-en-mi-black-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 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\u003eKarla mide 1,64 m y está usando talla XS\u003c\/span\u003e\u003c\/p\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\u003c\/h5\u003e","published_at":"2023-02-23T22:35:23-06:00","created_at":"2023-02-22T12:17:15-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":42930050171049,"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 - black - 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":42930050203817,"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 - black - 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":42930050236585,"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 - black - 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":42930050302121,"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 - black - 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":42930050334889,"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 - black - 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-08826.jpg?v=1677273264","\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08820.jpg?v=1677273264"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08826.jpg?v=1677273264","options":["Size"],"media":[{"alt":null,"id":30033609556137,"position":1,"preview_image":{"aspect_ratio":0.664,"height":4970,"width":3299,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08826.jpg?v=1677273264"},"aspect_ratio":0.664,"height":4970,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08826.jpg?v=1677273264","width":3299},{"alt":null,"id":30033609588905,"position":2,"preview_image":{"aspect_ratio":0.664,"height":4970,"width":3299,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08820.jpg?v=1677273264"},"aspect_ratio":0.664,"height":4970,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gh2023-08820.jpg?v=1677273264","width":3299}],"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\u003eKarla mide 1,64 m y está usando talla XS\u003c\/span\u003e\u003c\/p\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\u003c\/h5\u003e"}