Mostrando 21 - 40 de 42 Resultados
Filter
{"id":7437948354729,"title":"Hoodie Ser Agua","handle":"copy-of-ser-agua-t-shirt","description":"\u003ch5 style=\"text-align: center;\"\u003eGuí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_hoodie-05_480x480.jpg?v=1646942200\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5\u003e\u003c\/h5\u003e\n\u003ch5\u003e#SerAgua\u003c\/h5\u003e\n\u003cp\u003eLa campaña #SerAgua son diseños de Eréndira Derbez que junto con El Día Después y Green Hug tenemos para ti.\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003eCon tú compra, contribuyes a la labor de las mujeres en la labor pluricultural del agua. La organización beneficiaria en CEMDA. \u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e #SerAgua busca reconocer a las mujeres como las principales cuidadoras del agua.\u003c\/p\u003e","published_at":"2022-03-04T11:14:23-06:00","created_at":"2022-03-04T10:59:18-06:00","vendor":"Green Hug","type":"","tags":["mujer","Nuevas Colecciones"],"price":89900,"price_min":89900,"price_max":89900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":42028841107625,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708328149161,"product_id":7437948354729,"position":1,"created_at":"2022-03-14T12:31:31-06:00","updated_at":"2022-03-14T12:33:29-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809","variant_ids":[42028841107625,42028841140393,42028841173161,42028841205929,42028841238697]},"available":false,"name":"Hoodie Ser Agua - XS","public_title":"XS","options":["XS"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055487348905,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42028841140393,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708328149161,"product_id":7437948354729,"position":1,"created_at":"2022-03-14T12:31:31-06:00","updated_at":"2022-03-14T12:33:29-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809","variant_ids":[42028841107625,42028841140393,42028841173161,42028841205929,42028841238697]},"available":true,"name":"Hoodie Ser Agua - S","public_title":"S","options":["S"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055487348905,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42028841173161,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708328149161,"product_id":7437948354729,"position":1,"created_at":"2022-03-14T12:31:31-06:00","updated_at":"2022-03-14T12:33:29-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809","variant_ids":[42028841107625,42028841140393,42028841173161,42028841205929,42028841238697]},"available":false,"name":"Hoodie Ser Agua - M","public_title":"M","options":["M"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055487348905,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42028841205929,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708328149161,"product_id":7437948354729,"position":1,"created_at":"2022-03-14T12:31:31-06:00","updated_at":"2022-03-14T12:33:29-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809","variant_ids":[42028841107625,42028841140393,42028841173161,42028841205929,42028841238697]},"available":true,"name":"Hoodie Ser Agua - L","public_title":"L","options":["L"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055487348905,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42028841238697,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708328149161,"product_id":7437948354729,"position":1,"created_at":"2022-03-14T12:31:31-06:00","updated_at":"2022-03-14T12:33:29-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809","variant_ids":[42028841107625,42028841140393,42028841173161,42028841205929,42028841238697]},"available":false,"name":"Hoodie Ser Agua - XL","public_title":"XL","options":["XL"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055487348905,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809","\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-08.jpg?v=1647282809","\/\/www.greenhug.com\/cdn\/shop\/products\/PhotoRoom_20220307_92902a.m..png?v=1647282809"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809","options":["Size"],"media":[{"alt":null,"id":28055487348905,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809"},"aspect_ratio":0.722,"height":4501,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-07.jpg?v=1647282809","width":3250},{"alt":null,"id":28055498916009,"position":2,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3251,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-08.jpg?v=1647282809"},"aspect_ratio":0.722,"height":4501,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-08.jpg?v=1647282809","width":3251},{"alt":null,"id":27983870165161,"position":3,"preview_image":{"aspect_ratio":0.667,"height":2163,"width":1442,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/PhotoRoom_20220307_92902a.m..png?v=1647282809"},"aspect_ratio":0.667,"height":2163,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/PhotoRoom_20220307_92902a.m..png?v=1647282809","width":1442}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eGuí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_hoodie-05_480x480.jpg?v=1646942200\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch5\u003e\u003c\/h5\u003e\n\u003ch5\u003e#SerAgua\u003c\/h5\u003e\n\u003cp\u003eLa campaña #SerAgua son diseños de Eréndira Derbez que junto con El Día Después y Green Hug tenemos para ti.\u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003eCon tú compra, contribuyes a la labor de las mujeres en la labor pluricultural del agua. La organización beneficiaria en CEMDA. \u003cbr data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e #SerAgua busca reconocer a las mujeres como las principales cuidadoras del agua.\u003c\/p\u003e"}
{"id":7437947207849,"title":"Playera Ser Agua","handle":"ser-agua-t-shirt","description":"\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003eSer Agua\u003c\/h5\u003e\n\u003cp\u003e#SerAgua es una colección de prendas con diseños exclusivos de Eréndira Derbez y el cortometraje AGUA.\u003c\/p\u003e\n\u003cp\u003ePor cada prenda vendida, el 30% será donado al Centro Mexicano de Derecho Ambiental, A.C. (CEMDA), organización que lucha por la defensa del derecho humano al agua potable y saneamiento, quienes destinarán lo recolectado a la labor de las mujeres en el manejo pluricultural del agua.\u003c\/p\u003e\n\u003cp\u003eLas mujeres, como guardianas del agua aportan una visión única para su gestión, a través del reconocimiento del agua como un elemento primordial para sustentar la vida.\u003c\/p\u003e\n\u003cp\u003e#GuardianasDelAgua\u003c\/p\u003e","published_at":"2022-03-04T11:20:27-06:00","created_at":"2022-03-04T10:53:03-06:00","vendor":"Green Hug","type":"","tags":["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":42028834816169,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708375138473,"product_id":7437947207849,"position":1,"created_at":"2022-03-14T12:38:52-06:00","updated_at":"2022-03-14T13:01:41-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501","variant_ids":[42028834816169,42028834848937,42028834881705,42028834914473,42028834947241]},"available":false,"name":"Playera Ser Agua - XS","public_title":"XS","options":["XS"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055534600361,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42028834848937,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708375138473,"product_id":7437947207849,"position":1,"created_at":"2022-03-14T12:38:52-06:00","updated_at":"2022-03-14T13:01:41-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501","variant_ids":[42028834816169,42028834848937,42028834881705,42028834914473,42028834947241]},"available":true,"name":"Playera Ser Agua - S","public_title":"S","options":["S"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055534600361,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42028834881705,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708375138473,"product_id":7437947207849,"position":1,"created_at":"2022-03-14T12:38:52-06:00","updated_at":"2022-03-14T13:01:41-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501","variant_ids":[42028834816169,42028834848937,42028834881705,42028834914473,42028834947241]},"available":false,"name":"Playera Ser Agua - M","public_title":"M","options":["M"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055534600361,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42028834914473,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708375138473,"product_id":7437947207849,"position":1,"created_at":"2022-03-14T12:38:52-06:00","updated_at":"2022-03-14T13:01:41-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501","variant_ids":[42028834816169,42028834848937,42028834881705,42028834914473,42028834947241]},"available":false,"name":"Playera Ser Agua - L","public_title":"L","options":["L"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055534600361,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501"}},"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":42028834947241,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":{"id":35708375138473,"product_id":7437947207849,"position":1,"created_at":"2022-03-14T12:38:52-06:00","updated_at":"2022-03-14T13:01:41-06:00","alt":null,"width":3250,"height":4501,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501","variant_ids":[42028834816169,42028834848937,42028834881705,42028834914473,42028834947241]},"available":false,"name":"Playera Ser Agua - XL","public_title":"XL","options":["XL"],"price":44900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"featured_media":{"alt":null,"id":28055534600361,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501"}},"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501","\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-03.jpg?v=1647284501","\/\/www.greenhug.com\/cdn\/shop\/products\/guardianadelagua-09.jpg?v=1647284501"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501","options":["Size"],"media":[{"alt":null,"id":28055534600361,"position":1,"preview_image":{"aspect_ratio":0.722,"height":4501,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501"},"aspect_ratio":0.722,"height":4501,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-04.jpg?v=1647284501","width":3250},{"alt":null,"id":28055540039849,"position":2,"preview_image":{"aspect_ratio":0.722,"height":4500,"width":3251,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-03.jpg?v=1647284501"},"aspect_ratio":0.722,"height":4500,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianasdelagua-03.jpg?v=1647284501","width":3251},{"alt":null,"id":28055680778409,"position":3,"preview_image":{"aspect_ratio":0.722,"height":4500,"width":3250,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianadelagua-09.jpg?v=1647284501"},"aspect_ratio":0.722,"height":4500,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/guardianadelagua-09.jpg?v=1647284501","width":3250}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003eRevisa la Guía de Medidas.\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_redondo_480x480.jpg?v=1646927481\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003eSer Agua\u003c\/h5\u003e\n\u003cp\u003e#SerAgua es una colección de prendas con diseños exclusivos de Eréndira Derbez y el cortometraje AGUA.\u003c\/p\u003e\n\u003cp\u003ePor cada prenda vendida, el 30% será donado al Centro Mexicano de Derecho Ambiental, A.C. (CEMDA), organización que lucha por la defensa del derecho humano al agua potable y saneamiento, quienes destinarán lo recolectado a la labor de las mujeres en el manejo pluricultural del agua.\u003c\/p\u003e\n\u003cp\u003eLas mujeres, como guardianas del agua aportan una visión única para su gestión, a través del reconocimiento del agua como un elemento primordial para sustentar la vida.\u003c\/p\u003e\n\u003cp\u003e#GuardianasDelAgua\u003c\/p\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":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":7165783638185,"title":"Hoodie Parques Nacionales - Mujer","handle":"hoodie-parques-nacionales-mujer","description":"\u003ch5 style=\"text-align: left;\"\u003e\n\u003cstrong\u003eTALLAS UNISEX, REVISA LA GUÍA DE MEDIDAS:\u003c\/strong\u003e \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 data-mce-style=\"text-align: left;\"\u003e\u003cspan style=\"color: #002606;\"\u003e\u003cstrong\u003eParques Nacionales\u003c\/strong\u003e\u003c\/span\u003e\u003c\/h5\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\n\u003cspan style=\"color: #23512a;\" data-mce-style=\"color: #23512a;\"\u003e\u003cstrong\u003eMEXICO\u003c\/strong\u003e\u003c\/span\u003e cuenta con todos los ecosistemas, volviéndolo un territorio de enorme biodiversidad.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNuestros 67 \u003cspan style=\"color: #26562d;\"\u003e\u003cstrong\u003eParques Nacionales\u003c\/strong\u003e\u003c\/span\u003e protegen más de 16 millones de hectáreas de paisajes naturales.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e¡Llévalos en tus aventuras con tu hoodie de materiales sustentables!\u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_Hoodie_Green_Hug-11.png?v=1592581737\" 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\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg style=\"float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/1A.png?v=1629815238\"\u003e\u003c\/div\u003e","published_at":"2021-08-24T12:00:39-05:00","created_at":"2021-08-24T09:28:30-05:00","vendor":"Green Hug","type":"Hoodie","tags":["car del valle","hoodies","mujer","Nuevas Colecciones"],"price":89900,"price_min":89900,"price_max":89900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":41117850796201,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Parques Nacionales - Mujer - XS","public_title":"XS","options":["XS"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41117850828969,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Parques Nacionales - Mujer - S","public_title":"S","options":["S"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41117850861737,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Parques Nacionales - Mujer - M","public_title":"M","options":["M"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41117850894505,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Parques Nacionales - Mujer - L","public_title":"L","options":["L"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":41117850927273,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Parques Nacionales - Mujer - XL","public_title":"XL","options":["XL"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_G.jpg?v=1633967930","\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_Back_G.jpg?v=1633968467","\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_front_G.jpg?v=1633968549","\/\/www.greenhug.com\/cdn\/shop\/products\/image_830e1aeb-03ed-48ab-8304-e00b4106593a.jpg?v=1633968559"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_G.jpg?v=1633967930","options":["Size"],"media":[{"alt":null,"id":26553424969897,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1890,"width":1260,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_G.jpg?v=1633967930"},"aspect_ratio":0.667,"height":1890,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_G.jpg?v=1633967930","width":1260},{"alt":null,"id":26553497682089,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1401,"width":934,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_Back_G.jpg?v=1633968467"},"aspect_ratio":0.667,"height":1401,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_Back_G.jpg?v=1633968467","width":934},{"alt":null,"id":26553507545257,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1152,"width":768,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_front_G.jpg?v=1633968549"},"aspect_ratio":0.667,"height":1152,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Hoodie_front_G.jpg?v=1633968549","width":768},{"alt":null,"id":26093996409001,"position":4,"preview_image":{"aspect_ratio":1.335,"height":959,"width":1280,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/image_830e1aeb-03ed-48ab-8304-e00b4106593a.jpg?v=1633968559"},"aspect_ratio":1.335,"height":959,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/image_830e1aeb-03ed-48ab-8304-e00b4106593a.jpg?v=1633968559","width":1280}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: left;\"\u003e\n\u003cstrong\u003eTALLAS UNISEX, REVISA LA GUÍA DE MEDIDAS:\u003c\/strong\u003e \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 data-mce-style=\"text-align: left;\"\u003e\u003cspan style=\"color: #002606;\"\u003e\u003cstrong\u003eParques Nacionales\u003c\/strong\u003e\u003c\/span\u003e\u003c\/h5\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\n\u003cspan style=\"color: #23512a;\" data-mce-style=\"color: #23512a;\"\u003e\u003cstrong\u003eMEXICO\u003c\/strong\u003e\u003c\/span\u003e cuenta con todos los ecosistemas, volviéndolo un territorio de enorme biodiversidad.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eNuestros 67 \u003cspan style=\"color: #26562d;\"\u003e\u003cstrong\u003eParques Nacionales\u003c\/strong\u003e\u003c\/span\u003e protegen más de 16 millones de hectáreas de paisajes naturales.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e¡Llévalos en tus aventuras con tu hoodie de materiales sustentables!\u003c\/div\u003e\n\u003cbr\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_Hoodie_Green_Hug-11.png?v=1592581737\" 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\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg style=\"float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/1A.png?v=1629815238\"\u003e\u003c\/div\u003e"}
{"id":6868598325417,"title":"Hoodie Grey Rock Green Hug Logo - Mujer","handle":"hoodie-grey-rock-green-hug-logo-mujer","description":"\u003ch5 style=\"text-align: center;\"\u003eTallas Unisex. Revisa la Guía de Medidas.\u003cbr\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 style=\"text-align: center;\"\u003e\u003cstrong\u003eMartita mide 1.64 m de altura y está usando la talla XL. \u003c\/strong\u003e\u003c\/h5\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eKeyla mide 1. m de altura y está usando la talla XS.\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Info_hoodies_green_hug-10.png?v=1598117508\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_hoodies_green_hug_2020.png?v=1598116739\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-04-21T11:23:22-05:00","created_at":"2021-04-21T11:23:22-05:00","vendor":"Green Hug","type":"Hoodie","tags":["hoodies","mujer"],"price":89900,"price_min":89900,"price_max":89900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":40142534639785,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Rock Green Hug Logo - Mujer - XS","public_title":"XS","options":["XS"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142534672553,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Rock Green Hug Logo - Mujer - S","public_title":"S","options":["S"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142534705321,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Rock Green Hug Logo - Mujer - M","public_title":"M","options":["M"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142534738089,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Rock Green Hug Logo - Mujer - L","public_title":"L","options":["L"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142534770857,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Rock Green Hug Logo - Mujer - XL","public_title":"XL","options":["XL"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-15.jpg?v=1619032241","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-13.jpg?v=1619032241","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-16.jpg?v=1619032241","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-14.jpg?v=1619032241","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-18.jpg?v=1619032239"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-15.jpg?v=1619032241","options":["Size"],"media":[{"alt":null,"id":23668797374633,"position":1,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-15.jpg?v=1619032241"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-15.jpg?v=1619032241","width":940},{"alt":null,"id":23668797538473,"position":2,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-13.jpg?v=1619032241"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-13.jpg?v=1619032241","width":940},{"alt":null,"id":23668797440169,"position":3,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-16.jpg?v=1619032241"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-16.jpg?v=1619032241","width":940},{"alt":null,"id":23668797309097,"position":4,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-14.jpg?v=1619032241"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-14.jpg?v=1619032241","width":940},{"alt":null,"id":23668797472937,"position":5,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-18.jpg?v=1619032239"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-18.jpg?v=1619032239","width":940}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eTallas Unisex. Revisa la Guía de Medidas.\u003cbr\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 style=\"text-align: center;\"\u003e\u003cstrong\u003eMartita mide 1.64 m de altura y está usando la talla XL. \u003c\/strong\u003e\u003c\/h5\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eKeyla mide 1. m de altura y está usando la talla XS.\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Info_hoodies_green_hug-10.png?v=1598117508\"\u003e\n\u003cdiv aria-hidden=\"true\" role=\"dialog\" class=\"modal modal__bg\" id=\"modal\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_hoodies_green_hug_2020.png?v=1598116739\" style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg viewbox=\"0 0 24 24\" class=\"\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath fill=\"none\" d=\"M0 0h24v24h-24z\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e"}
{"id":6868531511465,"title":"Hoodie Grey Storm Green Hug Logo - Mujer","handle":"hoodie-grey-storm-green-hug-logo-mujer","description":"\u003ch5 style=\"text-align: center;\"\u003eTallas Unisex. Revisa la Guía de Medidas.\u003cbr\u003e\n\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_hoodie-05_480x480.jpg?v=1646942200\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eMartita mide 1.64 m de altura y está usando la talla XL. \u003c\/strong\u003e\u003c\/h5\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eKeyla mide 1. m de altura y está usando la talla XS.\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Info_hoodies_green_hug-10.png?v=1598117508\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_hoodies_green_hug_2020.png?v=1598116739\" alt=\"\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-04-21T11:22:19-05:00","created_at":"2021-04-21T11:18:23-05:00","vendor":"Green Hug","type":"Hoodie","tags":["mujer"],"price":89900,"price_min":89900,"price_max":89900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":40142394163369,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Storm Green Hug Logo - Mujer - XS","public_title":"XS","options":["XS"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142394196137,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Hoodie Grey Storm Green Hug Logo - Mujer - S","public_title":"S","options":["S"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142394228905,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Storm Green Hug Logo - Mujer - M","public_title":"M","options":["M"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142394261673,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Storm Green Hug Logo - Mujer - L","public_title":"L","options":["L"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":40142394294441,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Hoodie Grey Storm Green Hug Logo - Mujer - XL","public_title":"XL","options":["XL"],"price":89900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-9.jpg?v=1619032127","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-10.jpg?v=1619032127","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-12.jpg?v=1619032127","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-11.jpg?v=1619032127","\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-17.jpg?v=1619032127"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-9.jpg?v=1619032127","options":["Size"],"media":[{"alt":null,"id":23668647198889,"position":1,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-9.jpg?v=1619032127"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-9.jpg?v=1619032127","width":940},{"alt":null,"id":23668647231657,"position":2,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-10.jpg?v=1619032127"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-10.jpg?v=1619032127","width":940},{"alt":null,"id":23668647133353,"position":3,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-12.jpg?v=1619032127"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-12.jpg?v=1619032127","width":940},{"alt":null,"id":23668647264425,"position":4,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-11.jpg?v=1619032127"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-11.jpg?v=1619032127","width":940},{"alt":null,"id":23668647166121,"position":5,"preview_image":{"aspect_ratio":0.774,"height":1215,"width":940,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-17.jpg?v=1619032127"},"aspect_ratio":0.774,"height":1215,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/GHSUDADERA-17.jpg?v=1619032127","width":940}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eTallas Unisex. Revisa la Guía de Medidas.\u003cbr\u003e\n\u003c\/h5\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/guias_talles_y_costuras_hoodie-05_480x480.jpg?v=1646942200\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eMartita mide 1.64 m de altura y está usando la talla XL. \u003c\/strong\u003e\u003c\/h5\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eKeyla mide 1. m de altura y está usando la talla XS.\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Info_hoodies_green_hug-10.png?v=1598117508\"\u003e\n\u003cdiv id=\"modal\" class=\"modal modal__bg\" role=\"dialog\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"modal__dialog\"\u003e\n\u003cdiv class=\"modal__content\"\u003e\n\u003cimg style=\"height: 400px;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/t\/4\/assets\/Tallaje_hoodies_green_hug_2020.png?v=1598116739\" alt=\"\"\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":6583453941929,"title":"Palabras de Amor Cuello V - Green Moss","handle":"palabras-de-amor-cuello-v-verde","description":"\u003ch5 style=\"text-align: center;\"\u003e\u003c\/h5\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eGuía de tallas\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_V_480x480.jpg?v=1647015201\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003ePalabras de amor\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/cruzadainfo.png?v=1614358296\"\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-08T21:11:17-06:00","created_at":"2021-03-08T13:47:27-06:00","vendor":"Green Hug","type":"playera","tags":["mujer"],"price":27900,"price_min":27900,"price_max":39900,"available":true,"price_varies":true,"compare_at_price":39900,"compare_at_price_min":39900,"compare_at_price_max":39900,"compare_at_price_varies":false,"variants":[{"id":39383870472361,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor Cuello V - Green Moss - 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":39383870505129,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor Cuello V - Green Moss - 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":39383870537897,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor Cuello V - Green Moss - 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":39383870570665,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor Cuello V - Green Moss - L","public_title":"L","options":["L"],"price":27900,"weight":0,"compare_at_price":39900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39383870603433,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Palabras de Amor Cuello V - Green Moss - XL","public_title":"XL","options":["XL"],"price":27900,"weight":0,"compare_at_price":39900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7745.jpg?v=1615259466","\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7732.jpg?v=1615259466","\/\/www.greenhug.com\/cdn\/shop\/products\/Snapseed_2.jpg?v=1615259466"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7745.jpg?v=1615259466","options":["Size"],"media":[{"alt":null,"id":20897645756585,"position":1,"preview_image":{"aspect_ratio":0.695,"height":2018,"width":1403,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7745.jpg?v=1615259466"},"aspect_ratio":0.695,"height":2018,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7745.jpg?v=1615259466","width":1403},{"alt":null,"id":20897625637033,"position":2,"preview_image":{"aspect_ratio":0.619,"height":5060,"width":3134,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7732.jpg?v=1615259466"},"aspect_ratio":0.619,"height":5060,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7732.jpg?v=1615259466","width":3134},{"alt":null,"id":20897625669801,"position":3,"preview_image":{"aspect_ratio":1.58,"height":2443,"width":3860,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Snapseed_2.jpg?v=1615259466"},"aspect_ratio":1.58,"height":2443,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Snapseed_2.jpg?v=1615259466","width":3860}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003e\u003c\/h5\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eGuía de tallas\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_V_480x480.jpg?v=1647015201\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003ePalabras de amor\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/cruzadainfo.png?v=1614358296\"\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":6583445979305,"title":"Palabras de Amor Cuello V - Grey Rock","handle":"palabras-de-amor-cuello-v-gris","description":"\u003ch5 style=\"text-align: center;\"\u003eGuía de tallas\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_V_480x480.jpg?v=1647015201\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003ePalabras de amor\u003c\/h5\u003e\n\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/cruzadainfo.png?v=1614358296\"\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-08T21:19:25-06:00","created_at":"2021-03-08T13:44:09-06:00","vendor":"Green Hug","type":"playera","tags":["mujer"],"price":27900,"price_min":27900,"price_max":39900,"available":true,"price_varies":true,"compare_at_price":39900,"compare_at_price_min":39900,"compare_at_price_max":39900,"compare_at_price_varies":false,"variants":[{"id":39383838032041,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor Cuello V - Grey Rock - 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":39383838064809,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor Cuello V - Grey Rock - 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":39383838097577,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor Cuello V - Grey Rock - 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":39383838130345,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Palabras de Amor Cuello V - Grey Rock - L","public_title":"L","options":["L"],"price":27900,"weight":0,"compare_at_price":39900,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39383838163113,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Palabras de Amor Cuello V - Grey Rock - XL","public_title":"XL","options":["XL"],"price":27900,"weight":0,"compare_at_price":39900,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7779.jpg?v=1615259719","\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7767.jpg?v=1615259955","\/\/www.greenhug.com\/cdn\/shop\/products\/Snapseed.jpg?v=1615259955"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7779.jpg?v=1615259719","options":["Size"],"media":[{"alt":null,"id":20897668399273,"position":1,"preview_image":{"aspect_ratio":0.667,"height":5184,"width":3456,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7779.jpg?v=1615259719"},"aspect_ratio":0.667,"height":5184,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7779.jpg?v=1615259719","width":3456},{"alt":null,"id":20897689370793,"position":2,"preview_image":{"aspect_ratio":0.667,"height":5184,"width":3456,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7767.jpg?v=1615259955"},"aspect_ratio":0.667,"height":5184,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/MG_7767.jpg?v=1615259955","width":3456},{"alt":null,"id":20897689403561,"position":3,"preview_image":{"aspect_ratio":1.601,"height":2403,"width":3847,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Snapseed.jpg?v=1615259955"},"aspect_ratio":1.601,"height":2403,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Snapseed.jpg?v=1615259955","width":3847}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\"\u003eGuía de tallas\u003c\/h5\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_V_480x480.jpg?v=1647015201\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003ePalabras de amor\u003c\/h5\u003e\n\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/cruzadainfo.png?v=1614358296\"\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":6565076140201,"title":"Playera \"Sé Amable con el Planeta\" - Blue Ocean","handle":"se-amable-con-el-planeta-azul","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-03-01T14:01:20-06:00","created_at":"2021-03-01T12:12:26-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":39332669620393,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera \"Sé Amable con el Planeta\" - Blue Ocean - XS","public_title":"XS","options":["XS"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332669653161,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera \"Sé Amable con el Planeta\" - Blue Ocean - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332669685929,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Playera \"Sé Amable con el Planeta\" - Blue Ocean - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332669718697,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Playera \"Sé Amable con el Planeta\" - Blue Ocean - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332669751465,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Playera \"Sé Amable con el Planeta\" - Blue Ocean - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0011.jpg?v=1614622490","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0015.jpg?v=1614622503","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0013.jpg?v=1614622526","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0014.jpg?v=1614622527"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0011.jpg?v=1614622490","options":["Size"],"media":[{"alt":null,"id":20676283924649,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1401,"width":934,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0011.jpg?v=1614622490"},"aspect_ratio":0.667,"height":1401,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0011.jpg?v=1614622490","width":934},{"alt":null,"id":20676285497513,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1298,"width":866,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0015.jpg?v=1614622503"},"aspect_ratio":0.667,"height":1298,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0015.jpg?v=1614622503","width":866},{"alt":null,"id":20676287266985,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1278,"width":852,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0013.jpg?v=1614622526"},"aspect_ratio":0.667,"height":1278,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0013.jpg?v=1614622526","width":852},{"alt":null,"id":20676287299753,"position":4,"preview_image":{"aspect_ratio":1.5,"height":942,"width":1413,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0014.jpg?v=1614622527"},"aspect_ratio":1.5,"height":942,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0014.jpg?v=1614622527","width":1413}],"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":6565063557289,"title":"Playera \"Sé Amable con el Planeta\" - Green Moss","handle":"se-amable-con-el-planeta-verde","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\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:19-06:00","created_at":"2021-03-01T12:07:16-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":39332645273769,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera \"Sé Amable con el Planeta\" - Green Moss - 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":39332645306537,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Playera \"Sé Amable con el Planeta\" - Green Moss - 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":39332645339305,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Playera \"Sé Amable con el Planeta\" - Green Moss - 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":39332645372073,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera \"Sé Amable con el Planeta\" - Green Moss - 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":39332645404841,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera \"Sé Amable con el Planeta\" - Green Moss - 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-0022.jpg?v=1614622234","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0026.jpg?v=1614622255","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0024.jpg?v=1614622277","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0025.jpg?v=1614622277"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0022.jpg?v=1614622234","options":["Size"],"media":[{"alt":null,"id":20676258332841,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1263,"width":842,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0022.jpg?v=1614622234"},"aspect_ratio":0.667,"height":1263,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0022.jpg?v=1614622234","width":842},{"alt":null,"id":20676260200617,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1281,"width":854,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0026.jpg?v=1614622255"},"aspect_ratio":0.667,"height":1281,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0026.jpg?v=1614622255","width":854},{"alt":null,"id":20676263772329,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1269,"width":846,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0024.jpg?v=1614622277"},"aspect_ratio":0.667,"height":1269,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0024.jpg?v=1614622277","width":846},{"alt":null,"id":20676263805097,"position":4,"preview_image":{"aspect_ratio":1.499,"height":807,"width":1210,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0025.jpg?v=1614622277"},"aspect_ratio":1.499,"height":807,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0025.jpg?v=1614622277","width":1210}],"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\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":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":6565047271593,"title":"Playera \"Coexistir\" - Mujer","handle":"coexistir-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\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-03-01T14:01:17-06:00","created_at":"2021-03-01T11:50:35-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":39332573773993,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Playera \"Coexistir\" - 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":39332573806761,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera \"Coexistir\" - 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":39332573839529,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera \"Coexistir\" - 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":39332573872297,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Playera \"Coexistir\" - 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":39332573905065,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Playera \"Coexistir\" - 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-0006.jpg?v=1619020494","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0007.jpg?v=1619020509","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0008.jpg?v=1619020519","\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0009.jpg?v=1619020530","\/\/www.greenhug.com\/cdn\/shop\/products\/coexistirsignificado_de6ec663-4313-47c9-9fb0-5f284680fcd6.png?v=1619020551"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0006.jpg?v=1619020494","options":["Size"],"media":[{"alt":"Modelo usando la playera de frente, se ve la playera gris de manga corta, cuello redondo, y el diseño \"coexistir\" a color en el centro.","id":20676138401961,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1326,"width":884,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0006.jpg?v=1619020494"},"aspect_ratio":0.667,"height":1326,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0006.jpg?v=1619020494","width":884},{"alt":"Modelo usando la playera en un ángulo 45º","id":20676138434729,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1542,"width":1028,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0007.jpg?v=1619020509"},"aspect_ratio":0.667,"height":1542,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0007.jpg?v=1619020509","width":1028},{"alt":"la espalda de la playera: lisa, gris.","id":20676138467497,"position":3,"preview_image":{"aspect_ratio":0.667,"height":1357,"width":905,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0008.jpg?v=1619020519"},"aspect_ratio":0.667,"height":1357,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0008.jpg?v=1619020519","width":905},{"alt":"Se muestra el diseño \"coexistir\": una ilustración a color donde se aprecia un árbol de sauce, varios animales como el jaguar, la vaca, un perro y aves, y un hombre con barba al centro","id":20676138500265,"position":4,"preview_image":{"aspect_ratio":1.499,"height":942,"width":1412,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0009.jpg?v=1619020530"},"aspect_ratio":1.499,"height":942,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/Greenhug-Febrero-2021-0009.jpg?v=1619020530","width":1412},{"alt":"\"¿Por qué la tierra sería más de nosotros que de cualquier otra especie? ¿Por qué nuestra vida valdría más que la de cualquier otro animal, insecto o árbol? Si, al final, todos dependemos de todos y las diferentes especies de la tierra, menos de nosotros que nosotros de ellos. Arrasar o coexistir será la gran diferencia de si la tierra lidiará con nosotros como un virus, o nos mantendrá como parte de ella.\" - Roy González, autor de Coexistir","id":20759744970921,"position":5,"preview_image":{"aspect_ratio":0.999,"height":1494,"width":1493,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/coexistirsignificado_de6ec663-4313-47c9-9fb0-5f284680fcd6.png?v=1619020551"},"aspect_ratio":0.999,"height":1494,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/coexistirsignificado_de6ec663-4313-47c9-9fb0-5f284680fcd6.png?v=1619020551","width":1493}],"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":6565004968105,"title":"Palabras de Amor - Grey Rock","handle":"palabras-de-amor-gris","description":"\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\u003c\/h5\u003e\n\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\u003cstrong\u003eGuía de tallas\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cdiv\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\/div\u003e\n\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\n\u003cstrong\u003ePalabras de amor\u003c\/strong\u003e\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/cruzadainfo.png?v=1614358296\"\u003e\n\u003c\/h5\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=\"\" data-mce-style=\"height: 400px;\"\u003e \u003ca class=\"modal__close demo-close\"\u003e \u003csvg class=\"\" viewbox=\"0 0 24 24\"\u003e \u003cpath d=\"M19 6.41l-1.41-1.41-5.59 5.59-5.59-5.59-1.41 1.41 5.59 5.59-5.59 5.59 1.41 1.41 5.59-5.59 5.59 5.59 1.41-1.41-5.59-5.59z\"\u003e\u003c\/path\u003e \u003cpath d=\"M0 0h24v24h-24z\" fill=\"none\"\u003e\u003c\/path\u003e \u003c\/svg\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle media=\"screen\"\u003e\u003c!--\n@media (max-width: 590px) {\n .modal__content img{\n height: 180px !important;\n}\n }\n\n.modal {\n will-change: visibility, opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 1000;\n visibility: hidden;\n opacity: 0;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal--active {\n visibility: visible;\n opacity: 1;\n}\n.modal--align-top {\n align-items: flex-start;\n}\n.modal__bg {\n background: transparent;\n}\n.modal__dialog {\n max-width: 800px;\n padding: 1.2rem;\n text-align: center !important;\n}\n.modal__content {\n will-change: transform, opacity;\n position: relative;\n padding: 2.4rem !important;\n background: white;\n background-clip: padding-box;\n box-shadow: 0 12px 15px 0 rgba(0,0,0,0.25);\n opacity: 0;\n transition: all 0.25s cubic-bezier(0.23, 1, 0.32, 1);\ntext-align: center !important;\n}\n.modal__content--active {\n opacity: 1;\n}\n.modal-text{\nborder: 1px solid red;\n}\n.modal__close {\n z-index: 1100;\n cursor: pointer;\n}\n.modal__trigger {\n position: relative;\n display: inline-block;\n margin: 1 auto;\n padding: 1.2rem 2.4rem;\n color: white;\n background-color: #a9bb18;\n line-height: 1;\n cursor: pointer;\n box-shadow: 0 2px 5px 0 rgba(0,0,0,0.26);\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n border-radius:25px;\n position: relative; left: 50% !important;\ntransform: translateX(-50%) !important;\n}\n.modal__trigger p{\npadding-top:20px;\n}\n\n.modal__trigger--active {\n z-index: 10;\n}\n\n#modal__temp {\n will-change: transform, opacity;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: white;\n -webkit-transform: none;\n transform: none;\n opacity: 1;\n transition: opacity 0.1s ease-out, -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n transition: opacity 0.1s ease-out, transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.demo-btns header {\n padding: 7vh 10vw;\n background: #ffebee;\n display: flex;\n align-items: center;\n}\n.demo-btns header h1 {\n margin: 0;\n color: rgba(0,0,0,0.54);\n font-weight: 300;\n}\n.demo-btns .info {\n background: #f44336;\n padding: 3vh 10vw;\n height: 70vh;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-flow: column wrap;\n}\n@media (max-width: 700px) {\n .modal__content br{\n display: none !important;\n}\n\n}\n.demo-close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 1.2rem;\n padding: 0.6rem;\n background: rgba(0,0,0,0.3);\n border-radius: 50%;\n transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);\n}\n.demo-close svg {\n width: 24px;\n fill: #fff;\n pointer-events: none;\n vertical-align: top;\n}\n.demo-close:hover {\n background: rgba(0,0,0,0.6);\n}\n--\u003e\u003c\/style\u003e\n\u003cscript type=\"text\/javascript\"\u003e\/\/ \u003c![CDATA[\nvar Modal = (function() {\n\n var trigger = $qsa('.modal__trigger'); \/\/ what you click to activate the modal\n var modals = $qsa('.modal'); \/\/ the entire modal (takes up entire window)\n var modalsbg = $qsa('.modal__bg'); \/\/ the entire modal (takes up entire window)\n var content = $qsa('.modal__content'); \/\/ the inner content of the modal\n var closers = $qsa('.modal__close'); \/\/ an element used to close the modal\n var w = window;\n var isOpen = false;\n var contentDelay = 400; \/\/ duration after you click the button and wait for the content to show\n var len = trigger.length;\n\n \/\/ make it easier for yourself by not having to type as much to select an element\n function $qsa(el) {\n return document.querySelectorAll(el);\n }\n\n var getId = function(event) {\n\n event.preventDefault();\n var self = this;\n \/\/ get the value of the data-modal attribute from the button\n var modalId = self.dataset.modal;\n var len = modalId.length;\n \/\/ remove the '#' from the string\n var modalIdTrimmed = modalId.substring(1, len);\n \/\/ select the modal we want to activate\n var modal = document.getElementById(modalIdTrimmed);\n \/\/ execute function that creates the temporary expanding div\n makeDiv(self, modal);\n };\n\n var makeDiv = function(self, modal) {\n\n var fakediv = document.getElementById('modal__temp');\n\n \/**\n * if there isn't a 'fakediv', create one and append it to the button that was\n * clicked. after that execute the function 'moveTrig' which handles the animations.\n *\/\n\n if (fakediv === null) {\n var div = document.createElement('div');\n div.id = 'modal__temp';\n self.appendChild(div);\n moveTrig(self, modal, div);\n }\n };\n\n var moveTrig = function(trig, modal, div) {\n var trigProps = trig.getBoundingClientRect();\n var m = modal;\n var mProps = m.querySelector('.modal__content').getBoundingClientRect();\n var transX, transY, scaleX, scaleY;\n var xc = w.innerWidth \/ 2;\n var yc = w.innerHeight \/ 2;\n\n \/\/ this class increases z-index value so the button goes overtop the other buttons\n trig.classList.add('modal__trigger--active');\n\n \/\/ these values are used for scale the temporary div to the same size as the modal\n scaleX = mProps.width \/ trigProps.width;\n scaleY = mProps.height \/ trigProps.height;\n\n scaleX = scaleX.toFixed(3); \/\/ round to 3 decimal places\n scaleY = scaleY.toFixed(3);\n\n\n \/\/ these values are used to move the button to the center of the window\n transX = Math.round(xc - trigProps.left - trigProps.width \/ 2);\n transY = Math.round(yc - trigProps.top - trigProps.height \/ 2);\n\n \/\/ if the modal is aligned to the top then move the button to the center-y of the modal instead of the window\n if (m.classList.contains('modal--align-top')) {\n transY = Math.round(mProps.height \/ 2 + mProps.top - trigProps.top - trigProps.height \/ 2);\n }\n\n\n \/\/ translate button to center of screen\n trig.style.transform = 'translate(' + transX + 'px, ' + transY + 'px)';\n trig.style.webkitTransform = 'translate(' + transX + 'px, ' + transY + 'px)';\n \/\/ expand temporary div to the same size as the modal\n div.style.transform = 'scale(' + scaleX + ',' + scaleY + ')';\n div.style.webkitTransform = 'scale(' + scaleX + ',' + scaleY + ')';\n\n\n window.setTimeout(function() {\n window.requestAnimationFrame(function() {\n open(m, div);\n });\n }, contentDelay);\n\n };\n\n var open = function(m, div) {\n\n if (!isOpen) {\n \/\/ select the content inside the modal\n var content = m.querySelector('.modal__content');\n \/\/ reveal the modal\n m.classList.add('modal--active');\n \/\/ reveal the modal content\n content.classList.add('modal__content--active');\n\n \/**\n * when the modal content is finished transitioning, fadeout the temporary\n * expanding div so when the window resizes it isn't visible ( it doesn't\n * move with the window).\n *\/\n\n content.addEventListener('transitionend', hideDiv, false);\n\n isOpen = true;\n }\n\n function hideDiv() {\n \/\/ fadeout div so that it can't be seen when the window is resized\n div.style.opacity = '0';\n content.removeEventListener('transitionend', hideDiv, false);\n }\n };\n\n var close = function(event) {\n\n event.preventDefault();\n event.stopImmediatePropagation();\n\n var target = event.target;\n var div = document.getElementById('modal__temp');\n\n \/**\n * make sure the modal__bg or modal__close was clicked, we don't want to be able to click\n * inside the modal and have it close.\n *\/\n\n if (isOpen \u0026\u0026 target.classList.contains('modal__bg') || target.classList.contains('modal__close')) {\n\n \/\/ make the hidden div visible again and remove the transforms so it scales back to its original size\n div.style.opacity = '1';\n div.removeAttribute('style');\n\n \/**\n * iterate through the modals and modal contents and triggers to remove their active classes.\n * remove the inline css from the trigger to move it back into its original position.\n *\/\n\n for (var i = 0; i \u003c len; i++) {\n modals[i].classList.remove('modal--active');\n content[i].classList.remove('modal__content--active');\n trigger[i].style.transform = 'none';\n trigger[i].style.webkitTransform = 'none';\n trigger[i].classList.remove('modal__trigger--active');\n }\n\n \/\/ when the temporary div is opacity:1 again, we want to remove it from the dom\n div.addEventListener('transitionend', removeDiv, false);\n\n isOpen = false;\n\n }\n\n function removeDiv() {\n setTimeout(function() {\n window.requestAnimationFrame(function() {\n \/\/ remove the temp div from the dom with a slight delay so the animation looks good\n div.remove();\n });\n }, contentDelay - 50);\n }\n\n };\n\n var bindActions = function() {\n for (var i = 0; i \u003c len; i++) {\n trigger[i].addEventListener('click', getId, false);\n closers[i].addEventListener('click', close, false);\n modalsbg[i].addEventListener('click', close, false);\n }\n };\n\n var init = function() {\n bindActions();\n };\n\n return {\n init: init\n };\n\n }());\n\n Modal.init();\n\/\/ ]]\u003e\u003c\/script\u003e\n\u003cstyle\u003e\u003c!--\n.desc {\n border: 1px solid #e8e5e2;\n border-radius: 10px;\n max-width: 400px;\n text-align:center;\n padding: 10px;\n display: block;\n margin: 0 auto;\n }\n .desc img{\n height:100px;\n }\n--\u003e\u003c\/style\u003e","published_at":"2021-03-01T18:58:25-06:00","created_at":"2021-03-01T11:06:40-06:00","vendor":"Green Hug","type":"playera","tags":["mujer"],"price":27900,"price_min":27900,"price_max":39900,"available":true,"price_varies":true,"compare_at_price":39900,"compare_at_price_min":39900,"compare_at_price_max":39900,"compare_at_price_varies":false,"variants":[{"id":39332468719785,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor - Grey Rock - 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":39332468785321,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor - Grey Rock - 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":39332468850857,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor - Grey Rock - 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":39332468916393,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"Palabras de Amor - Grey Rock - L","public_title":"L","options":["L"],"price":27900,"weight":0,"compare_at_price":39900,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":39332468981929,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"Palabras de Amor - Grey Rock - XL","public_title":"XL","options":["XL"],"price":27900,"weight":0,"compare_at_price":39900,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/palabrasdeamorgris.jpg?v=1614976393","\/\/www.greenhug.com\/cdn\/shop\/products\/WhatsAppImage2021-03-01at1.27.10PM.jpg?v=1614976393","\/\/www.greenhug.com\/cdn\/shop\/products\/gris.jpg?v=1614976393","\/\/www.greenhug.com\/cdn\/shop\/products\/WhatsAppImage2021-03-01at1.27.12PM.jpg?v=1614976393"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/palabrasdeamorgris.jpg?v=1614976393","options":["Size"],"media":[{"alt":null,"id":20771288154281,"position":1,"preview_image":{"aspect_ratio":0.8,"height":1203,"width":962,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/palabrasdeamorgris.jpg?v=1614976393"},"aspect_ratio":0.8,"height":1203,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/palabrasdeamorgris.jpg?v=1614976393","width":962},{"alt":null,"id":20676762009769,"position":2,"preview_image":{"aspect_ratio":0.75,"height":1280,"width":960,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/WhatsAppImage2021-03-01at1.27.10PM.jpg?v=1614976393"},"aspect_ratio":0.75,"height":1280,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/WhatsAppImage2021-03-01at1.27.10PM.jpg?v=1614976393","width":960},{"alt":null,"id":20678481969321,"position":3,"preview_image":{"aspect_ratio":1.226,"height":1044,"width":1280,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gris.jpg?v=1614976393"},"aspect_ratio":1.226,"height":1044,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/gris.jpg?v=1614976393","width":1280},{"alt":null,"id":20676762239145,"position":4,"preview_image":{"aspect_ratio":0.784,"height":1280,"width":1004,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/WhatsAppImage2021-03-01at1.27.12PM.jpg?v=1614976393"},"aspect_ratio":0.784,"height":1280,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/WhatsAppImage2021-03-01at1.27.12PM.jpg?v=1614976393","width":1004}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\u003c\/h5\u003e\n\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\u003cstrong\u003eGuía de tallas\u003c\/strong\u003e\u003c\/h5\u003e\n\u003cdiv\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\/div\u003e\n\u003ch5 style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003e\n\u003cstrong\u003ePalabras de amor\u003c\/strong\u003e\u003cbr\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/cruzadainfo.png?v=1614358296\"\u003e\n\u003c\/h5\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=\"\" 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":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":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":4807396753513,"title":"V-Neck Black Sand - Mujer","handle":"v-neck-black-sand-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_V_480x480.jpg?v=1647015201\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eFeris mide 1.76m 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-01.png?v=1602390606\" 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:47:22-05:00","created_at":"2020-10-09T13:04:03-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":32858977271913,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck Black Sand - Mujer - XS","public_title":"XS","options":["XS"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32858977304681,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"V-Neck Black Sand - Mujer - S","public_title":"S","options":["S"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32858977337449,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck Black Sand - Mujer - M","public_title":"M","options":["M"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32858977370217,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck Black Sand - Mujer - L","public_title":"L","options":["L"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]},{"id":32858977402985,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck Black Sand - Mujer - XL","public_title":"XL","options":["XL"],"price":39900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/www.greenhug.com\/cdn\/shop\/products\/vnecknegramujerlado.jpg?v=1602266775","\/\/www.greenhug.com\/cdn\/shop\/products\/negravneckmujerfrente.jpg?v=1602266775","\/\/www.greenhug.com\/cdn\/shop\/products\/negramujerdet.png?v=1602266777"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/vnecknegramujerlado.jpg?v=1602266775","options":["Size"],"media":[{"alt":null,"id":8028097478761,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1395,"width":930,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vnecknegramujerlado.jpg?v=1602266775"},"aspect_ratio":0.667,"height":1395,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vnecknegramujerlado.jpg?v=1602266775","width":930},{"alt":null,"id":8028097511529,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1400,"width":934,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/negravneckmujerfrente.jpg?v=1602266775"},"aspect_ratio":0.667,"height":1400,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/negravneckmujerfrente.jpg?v=1602266775","width":934},{"alt":null,"id":8028097577065,"position":3,"preview_image":{"aspect_ratio":1.202,"height":628,"width":755,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/negramujerdet.png?v=1602266777"},"aspect_ratio":1.202,"height":628,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/negramujerdet.png?v=1602266777","width":755}],"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_V_480x480.jpg?v=1647015201\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\u003cstrong\u003eFeris mide 1.76m 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-01.png?v=1602390606\" 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":4807393247337,"title":"V-Neck Green Moss - Mujer","handle":"v-neck-green-moss-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_V_480x480.jpg?v=1647015201\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eFeris mide 1.76m 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-01.png?v=1602390606\" 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:49:09-05:00","created_at":"2020-10-09T12:56:51-05:00","vendor":"Green Hug","type":"Hoodie","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":32858969473129,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck 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":32858969505897,"title":"S","option1":"S","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck 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":32858969538665,"title":"M","option1":"M","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck 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":32858969571433,"title":"L","option1":"L","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck 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":32858969604201,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck 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\/vneckverdemujerlado.jpg?v=1602266420","\/\/www.greenhug.com\/cdn\/shop\/products\/vneckverdemujerfrente.jpg?v=1602266420","\/\/www.greenhug.com\/cdn\/shop\/products\/verdemujerdet.png?v=1602266432"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckverdemujerlado.jpg?v=1602266420","options":["Size"],"media":[{"alt":null,"id":8028069396585,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1380,"width":920,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckverdemujerlado.jpg?v=1602266420"},"aspect_ratio":0.667,"height":1380,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckverdemujerlado.jpg?v=1602266420","width":920},{"alt":null,"id":8028069429353,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1445,"width":964,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckverdemujerfrente.jpg?v=1602266420"},"aspect_ratio":0.667,"height":1445,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckverdemujerfrente.jpg?v=1602266420","width":964},{"alt":null,"id":8028070215785,"position":3,"preview_image":{"aspect_ratio":1.059,"height":625,"width":662,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdemujerdet.png?v=1602266432"},"aspect_ratio":1.059,"height":625,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/verdemujerdet.png?v=1602266432","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 src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0012\/7287\/3018\/files\/Guia_tallas_Mujer_cuello_V_480x480.jpg?v=1647015201\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eFeris mide 1.76m 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-01.png?v=1602390606\" 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":4807382990953,"title":"V-Neck Grey Rock - Mujer","handle":"v-neck-grey-rock-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_V_480x480.jpg?v=1647015201\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eFeris mide 1.76m 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-01.png?v=1602390606\" 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:49:59-05:00","created_at":"2020-10-09T12:40:46-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":32858912161897,"title":"XS","option1":"XS","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck Grey Rock - 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":32858912194665,"title":"S","option1":"S","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"V-Neck Grey Rock - 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":32858912227433,"title":"M","option1":"M","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"V-Neck Grey Rock - 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":32858912260201,"title":"L","option1":"L","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":false,"name":"V-Neck Grey Rock - 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":32858912292969,"title":"XL","option1":"XL","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"V-Neck Grey Rock - 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\/vneckgrismujerlado.jpg?v=1602265572","\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerfrente.jpg?v=1602265572","\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerdetalle.png?v=1602265690"],"featured_image":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerlado.jpg?v=1602265572","options":["Size"],"media":[{"alt":null,"id":8027982856297,"position":1,"preview_image":{"aspect_ratio":0.667,"height":1422,"width":948,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerlado.jpg?v=1602265572"},"aspect_ratio":0.667,"height":1422,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerlado.jpg?v=1602265572","width":948},{"alt":null,"id":8027982889065,"position":2,"preview_image":{"aspect_ratio":0.667,"height":1447,"width":965,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerfrente.jpg?v=1602265572"},"aspect_ratio":0.667,"height":1447,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerfrente.jpg?v=1602265572","width":965},{"alt":null,"id":8028005171305,"position":3,"preview_image":{"aspect_ratio":1.088,"height":633,"width":689,"src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerdetalle.png?v=1602265690"},"aspect_ratio":1.088,"height":633,"media_type":"image","src":"\/\/www.greenhug.com\/cdn\/shop\/products\/vneckgrismujerdetalle.png?v=1602265690","width":689}],"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_V_480x480.jpg?v=1647015201\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch5 style=\"text-align: center;\"\u003e\n\u003cstrong\u003eFeris mide 1.76m 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-01.png?v=1602390606\" 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"}