1<!doctype html> 2<html class="no-js supports-no-cookies" lang="es"> 3<head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width,initial-scale=1"> 7 <meta name="theme-color" content=""> 8 <link rel="canonical" href="https://www.ball-pages.com/pages/ball-pages"> 9 <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 10 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 11 <link rel="preconnect" href="https://fonts.shopify.com" crossorigin> 12 <link rel="preconnect" href="https://monorail-edge.shopifysvc.com"> 13<link rel="shortcut icon" href="//www.ball-pages.com/cdn/shop/files/Noir_Cercle_avec_Ustensiles_Restaurant_Logo_32x32.png?v=1634729187" type="image/png"><title>Ball Pagès | Moda consciente en tus pies.</title><meta name="description" content="Somos Ball Pagès, una marca que nació en pleno corazon de Ibiza, en el Mediterráneo. Allà aprendimos el savoir-faire de las tradicionales alpargatas al que les añadimos nuestra mirada, tendencia y unos valores claros: sostenibilidad, exclusividad, hand-made, tradición y solidaridad. ¿Te animas a conocernos?">
13<script> 14 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 15 </script>
15 16 17 <!-- Start IE11 compatibility --> 18
18<script> 19 if (!!window.MSInputMethodContext && !!document.documentMode) { 20 // CSSVar Polyfill 21 document.write('
21<script src="https://cdn.jsdelivr.net/gh/nuxodin/[email protected]/ie11CustomProperties.min.js"><\x2fscript>'); 22 23 document.documentElement.className = document.documentElement.className.replace('js', 'no-js'); 24 25 document.addEventListener('DOMContentLoaded', function () { 26 var elsToLazyload = document.querySelectorAll('.lazyload'); 27 for (var i = 0; i < elsToLazyload.length; i++) { 28 var elToLazyLoad = elsToLazyload[i]; 29 elToLazyLoad.removeAttribute('src'); 30 var src = elToLazyLoad.getAttribute('data-src').replace('_{width}x.', '_600x.'); 31 elToLazyLoad.setAttribute('src', src); 32 elToLazyLoad.classList.remove('lazyload'); 33 elToLazyLoad.classList.add('lazyloaded'); 34 } 35 }); 36 } 37 </script>
37 38 <!-- End IE11 compatibility --> 39 <style>:root { 40 --base-font-size: 100.0%; 41 --base-line-height: 1.2; 42 43 --heading-font-stack: Helvetica, Arial, sans-serif; 44 --heading-font-weight: 400; 45 --heading-font-style: normal; 46 --heading-line-height: 1; 47 48 49 --body-font-stack: Helvetica, Arial, sans-serif; 50 --body-font-weight: 400; 51 --body-font-bold: FontDrop; 52 --body-font-bold-italic: FontDrop; 53 54 /* 55 Primary color scheme 56 */ 57 --color-primary-accent: rgb(14, 101, 247); 58 --color-primary-text: rgb(3, 3, 3); 59 --color-primary-text-rgb: 3, 3, 3; 60 --color-primary-background: rgb(250, 250, 250); 61 --color-primary-background-hex: #fafafa; 62 --color-primary-meta: rgb(226, 33, 32); 63 --color-primary-text--overlay: rgb(250, 250, 250); 64 --color-primary-accent--overlay: rgb(250, 250, 250); 65 --color-primary-text-placeholder: rgba(3, 3, 3, 0.1); 66 --color-primary-background-0: rgba(250, 250, 250, 0); 67 68 69 /* 70 Secondary color scheme 71 */ 72 --color-secondary-accent: rgb(14, 101, 247); 73 --color-secondary-text: rgb(226, 33, 32); 74 --color-secondary-background: rgb(250, 250, 250); 75 --color-secondary-background-hex: #fafafa; 76 --color-secondary-meta: rgb(157, 157, 157); 77 --color-secondary-text--overlay: rgb(250, 250, 250); 78 --color-secondary-accent--overlay: rgb(250, 250, 250); 79 --color-secondary-text-placeholder: rgba(226, 33, 32, 0.1); 80 --color-secondary-background-0: rgba(250, 250, 250, 0); 81 82 /* 83 Tertiary color scheme 84 */ 85 --color-tertiary-accent: rgb(14, 101, 247); 86 --color-tertiary-text: rgb(3, 3, 3); 87 --color-tertiary-background: rgb(198, 198, 198); 88 --color-tertiary-background-hex: #c6c6c6; 89 --color-tertiary-meta: rgb(157, 157, 157); 90 --color-tertiary-text--overlay: rgb(198, 198, 198); 91 --color-tertiary-accent--overlay: rgb(198, 198, 198); 92 --color-tertiary-text-placeholder: rgba(3, 3, 3, 0.1); 93 --color-tertiary-background-0: rgba(198, 198, 198, 0); 94 95 --white-text--overlay: rgb(3, 3, 3); 96 --black-text--overlay: rgb(250, 250, 250); 97 98 --color-border: rgb(3, 3, 3); 99 --border-width: 1px; 100 101 102 --text-width: 1px; 103 --checkbox-width: 1px; 104 105 106 --font-heading: Helvetica, Arial, sans-serif; 107 --font-body: Helvetica, Arial, sans-serif; 108 --font-body-weight: 400; 109 --font-body-style: normal; 110 --font-body-bold-weight: bold; 111 112 --heading-letterspacing: 0.0; 113 --heading-capitalize: none; 114 --heading-decoration: underline; 115 116 --bopy-copy-transform: none; 117 118 --wrapperWidth: 100vw; 119 --gutter: 1px; 120 --rowHeight: calc((var(--wrapperWidth) - (11 * var(--gutter))) / 12); 121 122 --ratioA: 1; 123 --ratioB: 1; 124 125 --header-height: 66px; 126 --add-to-cart-height: 44px; 127 128 --spacing: 2rem; 129 --spacing-double: 4rem; 130 --spacing-half: 1rem; 131 132 /* 133 Buttons 134 */ 135 --button-text-transform: none; 136 --button-border-radius: 9999px; 137 --button-border-color: var(--color-primary-text); 138 --button-background-color: transparent; 139 --button-text-color: var(--color-primary-text); 140 --button-border-color-hover: var(--color-primary-accent); 141 --button-background-color-hover: transparent; 142 --button-text-color-hover: var(--color-primary-accent); 143 144 145 /* 146 SVG ico select 147 */ 148 --icon-svg-select: url(//www.ball-pages.com/cdn/shop/t/9/assets/ico-select.svg?v=128124354853601741871631872255); 149 --icon-svg-select-primary: url(//www.ball-pages.com/cdn/shop/t/9/assets/ico-select__primary.svg?v=64649021622037566091632124274); 150 --icon-svg-select-secondary: url(//www.ball-pages.com/cdn/shop/t/9/assets/ico-select__secondary.svg?v=70453943961369426541634722376); 151 --icon-svg-select-tertiary: url(//www.ball-pages.com/cdn/shop/t/9/assets/ico-select__tertiary.svg?v=64526164766875009681632124274); 152 153 } 154</style> 155 156 <style> 157 @keyframes marquee { 158 0% { 159 transform: translateX(0); 160 -webkit-transform: translateX(0); 161 } 162 100% { 163 transform: translateX(-100%); 164 -webkit-transform: translateX(-100%); 165 } 166 } 167 </style> 168 <style>#MainContent{opacity:0;visibility:hidden}[x-cloak]{display:none!important}.marquee-container{visibility:hidden}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;margin:0}hr{color:inherit;height:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}
168code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}
168[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{color:inherit;line-height:inherit;padding:0}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bg-transparent{background-color:transparent}.bg-primary-background{background-color:var(--color-primary-background)}.bg-primary-accent{background-color:var(--color-primary-accent)}.bg-secondary-background{background-color:var(--color-secondary-background)}.bg-secondary-accent{background-color:var(--color-secondary-accent)}.bg-tertiary-background{background-color:var(--color-tertiary-background)}.bg-tertiary-accent{background-color:var(--color-tertiary-accent)}.bg-header-background{background-color:var(--color-header-background)}.bg-header-accent{background-color:var(--color-header-accent)}.bg-footer-background{background-color:var(--color-footer-background)}.bg-footer-accent{background-color:var(--color-footer-accent)}.bg-border{background-color:var(--color-border)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-primary-background-0{--tw-gradient-from:var(--color-primary-background-0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.from-secondary-background-0{--tw-gradient-from:var(--color-secondary-background-0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.from-tertiary-background-0{--tw-gradient-from:var(--color-tertiary-background-0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.from-header-background-0{--tw-gradient-from:var(--color-header-background-0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-primary-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-primary-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-secondary-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-secondary-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-tertiary-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-tertiary-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-header-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-header-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.via-footer-background{--tw-gradient-stops:var(--tw-gradient-from),var(--color-footer-background),var(--tw-gradient-to,hsla(0,0%,100%,0))}.to-primary-background{--tw-gradient-to:var(--color-primary-background)}.to-secondary-background{--tw-gradient-to:var(--color-secondary-background)}.to-tertiary-background{--tw-gradient-to:var(--color-tertiary-background)}.to-header-background{--tw-gradient-to:var(--color-header-background)}.to-footer-background{--tw-gradient-to:var(--color-footer-background)}.border-primary-text{border-color:var(--color-primary-text)}.border-secondary-text{border-color:var(--color-secondary-text)}.border-tertiary-text{border-color:var(--color-tertiary-text)}.border-header-text{border-color:var(--color-header-text)}.border-footer-text{border-color:var(--color-footer-text)}.border-white-text{--tw-border-opacity:1;border-color:rgba(255,255,255,var(--tw-border-opacity))}.border-black-text{--tw-border-opacity:1;border-color:rgba(0,0,0,var(--tw-border-opacity))}.border-grid-color,.border-theme-color{border-color:var(--color-border)}.hover\:border-primary-accent:hover{border-color:var(--color-primary-accent)}.hover\:border-secondary-accent:hover{border-color:var(--color-secondary-accent)}.hover\:border-tertiary-accent:hover{border-color:var(--color-tertiary-accent)}.hover\:border-header-accent:hover{border-color:var(--color-header-accent)}.hover\:border-footer-accent:hover{border-color:var(--color-footer-accent)}.rounded-full{border-radius:9999px}.border-t-grid{border-top-width:var(--border-width)}.border-b-grid{border-bottom-width:var(--border-width)}.border-b-text{border-bottom-width:var(--text-width)}.block{display:block}.inline-block{display:inline-block}
168.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-grow{flex-grow:1}.h-2{height:.5rem}.h-5{height:1.25rem}.text-sm{font-size:.8rem}.text-base,.text-sm{line-height:var(--base-line-height)}.text-base{font-size:1rem}.text-lg{font-size:1.25rem}.text-lg,.text-xl{line-height:var(--base-line-height)}.text-xl{font-size:1.563rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.mb-2{margin-bottom:.5rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.ml-4{margin-left:1rem}.mr-6{margin-right:1.5rem}.ml-16{margin-left:4rem}.ml-auto{margin-left:auto}.-ml-4{margin-left:-1rem}.-ml-16{margin-left:-4rem}.opacity-0{opacity:0}.opacity-100{opacity:1}.overflow-x-auto{overflow-x:auto}.p-1{padding:.25rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-4{padding-bottom:1rem;padding-top:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-theme{padding-bottom:var(--spacing);padding-top:var(--spacing)}.py-theme-half{padding-bottom:var(--spacing-half);padding-top:var(--spacing-half)}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pt-8{padding-top:2rem}.placeholder-current::-moz-placeholder{color:currentColor}.placeholder-current:-ms-input-placeholder{color:currentColor}.placeholder-current::placeholder{color:currentColor}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:.25rem}.top-2{top:.5rem}.right-2{right:.5rem}.-bottom-2{bottom:-.5rem}.left-1\/2{left:50%}*{--tw-shadow:0 0 transparent;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.fill-current{fill:currentColor}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary-text{color:var(--color-primary-text)}.text-primary-accent{color:var(--color-primary-accent)}.text-secondary-text{color:var(--color-secondary-text)}.text-secondary-accent{color:var(--color-secondary-accent)}.text-tertiary-text{color:var(--color-tertiary-text)}.text-tertiary-accent{color:var(--color-tertiary-accent)}.text-header-text{color:var(--color-header-text)}.text-header-accent{color:var(--color-header-accent)}.text-footer-text{color:var(--color-footer-text)}.text-footer-accent{color:var(--color-footer-accent)}.text-white-text{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-black-text{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.hover\:text-primary-accent:hover{color:var(--color-primary-accent)}.hover\:text-secondary-accent:hover{color:var(--color-secondary-accent)}.hover\:text-tertiary-accent:hover{color:var(--color-tertiary-accent)}.hover\:text-header-accent:hover{color:var(--color-header-accent)}.hover\:text-footer-accent:hover{color:var(--color-footer-accent)}.italic{font-style:italic}.uppercase{text-transform:uppercase}.oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.w-2{width:.5rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-theme-width{width:var(--border-width)}.w-1\/3{width:33.333333%}.w-full{width:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-60{z-index:60}.z-70{z-index:70}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.origin-center{transform-origin:center}.rotate-180{--tw-rotate:180deg}.-translate-x-1\/2{--tw-translate-x:-50%}.translate-y-1{--tw-translate-y:0.25rem}.translate-y-full{--tw-translate-y:100%}.translate-y-0-important{--tw-translate-y:0px!important}.transition{transition-duration:.15s;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}html{background-color:var(--color-primary-background);color:var(--color-primary-text)}html.rte a:hover,html .rte a:hover{color:var(--color-primary-accent);-webkit-text-decoration-color:var(--color-primary-accent);text-decoration-color:var(--color-primary-accent)}html :focus{outline-color:var(--color-primary-accent);outline-offset:.25rem;outline-style:solid;outline-width:var(--text-width)}html{font-size:var(--base-font-size);line-height:var(--base-line-height)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--body-font-stack);font-style:var(--body-font-style);font-weight:var(--body-font-weight);-webkit-text-size-adjust:100%;text-transform:var(--bopy-copy-transform)}.font-heading{font-family:var(--heading-font-stack);font-style:var(--heading-font-style);
168font-weight:var(--heading-font-weight);letter-spacing:var(--heading-letterspacing);-webkit-text-decoration:var(--heading-decoration);text-decoration:var(--heading-decoration);text-transform:var(--heading-capitalize)}.font-body{font-family:var(--body-font-stack);font-style:var(--body-font-style);font-weight:var(--body-font-weight);letter-spacing:0;text-decoration:none;text-transform:var(--body-font-style);text-transform:var(--bopy-copy-transform)}.responsive-image-wrapper:before{content:"";display:block}.responsive-image{opacity:0}.responsive-image.lazyloaded{opacity:1}.responsive-image-placeholder{opacity:.05}.responsive-image.lazyloaded+.responsive-image-placeholder{opacity:0}.text-primary-text .responsive-image-placeholder{background-color:var(--color-primary-text)}.text-secondary-text .responsive-image-placeholder{background-color:var(--color-secondary-text)}.text-tertiary-text .responsive-image-placeholder{background-color:var(--color-tertiary-text)}.no-js .responsive-image-placeholder{display:none}.visually-hidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}svg{height:100%;width:100%}.skip-link{background-color:var(--color-primary-background);color:var(--color-primary-text);left:0;opacity:0;padding:1rem;pointer-events:none;position:absolute;top:0;z-index:50}select.skip-link{background-image:var(--icon-svg-select-primary)}.skip-link.rte a:hover,.skip-link .rte a:hover,.text-primary-text.rte a:hover,.text-primary-text .rte a:hover{color:var(--color-primary-accent);-webkit-text-decoration-color:var(--color-primary-accent);text-decoration-color:var(--color-primary-accent)}.skip-link :focus{outline-color:var(--color-primary-accent);outline-offset:.25rem;outline-style:solid;outline-width:var(--text-width)}.skip-link:focus{opacity:1;pointer-events:auto}#sticky-positioner{height:1px;left:0;position:absolute;top:var(--border-width);width:1px}.no-js:not(html){display:none}.no-js .no-js:not(html){display:block}.supports-no-cookies:not(html),[hidden],[x-cloak],html.no-js .js-enabled{display:none}.supports-no-cookies .supports-no-cookies:not(html){display:block}.section-x-padding{padding-left:.5rem;padding-right:.5rem}@media (min-width:1024px){.section-x-padding{padding-left:1rem;padding-right:1rem}}#MainContent .shopify-section:first-of-type section{margin-top:calc(var(--border-width)*-1)}#MainContent .shopify-section.has-full-screen-setting:first-of-type section .h-screen-header{height:calc(100vh - var(--header-height, 0px))}@media (max-width:1023px){#MainContent .shopify-section.has-full-screen-setting:first-of-type section .background-video-wrapper--full-screen{padding-bottom:calc(100vh - var(--header-height, 0px))}}@media (min-width:1024px){#MainContent .shopify-section.has-full-screen-setting:first-of-type section .lg\:background-video-wrapper--full-screen{padding-bottom:calc(100vh - var(--header-height, 0px))}}select{background-image:var(--icon-svg-select);background-position:100%;background-repeat:no-repeat;background-size:1em 1em}input[type=email],input[type=password],input[type=text]{-webkit-appearance:none;border-radius:0}select.text-primary-text{background-image:var(--icon-svg-select-primary)}select.text-secondary-text{background-image:var(--icon-svg-select-secondary)}select.text-tertiary-text{background-image:var(--icon-svg-select-tertiary)}.button{background-color:var(--button-background-color);border-color:var(--button-border-color);border-radius:var(--button-border-radius);border-width:var(--text-width);color:var(--button-text-color);cursor:pointer;padding:.5rem 2rem;text-transform:var(--button-text-transform)}.button:hover{background-color:var(--button-background-color-hover);border-color:var(--button-border-color-hover);color:var(--button-text-color-hover)}.show-button-arrows .button:after{content:"\00a0\00a0\2192"}.button span,.button svg,button span,button svg{pointer-events:none}@media (prefers-reduced-motion:reduce){.marquee-container{display:block;padding-left:.5rem;padding-right:.5rem;text-align:center;white-space:normal}@media (min-width:1024px){.marquee-container{padding-left:1rem;padding-right:1rem}}
168.marquee span{display:none}.marquee span:first-child{display:inline}}.marquee-container{visibility:visible}.rte>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.rte{line-height:var(--base-line-height)}.rte img{height:auto;max-width:100%;width:100%}.rte ol,.rte ul{margin-left:var(--spacing)}.rte ol>:not([hidden])~:not([hidden]),.rte ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.rte ul{list-style-type:disc}.rte ol{list-style:decimal}.rte h1{font-size:1.953rem;line-height:var(--base-line-height)}@media (min-width:1024px){.rte h1{font-size:3.815rem;line-height:1}}.rte h2{font-size:1.953rem;line-height:var(--base-line-height)}@media (min-width:1024px){.rte h2{font-size:2.441rem;line-height:calc(var(--base-line-height)*.9)}}.rte h1,.rte h2{font-family:var(--heading-font-stack);font-style:var(--heading-font-style);font-weight:var(--heading-font-weight);letter-spacing:var(--heading-letterspacing);-webkit-text-decoration:var(--heading-decoration);text-decoration:var(--heading-decoration);text-transform:var(--heading-capitalize)}.rte a{text-decoration:underline}.text-primary-text.rte a:hover,.text-primary-text .rte a:hover{color:var(--color-primary-accent);-webkit-text-decoration-color:var(--color-primary-accent);text-decoration-color:var(--color-primary-accent)}.text-secondary-text.rte a:hover,.text-secondary-text .rte a:hover{color:var(--color-secondary-accent);-webkit-text-decoration-color:var(--color-secondary-accent);text-decoration-color:var(--color-secondary-accent)}.text-tertiary-text.rte a:hover,.text-tertiary-text .rte a:hover{color:var(--color-tertiary-accent);-webkit-text-decoration-color:var(--color-tertiary-accent);text-decoration-color:var(--color-tertiary-accent)}.svg-scale svg{height:1em;width:1em}.svg-scale-height svg{height:.8em;width:auto}.bg-primary-background :focus{outline-color:var(--color-primary-accent)}.bg-primary-background :focus,.bg-secondary-background :focus{outline-offset:.25rem;outline-style:solid;outline-width:var(--text-width)}.bg-secondary-background :focus{outline-color:var(--color-secondary-accent)}.bg-tertiary-background :focus{outline-color:var(--color-tertiary-accent);outline-offset:.25rem;outline-style:solid;outline-width:var(--text-width)}@media (min-width:640px){.sm\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}}@media (min-width:768px){.md\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}}@media (min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:flex-wrap{flex-wrap:wrap}.lg\:mt-0{margin-top:0}.lg\:ml-2{margin-left:.5rem}.lg\:pt-0{padding-top:0}.lg\:relative{position:relative}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lg\:w-1\/3{width:33.333333%}.lg\:w-2\/3{width:66.666667%}.lg\:w-3\/4{width:75%}}@media (min-width:1280px){.xl\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}}@media (min-width:1536px){.\32xl\:oldstyle-nums{--tw-ordinal:var(--tw-empty,/*!*/ /*!*/);--tw-slashed-zero:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-spacing:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-fraction:var(--tw-empty,/*!*/ /*!*/);--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}} 169</style> 170 171 172 173<meta property="og:site_name" content="Ball Pagès"> 174<meta property="og:url" content="https://www.ball-pages.com/pages/ball-pages"> 175<meta property="og:title" content="Ball Pagès | Moda consciente en tus pies."> 176<meta property="og:type" content="website"> 177<meta property="og:description" content="Somos Ball Pagès, una marca que nació en pleno corazon de Ibiza, en el Mediterráneo. Allà aprendimos el savoir-faire de las tradicionales alpargatas al que les añadimos
177nuestra mirada, tendencia y unos valores claros: sostenibilidad, exclusividad, hand-made, tradición y solidaridad. ¿Te animas a conocernos?"><meta property="og:image" content="http://www.ball-pages.com/cdn/shop/files/17042025-IMG_0529_d7b9a5b0-9695-4b78-bfdd-e4a3b0c5ebb1.jpg?v=1745958287"> 178 <meta property="og:image:secure_url" content="https://www.ball-pages.com/cdn/shop/files/17042025-IMG_0529_d7b9a5b0-9695-4b78-bfdd-e4a3b0c5ebb1.jpg?v=1745958287"> 179 <meta property="og:image:width" content="3024"> 180 <meta property="og:image:height" content="3024"> 181 182 183<meta name="twitter:card" content="summary_large_image"> 184<meta name="twitter:title" content="Ball Pagès | Moda consciente en tus pies."> 185<meta name="twitter:description" content="Somos Ball Pagès, una marca que nació en pleno corazon de Ibiza, en el Mediterráneo. Allà aprendimos el savoir-faire de las tradicionales alpargatas al que les añadimos nuestra mirada, tendencia y unos valores claros: sostenibilidad, exclusividad, hand-made, tradición y solidaridad. ¿Te animas a conocernos?"> 186 187 188
189<script> 190function onLoadStylesheet() { 191 var url = "//www.ball-pages.com/cdn/shop/t/9/assets/theme.min.css?v=108654193248828413981634075950"; 192 var link = document.querySelector('link[href="' + url + '"]'); 193 link.loaded = true; 194 link.dispatchEvent(new CustomEvent('stylesLoaded')); 195 } 196 window.theme_stylesheet = '//www.ball-pages.com/cdn/shop/t/9/assets/theme.min.css?v=108654193248828413981634075950'; 197</script>
197 198<link rel="stylesheet" href="//www.ball-pages.com/cdn/shop/t/9/assets/theme.min.css?v=108654193248828413981634075950" media="print" onload="this.media='all';onLoadStylesheet();"> 199<noscript><link rel="stylesheet" href="//www.ball-pages.com/cdn/shop/t/9/assets/theme.min.css?v=108654193248828413981634075950"></noscript> 200 201 202 203 204 <style> 205 206 207 208 209 210 211 </style> 212 213
214<script> 215window.baseAssetsUrl = '//www.ball-pages.com/cdn/shop/t/9/'; 216</script>
vendor: 1 bytes, line 216
216
217<script type="module" src="//www.ball-pages.com/cdn/shop/t/9/assets/theme.min.js?v=80461444111214686451634221570" defer="defer"></script>
217 218 219
219<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
219<meta name="google-site-verification" content="4agOeQjAyiFVjxVfz4b4_MJdXCk7XqVek0UACU7aShE"> 220<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/734298169/digital_wallets/dialog"> 221<meta id="in-context-paypal-metadata" data-shop-id="734298169" data-venmo-supported="false" data-environment="production" data-locale="es_ES" data-paypal-v4="true" data-currency="AMD"> 222<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" hreflang="x-default" href="https://www.ball-pages.com/pages/ball-pages"> 223<link rel="alternate" hreflang="es" href="https://www.ball-pages.com/pages/ball-pages"> 224<link rel="alternate" hreflang="ca" href="https://www.ball-pages.com/ca/pages/ball-pages"> 225<link rel="alternate" hreflang="fr" href="https://www.ball-pages.com/fr/pages/ball-pages"> 226<link rel="alternate" hreflang="en" href="https://www.ball-pages.com/en/pages/ball-pages">
227<script async="async" src="/checkouts/internal/preloads.js?locale=es-AM"></script>
227 228<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
229<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=es-AM&shop_id=734298169" crossorigin="anonymous"></script>
vendor: 1 bytes, line 229
229
230<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":734298169,"countryCode":"ES","currencyCode":"AMD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/734298169","merchantName":"Ball Pagès","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":[],"total":{"type":"pending","label":"Ball Pagès","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":false}</script>
vendor: 1 bytes, line 230
230
231<script id="shopify-features" type="application/json">{"accessToken":"87c09a2ab1ea1d07e388a724c9847112","betas":["rich-media-storefront-analytics"],"domain":"www.ball-pages.com","predictiveSearch":true,"shopId":734298169,"locale":"es"}</script>
vendor: 1 bytes, line 231
231
232<script>var Shopify = Shopify || {}; 233Shopify.shop = "ball-pages.myshopify.com"; 234Shopify.locale = "es"; 235Shopify.currency = {"active":"AMD","rate":"415.53576"}; 236Shopify.country = "AM"; 237Shopify.theme = {"name":"Baseline","id":120446353502,"schema_name":"Baseline","schema_version":"2.0.9","theme_store_id":910,"role":"main"}; 238Shopify.theme.handle = "null"; 239Shopify.theme.style = {"id":null,"handle":null}; 240Shopify.cdnHost = "www.ball-pages.com/cdn"; 241Shopify.routes = Shopify.routes || {}; 242Shopify.routes.root = "/"; 243Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 244Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 245Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 246Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 246
246
247<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 247
247
248<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 248
248
249<script> 250 window.ShopifyPay = window.ShopifyPay || {}; 251 window.ShopifyPay.apiHost = "shop.app\/pay"; 252 window.ShopifyPay.redirectState = null; 253</script>
vendor: 1 bytes, line 253
253
254<script> 255 window.Shopify = window.Shopify || {}; 256 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 257 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 258 window.Shopify.SignInWithShop.eligible = true; 259</script>
vendor: 1 bytes, line 259
259
260<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 260
260
261<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.es.esm.js"></script>
vendor: 1 bytes, line 261
261
262<script type="module"> 263 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.es.esm.js"); 264 265 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 266 267</script>
vendor: 1 bytes, line 267
267
268<script> 269 window.Shopify = window.Shopify || {}; 270 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 271 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.es.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.es.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.es.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.es.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.es.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.es.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.es.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.es.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.es.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.es.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.es.esm.js"],"listener":["modules/v2/loader.listener.es.esm.js"],"pay-button":["modules/v2/loader.pay-button.es.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.es.esm.js"],"shop-button":["modules/v2/loader.shop-button.es.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.es.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.es.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.es.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.es.esm.js"],"shop-login":["modules/v2/loader.shop-login.es.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.es.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.es.esm.js"]}; 272</script>
vendor: 1 bytes, line 272
272
273<script>(function() { 274 var isLoaded = false; 275 function asyncLoad() { 276 if (isLoaded) return; 277 isLoaded = true; 278 var urls = ["https:\/\/sales-pop.carecart.io\/lib\/salesnotifier.js?shop=ball-pages.myshopify.com"]; 279 for (var i = 0; i < urls.length; i++) { 280 var s = document.createElement('script'); 281 s.type = 'text/javascript'; 282 s.async = true; 283 s.src = urls[i]; 284 var x = document.getElementsByTagName('script')[0]; 285 x.parentNode.insertBefore(s, x); 286 } 287 }; 288 if(window.attachEvent) { 289 window.attachEvent('onload', asyncLoad); 290 } else { 291 window.addEventListener('load', asyncLoad, false); 292 } 293})();</script>
vendor: 1 bytes, line 293
293
294<script id="__st">var __st={"a":734298169,"offset":7200,"reqid":"c1e33354-9d3a-4d27-9cd9-f76ad994941f-1791322930","pageurl":"www.ball-pages.com\/pages\/ball-pages","s":"pages-16645390393","u":"54612a4cb89e","p":"page","rtyp":"page","rid":16645390393};</script>
vendor: 1 bytes, line 294
294
295<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 295
295
296<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protegido por hCaptcha',privacyText:'Privacidad',termsText:'Términos'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 296
296
297<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.ball-pages.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 297
297
298<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.ball-pages.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
298<script crossorigin="anonymous" defer="defer" src="//www.ball-pages.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 298
298
299<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 299
299
300<script> 301 window.Shopify = window.Shopify || {}; 302 window.Shopify.MCP = window.Shopify.MCP || {}; 303 window.Shopify.MCP.enabled = true; 304 window.Shopify.MCP.shop = "ball-pages.myshopify.com"; 305 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.ball-pages.com\/api\/mcp"; 306 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 307</script>
vendor: 1 bytes, line 307
307
308<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.ball-pages.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 309</script>
vendor: 1 bytes, line 309
309
310<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.ball-pages.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.es.js",t.type="module",document.head.appendChild(t)}}; 311</script>
vendor: 1 bytes, line 311
311
312<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 313 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 314</script>
vendor: 1 bytes, line 314
314
315<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 316</script>
316 317<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.ball-pages.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 318<style id="shopify-accelerated-checkout-cart"> 319 #shopify-buyer-consent { 320 margin-top: 1em; 321 display: inline-block; 322 width: 100%; 323} 324 325#shopify-buyer-consent.hidden { 326 display: none; 327} 328 329#shopify-subscription-policy-button { 330 background: none; 331 border: none; 332 padding: 0; 333 text-decoration: underline; 334 font-size: inherit; 335 cursor: pointer; 336} 337 338#shopify-subscription-policy-button::before { 339 box-shadow: none; 340} 341 342 </style> 343
344<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
344 345<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
346<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 734298169,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 346
346
347<script> 348 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 349</script>
vendor: 1 bytes, line 349
349
350<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
350).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 734298169,storefrontBaseUrl: "https://www.ball-pages.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.ball-pages.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"887554377","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-LJ1LX0T7WJ\\\",\\\"GT-MK4628N\\\"],\\\"target_country\\\":\\\"ES\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-LJ1LX0T7WJ\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-LJ1LX0T7WJ\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-LJ1LX0T7WJ\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-LJ1LX0T7WJ\\\",\\\"MC-VW6MXXQP7T\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-LJ1LX0T7WJ\\\",\\\"MC-VW6MXXQP7T\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-LJ1LX0T7WJ\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-LJ1LX0T7WJ\\\",\\\"MC-VW6MXXQP7T\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-LJ1LX0T7WJ\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-LJ1LX0T7WJ\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-LJ1LX0T7WJ\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-LJ1LX0T7WJ\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"278430025","configuration":"{\"pixel_id\":\"550034341837992\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Ball Pagès","paymentSettings":{"currencyCode":"EUR"},"myshopifyDomain":"ball-pages.myshopify.com","countryCode":"ES","storefrontUrl":"https:\/\/www.ball-pages.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.ball-pages.com/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"120446353502","themeStoreId":"910","themePublished":"true","eventMetadataId":"ded1219c-da3e-4b64-853f-2e4d78b8f50f","pageType":"page","resourceId":"16645390393","shopId":"734298169","storefrontBaseUrl":"https:\/\/www.ball-pages.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
350<script> 351 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 352 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 353 window.ShopifyAnalytics.meta.currency = 'AMD'; 354 var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":16645390393,"requestId":"c1e33354-9d3a-4d27-9cd9-f76ad994941f-1791322930"}}; 355 for (var attr in meta) { 356 window.ShopifyAnalytics.meta[attr] = meta[attr]; 357 } 358</script>
vendor: 1 bytes, line 358
358
359<script class="analytics"> 360 (function () { 361 var customDocumentWrite = function(content) { 362 var jquery = null; 363 364 if (window.jQuery) { 365 jquery = window.jQuery; 366 } else if (window.Checkout && window.Checkout.$) { 367 jquery = window.Checkout.$; 368 } 369 370 if (jquery) { 371 jquery('body').append(content); 372 } 373 }; 374 375 var hasLoggedConversion = function(token) { 376 if (token) { 377 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 378 } 379 return false; 380 } 381 382 var setCookieIfConversion = function(token) { 383 if (token) { 384 var twoMonthsFromNow = new Date(Date.now()); 385 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 386 387 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 388 } 389 } 390 391 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 392 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 393 if (trekkie.integrations) { 394 return; 395 } 396 trekkie.methods = [ 397 'identify', 398 'page', 399 'ready', 400 'track', 401 'trackForm', 402 'trackLink' 403 ]; 404 trekkie.factory = function(method) { 405 return function() { 406 var args = Array.prototype.slice.call(arguments); 407 args.unshift(method); 408 trekkie.push(args); 409 if (method == 'track' || method == 'page') { 410 var pageUrl; 411 try { 412 pageUrl = window.location.href; 413 } catch (e) {} 414 var pageReferrer; 415 try { 416 pageReferrer = document.referrer; 417 } catch (e) {} 418 try { 419 if (window.__TREKKIE_SHIM_QUEUE == null) { 420 window.__TREKKIE_SHIM_QUEUE = []; 421 } 422 window.__TREKKIE_SHIM_QUEUE.push({ 423 from: 'trekkie-stub', 424 method: method, 425 args: args.slice(1), 426 pageContext: { 427 url: pageUrl, 428 referrer: pageReferrer 429 } 430 }); 431 } catch (e) { 432 // no-op 433 } 434 } 435 return trekkie; 436 }; 437 }; 438 for (var i = 0; i < trekkie.methods.length; i++) { 439 var key = trekkie.methods[i]; 440 trekkie[key] = trekkie.factory(key); 441 } 442 trekkie.load = function(config) { 443 trekkie.config = config || {}; 444 trekkie.config.initialDocumentCookie = document.cookie; 445 var first = document.getElementsByTagName('script')[0]; 446var script = document.createElement('script'); 447script.type = 'text/javascript'; 448script.onerror = function(e) { 449 var scriptFallback = document.createElement('script'); 450 scriptFallback.type = 'text/javascript'; 451 scriptFallback.onerror = function(error) { 452 var Monorail = { 453 produce: function produce(monorailDomain, schemaId, payload) { 454 var currentMs = new Date().getTime(); 455 var event = { 456 schema_id: schemaId, 457 payload: payload, 458 metadata: { 459 event_created_at_ms: currentMs, 460 event_sent_at_ms: currentMs 461 } 462 }; 463 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 464 }, 465 sendRequest: function sendRequest(endpointUrl, payload) { 466 // Try the sendBeacon API 467 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 468 var blobData = new window.Blob([payload], { 469 type: 'text/plain' 470 }); 471 472 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 473 return true; 474 } // sendBeacon was not successful 475 476 } // XHR beacon 477 478 var xhr = new XMLHttpRequest(); 479 480 try { 481 xhr.open('POST', endpointUrl); 482 xhr.setRequestHeader('Content-Type', 'text/plain'); 483 xhr.send(payload); 484 } catch (e) { 485 console.log(e); 486 } 487 488 return false; 489 }, 490 isIos12: function isIos12() { 491 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 492 } 493 }; 494 Monorail.produce('monorail-edge.shopifysvc.com', 495 'trekkie_storefront_load_errors/1.1', 496 {shop_id: 734298169, 497 theme_id: 120446353502, 498 app_name: "storefront", 499 context_url: window.location.href, 500 source_url: "//www.ball-pages.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 501 502 }; 503 scriptFallback.async = true; 504 scriptFallback.src = '//www.ball-pages.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 505 first.parentNode.insertBefore(scriptFallback, first); 506}; 507script.async = true; 508script.src = '//www.ball-pages.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 509first.parentNode.insertBefore(script, first); 510 511 }; 512 trekkie.load( 513 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":734298169,"isMerchantRequest":null,"themeId":120446353502,"themeCityHash":"17171350562015119201","contentLanguage":"es","currency":"AMD","eventMetadataId":"ded1219c-da3e-4b64-853f-2e4d78b8f50f"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 514 ); 515 516 var loaded = false;
517 trekkie.ready(function() { 518 if (loaded) return; 519 loaded = true; 520 521 window.ShopifyAnalytics.lib = window.trekkie; 522 523 var originalDocumentWrite = document.write; 524 document.write = customDocumentWrite; 525 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 526 document.write = originalDocumentWrite; 527 528 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 529 var token = match? match[1]: undefined; 530 if (!hasLoggedConversion(token)) { 531 setCookieIfConversion(token); 532 533 } 534 }); 535 536 window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":16645390393,"requestId":"c1e33354-9d3a-4d27-9cd9-f76ad994941f-1791322930","shopifyEmitted":true}); 537 538 var eventsListenerScript = document.createElement('script'); 539 eventsListenerScript.async = true; 540 eventsListenerScript.src = "//www.ball-pages.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 541 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 542})();</script>
vendor: 1 bytes, line 542
542
543<script 544 defer 545 src="https://www.ball-pages.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 546 data-application="storefront-renderer" 547 data-shop-id="734298169" 548 data-render-region="gcp-europe-west1" 549 data-page-type="page" 550 data-theme-instance-id="120446353502" 551 data-theme-name="Baseline" 552 data-theme-version="2.0.9" 553 data-monorail-region="shop_domain" 554 data-resource-timing-sampling-rate="10" 555 data-shs="true" 556 data-shs-beacon="true" 557 data-shs-export-with-fetch="true" 558 data-shs-logs-sample-rate="1" 559 data-shs-beacon-endpoint="https://www.ball-pages.com/api/collect" 560></script>
560 561<meta name="shopify-y" content="afed97d1-40fe-47f4-ae06-778f57243304" data-expiration="1822880530000"><meta name="shopify-s" content="68d6c54d-efaf-4982-a1db-82a71a79c113" data-expiration="1791324730000"><meta name="new-cookie-storage-activated" content="t"> 562</head> 563 564<body id="ball-pages-moda-consciente-en-tus-pies" class="template-page show-button-arrows">
565<script>window.KlarnaThemeGlobals={};</script>
565 566 567 568 <a class="in-page-link skip-link" href="#MainContent">Ir directamente al contenido</a> 569 <div id="shopify-section-sidebar" class="shopify-section"><section class="section-sidebar" x-data="ThemeSection_sidebar()" x-init="mounted()" data-section-id="sidebar" data-section-type="sidebar" x-cloak> 570 <noscript> 571 <div class="section-x-padding py-2 bg-primary-background text-primary-text text-right"> 572 <button class="py-2 inline-flex items-center justify-center " 573 data-menu-drawer-toggle> 574 <span class="inline-block w-5 h-5 align-middle mr-2"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-menu" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M23 16v2H1v-2h22zm0-10v2H1V6h22z"></path></svg></span> 575 <span>Menú</span> 576 </button> 577 </div> 578 </noscript> 579 <div class="sidebar-container z-60 fixed top-0 left-0 bottom-0 w-11/12 max-w-xl bg-primary-background text-primary-text border-r-grid border-grid-color transform transition-transform overflow-y-auto" 580 x-show="$store.drawer.menuDrawerOpen" 581 x-transition:enter="transition ease duration-300" 582 x-transition:enter-start="opacity-0 -translate-x-full" 583 x-transition:enter-end="opacity-100" 584 x-transition:leave="transition ease duration-300" 585 x-transition:leave-end="opacity-100 -translate-x-full" 586 @click.away.prevent="$store.drawer.menuDrawerOpen = false" 587 role="dialog" 588 aria-modal="true" 589 data-menu-drawer> 590 <div class="js-enabled top-0 relative flex items-center justify-end py-4 section-x-padding bg-primary-background "> 591 <button @click.prevent="$store.drawer.menuDrawerOpen = false" class="block w-5 h-5 top-0"> 592 <span class="visually-hidden">Cerrar</span> 593 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-close" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M18.364 4.222l1.414 1.414L13.414 12l6.364 6.364-1.414 1.414L12 13.414l-6.364 6.364-1.414-1.414L10.586 12 4.222 5.636l1.414-1.414L12 10.586z"></path></svg> 594 </button> 595 </div> 596 <nav class="" aria-label="Primary"> 597 <ul><li class="no-js-focus-wrapper section-x-padding border-t-grid border-grid-color"><a class="inline-block py-4 w-full text-base" href="/collections/shop"> 598 SHOP 599 </a></li><li class="no-js-focus-wrapper section-x-padding border-t-grid border-grid-color"><button data-accordion 600 class="block relative w-full text-left inline-block py-4 w-full text-base pr-10 transition ease font-body" 601 x-bind:aria-expanded="accordionOpen.accordion0? true: 'false'" 602 @click="accordionOpen.accordion0 = !accordionOpen.accordion0" 603 aria-controls="accordion0"> 604 BP02 605 <span class="absolute right-0 w-5 top-1/2 transform -translate-y-1/2 flex items-center"><span class="inline-block transform transition origin-center" :class="{'rotate-180': accordionOpen.accordion0}"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-chevron-down" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 16.596L4.222 8.818l1.414-1.414L12 13.768l6.364-6.364 1.414 1.414z"></path></svg></span></span> 606 </button> 607 <ul id="accordion0" 608 class="pb-2 pl-4 no-js-focus-container" 609 x-show="accordionOpen.accordion0" 610 x-cloak><li class="no-js-focus-wrapper"><a class="inline-block py-1" href="/pages/ball-pages"> 611 ABOUT 612 </a></li><li class="no-js-focus-wrapper"><a class="inline-block py-1" href="/pages/proceso"> 613 PROCESO 614 </a></li><li class="no-js-focus-wrapper"><a class="inline-block py-1" href="/pages/responsabilidad-social-corporativa"> 615 RESPONSABILIDAD SOCIAL CORPORATIVA 616 </a></li><li class="no-js-focus-wrapper"><a class="inline-block py-1" href="/blogs/news"> 617 BLOG 618 </a></li></ul></li></ul> 619 </nav>
620 <div class="border-t-grid border-grid-color"> 621 <nav class="my-6" aria-label="Secondary"> 622 <ul><li class="section-x-padding"> 623 <a class="inline-block py-1" href="/pages/contacto"> 624 Contacto 625 </a> 626 </li><li class="section-x-padding"> 627 <a class="inline-block py-1" href="/policies/terms-of-service"> 628 Aviso Legal 629 </a> 630 </li><li class="section-x-padding"> 631 <a class="inline-block py-1" href="/policies/privacy-policy"> 632 Politica de Privacidad 633 </a> 634 </li><li class="section-x-padding"> 635 <a class="inline-block py-1" href="/policies/refund-policy"> 636 Cambios y Devoluciones 637 </a> 638 </li></ul> 639 </nav> 640 641 642 <ul class="section-x-padding space-y-1"> 643 644 <li> 645 <a href="https://www.ball-pages.com/customer_authentication/redirect?locale=es&region_country=AM" id="customer_login_link">Ingresar</a> 646 </li> 647 <li> 648 <a href="https://shopify.com/734298169/account?locale=es®ion_country=AM&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJiYWxsLXBhZ2VzLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MTkyNzczMCwibmJmIjoxNzkxMzIyOTMwfQ.UyPBSdKba4D4gqQPmENqL-jAhAsVlUeJug7cSEwcCgo" id="customer_register_link">Crear cuenta</a> 649 </li> 650 651 </ul> 652 �<form class="my-6 section-x-padding" action="/search" method="get" role="search"> 653 <div class="flex w-full max-w-xs items-end"> 654 <label for="sidebar-search" class="visually-hidden">Buscar</label> 655 <input 656 class="min-w-0 flex-auto bg-transparent border-current border-b-text placeholder-current py-1.5" 657 id="sidebar-search" 658 type="text" 659 name="q" 660 placeholder="Buscar" 661 /> 662 <button class="px-1" 663 type="submit"> 664 <span class="inline-block w-5 h-5"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-search" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M10.533 17.438a6.968 6.968 0 01-6.96-6.96 6.968 6.968 0 016.96-6.96 6.968 6.968 0 016.96 6.96 6.968 6.968 0 01-6.96 6.96zm6.949-1.314a8.917 8.917 0 002.01-5.646c0-4.941-4.02-8.96-8.96-8.96-4.94 0-8.96 4.019-8.96 8.96 0 4.94 4.02 8.96 8.96 8.96 2.082 0 3.996-.72 5.52-1.916l4.962 4.96 1.415-1.413-4.947-4.945z"></path></svg></span> 665 <span class="visually-hidden">Buscar</span> 666 </button> 667 </div> 668 </form> 669 670 <div class="section-x-padding my-8"> 671 <ul class="-ml-2"> 672 � 673 674 675 676 677 <li class="ml-2 mb-2 inline-block"> 678 <a class="fill-current hover:text-primary-accent" href="https://www.facebook.com/ballpages" target="_blank"> 679 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-facebook" viewBox="0 0 20 20"><path d="M18.05.811q.439 0 .744.305t.305.744v16.637q0 .439-.305.744t-.744.305h-4.732v-7.221h2.415l.342-2.854h-2.757v-1.83q0-.659.293-1t1.073-.342h1.488V3.762q-.976-.098-2.171-.098-1.634 0-2.635.964t-1 2.72V9.47H7.951v2.854h2.415v7.221H1.413q-.439 0-.744-.305t-.305-.744V1.859q0-.439.305-.744T1.413.81H18.05z"></path></svg></span> 680 <span class="visually-hidden">Facebook</span> 681 </a> 682 </li> 683 684 685 686 � 687 688 689 690 691 � 692 693 694 695 696 <li class="ml-2 mb-2 inline-block"> 697 <a class="fill-current hover:text-primary-accent" href="https://www.pinterest.es/ballpages/_created/" target="_blank"> 698 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-pinterest" viewBox="0 0 20 20"><path d="M9.958.811q1.903 0 3.635.744t2.988 2 2 2.988.744 3.635q0 2.537-1.256 4.696t-3.415 3.415-4.696 1.256q-1.39 0-2.659-.366.707-1.147.951-2.025l.659-2.561q.244.463.903.817t1.39.354q1.464 0 2.622-.842t1.793-2.305.634-3.293q0-2.171-1.671-3.769t-4.257-1.598q-1.586 0-2.903.537T5.298 5.897 4.066 7.775t-.427 2.037q0 1.268.476 2.22t1.427 1.342q.171.073.293.012t.171-.232q.171-.61.195-.756.098-.268-.122-.512-.634-.707-.634-1.83 0-1.854 1.281-3.183t3.354-1.329q1.83 0 2.854 1t1.025 2.61q0 1.342-.366 2.476t-1.049 1.817-1.561.683q-.732 0-1.195-.537t-.293-1.269q.098-.342.256-.878t.268-.915.207-.817.098-.732q0-.61-.317-1t-.927-.39q-.756 0-1.269.695t-.512 1.744q0 .39.061.756t.134.537l.073.171q-1 4.342-1.22 5.098-.195.927-.146 2.171-2.513-1.122-4.062-3.44T.59 10.177q0-3.879 2.744-6.623T9.957.81z"></path></svg></span>
699 <span class="visually-hidden">Pinterest</span> 700 </a> 701 </li> 702 703 704 705 � 706 707 708 709 710 <li class="ml-2 mb-2 inline-block"> 711 <a class="fill-current hover:text-primary-accent" href="https://www.instagram.com/ballpages/" target="_blank"> 712 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-instagram" viewBox="0 0 512 512"><path d="M256 49.5c67.3 0 75.2.3 101.8 1.5 24.6 1.1 37.9 5.2 46.8 8.7 11.8 4.6 20.2 10 29 18.8s14.3 17.2 18.8 29c3.4 8.9 7.6 22.2 8.7 46.8 1.2 26.6 1.5 34.5 1.5 101.8s-.3 75.2-1.5 101.8c-1.1 24.6-5.2 37.9-8.7 46.8-4.6 11.8-10 20.2-18.8 29s-17.2 14.3-29 18.8c-8.9 3.4-22.2 7.6-46.8 8.7-26.6 1.2-34.5 1.5-101.8 1.5s-75.2-.3-101.8-1.5c-24.6-1.1-37.9-5.2-46.8-8.7-11.8-4.6-20.2-10-29-18.8s-14.3-17.2-18.8-29c-3.4-8.9-7.6-22.2-8.7-46.8-1.2-26.6-1.5-34.5-1.5-101.8s.3-75.2 1.5-101.8c1.1-24.6 5.2-37.9 8.7-46.8 4.6-11.8 10-20.2 18.8-29s17.2-14.3 29-18.8c8.9-3.4 22.2-7.6 46.8-8.7 26.6-1.3 34.5-1.5 101.8-1.5m0-45.4c-68.4 0-77 .3-103.9 1.5C125.3 6.8 107 11.1 91 17.3c-16.6 6.4-30.6 15.1-44.6 29.1-14 14-22.6 28.1-29.1 44.6-6.2 16-10.5 34.3-11.7 61.2C4.4 179 4.1 187.6 4.1 256s.3 77 1.5 103.9c1.2 26.8 5.5 45.1 11.7 61.2 6.4 16.6 15.1 30.6 29.1 44.6 14 14 28.1 22.6 44.6 29.1 16 6.2 34.3 10.5 61.2 11.7 26.9 1.2 35.4 1.5 103.9 1.5s77-.3 103.9-1.5c26.8-1.2 45.1-5.5 61.2-11.7 16.6-6.4 30.6-15.1 44.6-29.1 14-14 22.6-28.1 29.1-44.6 6.2-16 10.5-34.3 11.7-61.2 1.2-26.9 1.5-35.4 1.5-103.9s-.3-77-1.5-103.9c-1.2-26.8-5.5-45.1-11.7-61.2-6.4-16.6-15.1-30.6-29.1-44.6-14-14-28.1-22.6-44.6-29.1-16-6.2-34.3-10.5-61.2-11.7-27-1.1-35.6-1.4-104-1.4z"></path><path d="M256 126.6c-71.4 0-129.4 57.9-129.4 129.4s58 129.4 129.4 129.4 129.4-58 129.4-129.4-58-129.4-129.4-129.4zm0 213.4c-46.4 0-84-37.6-84-84s37.6-84 84-84 84 37.6 84 84-37.6 84-84 84z"></path><circle cx="390.5" cy="121.5" r="30.2"></circle></svg></span> 713 <span class="visually-hidden">Instagram</span> 714 </a> 715 </li> 716 717 718 719 � 720 721 722 723 724 � 725 726 727 728 729 � 730 731 732 733 734 � 735 736 737 738 739 <li class="ml-2 mb-2 inline-block"> 740 <a class="fill-current hover:text-primary-accent" href="https://www.youtube.com/channel/UCvNKaGGkT8FSicXUMnzwcrg" target="_blank"> 741 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-youtube" viewBox="0 0 21 20"><path d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"></path></svg></span> 742 <span class="visually-hidden">YouTube</span> 743 </a> 744 </li> 745 746 747 748 � 749 750 751 752 753 � 754 755 756 757 758 <li class="ml-2 mb-2 inline-block"> 759 <a class="fill-current hover:text-primary-accent" href="https://www.linkedin.com/company/12994026/admin/" target="_blank"> 760 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-linkedin" viewBox="0 0 24 24"><path d="M19 0H5a5 5 0 00-5 5v14a5 5 0 005 5h14a5 5 0 005-5V5a5 5 0 00-5-5zM8 19H5V8h3v11zM6.5 6.732c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zM20 19h-3v-5.604c0-3.368-4-3.113-4 0V19h-3V8h3v1.765c1.396-2.586 7-2.777 7 2.476V19z"></path></svg></span> 761 <span class="visually-hidden">LinkedIn</span> 762 </a> 763 </li> 764 765 766 767 � 768 769 770 771 772 <li class="ml-2 mb-2 inline-block"> 773 <a class="fill-current hover:text-primary-accent" href="mailto:[email protected]" target="_blank"> 774 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-email" viewBox="0 0 24 24">
774<path fill-rule="evenodd" d="M21.6 2.4H2.4A2.397 2.397 0 00.012 4.8L0 19.2c0 1.32 1.08 2.4 2.4 2.4h19.2c1.32 0 2.4-1.08 2.4-2.4V4.8c0-1.32-1.08-2.4-2.4-2.4zm0 16.8H2.4v-12l9.6 6 9.6-6v12zM12 10.8l-9.6-6h19.2l-9.6 6z"></path></svg></span> 775 <span class="visually-hidden">Email</span> 776 </a> 777 </li> 778 779 780 781 782</ul> 783 784 </div> 785 786 </div> 787 </div> 788</section> 789 790<noscript> 791<style> 792 .section-sidebar { 793 display: block !important; 794 } 795 796 @media (min-width: 1024px) { 797 .section-sidebar { 798 display: none!important; 799 } 800 } 801 802 .sidebar-container { 803 position: static; 804 width: 100%; 805 max-width: 100%; 806 border-right: 0; 807 display: none; 808 } 809 810 .section-sidebar:focus-within .sidebar-container { 811 display: block !important; 812 } 813</style> 814</noscript> 815 816</div> 817<section class="relative z-70" x-data="ThemeSection_cartDrawer()" x-init="mounted()" data-section-id="" data-section-type="cart-drawer" data-show-on-add="true" x-cloak> 818 <div id="CartContainer" 819 class="fixed top-0 right-0 bottom-0 w-11/12 max-w-md bg-primary-background text-primary-text border-l-grid border-grid-color transform transition-transform overflow-y-auto" 820 x-show="$store.drawer.cartDrawerOpen" 821 x-transition:enter="transition ease duration-300" 822 x-transition:enter-start="opacity-0 translate-x-full" 823 x-transition:enter-end="opacity-100" 824 x-transition:leave="transition ease duration-300" 825 x-transition:leave-end="opacity-100 translate-x-full" 826 @click.away.prevent="$store.drawer.cartDrawerOpen = false" 827 role="dialog" 828 aria-modal="true" 829 data-cart-drawer 830 aria-labelledby="CartTitle"> 831 <div class="top-0 relative flex items-center justify-between py-4 section-x-padding bg-primary-background border-b-grid border-grid-color"> 832 <h1 id="CartTitle" class="" tabindex="-1"> 833 Carrito - 834 <span x-text="$store.cartCount.countWithText()"></span> 835 </h1> 836 <button @click.prevent="$store.drawer.cartDrawerOpen = false" class="block w-5 h-5 top-0"> 837 <span class="visually-hidden">Cerrar</span> 838 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-close" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M18.364 4.222l1.414 1.414L13.414 12l6.364 6.364-1.414 1.414L12 13.414l-6.364 6.364-1.414-1.414L10.586 12 4.222 5.636l1.414-1.414L12 10.586z"></path></svg> 839 </button> 840 </div> 841 <div class="flex flex-col h-full"> 842 <template x-if="state && !state.item_count"> 843 <div class="section-x-padding py-4"> 844 <p class="supports-cookies text-align--center" x-text="theme.strings.cartEmpty"></p> 845 <p class="supports-no-cookies cookie-message" x-text="theme.strings.cartCookies"></p> 846 </div> 847 </template> 848 <template x-if="state && state.item_count"> 849 <form action="/cart" 850 method="post" 851 class="relative overflow-y-auto flex-auto" 852 novalidate> 853 <div class="grid grid-cols-1 gap-gutter bg-border"> 854 <template x-for="(item, index) in state.items" 855 :key="item.key"> 856 <div class="flex py-4 section-x-padding transition bg-primary-background" 857 :class="{ 'opacity-50 cursor-wait': item.updating }" 858 :data-cart-item-index="(index + 1)" 859 :data-cart-item-key="item.key" 860 data-cart-row> 861 862 <template x-if="!(item.featured_image.url === null)"> 863 <div class="flex-shrink-0 w-10 md:w-20 mr-4"> 864 865 <a :href="item.url" class="block" aria-hidden="true" tabindex="-1"> 866 <img class="w-full text-transparent" 867 :src="getSizedImageUrl(item.featured_image.url, '110x')" 868 :srcset="getCartImgSrcset(item.featured_image.url)" 869 :width="item.featured_image.width" 870 :height="item.featured_image.height" 871 :alt="item.product_title" 872 sizes="(min-width: 48em) 5rem, 3.5rem"> 873 <pre x-text="item.featured_image.src"></pre> 874 </a> 875 </div> 876 </template> 877 878 <div class="flex-auto"> 879 880 <a class="f--heading font-size--m md--up--font-size--l color--active-text" 881 :href="item.url" 882 x-text="item.product_title"></a> 883 <template x-if="item.variant_title"> 884 <p class="text-sm" x-text="item.variant_title"></p> 885 </template> 886 887 <template x-if="item.selling_plan_allocation"> 888 <p class="text-sm" x-text="item.selling_plan_allocation.selling_plan.name"></p> 889 </template> 890 <template x-for="property in flatProperties(item.properties)" 891 :key="property.name"> 892 <p class="text-sm">
893 <span x-text="property.name"></span>: 894 <span x-text="property.value"></span> 895 </p> 896 </template> 897 898 <template x-if="item.line_level_discount_allocations.length"> 899 <ul class="lg:hidden mt-1 text-sm text-primary-accent" 900 aria-label="Descuento"> 901 <template x-for="allocation in item.line_level_discount_allocations"> 902 <li class=""> 903 <span x-text="allocation.discount_application.title"></span> 904 <span class="whitespace-nowrap">−<span x-html="formatMoney(allocation.amount)"></span></span> 905 </li> 906 </template> 907 </ul> 908 </template> 909 910 911 <div class="flex mt-1 lg:mt-2 items-center"> 912 <button class="w-6 p-1" 913 data-qty-adjust="minus" 914 @click.prevent="qtyAdjust($event, item)" 915 :aria-label="'Eliminar uno ' + item.title"> 916 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-minus" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M20 11v2H4v-2z"></path></svg> 917 </button> 918 <input type="text" 919 name="updates[]" 920 class="min-w-0 w-6 py-1 text-center text-sm border-b-text border-current bg-transparent" 921 min="1" 922 aria-label="Cantidad" 923 data-qty-input 924 pattern="[0-9]*" 925 data-qty-adjust="set" 926 @keyup.debounce.1000ms="keyupOnInput($event)" 927 @change="qtyAdjust($event, item)" 928 x-model.number="item.quantity" 929 autocomplete="off" /> 930 <button class="w-6 p-1" 931 data-qty-adjust="plus" 932 @click.prevent="qtyAdjust($event, item)" 933 :aria-label="'Agregar uno ' + item.title"> 934 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-plus" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M20 11v2h-7v7h-2v-7H4v-2h7V4h2v7z"></path></svg> 935 </button> 936 </div> 937 938 <button class="none lg:inline-block mt-1 lg:mt-2 text-sm" 939 data-qty-adjust="remove" 940 @click.prevent="qtyAdjust($event, item)"> 941 <small>Quitar </small> 942 <span class="visually-hidden" x-text="item.title"></span> 943 </button> 944 </div> 945 <div class="ml-1 text-right"> 946 947 <template x-if="item.line_level_discount_allocations.length"> 948 <div> 949 <span class="visually-hidden">Precio habitual</span> 950 <del class="line-through" x-html="formatMoney(item.original_price)"></del> 951 <span class="visually-hidden">Precio de venta</span> 952 <span class="" x-html="formatMoney(item.final_line_price)"></span> 953 </div> 954 </template> 955 <template x-if="!item.line_level_discount_allocations.length"> 956 <span class="" x-html="formatMoney(item.final_line_price)"></span> 957 </template> 958 <template x-if="item.unit_price_measurement"> 959 <div class="text-xs"> 960 <span x-html="formatMoney(item.unit_price)"></span> / 961 <span x-text="item.unit_price_measurement.reference_value"></span> 962 <span x-text="item.unit_price_measurement.reference_unit"></span> 963 </div> 964 </template> 965 <template x-if="item.line_level_discount_allocations.length"> 966 <ul class="hidden lg:block mt-1 text-sm text-primary-accent" 967 aria-label="Descuento"> 968 <template x-for="allocation in item.line_level_discount_allocations"> 969 <li class="">
970 <span x-text="allocation.discount_application.title"></span> 971 <span class="whitespace-nowrap">−<span x-html="formatMoney(allocation.amount)"></span></span> 972 </li> 973 </template> 974 </ul> 975 </template> 976 </div> 977 </div> 978 </template> 979 </div> 980 981 <div class="border-t-grid border-grid-color py-4 section-x-padding"> 982 <label for="CartSpecialInstructions" 983 class="text-sm"> 984 Agregue una nota a su pedido 985 </label> 986 <textarea name="note" 987 id="CartSpecialInstructions" 988 class="block mt-1 p-2 w-full border-text border-current text-sm bg-transparent" 989 :class="{ 'opacity-50 cursor-wait' : noteUpdating }" 990 x-text="state.note" 991 @keyup.debounce.1000ms="keyupOnInput($event)" 992 @change="updateNote($event)"> 993 </textarea> 994 </div> 995 996 <div class="bottom-0 py-4 section-x-padding bg-primary-background border-t-grid border-grid-color"> 997 <div :class="{ 'opacity-50 cursor-wait': updating }"> 998 <template x-if="state.cart_level_discount_applications.length" 999 x-for="application in state.cart_level_discount_applications"> 1000 <p class="flex justify-between text-primary-accent"> 1001 <span class="visually-hidden">Descuento</span> 1002 <span x-text="application.title"></span> 1003 <span class="ml-2" x-html="formatMoney(application.total_allocated_amount)"></span> 1004 </p> 1005 </template> 1006 <p class="flex justify-between"> 1007 <span>Subtotal</span> 1008 <span class="ml-2" x-html="formatMoney(state.total_price)"></span> 1009 </p><p class="my-2 md:my-4 text-sm accent-links-primary text-right"> 1010 En la pantalla de pagos se incluye el impuesto y se calculan los gastos de envÃo 1011 1012 </p> 1013 <div class="text-right"> 1014 <div> 1015 <input type="submit" 1016 name="checkout" 1017 class="cursor-pointer py-2 px-4 w-full rounded-full bg-transparent text-primary-text border-text border-primary-text hover:border-primary-accent hover:text-primary-accent" 1018 :disabled="updating" 1019 value="Finalizar pedido"> 1020 </div> 1021 1022 <div class="w-full md:mt-2 additional-checkout-buttons rounded-full"> 1023 <div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{"supports_subs":true,"supports_def_opts":false,"name":"shop_pay","wallet_params":{"shopId":734298169,"merchantName":"Ball Pagès","personalized":true}},{"supports_subs":false,"supports_def_opts":false,"name":"paypal","wallet_params":{"shopId":734298169,"countryCode":"ES","merchantName":"Ball Pagès","phoneRequired":true,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":true,"hasManagedSellingPlanState":null,"requiresBillingAgreement":false,"gatewayType":"CONNECTED","merchantId":"6XGZNW96CEXGG","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=AMD\u0026locale=es_ES\u0026client-id=AexZEtAxk09Ncgj6FSWFFyGKbxxAZ_LTyJ2DPdJWl1YUlecinmc5AfIaRF2qYjWlusWahlzz6SVkY5Ci\u0026merchant-id=6XGZNW96CEXGG\u0026intent=authorize","serviceableCountryCodes":["AC","AD","AE","AF","AG","AI","AL","AM","AO","AR","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GW","GY","HK","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MK","ML","MM","MN","MO","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PS","PT","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VN","VU","WF","WS","XK","YE","YT","ZA","ZM","ZW"]}}]" access-token="87c09a2ab1ea1d07e388a724c9847112" buyer-country="AM" buyer-locale="es" buyer-currency="AMD" shop-id="734298169" cart-id="2bb27815e69c3ab7a80de81b92f44eac" enabled-flags="["1172c16a","a1d1f9a1","f5afabb3","370070f3"]" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li> </ul> </div> </shopify-accelerated-checkout-cart> </div> 1024 </div> 1025 1026 </div> 1027 </div> 1028 </div> 1029 </form> 1030 </template> 1031 </div> 1032 </div> 1033</section> 1034<section x-data="ThemeSection_availabilityDrawer()" data-section-id="" data-section-type="availability-drawer" x-cloak> 1035 <div id="AvailabilityContainer" 1036 class="max-h-full flex flex-col z-60 fixed top-0 right-0 bottom-0 w-11/12 max-w-md bg-primary-background text-primary-text border-l-grid border-gr
1036id-color transform transition-transform'" 1037 x-show="$store.drawer.availabilityDrawerOpen" 1038 x-transition:enter="transition ease duration-300" 1039 x-transition:enter-start="opacity-0 translate-x-full" 1040 x-transition:enter-end="opacity-100" 1041 x-transition:leave="transition ease duration-300" 1042 x-transition:leave-end="opacity-100 translate-x-full" 1043 @click.away.prevent="$store.drawer.availabilityDrawerOpen = false" 1044 role="dialog" 1045 aria-modal="true" 1046 data-availability-drawer 1047 aria-labelledby="AvailabilityTitle"> 1048 <div class="top-0 relative flex items-center justify-between py-2 px-4 bg-primary-background border-b-grid border-grid-color"> 1049 <h1 id="AvailabilityTitle" class=""> 1050 <div class="font-heading text-lg" x-text="$store.availability.product_title"></div> 1051 <div x-text="$store.availability.getVariantTitle()"></div> 1052 </h1> 1053 <button @click.prevent="$store.drawer.availabilityDrawerOpen = false" class="block w-8 -mr-2 top-0"> 1054 <span class="visually-hidden">Cerrar</span> 1055 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-close" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M18.364 4.222l1.414 1.414L13.414 12l6.364 6.364-1.414 1.414L12 13.414l-6.364 6.364-1.414-1.414L10.586 12 4.222 5.636l1.414-1.414L12 10.586z"></path></svg> 1056 </button> 1057 </div> 1058 <ul class="relative overflow-y-auto flex-auto" role="list"> 1059 <template x-for="item in currentVariantAvailability" 1060 :key="item.name"> 1061 <li class="border-b-grid border-grid-color section-x-padding py-4"> 1062 <div class="flex items-start"> 1063 <div class="inline-block w-3 mr-3 pt-1"> 1064 <template x-if="item.available"> 1065 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-in-stock" viewBox="0 0 12 12"><g fill-rule="evenodd"><path d="M1.55 6.5l.708-.707L5.086 8.62l-.707.707z"></path><path d="M3.671 8.621l6.364-6.364.708.708-6.364 6.364z"></path></g></svg> 1066 </template> 1067 <template x-if="!item.available"> 1068 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-out-of-stock" viewBox="0 0 12 12"><g fill-rule="evenodd"><path d="M3.172 2.464l6.364 6.364-.708.708-6.364-6.364z"></path><path d="M9.536 3.172L3.172 9.536l-.708-.708 6.364-6.364z"></path></g></svg> 1069 </template> 1070 </div> 1071 <div> 1072 <p x-text="item.name"></p> 1073 </div> 1074 </div> 1075 <div class="mt-4" x-html="item.address"></div> 1076 <template x-if="item.phone"> 1077 <a :href="`tel:${item.phone.replace(' ', '')}`" x-text="item.phone"></a> 1078 </template> 1079 </li> 1080 </template> 1081 </ul> 1082 </div> 1083</section> 1084<div id="shopify-section-announcement-bar" class="shopify-section"> 1085</div> 1086 <div class="relative"> 1087 1088 <div id="shopify-section-header" class="shopify-section section-header"><style> 1089:root { 1090 --color-header-accent: var(--color-primary-accent); 1091 --color-header-text: var(--color-primary-text); 1092 --color-header-background: var(--color-primary-background); 1093 --color-header-background-hex: var(--color-primary-background-hex); 1094 --color-header-background-0: var(--color-primary-background-0); 1095 --color-header-meta: var(--color-primary-meta); 1096 --color-header-text--overlay: var(--color-primary-text--overlay); 1097 --color-header-accent--overlay: var(--color-primary-accent--overlay); 1098 --color-header-accent-placeholder: var(--color-primary-text-placeholder); 1099} 1100</style> 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111<section x-data="ThemeSection_header()" x-init="mounted()" data-section-id="header" data-section-type="header" data-dropdown-count="1" class="" data-sticky="true"> 1112 <header 1113 class=" bg-header-background text-header-text border-b-grid relative z-10 border-theme-color"> 1114 <nav class="relative hidden lg:block" aria-label="Primary"> 1115 <div class="section-x-padding flex items-center justify-between py-2"> 1116 <div class="flex items-center flex-grow w-1/3"> 1117 1118 1119 1120<ul class="flex flex-wrap justify-start"><li class="mr-4"><a class="inline-block py-2 relative" href="/collections/shop"> 1121 SHOP 1122</a></li><li class="mr-4"><div class="no-js-focus-wrapper"> 1123 <button class="inline-block py-2 flex items-center " 1124 @click="openMenu(0)" 1125 x-bind:aria-expanded="menuOpen.menu0? true: 'false'" 1126 aria-controls="menu0">
1127 <span class="inline-block pr-1">BP02</span> 1128 <span class="inline-block align-middle svg-scale mr-1 transform origin-center rotate transition" :class="{'rotate-180': menuOpen.menu0}"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-chevron-down" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 16.596L4.222 8.818l1.414-1.414L12 13.768l6.364-6.364 1.414 1.414z"></path></svg></span> 1129 </button> 1130 <div class="no-js-focus-container absolute left-0 bottom-0 w-full transform translate-y-full z-20 bg-header-background text-header-text border-t-grid border-b-grid border-grid-color" 1131 id="menu0" 1132 x-cloak 1133 x-show="menuOpen.menu0" 1134 x-transition:enter="transition ease duration-200" 1135 x-transition:enter-start="opacity-0" 1136 x-transition:enter-end="opacity-100" 1137 x-transition:leave="transition ease duration-00" 1138 x-transition:leave-start="opacity-100" 1139 x-transition:leave-end="opacity-0" 1140 data-header-dropdown 1141 @focusout="focusOut($event, 'menu0')" 1142 @click.away.prevent="menuOpen.menu0 = false"> 1143 <div class="section-x-padding text-left"><ul class="-ml-4 py-2"> 1144 1145 1146 1147 1148<li class="inline-block ml-4"> 1149 <a aria-current="page" class="inline-block py-2" href="/pages/ball-pages">ABOUT</a> 1150 </li><li class="inline-block ml-4"> 1151 <a class="inline-block py-2" href="/pages/proceso">PROCESO</a> 1152 </li><li class="inline-block ml-4"> 1153 <a class="inline-block py-2" href="/pages/responsabilidad-social-corporativa">RESPONSABILIDAD SOCIAL CORPORATIVA</a> 1154 </li><li class="inline-block ml-4"> 1155 <a class="inline-block py-2" href="/blogs/news">BLOG</a> 1156 </li> 1157 </ul></div> 1158 </div> 1159 </div></li> 1160</ul> 1161 1162 </div> 1163 1164 1165 <div class=" justify-center text-center"> 1166 1167 1168 1169 <div class="h1"> 1170 1171 <a href="/" class="inline-block py-2 logo-image break-all"> 1172 1173 1174<img src="//www.ball-pages.com/cdn/shop/files/LOGO_Ball_Pages_BLACK_120x.png?v=1613702120" 1175 srcset="//www.ball-pages.com/cdn/shop/files/LOGO_Ball_Pages_BLACK_120x.png?v=1613702120 1x, //www.ball-pages.com/cdn/shop/files/[email protected]?v=1613702120 2x" 1176 alt="Ball Pagès" 1177 > 1178 </a> 1179 1180 </div> 1181 1182 1183 1184 1185 </div> 1186 1187<div class="flex items-center justify-end text-right flex-grow w-1/3"> 1188 1189<div class="ml-4 whitespace-nowrap"> 1190 1191 1192 <a class="inline-block py-2" href="https://www.ball-pages.com/customer_authentication/redirect?locale=es®ion_country=AM"><span class="visually-hidden">Ingresar</span> 1193 <span class="inline-block w-5 h-5 align-middle"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-account" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M11.968 4A3.938 3.938 0 0115.9 7.933a3.938 3.938 0 01-3.933 3.933 3.938 3.938 0 01-3.934-3.933A3.938 3.938 0 0111.968 4m8.467 10.687c-1.216-1.228-2.796-1.951-4.7-2.174a5.925 5.925 0 002.166-4.58A5.94 5.94 0 0011.968 2a5.941 5.941 0 00-5.934 5.933c0 1.842.844 3.49 2.166 4.58-1.904.223-3.485.946-4.701 2.174-2.51 2.538-2.501 8.235-2.5 8.393l2-.02c0-.03.008-5.042 1.933-6.977 1.09-1.096 2.624-1.652 4.558-1.652H14.444c1.934 0 3.468.556 4.559 1.652 1.925 1.934 1.932 6.958 1.932 6.988l2 .018c.002-.157.012-5.864-2.5-8.402"></path></svg></span></a> 1194 1195 1196 </div> 1197 1198 <div class="ml-4 whitespace-nowrap"> 1199 1200 <a href="/cart" 1201 class="inline-block py-2 " 1202 1203 data-cart-drawer-toggle 1204 x-bind:aria-expanded="$store.drawer.cartDrawerOpen" 1205 @click.prevent="$store.drawer.cartOpener = $event.currentTarget; $store.drawer.cartDrawerOpen = !$store.drawer.cartDrawerOpen" 1206 @keydown.space="$store.drawer.cartOpener = $event.currentTarget; $store.drawer.cartDrawerOpen = !$store.drawer.cartDrawerOpen" 1207 1208 ><div class="relative">
1209 <span id="CartCount" x-show="$store.cartCount.count > 0" class="absolute top-1 right-0 w-2 h-2 rounded-full bg-header-accent"></span> 1210 <span class="inline-block w-5 h-5 fill-current align-middle"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-cart" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M3.458 20.504h17.085V8.072H3.457v12.432zm8.6-17.008c1.622 0 2.98 1.093 3.415 2.576H8.64c.436-1.483 1.794-2.576 3.417-2.576zm5.48 2.576c-.473-2.598-2.748-4.576-5.48-4.576-2.735 0-5.01 1.978-5.482 4.576H1.457v16.432h21.085V6.072h-5.004z"></path></svg></span> 1211 <span class="visually-hidden" x-text="$store.cartCount.countWithText()"></span> 1212 </div></a> 1213 </div> 1214 </div> 1215 </div> 1216 1217 1218 </nav> 1219 1220 <div class="lg:hidden"> 1221 <div class="lg:relative section-x-padding flex items-center justify-between py-2"> 1222 <div class="flex items-center flex-grow w-1/3"> 1223 1224 1225 <button class="js-enabled inline-block py-2 " 1226 x-bind:aria-expanded="$store.drawer.menuDrawerOpen" 1227 @click="$store.drawer.menuDrawerOpen = !$store.drawer.menuDrawerOpen" 1228 data-menu-drawer-toggle><span class="visually-hidden">Menú</span> 1229 <span class="inline-block w-5 h-5 align-middle"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-menu" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M23 16v2H1v-2h22zm0-10v2H1V6h22z"></path></svg></span></button> 1230 1231 </div> 1232 1233 1234 <div class="justify-center text-center"> 1235 1236 1237 <div class="h1"> 1238 1239 <a href="/" class="inline-block py-2 logo-image break-all"> 1240 1241 1242<img src="//www.ball-pages.com/cdn/shop/files/LOGO_Ball_Pages_BLACK_120x.png?v=1613702120" 1243 srcset="//www.ball-pages.com/cdn/shop/files/LOGO_Ball_Pages_BLACK_120x.png?v=1613702120 1x, //www.ball-pages.com/cdn/shop/files/[email protected]?v=1613702120 2x" 1244 alt="Ball Pagès" 1245 > 1246 </a> 1247 1248 </div> 1249 1250 1251 </div> 1252 1253 1254 <div class="flex items-center justify-end text-right flex-grow w-1/3"> 1255 1256 1257 1258 1259 <div class="ml-4 whitespace-nowrap"> 1260 1261 <a href="/cart" 1262 class="inline-block py-2 " 1263 1264 data-cart-drawer-toggle 1265 x-bind:aria-expanded="$store.drawer.cartDrawerOpen" 1266 @click.prevent="$store.drawer.cartOpener = $event.currentTarget; $store.drawer.cartDrawerOpen = !$store.drawer.cartDrawerOpen" 1267 @keydown.space="$store.drawer.cartOpener = $event.currentTarget; $store.drawer.cartDrawerOpen = !$store.drawer.cartDrawerOpen" 1268 1269 ><div class="relative"> 1270 <span id="CartCount" x-show="$store.cartCount.count > 0" class="absolute top-1 right-0 w-2 h-2 rounded-full bg-header-accent"></span> 1271 <span class="inline-block w-5 h-5 fill-current align-middle"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-cart" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M3.458 20.504h17.085V8.072H3.457v12.432zm8.6-17.008c1.622 0 2.98 1.093 3.415 2.576H8.64c.436-1.483 1.794-2.576 3.417-2.576zm5.48 2.576c-.473-2.598-2.748-4.576-5.48-4.576-2.735 0-5.01 1.978-5.482 4.576H1.457v16.432h21.085V6.072h-5.004z"></path></svg></span> 1272 <span class="visually-hidden" x-text="$store.cartCount.countWithText()"></span> 1273 </div></a> 1274 </div> 1275 </div> 1276 </div> 1277 </div> 1278 </header> 1279</section> 1280 1281 1282 1283<noscript> 1284 <style> 1285 .no-js-focus-wrapper:focus-within .no-js-focus-container { 1286 display: block !important; 1287 } 1288 </style> 1289</noscript> 1290 1291<style> 1292 1293 #shopify-section-header { 1294 position: sticky; 1295 top: 0; 1296 z-index: 30; 1297 } 1298 :root { 1299 --sticky-header-height: 66px; 1300 } 1301 1302</style> 1303 1304 1305 <style> 1306 .logo-image { 1307 display: block; 1308 max-width: 120px; 1309 } 1310 </style> 1311 1312
1313<script type="application/ld+json"> 1314{ 1315 "@context": "http://schema.org", 1316 "@type": "Organization", 1317 "name": "Ball Pagès", 1318 1319 1320 "logo": "https://www.ball-pages.com/cdn/shop/files/LOGO_Ball_Pages_BLACK_1024x.png?v=1613702120", 1321 1322 "sameAs": [ 1323 "", 1324 "https://www.facebook.com/ballpages", 1325 "https://www.pinterest.es/ballpages/_created/", 1326 "https://www.instagram.com/ballpages/", 1327 "", 1328 "", 1329 "https://www.youtube.com/channel/UCvNKaGGkT8FSicXUMnzwcrg", 1330 "" 1331 ], 1332 "url": "https://www.ball-pages.com/pages/ball-pages" 1333} 1334</script>
1334 1335 1336 1337 1338 1339</div> 1340 <main role="main" id="MainContent"> 1341 <div id="shopify-section-template--14150412140638__main" class="shopify-section"><section class="page text-primary-text bg-primary-background border-t-grid border-grid-color"> 1342 <div class="section-x-padding py-theme lg:flex lg:justify-start"> 1343 <div class="lg:w-full"> 1344 <div class=""> 1345 <h1 class="font-heading text-xl break-words">ball pagès</h1> 1346 </div> 1347 <div class="rte mt-4"> 1348 <div style="text-align: left;">creemos en...<br>...el renacer de las tradiciones,<br>la fuerza del color,<br>parpadear para ver mejor,<br>los espacios "entre",<br>la cotidianidad, la simplicidad,<br>las almas libres y las risas inesperadasâ¦<br>...eso nos mueve.<br>salud!</div> 1349<div style="text-align: left;"> 1350<p> </p> 1351<p>Tenemos presente en cada momento binomios como <span style="text-decoration: underline;">tradición y modernidad, naturaleza y arquitectura, artesanÃa y arte y solidaridad y compromiso</span>,<strong> </strong>conceptos que construyen la base de nuestro trabajo. Apostamos por un estilo atemporal y unos <a href="https://ball-pages.myshopify.com/pages/responsabilidad-social-corporativa" target="_blank">valores</a> claros.<br><br><strong>gemma serra vila<br></strong>barcelona. verano del 77. arquitecta</p> 1352</div> 1353 </div> 1354 </div> 1355 </div> 1356</section> 1357</div><div id="shopify-section-template--14150412140638__163482817175c89c29" class="shopify-section has-full-screen-setting"><section class="video-with-text-overlay border-t-grid border-grid-color relative" 1358 data-section-type="video-with-text-overlay" 1359 data-section-id="template--14150412140638__163482817175c89c29" 1360 data-has-background-video> 1361 <div class=""> 1362 <div class="background-video-wrapper h-auto bg-black p-0 relative overflow-hidden background-video-wrapper--four-three "> 1363 1364 1365 1366 1367<div class="background-video video-with-text-overlay__background-video absolute top-0 left-0 right-0 w-full h-full" 1368 data-component-id="background-video-template--14150412140638__163482817175c89c29" 1369 data-video-type="youtube" 1370 data-video-id="Pz8nwlzmfvw" 1371 data-background-video><div id="player-background-video-template--14150412140638__163482817175c89c29"></div></div> 1372 </div> 1373 <div class="lg:w-2/3 text-primary-text"> 1374 <div class="absolute top-0 left-0 right-0 bottom-0 z-10 section-x-padding py-theme"> 1375 <div class="flex justify-center items-center text-center h-full w-full"> 1376 <div class="lg:w-2/3 text-primary-text overflow-hidden"> 1377 1378 1379 1380 1381 1382 </div> 1383 </div> 1384 </div> 1385 </div> 1386 </div> 1387</section> 1388 1389 1390 1391</div> 1392 </main> 1393 <div id="shopify-section-footer" class="shopify-section"><style> 1394:root { 1395 --color-footer-accent: var(--color-primary-accent); 1396 --color-footer-text: var(--color-primary-text); 1397 --color-footer-background: var(--color-primary-background); 1398 --color-footer-background-hex: var(--color-primary-background-hex); 1399 --color-footer-meta: var(--color-primary-meta); 1400 --color-footer-text--overlay: var(--color-primary-text--overlay); 1401 --color-footer-accent--overlay: var(--color-primary-accent--overlay); 1402 --color-footer-accent-placeholder: var(--color-primary-text-placeholder); 1403} 1404</style> 1405 1406 1407<footer class="bg-footer-background text-footer-text" data-section-id="footer" data-section-type="footer"> 1408 1409 <section class="py-theme bg-secondary-background text-secondary-text border-t-grid border-grid-color"> 1410 <div class="section-x-padding lg:flex justify-center lg:items-center lg:justify-between"> 1411 <div class=" text-base "> 1412 1413 <h2 class="font-heading text-lg" for="Email">NEWS</h2> 1414 1415 1416 1417 <div class="mt-2"><p>InscrÃbete a nuestra newsletter para recibir ofertas especiales y poder tener acceso las novedades antes que nadie !</p></div> 1418 1419 </div> 1420 1421 <div class="mt-theme-half lg:mt-0 "> 1422 <form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 1423 1424 1425 1426 1427 <input type="hidden" name="contact[tags]" value="newsletter"> 1428 <div class="lg:ml-4 lg:flex items-end"> 1429 <label class="visually-hidden" for="Email-footer">Dirección de correo electrónico</label> 1430 <input type="email" 1431 class="placeholder-current font-body border-b-text border-current w-full block bg-transparent pb-1" 1432 name="contact[email]" 1433 id="Email-footer" 1434 value="" 1435 placeholder="Dirección de correo electrónico" 1436 autocorrect="off" 1437 autocapitalize="off"> 1438 1439 <button class="mt-2 lg:mt-0 lg:ml-2 pb-1 font-body align-top inline-flex items-center justify-center hover:text-secondary-accent border-b-text border-secondary-text hover:border-secondary-accent pb-1" type="submit" name="commit" id="Subscribe">
1440 <span class=" whitespace-nowrap">Suscribirse →</span> 1441 </button> 1442 </div> 1443 1444 </form> 1445 </div> 1446 </div> 1447</section> 1448 1449 1450 <div class="border-t-grid border-grid-color"> 1451 <div class="grid lg:grid-cols-12 bg-border "> 1452 1453 1454 <div class="lg:col-span-3 section-x-padding py-theme bg-footer-background text-footer-text"> 1455 <div class="h1"> 1456 <a href="/" class="footer-logo-image break-words"> 1457 1458 Ball Pagès 1459 1460 </a> 1461 </div> 1462 </div> 1463 1464 <div class="lg:col-span-3 section-x-padding py-theme bg-footer-background text-footer-text overflow-hidden"> 1465 1466 <div class="rte"> 1467 <p>Premio Mejor Marca Artesana 2019</p> 1468 </div> 1469 </div> 1470 1471 1472 1473 1474 <div class="lg:col-span-3 section-x-padding py-theme bg-footer-background text-footer-text lg:text-right" > 1475 <div class="text-left inline-block"> 1476 1477 1478 <ul class="list-none space-y-1"> 1479 1480 <li> 1481 <a href="/pages/contacto" class="hover:text-footer-accent"> 1482 Contacto 1483 </a> 1484 </li> 1485 1486 <li> 1487 <a href="/policies/terms-of-service" class="hover:text-footer-accent"> 1488 Aviso Legal 1489 </a> 1490 </li> 1491 1492 <li> 1493 <a href="/policies/privacy-policy" class="hover:text-footer-accent"> 1494 Politica de Privacidad 1495 </a> 1496 </li> 1497 1498 <li> 1499 <a href="/policies/refund-policy" class="hover:text-footer-accent"> 1500 Cambios y Devoluciones 1501 </a> 1502 </li> 1503 1504 </ul> 1505 </div> 1506 </div> 1507 1508 1509 1510 1511 1512 <div class="lg:col-span-3 section-x-padding py-theme bg-footer-background text-footer-text lg:text-right"> 1513 <div class="text-left inline-block"> 1514 <h2 class="font-heading text-base mb-4">follow us</h2> 1515 1516 <ul class="-ml-2"> 1517 � 1518 1519 1520 1521 1522 <li class="ml-2 mb-2 inline-block"> 1523 <a class="fill-current hover:text-footer-accent" href="https://www.facebook.com/ballpages" target="_blank"> 1524 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-facebook" viewBox="0 0 20 20"><path d="M18.05.811q.439 0 .744.305t.305.744v16.637q0 .439-.305.744t-.744.305h-4.732v-7.221h2.415l.342-2.854h-2.757v-1.83q0-.659.293-1t1.073-.342h1.488V3.762q-.976-.098-2.171-.098-1.634 0-2.635.964t-1 2.72V9.47H7.951v2.854h2.415v7.221H1.413q-.439 0-.744-.305t-.305-.744V1.859q0-.439.305-.744T1.413.81H18.05z"></path></svg></span> 1525 <span class="visually-hidden">Facebook</span> 1526 </a> 1527 </li> 1528 1529 1530 1531 � 1532 1533 1534 1535 1536 � 1537 1538 1539 1540 1541 <li class="ml-2 mb-2 inline-block"> 1542 <a class="fill-current hover:text-footer-accent" href="https://www.pinterest.es/ballpages/_created/" target="_blank"> 1543 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-pinterest" viewBox="0 0 20 20"><path d="M9.958.811q1.903 0 3.635.744t2.988 2 2 2.988.744 3.635q0 2.537-1.256 4.696t-3.415 3.415-4.696 1.256q-1.39 0-2.659-.366.707-1.147.951-2.025l.659-2.561q.244.463.903.817t1.39.354q1.464 0 2.622-.842t1.793-2.305.634-3.293q0-2.171-1.671-3.769t-4.257-1.598q-1.586 0-2.903.537T5.298 5.897 4.066 7.775t-.427 2.037q0 1.268.476 2.22t1.427 1.342q.171.073.293.012t.171-.232q.171-.61.195-.756.098-.268-.122-.512-.634-.707-.634-1.83 0-1.854 1.281-3.183t3.354-1.329q1.83 0 2.854 1t1.025 2.61q0 1.342-.366 2.476t-1.049 1.817-1.561.683q-.732 0-1.195-.537t-.293-1.269q.098-.342.256-.878t.268-.915.207-.817.098-.732q0-.61-.317-1t-.927-.39q-.756 0-1.269.695t-.512 1.744q0 .39.061.756t.134.537l.073.171q-1 4.342-1.22 5.098-.195.927-.146 2.171-2.513-1.122-4.062-3.44T.59 10.177q0-3.879 2.744-6.623T9.957.81z"></path></svg></span>
1544 <span class="visually-hidden">Pinterest</span> 1545 </a> 1546 </li> 1547 1548 1549 1550 � 1551 1552 1553 1554 1555 <li class="ml-2 mb-2 inline-block"> 1556 <a class="fill-current hover:text-footer-accent" href="https://www.instagram.com/ballpages/" target="_blank"> 1557 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-instagram" viewBox="0 0 512 512"><path d="M256 49.5c67.3 0 75.2.3 101.8 1.5 24.6 1.1 37.9 5.2 46.8 8.7 11.8 4.6 20.2 10 29 18.8s14.3 17.2 18.8 29c3.4 8.9 7.6 22.2 8.7 46.8 1.2 26.6 1.5 34.5 1.5 101.8s-.3 75.2-1.5 101.8c-1.1 24.6-5.2 37.9-8.7 46.8-4.6 11.8-10 20.2-18.8 29s-17.2 14.3-29 18.8c-8.9 3.4-22.2 7.6-46.8 8.7-26.6 1.2-34.5 1.5-101.8 1.5s-75.2-.3-101.8-1.5c-24.6-1.1-37.9-5.2-46.8-8.7-11.8-4.6-20.2-10-29-18.8s-14.3-17.2-18.8-29c-3.4-8.9-7.6-22.2-8.7-46.8-1.2-26.6-1.5-34.5-1.5-101.8s.3-75.2 1.5-101.8c1.1-24.6 5.2-37.9 8.7-46.8 4.6-11.8 10-20.2 18.8-29s17.2-14.3 29-18.8c8.9-3.4 22.2-7.6 46.8-8.7 26.6-1.3 34.5-1.5 101.8-1.5m0-45.4c-68.4 0-77 .3-103.9 1.5C125.3 6.8 107 11.1 91 17.3c-16.6 6.4-30.6 15.1-44.6 29.1-14 14-22.6 28.1-29.1 44.6-6.2 16-10.5 34.3-11.7 61.2C4.4 179 4.1 187.6 4.1 256s.3 77 1.5 103.9c1.2 26.8 5.5 45.1 11.7 61.2 6.4 16.6 15.1 30.6 29.1 44.6 14 14 28.1 22.6 44.6 29.1 16 6.2 34.3 10.5 61.2 11.7 26.9 1.2 35.4 1.5 103.9 1.5s77-.3 103.9-1.5c26.8-1.2 45.1-5.5 61.2-11.7 16.6-6.4 30.6-15.1 44.6-29.1 14-14 22.6-28.1 29.1-44.6 6.2-16 10.5-34.3 11.7-61.2 1.2-26.9 1.5-35.4 1.5-103.9s-.3-77-1.5-103.9c-1.2-26.8-5.5-45.1-11.7-61.2-6.4-16.6-15.1-30.6-29.1-44.6-14-14-28.1-22.6-44.6-29.1-16-6.2-34.3-10.5-61.2-11.7-27-1.1-35.6-1.4-104-1.4z"></path><path d="M256 126.6c-71.4 0-129.4 57.9-129.4 129.4s58 129.4 129.4 129.4 129.4-58 129.4-129.4-58-129.4-129.4-129.4zm0 213.4c-46.4 0-84-37.6-84-84s37.6-84 84-84 84 37.6 84 84-37.6 84-84 84z"></path><circle cx="390.5" cy="121.5" r="30.2"></circle></svg></span> 1558 <span class="visually-hidden">Instagram</span> 1559 </a> 1560 </li> 1561 1562 1563 1564 � 1565 1566 1567 1568 1569 � 1570 1571 1572 1573 1574 � 1575 1576 1577 1578 1579 � 1580 1581 1582 1583 1584 <li class="ml-2 mb-2 inline-block"> 1585 <a class="fill-current hover:text-footer-accent" href="https://www.youtube.com/channel/UCvNKaGGkT8FSicXUMnzwcrg" target="_blank"> 1586 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-youtube" viewBox="0 0 21 20"><path d="M-.196 15.803q0 1.23.812 2.092t1.977.861h14.946q1.165 0 1.977-.861t.812-2.092V3.909q0-1.23-.82-2.116T17.539.907H2.593q-1.148 0-1.969.886t-.82 2.116v11.894zm7.465-2.149V6.058q0-.115.066-.18.049-.016.082-.016l.082.016 7.153 3.806q.066.066.066.164 0 .066-.066.131l-7.153 3.806q-.033.033-.066.033-.066 0-.098-.033-.066-.066-.066-.131z"></path></svg></span> 1587 <span class="visually-hidden">YouTube</span> 1588 </a> 1589 </li> 1590 1591 1592 1593 � 1594 1595 1596 1597 1598 � 1599 1600 1601 1602 1603 <li class="ml-2 mb-2 inline-block"> 1604 <a class="fill-current hover:text-footer-accent" href="https://www.linkedin.com/company/12994026/admin/" target="_blank"> 1605 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-linkedin" viewBox="0 0 24 24"><path d="M19 0H5a5 5 0 00-5 5v14a5 5 0 005 5h14a5 5 0 005-5V5a5 5 0 00-5-5zM8 19H5V8h3v11zM6.5 6.732c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zM20 19h-3v-5.604c0-3.368-4-3.113-4 0V19h-3V8h3v1.765c1.396-2.586 7-2.777 7 2.476V19z"></path></svg></span> 1606 <span class="visually-hidden">LinkedIn</span> 1607 </a> 1608 </li> 1609 1610 1611 1612 � 1613 1614 1615 1616 1617 <li class="ml-2 mb-2 inline-block"> 1618 <a class="fill-current hover:text-footer-accent" href="mailto:[email protected]" target="_blank"> 1619 <span class="inline-block w-5 h-5" aria-hidden="true"><svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-email" viewBox="0 0 24 24">
1619<path fill-rule="evenodd" d="M21.6 2.4H2.4A2.397 2.397 0 00.012 4.8L0 19.2c0 1.32 1.08 2.4 2.4 2.4h19.2c1.32 0 2.4-1.08 2.4-2.4V4.8c0-1.32-1.08-2.4-2.4-2.4zm0 16.8H2.4v-12l9.6 6 9.6-6v12zM12 10.8l-9.6-6h19.2l-9.6 6z"></path></svg></span> 1620 <span class="visually-hidden">Email</span> 1621 </a> 1622 </li> 1623 1624 1625 1626 1627</ul> 1628 1629 </div> 1630 </div> 1631 1632 </div> 1633 </div> 1634 1635 <div class="border-t-grid border-grid-color"> 1636 <div class="section-x-padding py-theme lg:flex lg:flex-wrap lg:items-center lg:justify-between"> 1637 <div class="mb-4 lg:mb-0 space-y-2 text-sm lg:flex-1"> 1638 <p> 1639 © 2026, <a href="/" title="">Ball Pagès</a>. 1640 </p> 1641 <p> 1642 <a target="_blank" rel="nofollow" href="https://es.shopify.com/?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">TecnologÃa de Shopify</a> 1643 </p> 1644 </div> 1645 1646 1647 <div class="mb-4 md:mb-0 md:w-auto lg:flex-1"> 1648 <h2 class="visually-hidden">Métodos de pago</h2> 1649 <ul class="-mx-1 -mb-2 lg:text-center"> 1650 1651 <li class="inline-block mx-1 mb-2 w-7"> 1652 <svg class="icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-american_express"><title id="pi-american_express">American Express</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#0071CE" style="fill:#0071CE;fill:color(display-p3 0.0000 0.4431 0.8078);fill-opacity:1;"/><path d="M3 0.5H35C36.3348 0.5 37.5 1.58692 37.5 3V21C37.5 22.4239 36.4239 23.5 35 23.5H3C1.66524 23.5 0.5 22.4131 0.5 21V3C0.5 1.57614 1.57614 0.5 3 0.5Z" stroke="black" stroke-opacity="0.07" style="stroke:black;stroke-opacity:0.07;"/><path d="M25.8662 6.33203V3H31L31.8662 5.5332L32.7334 3H37V14.2002H36.7998L34.8672 16.2656L36.7998 18.3594H37V21.2666H33.5996L31.9336 19.3994L30.2002 21.2666H19.4668V12.666H16L20.2666 3H24.4004L25.8662 6.33203ZM20.5996 20.2656H27V18.5322H22.666V17.3994H26.8662V15.666H22.666V14.5322H27V12.7988H20.5996V20.2656ZM30.5332 16.5322L27 20.2656H29.5996L31.8662 17.8662L34.0664 20.2656H36.7324L33.1992 16.4658L36.7324 12.7988H34.1328L31.8662 15.1992L29.7324 12.7988H27L30.5332 16.5322ZM17.666 11.7324H19.9326L20.5332 10.1992H23.999L24.666 11.7324H26.999L23.666 4.19922H20.999L17.666 11.7324ZM33.5996 4.19922L31.9326 8.86621L30.1992 4.19922H27V11.666H29.0664V6.39941L31 11.666H32.7998L34.7324 6.39941V11.666H36.7324V4.13281L33.5996 4.19922ZM23.2656 8.46582H21.2656L22.2656 5.99902L23.2656 8.46582Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 1653 1654 </li> 1655 1656 <li class="inline-block mx-1 mb-2 w-7"> 1657 <svg class="icon" version="1.1" xmlns="http://www.w3.org/2000/svg" role="img" x="0" y="0" width="38" height="24" viewBox="0 0 165.521 105.965" xml:space="preserve" aria-labelledby="pi-apple_pay"><title id="pi-apple_pay">Apple Pay</title><path fill="#000" d="M150.698 0H14.823c-.566 0-1.133 0-1.698.003-.477.004-.953.009-1.43.022-1.039.028-2.087.09-3.113.274a10.51 10.51 0 0 0-2.958.975 9.932 9.932 0 0 0-4.35 4.35 10.463 10.463 0 0 0-.975 2.96C.113 9.611.052 10.658.024 11.696a70.22 70.22 0 0 0-.022 1.43C0 13.69 0 14.256 0 14.823v76.318c0 .567 0 1.132.002 1.699.003.476.009.953.022 1.43.028 1.036.09 2.084.275 3.11a10.46 10.46 0 0 0 .974 2.96 9.897 9.897 0 0 0 1.83 2.52 9.874 9.874 0 0 0 2.52 1.83c.947.483 1.917.79 2.96.977 1.025.183 2.073.245 3.112.273.477.011.953.017 1.43.02.565.004 1.132.004 1.698.004h135.875c.565 0 1.132 0 1.697-.004.476-.002.952-.009 1.431-.02 1.037-.028 2.085-.09 3.113-.273a10.478 10.478 0 0 0 2.958-.977 9.955 9.955 0 0 0 4.35-4.35c.483-.947.789-1.917.974-2.96.186-1.026.246-2.074.274-3.11.013-.477.02-.954.022-1.43.004-.567.004-1.132.004-1.699V14.824c0-.567 0-1.133-.004-1.699a63.067 63.067 0 0 0-.022-1.429c-.028-1.038-.088-2.085-.274-3.112a10.4 10.4 0 0 0-.974-2.96 9.94 9.94 0 0 0-4.35-4.35A10.52 10.52 0 0 0 156.939.3c-1.028-.185-2.076-.246-3.113-.274a71.417 71.417 0 0 0-1.431-.022C151.83 0 151.263 0 150.698 0z" /><path fill="#FFF" d="M150.698 3.532l1.672.003c.452.003.905.008 1.36.02.793.022 1.719.065 2.583.22.75.135 1.38.34 1.984.648a6.392 6.392 0 0 1 2.804 2.807c.306.6.51 1.226.645 1.983.154.854.197 1.783.218 2.58.013.45.019.9.02 1.36.005.557.005 1.113.005 1.671v76.318c0 .558
16570 1.114-.004 1.682-.002.45-.008.9-.02 1.35-.022.796-.065 1.725-.221 2.589a6.855 6.855 0 0 1-.645 1.975 6.397 6.397 0 0 1-2.808 2.807c-.6.306-1.228.511-1.971.645-.881.157-1.847.2-2.574.22-.457.01-.912.017-1.379.019-.555.004-1.113.004-1.669.004H14.801c-.55 0-1.1 0-1.66-.004a74.993 74.993 0 0 1-1.35-.018c-.744-.02-1.71-.064-2.584-.22a6.938 6.938 0 0 1-1.986-.65 6.337 6.337 0 0 1-1.622-1.18 6.355 6.355 0 0 1-1.178-1.623 6.935 6.935 0 0 1-.646-1.985c-.156-.863-.2-1.788-.22-2.578a66.088 66.088 0 0 1-.02-1.355l-.003-1.327V14.474l.002-1.325a66.7 66.7 0 0 1 .02-1.357c.022-.792.065-1.717.222-2.587a6.924 6.924 0 0 1 .646-1.981c.304-.598.7-1.144 1.18-1.623a6.386 6.386 0 0 1 1.624-1.18 6.96 6.96 0 0 1 1.98-.646c.865-.155 1.792-.198 2.586-.22.452-.012.905-.017 1.354-.02l1.677-.003h135.875" /><g><g><path fill="#000" d="M43.508 35.77c1.404-1.755 2.356-4.112 2.105-6.52-2.054.102-4.56 1.355-6.012 3.112-1.303 1.504-2.456 3.959-2.156 6.266 2.306.2 4.61-1.152 6.063-2.858" /><path fill="#000" d="M45.587 39.079c-3.35-.2-6.196 1.9-7.795 1.9-1.6 0-4.049-1.8-6.698-1.751-3.447.05-6.645 2-8.395 5.1-3.598 6.2-.95 15.4 2.55 20.45 1.699 2.5 3.747 5.25 6.445 5.151 2.55-.1 3.549-1.65 6.647-1.65 3.097 0 3.997 1.65 6.696 1.6 2.798-.05 4.548-2.5 6.247-5 1.95-2.85 2.747-5.6 2.797-5.75-.05-.05-5.396-2.101-5.446-8.251-.05-5.15 4.198-7.6 4.398-7.751-2.399-3.548-6.147-3.948-7.447-4.048" /></g><g><path fill="#000" d="M78.973 32.11c7.278 0 12.347 5.017 12.347 12.321 0 7.33-5.173 12.373-12.529 12.373h-8.058V69.62h-5.822V32.11h14.062zm-8.24 19.807h6.68c5.07 0 7.954-2.729 7.954-7.46 0-4.73-2.885-7.434-7.928-7.434h-6.706v14.894z" /><path fill="#000" d="M92.764 61.847c0-4.809 3.665-7.564 10.423-7.98l7.252-.442v-2.08c0-3.04-2.001-4.704-5.562-4.704-2.938 0-5.07 1.507-5.51 3.82h-5.252c.157-4.86 4.731-8.395 10.918-8.395 6.654 0 10.995 3.483 10.995 8.89v18.663h-5.38v-4.497h-.13c-1.534 2.937-4.914 4.782-8.579 4.782-5.406 0-9.175-3.222-9.175-8.057zm17.675-2.417v-2.106l-6.472.416c-3.64.234-5.536 1.585-5.536 3.95 0 2.288 1.975 3.77 5.068 3.77 3.95 0 6.94-2.522 6.94-6.03z" /><path fill="#000" d="M120.975 79.652v-4.496c.364.051 1.247.103 1.715.103 2.573 0 4.029-1.09 4.913-3.899l.52-1.663-9.852-27.293h6.082l6.863 22.146h.13l6.862-22.146h5.927l-10.216 28.67c-2.34 6.577-5.017 8.735-10.683 8.735-.442 0-1.872-.052-2.261-.157z" /></g></g></svg> 1658 1659 </li> 1660 1661 <li class="inline-block mx-1 mb-2 w-7"> 1662 <svg class="icon" xmlns="http://www.w3.org/2000/svg" aria-labelledby="pi-bancontact" role="img" viewBox="0 0 38 24" width="38" height="24"><title id="pi-bancontact">Bancontact</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M4.703 3.077h28.594c.139 0 .276.023.405.068.128.045.244.11.343.194a.9.9 0 0 1 .229.29c.053.107.08.223.08.34V20.03a.829.829 0 0 1-.31.631 1.164 1.164 0 0 1-.747.262H4.703a1.23 1.23 0 0 1-.405-.068 1.09 1.09 0 0 1-.343-.194.9.9 0 0 1-.229-.29.773.773 0 0 1-.08-.34V3.97c0-.118.027-.234.08-.342a.899.899 0 0 1 .23-.29c.098-.082.214-.148.342-.193a1.23 1.23 0 0 1 .405-.068Z" fill="#fff"/><path d="M6.38 18.562v-3.077h1.125c.818 0 1.344.259 1.344.795 0 .304-.167.515-.401.638.338.132.536.387.536.734 0 .62-.536.91-1.37.91H6.38Zm.724-1.798h.537c.328 0 .468-.136.468-.387 0-.268-.255-.356-.599-.356h-.406v.743Zm0 1.262h.448c.438 0 .693-.093.693-.383 0-.286-.219-.404-.63-.404h-.51v.787Zm3.284.589c-.713 0-1.073-.295-1.073-.69 0-.436.422-.69 1.047-.695.156.002.31.014.464.035v-.105c0-.269-.183-.396-.531-.396a2.128 2.128 0 0 0-.688.105l-.13-.474a3.01 3.01 0 0 1 .9-.132c.767 0 1.147.343 1.147.936v1.222c-.214.093-.615.194-1.136.194Zm.438-.497v-.47a2.06 2.06 0 0 0-.37-.036c-.24 0-.427.08-.427.286 0 .185.156.281.432.281a.947.947 0 0 0 .365-.061Zm1.204.444v-2.106a3.699 3.699 0 0 1 1.177-.193c.76 0 1.198.316 1.198.9v1.399h-.719v-1.354c0-.303-.167-.444-.484-.444a1.267 1.267 0 0 0-.459.079v1.719h-.713Zm4.886-2.167-.135.479a1.834 1.834 0 0 0-.588-.11c-.422 0-.652.25-.652.664 0 .453.24.685.688.685.2-.004.397-.043.578-.114l.115.488a2.035 2.035 0 0 1-.75.128c-.865 0-1.365-.453-1.365-1.17 0-.712.495-1.182 1.323-1.182.27-.
1662001.538.043.787.132Zm1.553 2.22c-.802 0-1.302-.47-1.302-1.178 0-.704.5-1.174 1.302-1.174.807 0 1.297.47 1.297 1.173 0 .708-.49 1.179-1.297 1.179Zm0-.502c.37 0 .563-.259.563-.677 0-.413-.193-.672-.563-.672-.364 0-.568.26-.568.672 0 .418.204.677.568.677Zm1.713.449v-2.106a3.699 3.699 0 0 1 1.177-.193c.76 0 1.198.316 1.198.9v1.399h-.719v-1.354c0-.303-.166-.444-.484-.444a1.268 1.268 0 0 0-.459.079v1.719h-.713Zm3.996.053c-.62 0-.938-.286-.938-.866v-.95h-.354v-.484h.355v-.488l.718-.03v.518h.578v.484h-.578v.94c0 .256.125.374.36.374.093 0 .185-.008.276-.026l.036.488c-.149.028-.3.041-.453.04Zm1.814 0c-.713 0-1.073-.295-1.073-.69 0-.436.422-.69 1.047-.695.155.002.31.014.464.035v-.105c0-.269-.183-.396-.532-.396a2.128 2.128 0 0 0-.687.105l-.13-.474a3.01 3.01 0 0 1 .9-.132c.766 0 1.146.343 1.146.936v1.222c-.213.093-.614.194-1.135.194Zm.438-.497v-.47a2.06 2.06 0 0 0-.37-.036c-.24 0-.427.08-.427.286 0 .185.156.281.432.281a.946.946 0 0 0 .365-.061Zm3.157-1.723-.136.479a1.834 1.834 0 0 0-.588-.11c-.422 0-.651.25-.651.664 0 .453.24.685.687.685.2-.004.397-.043.578-.114l.115.488a2.035 2.035 0 0 1-.75.128c-.865 0-1.365-.453-1.365-1.17 0-.712.495-1.182 1.323-1.182.27-.001.538.043.787.132Zm1.58 2.22c-.62 0-.938-.286-.938-.866v-.95h-.354v-.484h.354v-.488l.72-.03v.518h.577v.484h-.578v.94c0 .256.125.374.36.374.092 0 .185-.008.276-.026l.036.488c-.149.028-.3.041-.453.04Z" fill="#1E3764"/><path d="M11.394 13.946c3.803 0 5.705-2.14 7.606-4.28H6.38v4.28h5.014Z" fill="url(#pi-bancontact-a)"/><path d="M26.607 5.385c-3.804 0-5.705 2.14-7.607 4.28h12.62v-4.28h-5.013Z" fill="url(#pi-bancontact-b)"/><defs><linearGradient id="pi-bancontact-a" x1="8.933" y1="12.003" x2="17.734" y2="8.13" gradientUnits="userSpaceOnUse"><stop stop-color="#005AB9"/><stop offset="1" stop-color="#1E3764"/></linearGradient><linearGradient id="pi-bancontact-b" x1="19.764" y1="10.037" x2="29.171" y2="6.235" gradientUnits="userSpaceOnUse"><stop stop-color="#FBA900"/><stop offset="1" stop-color="#FFD800"/></linearGradient></defs></svg> 1663 </li> 1664 1665 <li class="inline-block mx-1 mb-2 w-7"> 1666 <svg class="icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-blik"><title id="pi-blik">BLIK</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32z" fill="url(#pi-blik-paint0_linear)"/><path d="M30.343 17.155l-2.785-3.639 2.563-3.236h-2.185l-2.456 3.138V6.78h-1.848v10.375h1.848v-3.532l2.456 3.532h2.407zM18.613 6.78h-1.848v10.366h1.848V6.78zm3.433 3.508h-1.848v6.867h1.848v-6.867z" fill="#fff"/><path d="M13.849 9.573a1.651 1.651 0 100-3.302 1.651 1.651 0 000 3.302z" fill="url(#pi-blik-paint1_radial)"/><path d="M12.041 10.206c-.574 0-1.138.144-1.642.419V6.82H8.534v6.9a3.516 3.516 0 103.507-3.515zm0 5.175a1.643 1.643 0 110-3.286 1.643 1.643 0 010 3.286z" fill="#fff"/><defs><radialGradient id="pi-blik-paint1_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.51 6.18) scale(5.41297)"><stop stop-color="red"/><stop offset=".49" stop-color="#E83E49"/><stop offset="1" stop-color="#F0F"/></radialGradient><linearGradient id="pi-blik-paint0_linear" x1="19" y1="4.977" x2="19" y2="55.605" gradientUnits="userSpaceOnUse"><stop/><stop offset=".732" stop-color="#fff"/><stop offset="1" stop-color="#fff"/></linearGradient></defs></svg> 1667 </li> 1668 1669 <li class="inline-block mx-1 mb-2 w-7"> 1670 <svg class="icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-google_pay"><title id="pi-google_pay">Google Pay</title><path d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000" opacity=".07"/><path d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" fill="#FFF"/><path d="M18.093 11.976v3.2h-1.018v-7.9h2.691a2.447 2.447 0 0 1 1.747.692 2.28 2.28 0 0 1 .11 3.224l-.11.116c-.47.447-1.098.69-1.747.674l-1.673-.006zm0-3.732v2.788h1.698c.377.012.741-.135 1.005-.404a1.391 1.391 0 0 0-1.005-2.354l-1.698-.03zm6.484 1.348c.65-.03 1.286.188 1.778.613.445.43.682 1.03.65 1.649v3.334h-.969v-.766h-.049a1.93 1.93 0 0 1-1.673.931 2.17 2.17 0 0 1-1.496-.533 1.667 1.667 0 0 1-.613-1.324 1.606 1.606 0 0 1 .613-1.336 2.746 2.746 0 0 1 1.698-.515c.517-.02 1.03.093 1.49.331v-.208a1.134 1.134 0 0 0-.417-.901 1.416 1.416 0 0 0-.98-.368 1.545 1.545 0 0 0-1.319.717l-.895-.564a2.488 2.488 0 0 1 2.182-1.
167006zM23.29 13.52a.79.79 0 0 0 .337.662c.223.176.5.269.785.263.429-.001.84-.17 1.146-.472.305-.286.478-.685.478-1.103a2.047 2.047 0 0 0-1.324-.374 1.716 1.716 0 0 0-1.03.294.883.883 0 0 0-.392.73zm9.286-3.75l-3.39 7.79h-1.048l1.281-2.728-2.224-5.062h1.103l1.612 3.885 1.569-3.885h1.097z" fill="#5F6368"/><path d="M13.986 11.284c0-.308-.024-.616-.073-.92h-4.29v1.747h2.451a2.096 2.096 0 0 1-.9 1.373v1.134h1.464a4.433 4.433 0 0 0 1.348-3.334z" fill="#4285F4"/><path d="M9.629 15.721a4.352 4.352 0 0 0 3.01-1.097l-1.466-1.14a2.752 2.752 0 0 1-4.094-1.44H5.577v1.17a4.53 4.53 0 0 0 4.052 2.507z" fill="#34A853"/><path d="M7.079 12.05a2.709 2.709 0 0 1 0-1.735v-1.17H5.577a4.505 4.505 0 0 0 0 4.075l1.502-1.17z" fill="#FBBC04"/><path d="M9.629 8.44a2.452 2.452 0 0 1 1.74.68l1.3-1.293a4.37 4.37 0 0 0-3.065-1.183 4.53 4.53 0 0 0-4.027 2.5l1.502 1.171a2.715 2.715 0 0 1 2.55-1.875z" fill="#EA4335"/></svg> 1671 1672 </li> 1673 1674 <li class="inline-block mx-1 mb-2 w-7"> 1675 <svg class="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38 24" width="38" height="24" role="img" aria-labelledby="pi-spidealwero"><title id="pi-spidealwero">iDEAL Wero</title><path opacity="0.07" d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="black"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#FFF48D"/><path d="M3.45001 7.43572V17.0022C3.45001 17.4602 3.82664 17.8347 4.28673 17.8347H10.0301C14.3722 17.8347 16.2539 15.4157 16.2539 12.2063C16.2539 8.99693 14.3715 6.60321 10.0294 6.60321H4.28603C3.82594 6.60321 3.44931 6.97773 3.44931 7.43572H3.45001Z" fill="white"/><path d="M7.29413 8.95133V16.0203H10.385C13.1918 16.0203 14.4087 14.4422 14.4087 12.2112C14.4087 9.98022 13.1911 8.41901 10.385 8.41901H7.82926C7.53259 8.41901 7.29413 8.66027 7.29413 8.95204V8.95133Z" fill="#CC0066"/><path fill-rule="evenodd" clip-rule="evenodd" d="M5.03507 17.073H10.0294C13.539 17.073 15.4754 15.3456 15.4754 12.2105C15.4754 10.4038 14.7685 7.36908 10.0294 7.36908H5.03507C4.59182 7.36908 4.23203 7.72677 4.23203 8.16862V16.2742C4.23203 16.7153 4.59182 17.0737 5.03507 17.0737V17.073ZM4.49924 8.16862C4.49924 7.87335 4.7377 7.63559 5.03437 7.63559H10.0287C11.9609 7.63559 15.2068 8.23104 15.2068 12.2105C15.2068 15.1744 13.3665 16.8065 10.0287 16.8065H5.03507C4.7384 16.8065 4.49994 16.5694 4.49994 16.2735V8.16862H4.49924Z" fill="#232323"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.81464 11.1831C8.72066 11.1494 8.62247 11.1326 8.51586 11.1326V11.1284H7.8082V12.8355H8.52428C8.65122 12.8355 8.76134 12.8102 8.85602 12.7681C8.95 12.7218 9.02785 12.6629 9.08957 12.5872C9.15129 12.5114 9.19618 12.4188 9.22844 12.3136C9.25719 12.2084 9.27332 12.0948 9.27332 11.9686C9.27332 11.8255 9.25299 11.7035 9.21581 11.5983C9.17514 11.4973 9.12183 11.4089 9.05661 11.3374C8.98717 11.27 8.90932 11.2153 8.81534 11.1817L8.81464 11.1831ZM8.64702 12.4995C8.59371 12.5163 8.54462 12.5248 8.49132 12.5248V12.529H8.16799V11.4524H8.4296C8.51937 11.4524 8.59301 11.465 8.65473 11.4903C8.71645 11.5155 8.76554 11.5576 8.80201 11.6039C8.83849 11.6502 8.86724 11.7133 8.88407 11.7806C8.9002 11.8479 8.90862 11.9279 8.90862 12.0121C8.90862 12.1088 8.896 12.1846 8.87215 12.2519C8.85108 12.3106 8.81921 12.3649 8.77817 12.4118C8.74305 12.4524 8.69779 12.4829 8.64702 12.5002V12.4995Z" fill="white"/><path d="M10.7504 11.1333V11.4489H9.87441V11.815H10.6803V12.1053H9.87441V12.5219H10.7707V12.8376H9.51041V11.1305H10.7504V11.1347V11.1333Z" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.6244 12.8404L12.0023 11.1333H11.6222L10.9958 12.8404H11.3641L11.4952 12.4616H12.1173L12.2443 12.8404H12.6251H12.6244ZM11.8136 11.5534L12.0226 12.1797H11.5934L11.8101 11.5534H11.8143H11.8136Z" fill="white"/><path d="M13.2178 11.1325V12.5247H14.0278V12.8403H12.8538V11.1332H13.2178V11.1325Z" fill="white"/><path d="M5.85774 12.8656C6.30099 12.8656 6.66009 12.5065 6.66009 12.0625C6.66009 11.6186 6.30099 11.2595 5.85774 11.2595C5.41448 11.2595 5.05539 11.6186 5.05539 12.0625C5.05539 12.5065 5.41448 12.8656 5.85774 12.8656ZM6.33536 16.0771C5.71396 16.0771 5.216 15.5406 5.216 14.8813V13.9478C5.216 13.6181 5.46498 13.3474 5.77778 13.3474C6.09059 13.3474 6.33957 13.6139 6.33957 13.9478V16.0771H6.33536Z" fill="#232323"/><path d="M31.45 12.2209C31.45 11.1773 32.1926 10.2264 33.4749 10.2264C34.7572 10.2264 35.5053 11.178 35.5053 12.2209C35.5053 13.2638 34.7627 14.2154 33.4749 14.2154C32.1926 14.2154 31.45 13.2638 31.45 12.2209ZM34.3782 12.2209C34.3782 11.7178 34.0467 11.2537 33.4749 11.2537C32.9032 11.2537 32.5717 11.7186 32.571
16757 12.2209C32.5717 12.7232 32.9086 13.1889 33.4749 13.1889C34.0412 13.1889 34.3782 12.724 34.3782 12.2209ZM30.6615 12.9619C31.0889 12.7185 31.3455 12.2537 31.3455 11.7404C31.3455 10.9784 30.7948 10.3294 29.94 10.3294H28.1452V14.1132H29.2567V13.146H29.4649L30.1006 14.1132H31.4095L30.6615 12.9619ZM29.7161 12.2747H29.2567V11.2046H29.7216C30.0211 11.2046 30.213 11.4479 30.213 11.7396C30.213 12.0314 30.0148 12.2747 29.7161 12.2747ZM23.0713 10.3247L22.4044 12.5797L21.7539 10.3247H20.8686L20.2126 12.5797L19.5511 10.3247H18.378L19.722 14.1015H20.6868L21.3108 12.0454L21.9294 14.1015H22.8997L24.2436 10.3247H23.0705H23.0713ZM25.9261 13.1795H25.9237C25.508 13.1795 25.2163 12.9284 25.0915 12.5961H27.9159C27.9385 12.4713 27.9502 12.3434 27.9502 12.2139C27.9502 11.1734 27.21 10.2241 25.9261 10.2233V11.2482C26.3442 11.249 26.6328 11.5002 26.7568 11.8317H23.9363C23.9137 11.9565 23.902 12.0844 23.902 12.2139C23.902 13.2552 24.643 14.2052 25.923 14.2052H25.9253V13.1795H25.9261Z" fill="#1D1C1C"/><path d="M25.9237 14.2044C25.9674 14.2044 26.0103 14.2029 26.0524 14.2013C26.3122 14.188 26.5485 14.135 26.7591 14.05C26.9697 13.965 27.1546 13.8472 27.3114 13.7052C27.4673 13.5644 27.5983 13.3982 27.699 13.2138C27.7903 13.0469 27.8574 12.8667 27.8995 12.6787H26.7225C26.6983 12.7287 26.6702 12.777 26.6382 12.8215C26.5945 12.8831 26.5431 12.9385 26.4846 12.9861C26.4261 13.0344 26.3605 13.075 26.2888 13.1062C26.217 13.1374 26.1382 13.1592 26.0532 13.1709C26.0119 13.1764 25.969 13.1795 25.9245 13.1795C25.6601 13.1795 25.4456 13.0773 25.2919 12.9174L24.5268 13.6912C24.8668 14.0055 25.3387 14.2036 25.9237 14.2036V14.2044Z" fill="#1D1C1C"/><path d="M25.9237 10.2225C24.838 10.2225 24.1399 10.9058 23.9535 11.7482H25.1266C25.267 11.4581 25.5431 11.2475 25.9237 11.2475C26.2272 11.2475 26.4627 11.3785 26.6164 11.5766L27.3886 10.7958C27.0438 10.4464 26.5477 10.2225 25.9245 10.2225H25.9237Z" fill="#1D1C1C"/><path d="M17.3927 16.431C17.3069 16.431 17.2367 16.3608 17.2367 16.275V8.16296C17.2367 8.07716 17.3069 8.00696 17.3927 8.00696C17.4785 8.00696 17.5487 8.07716 17.5487 8.16296V16.275C17.5487 16.3608 17.4785 16.431 17.3927 16.431Z" fill="#1D1C1C"/></svg> 1676 </li> 1677 1678 <li class="inline-block mx-1 mb-2 w-7"> 1679 <svg class="icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-maestro"><title id="pi-maestro">Maestro</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><circle fill="#EB001B" cx="15" cy="12" r="7"/><circle fill="#00A2E5" cx="23" cy="12" r="7"/><path fill="#7375CF" d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"/></svg> 1680 </li> 1681 1682 <li class="inline-block mx-1 mb-2 w-7"> 1683 <svg class="icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-master"><title id="pi-master">Mastercard</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#1C1C1C" style="fill:#1C1C1C;fill:color(display-p3 0.1098 0.1098 0.1098);fill-opacity:1;"/><path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#232323" style="fill:#232323;fill:color(display-p3 0.1373 0.1373 0.1373);fill-opacity:1;"/><path d="M14.6364 19.2727C18.8538 19.2727 22.2727 15.8538 22.2727 11.6364C22.2727 7.41892 18.8538 4 14.6364 4C10.4189 4 7 7.41892 7 11.6364C7 15.8538 10.4189 19.2727 14.6364 19.2727Z" fill="#EB001B" style="fill:#EB001B;fill:color(display-p3 0.9216 0.0000 0.1059);fill-opacity:1;"/><path d="M23.3637 19.2727C27.5811 19.2727 31 15.8538 31 11.6364C31 7.41892 27.5811 4 23.3637 4C19.1462 4 15.7273 7.41892 15.7273 11.6364C15.7273 15.8538 19.1462 19.2727 23.3637 19.2727Z" fill="#F79E1B" style="fill:#F79E1B;fill:color(display-p3 0.9686 0.6196 0.1059);fill-opacity:1;"/>
1683<path d="M22.2727 11.6362C22.2727 9.01797 20.9637 6.72706 19 5.41797C17.0364 6.83615 15.7273 9.12706 15.7273 11.6362C15.7273 14.1452 17.0364 16.5452 19 17.8543C20.9637 16.5452 22.2727 14.2543 22.2727 11.6362Z" fill="#FF5F00" style="fill:#FF5F00;fill:color(display-p3 1.0000 0.3725 0.0000);fill-opacity:1;"/></svg> 1684 1685 </li> 1686 1687 <li class="inline-block mx-1 mb-2 w-7"> 1688 <svg class="icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-mobilepay"><title id="pi-mobilepay">MobilePay</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill-rule="evenodd" clip-rule="evenodd" d="M20.05 15.296s2.53-.771 4.282-.776c2.896-.007 4.857 1.15 4.857 1.15V10.06s-1.97-1.02-4.453-1.09c-2.481-.068-4.687 1.012-4.687 1.012v5.313z" fill="#5A78FF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M17.308 9.19l2.082 4.957V9.396s1.646-.882 3.485-1.13c1.84-.249 4.181.08 4.181.08l-1.133-2.707s-2.461-.159-4.69.794c-2.228.952-3.925 2.756-3.925 2.756z" fill="#5A78FF"/><path d="M21.428 5.676l-.82-1.99a1.818 1.818 0 00-2.37-.996l-5.663 2.334a1.818 1.818 0 00-.98 2.376l5.46 13.247a1.818 1.818 0 002.37.995l5.662-2.334a1.817 1.817 0 00.98-2.376l-.677-1.642s-.462-.027-.676-.033c-.226-.006-.644-.001-.644-.001l.88 2.136a.606.606 0 01-.326.793l-5.663 2.333a.606.606 0 01-.79-.331L12.711 6.94a.606.606 0 01.327-.792L18.7 3.814a.606.606 0 01.79.332l.83 2.011s.383-.187.59-.27c.206-.082.518-.211.518-.211z" fill="#5A78FF"/></svg> 1689 </li> 1690 1691 <li class="inline-block mx-1 mb-2 w-7"> 1692 <svg class="icon" viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-paypal"><title id="pi-paypal">PayPal</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#003087" d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z"/><path fill="#3086C8" d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z"/><path fill="#012169" d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2
16920-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z"/></svg> 1693 </li> 1694 1695 <li class="inline-block mx-1 mb-2 w-7"> 1696 <svg class="icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-shopify_pay"><title id="pi-shopify_pay">Shop Pay</title><path opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" fill="#000"/><path d="M35.889 0C37.05 0 38 .982 38 2.182v19.636c0 1.2-.95 2.182-2.111 2.182H2.11C.95 24 0 23.018 0 21.818V2.182C0 .982.95 0 2.111 0H35.89z" fill="#5A31F4"/><path d="M9.35 11.368c-1.017-.223-1.47-.31-1.47-.705 0-.372.306-.558.92-.558.54 0 .934.238 1.225.704a.079.079 0 00.104.03l1.146-.584a.082.082 0 00.032-.114c-.475-.831-1.353-1.286-2.51-1.286-1.52 0-2.464.755-2.464 1.956 0 1.275 1.15 1.597 2.17 1.82 1.02.222 1.474.31 1.474.705 0 .396-.332.582-.993.582-.612 0-1.065-.282-1.34-.83a.08.08 0 00-.107-.035l-1.143.57a.083.083 0 00-.036.111c.454.92 1.384 1.437 2.627 1.437 1.583 0 2.539-.742 2.539-1.98s-1.155-1.598-2.173-1.82v-.003zM15.49 8.855c-.65 0-1.224.232-1.636.646a.04.04 0 01-.069-.03v-2.64a.08.08 0 00-.08-.081H12.27a.08.08 0 00-.08.082v8.194a.08.08 0 00.08.082h1.433a.08.08 0 00.081-.082v-3.594c0-.695.528-1.227 1.239-1.227.71 0 1.226.521 1.226 1.227v3.594a.08.08 0 00.081.082h1.433a.08.08 0 00.081-.082v-3.594c0-1.51-.981-2.577-2.355-2.577zM20.753 8.62c-.778 0-1.507.24-2.03.588a.082.082 0 00-.027.109l.632 1.088a.08.08 0 00.11.03 2.5 2.5 0 011.318-.366c1.25 0 2.17.891 2.17 2.068 0 1.003-.736 1.745-1.669 1.745-.76 0-1.288-.446-1.288-1.077 0-.361.152-.657.548-.866a.08.08 0 00.032-.113l-.596-1.018a.08.08 0 00-.098-.035c-.799.299-1.359 1.018-1.359 1.984 0 1.46 1.152 2.55 2.76 2.55 1.877 0 3.227-1.313 3.227-3.195 0-2.018-1.57-3.492-3.73-3.492zM28.675 8.843c-.724 0-1.373.27-1.845.746-.026.027-.069.007-.069-.029v-.572a.08.08 0 00-.08-.082h-1.397a.08.08 0 00-.08.082v8.182a.08.08 0 00.08.081h1.433a.08.08 0 00.081-.081v-2.683c0-.036.043-.054.069-.03a2.6 2.6 0 001.808.7c1.682 0 2.993-1.373 2.993-3.157s-1.313-3.157-2.993-3.157zm-.271 4.929c-.956 0-1.681-.768-1.681-1.783s.723-1.783 1.681-1.783c.958 0 1.68.755 1.68 1.783 0 1.027-.713 1.783-1.681 1.783h.001z" fill="#fff"/></svg> 1697 1698 </li> 1699 1700 <li class="inline-block mx-1 mb-2 w-7"> 1701 <svg class="icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" aria-labelledby="pi-tpgpay"><title id="pi-tpgpay">TPG Pay</title><path fill="#000" opacity=".07" d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"/><path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32"/><path fill="#52F7C8" d="M3 2h32c.55 0 1 .45 1 1v18c0 .55-.45 1-1 1H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1z"/><path d="M8.39 4.724v6.468H6.236V4.724H4.464V2.898h5.698v1.826H8.39zM13.365 6.704h.715c.792 0 1.188-.345 1.188-1.034 0-.69-.396-1.034-1.188-1.034h-.715v2.068zm0 4.488h-2.156V2.898h3.432c.931 0 1.643.242 2.134.726.498.484.748 1.166.748 2.046 0 .88-.25 1.562-.748 2.046-.491.484-1.203.726-2.134.726h-1.276v2.75zM22.789 6.55h4.279c0 .44-.018.84-.055 1.199-.037.36-.11.693-.22 1a4.075 4.075 0 01-.627 1.156 3.77 3.77 0 01-.935.836c-.352.22-.74.389-1.166.506a5.025 5.025 0 01-1.342.176 4.758 4.758 0 01-1.771-.32 4.038 4.038 0 01-1.364-.89 4.133 4.133 0 01-.891-1.386 4.875 4.875 0 01-.32-1.793c0-.645.104-1.236.309-1.771.213-.543.51-1.005.89-1.386a4.11 4.11 0 011.398-.891 4.937 4.937 0 011.815-.32c.865 0 1.624.188 2.277.562.653.374 1.17.953 1.55 1.738l-2.045.847c-.19-.455-.44-.781-.748-.98a1.837 1.837 0 00-1.034-.296c-.323 0-.616.062-.88.187-.264.117-.491.29-.682.517-.183.22-.33.488-.44.803a3.402 3.402 0 00-.154 1.056c0 .352.044.678.132.979.095.3.235.56.418.78.183.22.41.393.682.518.271.117.587.176.946.176.213 0 .418-.022.616-.066.198-.051.374-.128.528-.231.161-.11.293-.25.396-.418.103-.169.172-.374.209-.616h-1.771V6.55zM13.293 16.704h.715c.792 0 1.188-.345 1.188-1.034 0-.69-.396-1.034-1.188-1.034h-.715v2.068zm0 4.488h-2.156v-8.294h3.432c.932 0 1.643.242 2.134.726.5.484.748 1.166.748 2.046 0 .88-.249 1.562-.748 2.046-.49.484-1.202.726-2.134.726h-1.276v2.75zM22.729 18.112l-.968-2.761-.968 2.76h1.936zm.572 1.639h-3.08l-.495 1.44h-2.3l3.158-8.293h2.354l3.157 8.294h-2.3l-.494-1.441zM28.344 17.21l-3.025-4.312h2.574l1.54 2.266 1.529-2.266h2.574L30.5 17.21v3.982h-2.156V17.21z" fill="#006B73"/></svg> 1702 </li> 1703 1704 <li class="inline-block mx-1 mb-2 w-7">
1705 <svg class="icon" viewBox="-36 25 38 24" xmlns="http://www.w3.org/2000/svg" width="38" height="24" role="img" aria-labelledby="pi-unionpay"><title id="pi-unionpay">Union Pay</title><path fill="#005B9A" d="M-36 46.8v.7-.7zM-18.3 25v24h-7.2c-1.3 0-2.1-1-1.8-2.3l4.4-19.4c.3-1.3 1.9-2.3 3.2-2.3h1.4zm12.6 0c-1.3 0-2.9 1-3.2 2.3l-4.5 19.4c-.3 1.3.5 2.3 1.8 2.3h-4.9V25h10.8z"/><path fill="#E9292D" d="M-19.7 25c-1.3 0-2.9 1.1-3.2 2.3l-4.4 19.4c-.3 1.3.5 2.3 1.8 2.3h-8.9c-.8 0-1.5-.6-1.5-1.4v-21c0-.8.7-1.6 1.5-1.6h14.7z"/><path fill="#0E73B9" d="M-5.7 25c-1.3 0-2.9 1.1-3.2 2.3l-4.4 19.4c-.3 1.3.5 2.3 1.8 2.3H-26h.5c-1.3 0-2.1-1-1.8-2.3l4.4-19.4c.3-1.3 1.9-2.3 3.2-2.3h14z"/><path fill="#059DA4" d="M2 26.6v21c0 .8-.6 1.4-1.5 1.4h-12.1c-1.3 0-2.1-1.1-1.8-2.3l4.5-19.4C-8.6 26-7 25-5.7 25H.5c.9 0 1.5.7 1.5 1.6z"/><path fill="#fff" d="M-21.122 38.645h.14c.14 0 .28-.07.28-.14l.42-.63h1.19l-.21.35h1.4l-.21.63h-1.68c-.21.28-.42.42-.7.42h-.84l.21-.63m-.21.91h3.01l-.21.7h-1.19l-.21.7h1.19l-.21.7h-1.19l-.28 1.05c-.07.14 0 .28.28.21h.98l-.21.7h-1.89c-.35 0-.49-.21-.35-.63l.35-1.33h-.77l.21-.7h.77l.21-.7h-.7l.21-.7zm4.83-1.75v.42s.56-.42 1.12-.42h1.96l-.77 2.66c-.07.28-.35.49-.77.49h-2.24l-.49 1.89c0 .07 0 .14.14.14h.42l-.14.56h-1.12c-.42 0-.56-.14-.49-.35l1.47-5.39h.91zm1.68.77h-1.75l-.21.7s.28-.21.77-.21h1.05l.14-.49zm-.63 1.68c.14 0 .21 0 .21-.14l.14-.35h-1.75l-.14.56 1.54-.07zm-1.19.84h.98v.42h.28c.14 0 .21-.07.21-.14l.07-.28h.84l-.14.49c-.07.35-.35.49-.77.56h-.56v.77c0 .14.07.21.35.21h.49l-.14.56h-1.19c-.35 0-.49-.14-.49-.49l.07-2.1zm4.2-2.45l.21-.84h1.19l-.07.28s.56-.28 1.05-.28h1.47l-.21.84h-.21l-1.12 3.85h.21l-.21.77h-.21l-.07.35h-1.19l.07-.35h-2.17l.21-.77h.21l1.12-3.85h-.28m1.26 0l-.28 1.05s.49-.21.91-.28c.07-.35.21-.77.21-.77h-.84zm-.49 1.54l-.28 1.12s.56-.28.98-.28c.14-.42.21-.77.21-.77l-.91-.07zm.21 2.31l.21-.77h-.84l-.21.77h.84zm2.87-4.69h1.12l.07.42c0 .07.07.14.21.14h.21l-.21.7h-.77c-.28 0-.49-.07-.49-.35l-.14-.91zm-.35 1.47h3.57l-.21.77h-1.19l-.21.7h1.12l-.21.77h-1.26l-.28.42h.63l.14.84c0 .07.07.14.21.14h.21l-.21.7h-.7c-.35 0-.56-.07-.56-.35l-.14-.77-.56.84c-.14.21-.35.35-.63.35h-1.05l.21-.7h.35c.14 0 .21-.07.35-.21l.84-1.26h-1.05l.21-.77h1.19l.21-.7h-1.19l.21-.77zm-19.74-5.04c-.14.7-.42 1.19-.91 1.54-.49.35-1.12.56-1.89.56-.7 0-1.26-.21-1.54-.56-.21-.28-.35-.56-.35-.98 0-.14 0-.35.07-.56l.84-3.92h1.19l-.77 3.92v.28c0 .21.07.35.14.49.14.21.35.28.7.28s.7-.07.91-.28c.21-.21.42-.42.49-.77l.77-3.92h1.19l-.84 3.92m1.12-1.54h.84l-.07.49.14-.14c.28-.28.63-.42 1.05-.42.35 0 .63.14.77.35.14.21.21.49.14.91l-.49 2.38h-.91l.42-2.17c.07-.28.07-.49 0-.56-.07-.14-.21-.14-.35-.14-.21 0-.42.07-.56.21-.14.14-.28.35-.28.63l-.42 2.03h-.91l.63-3.57m9.8 0h.84l-.07.49.14-.14c.28-.28.63-.42 1.05-.42.35 0 .63.14.77.35s.21.49.14.91l-.49 2.38h-.91l.42-2.24c.07-.21 0-.42-.07-.49-.07-.14-.21-.14-.35-.14-.21 0-.42.07-.56.21-.14.14-.28.35-.28.63l-.42 2.03h-.91l.7-3.57m-5.81 0h.98l-.77 3.5h-.98l.77-3.5m.35-1.33h.98l-.21.84h-.98l.21-.84zm1.4 4.55c-.21-.21-.35-.56-.35-.98v-.21c0-.07 0-.21.07-.28.14-.56.35-1.05.7-1.33.35-.35.84-.49 1.33-.49.42 0 .77.14 1.05.35.21.21.35.56.35.98v.21c0 .07 0 .21-.07.28-.14.56-.35.98-.7 1.33-.35.35-.84.49-1.33.49-.35 0-.7-.14-1.05-.35m1.89-.7c.14-.21.28-.49.35-.84v-.35c0-.21-.07-.35-.14-.49a.635.635 0 0 0-.49-.21c-.28 0-.49.07-.63.28-.14.21-.28.49-.35.84v.28c0 .21.07.35.14.49.14.14.28.21.49.21.28.07.42 0 .63-.21m6.51-4.69h2.52c.49 0 .84.14 1.12.35.28.21.35.56.35.91v.28c0 .07 0 .21-.07.28-.07.49-.35.98-.7 1.26-.42.35-.84.49-1.4.49h-1.4l-.42 2.03h-1.19l1.19-5.6m.56 2.59h1.12c.28 0 .49-.07.7-.21.14-.14.28-.35.35-.63v-.28c0-.21-.07-.35-.21-.42-.14-.07-.35-.14-.7-.14h-.91l-.35 1.68zm8.68 3.71c-.35.77-.7 1.26-.91 1.47-.21.21-.63.7-1.61.7l.07-.63c.84-.28 1.26-1.4 1.54-1.96l-.28-3.78h1.19l.07 2.38.91-2.31h1.05l-2.03 4.13m-2.94-3.85l-.42.28c-.42-.35-.84-.56-1.54-.21-.98.49-1.89 4.13.91 2.94l.14.21h1.12l.7-3.29-.91.07m-.56 1.82c-.21.56-.56.84-.91.77-.28-.14-.35-.63-.21-1.19.21-.56.56-.84.91-.77.28.14.35.63.21 1.19"/></svg> 1706 </li> 1707 1708 <li class="inline-block mx-1 mb-2 w-7"> 1709 <svg class="icon" xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24" width="38" height="24" fill="none" aria-labelledby="pi-visa"><title id="pi-visa">Visa</title><rect x=".5" y=".5" width="37" height="23" rx="2.5" stroke="#000" stroke-opacity=".07" fill="none"/><path d="M35 0H3C1.3 0 0 1.3 0 3V21C0 22.7 1.4 24 3 24H35C36.7 24 38 22.7 38 21V3C38 1.3 36.6 0 35 0Z" fill="#142FBD" style="fill:#142FBD;fill:color(display-p3 0.0784 0.1843 0.7412);fill-opacity:1;"/>
1709<path d="M35 1C36.1 1 37 1.9 37 3V21C37 22.1 36.1 23 35 23H3C1.9 23 1 22.1 1 21V3C1 1.9 1.9 1 3 1H35Z" fill="#1532CB" style="fill:#1532CB;fill:color(display-p3 0.0824 0.1961 0.7961);fill-opacity:1;"/><path d="M29.5944 10.2167H29.2778C28.8556 11.2722 28.5389 11.8 28.2222 13.3833H30.2278C29.9111 11.8 29.9111 11.0611 29.5944 10.2167V10.2167ZM32.6556 16.4444H30.8611C30.7556 16.4444 30.7556 16.4444 30.65 16.3389L30.4389 15.3889L30.3333 15.1778H27.8C27.6944 15.1778 27.5889 15.1778 27.5889 15.3889L27.2722 16.3389C27.2722 16.4444 27.1667 16.4444 27.1667 16.4444H24.95L25.1611 15.9167L28.2222 8.73889C28.2222 8.21111 28.5389 8 29.0667 8H30.65C30.7556 8 30.8611 8 30.8611 8.21111L32.3389 15.0722C32.4444 15.4944 32.55 15.8111 32.55 16.2333C32.6556 16.3389 32.6556 16.3389 32.6556 16.4444V16.4444ZM18.5111 16.1278L18.9333 14.2278C19.0389 14.2278 19.1444 14.3333 19.1444 14.3333C19.8833 14.65 20.6222 14.8611 21.3611 14.7556C21.5722 14.7556 21.8889 14.65 22.1 14.5444C22.6278 14.3333 22.6278 13.8056 22.2056 13.3833C21.9944 13.1722 21.6778 13.0667 21.3611 12.8556C20.9389 12.6444 20.5167 12.4333 20.2 12.1167C18.9333 11.0611 19.3556 9.58333 20.0944 8.84444C20.7278 8.42222 21.0444 8 21.8889 8C23.1556 8 24.5278 8 25.1611 8.21111H25.2667C25.1611 8.84444 25.0556 9.37222 24.8444 10.0056C24.3167 9.79444 23.7889 9.58333 23.2611 9.58333C22.9444 9.58333 22.6278 9.58333 22.3111 9.68889C22.1 9.68889 21.9944 9.79444 21.8889 9.9C21.6778 10.1111 21.6778 10.4278 21.8889 10.6389L22.4167 11.0611C22.8389 11.2722 23.2611 11.4833 23.5778 11.6944C24.1056 12.0111 24.6333 12.5389 24.7389 13.1722C24.95 14.1222 24.6333 14.9667 23.7889 15.6C23.2611 16.0222 23.05 16.2333 22.3111 16.2333C20.8333 16.2333 19.6722 16.3389 18.7222 16.0222C18.6167 16.2333 18.6167 16.2333 18.5111 16.1278V16.1278ZM14.8167 16.4444C14.9222 15.7056 14.9222 15.7056 15.0278 15.3889C15.5556 13.0667 16.0833 10.6389 16.5056 8.31667C16.6111 8.10556 16.6111 8 16.8222 8H18.7222C18.5111 9.26667 18.3 10.2167 17.9833 11.3778C17.6667 12.9611 17.35 14.5444 16.9278 16.1278C16.9278 16.3389 16.8222 16.3389 16.6111 16.3389L14.8167 16.4444ZM5 8.21111C5 8.10556 5.21111 8 5.31667 8H8.90556C9.43333 8 9.85556 8.31667 9.96111 8.84444L10.9111 13.4889C10.9111 13.5944 10.9111 13.5944 11.0167 13.7C11.0167 13.5944 11.1222 13.5944 11.1222 13.5944L13.3389 8.21111C13.2333 8.10556 13.3389 8 13.4444 8H15.6611C15.6611 8.10556 15.6611 8.10556 15.5556 8.21111L12.2833 15.9167C12.1778 16.1278 12.1778
170916.2333 12.0722 16.3389C11.9667 16.4444 11.7556 16.3389 11.5444 16.3389H9.96111C9.85556 16.3389 9.75 16.3389 9.75 16.1278L8.06111 9.58333C7.85 9.37222 7.53333 9.05556 7.11111 8.95C6.47778 8.63333 5.31667 8.42222 5.10556 8.42222L5 8.21111Z" fill="white" style="fill:white;fill-opacity:1;"/></svg> 1710 1711 </li> 1712 1713 </ul> 1714 </div> 1715 1716 1717<div class="flex flex-wrap items-center justify-between lg:justify-end mb-4 lg:mb-0 lg:flex-1"><form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data" data-disclosure-form=""><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/pages/ball-pages" /><div class="inline-block "> 1718 <h2 class="visually-hidden" id="lang-heading"> 1719 Idioma 1720 </h2> 1721 <div class="relative" data-disclosure-locale> 1722 <button type="button" class="text-sm border-b-text border-footer-text py-1" aria-expanded="false" aria-controls="lang-list" aria-describedby="lang-heading" data-disclosure-toggle> 1723 Español 1724 <span class="inline-block ml-1 w-3 fill-current"> 1725 <svg aria-hidden="true" focusable="false" role="presentation" class="icon fill-current icon-chevron-down" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 16.596L4.222 8.818l1.414-1.414L12 13.768l6.364-6.364 1.414 1.414z"></path></svg> 1726 </span> 1727 </button> 1728 <ul id="lang-List" class="disclosure-list absolute bg-footer-background opacity-0 top-0 lg:left-auto lg:right-0 transform transition-opacity border-text border-theme-color py-2" data-disclosure-list inert> 1729 1730 <li class="text-sm"> 1731 <a class="block p-2" href="#" lang="es" aria-current="true" data-value="es" data-disclosure-option> 1732 <span class="border-footer-text border-b-text">Español</span> 1733 </a> 1734 </li> 1735 <li class="text-sm"> 1736 <a class="block p-2" href="#" lang="ca" data-value="ca" data-disclosure-option> 1737 <span class="border-transparent border-b-text">català </span> 1738 </a> 1739 </li> 1740 <li class="text-sm"> 1741 <a class="block p-2" href="#" lang="fr" data-value="fr" data-disclosure-option> 1742 <span class="border-transparent border-b-text">français</span> 1743 </a> 1744 </li> 1745 <li class="text-sm"> 1746 <a class="block p-2" href="#" lang="en" data-value="en" data-disclosure-option> 1747 <span class="border-transparent border-b-text">English</span> 1748 </a> 1749 </li></ul> 1750 <input type="hidden" name="locale_code" id="LocaleSelector" value="es" data-disclosure-input/> 1751 </div> 1752 </div></form></div></div> 1753 </div> 1754</footer> 1755 1756 1757 1758 1759 1760</div> 1761 </div> 1762 <div id="shopify-section-popup" class="shopify-section relative z-60"> 1763 1764 1765</div> 1766 1767 <div id="screenreader-announce" class="visually-hidden" aria-live="polite" role="status"></div> 1768 1769 <ul hidden> 1770 <li id="a11y-refresh-page-message">Al seleccionar una opción se actualiza toda la página.</li> 1771 <li id="a11y-selection-message">Presiona la tecla de espacio y luego las teclas de flecha para seleccionar una opción.</li> 1772 </ul> 1773 1774
1774<script> 1775 window.theme = { 1776 strings: { 1777 loading: "Cargando", 1778 itemCountOne: "{{ count }} artÃculo", 1779 itemCountOther: "{{ count }} artÃculos", 1780 addToCart: "Agregar al carrito", 1781 soldOut: "Agotado", 1782 unavailable: "No disponible", 1783 regularPrice: "Precio habitual", 1784 salePrice: "Precio de venta", 1785 sale: "Oferta", 1786 unitPrice: "Precio unitario", 1787 unitPriceSeparator: "por", 1788 cartEmpty: "Su carrito actualmente está vacÃo.", 1789 cartCookies: "Habilite las cookies para usar el carrito", 1790 update: "Actualizar carrito", 1791 quantity: "Cantidad", 1792 discountedTotal: "Descuento total", 1793 regularTotal: "Precio regular total", 1794 priceColumn: "Ver la columna de Precio para detalles del descuento.", 1795 addedToCart: "Recién agregado a tu carrito!", 1796 cartAddError: "Todos los {{ title }} están en su carrito.", 1797 cartError: "Se ha producido un error al actualizar tu carrito. Vuelve a intentarlo.", 1798 cartQuantityError: "Solo puedes agregar [quantity] de este artÃculo a tu carrito." 1799 }, 1800 routes: { 1801 cart_add_url: '/cart/add', 1802 cart_change_url: '/cart/change', 1803 cart_update_url: '/cart/update' 1804 }, 1805 moneyFormat: "{{amount}} AMD", 1806 cartItemCount: 0, 1807 cartMethod: "drawer" 1808 }; 1809 </script>
1809 1810<!-- langify-v2-scripts-begin --> 1811 1812
1813<script> 1814 var langify = langify || {}; 1815 1816 1817 /** 1818 * 1819 * 1820 * @class LyHelper 1821 */ 1822 class LyHelper { 1823 constructor() { 1824 return { 1825 ajax: function(params) { return LyHelper.ajax(params); }, 1826 isIE: function() { return LyHelper.isIE(); }, 1827 extractImageObject: function(val) { return LyHelper.extractImageObject(val); }, 1828 getCurrentLanguage: function() { return LyHelper.getCurrentLanguage(); }, 1829 getCookie: function(name) { return LyHelper.getCookie(name); }, 1830 setCookie: function(name, value, days) { return LyHelper.setCookie(name, value, days); }, 1831 getVersion: function() { return LyHelper.getVersion(); }, 1832 isOutOfViewport: function(elem) { return LyHelper.isOutOfViewport(elem); }, 1833 isDomainFeatureEnabled: function() { return LyHelper.isDomainFeatureEnabled(); }, 1834 getVal: function(str) { return LyHelper.getVal(str); }, 1835 inIframe: function() { return LyHelper.inIframe(); }, 1836 shopifyAPI: function() { return LyHelper.shopifyAPI(); }, 1837 loadScript: function(url, callback) { return LyHelper.loadScript(url, callback); }, 1838 localizationRedirect: function(type, code, additionalFields, additionalParams, domain) { return LyHelper.localizationRedirect(type, code, additionalFields, additionalParams, domain); }, 1839 changeCurrency: function(code) { return LyHelper.changeCurrency(code); }, 1840 log: function(title, data, type) { return LyHelper.log(title, data, type); }, 1841 } 1842 } 1843 static ajax(params) { 1844 var data = params.data; 1845 fetch(params.url, { 1846 method: params.method, 1847 headers: { 1848 'Content-Type': 'application/json', 1849 }, 1850 body: (data && params.method === 'POST') ? JSON.stringify(data) : null, 1851 }) 1852 .then(response => response.json()) 1853 .then(data => { 1854 params.success(data); 1855 }) 1856 .catch((error) => { 1857 console.error('Error:', error); 1858 }); 1859 } 1860 static isIE() { 1861 var ua = navigator.userAgent; 1862 var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1; 1863 return is_ie; 1864 } 1865 static extractImageObject(val) { 1866 if(!val || val == '') return false; 1867 var val = val; 1868 1869 // Handle src-sets 1870 if(val.search(/([0-9]+w?h?x?,)/gi) > -1) { 1871 val = val.split(/([0-9]+w?h?x?,)/gi)[0]; 1872 } 1873 1874 var hostBegin = val.indexOf('//') ? val.indexOf('//') : 0; 1875 var hostEnd = val.lastIndexOf('/') + 1; 1876 var host = val.substring(hostBegin, hostEnd); 1877 var afterHost = val.substring(hostEnd, val.length); 1878 1879 var url = val; 1880 var file = ''; 1881 var name = ''; 1882 var type = ''; 1883 afterHost = afterHost.substring(0, (afterHost.indexOf("#") == -1) ? afterHost.length : afterHost.indexOf("#")); 1884 afterHost = afterHost.substring(0, (afterHost.indexOf("?") == -1) ? afterHost.length : afterHost.indexOf("?")); 1885 name = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, ""); 1886 1887 if(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi) > -1) { 1888 type = afterHost.substring(afterHost.search(/(\.png\.jpg|\.jpg\.jpg)/gi)+1, afterHost.length); 1889 } else { 1890 type = afterHost.substring(afterHost.lastIndexOf('.')+1, afterHost.length); 1891 } 1892 1893 file = afterHost.replace(/(_[0-9]+x[0-9]*|_{width}x|_{size})?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(png\.jpg|jpe?g|png|gif|webp)/gi, '.'+type); 1894 1895 return { 1896 host: host, 1897 name: name, 1898 type: type, 1899 file: file 1900 } 1901 } 1902 static getCurrentLanguage() { 1903 return window.langify.locale.iso_code; 1904 } 1905 static setLanguage(code) { 1906 1907 } 1908 static getCookie(name) { 1909 var v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); 1910 if(v) return v[2]; 1911 else return null; 1912 } 1913 static setCookie(name, value, days) { 1914 var d = new Date; 1915 d.setTime(d.getTime() + 24*60*60*1000*days); 1916 document.cookie = name + "=" + value + ";path=/;expires=" + d.toGMTString(); 1917 } 1918 static getVersion() { 1919 return 2; 1920 } 1921 static isOutOfViewport (elem) { 1922 var bounding = elem.getBoundingClientRect(); 1923 var out = {}; 1924 out.top = bounding.top < 0; 1925 out.left = bounding.left < 0;
1926 out.bottom = Math.ceil(bounding.bottom) >= (window.innerHeight || document.documentElement.clientHeight); 1927 out.right = bounding.right > (window.innerWidth || document.documentElement.clientWidth); 1928 out.any = out.top || out.left || out.bottom || out.right; 1929 out.inViewport = bounding.x > 0 && bounding.y > 0; 1930 return out; 1931 } 1932 static isDomainFeatureEnabled() { 1933 return window.langify.locale.domain_feature_enabled; 1934 } 1935 static getVal(str) { 1936 var v = window.location.search.match(new RegExp('(?:[?&]'+str+'=)([^&]+)')); 1937 return v ? v[1] : null; 1938 } 1939 static inIframe() { 1940 try { 1941 return window.self !== window.top; 1942 } catch (e) { 1943 return true; 1944 } 1945 } 1946 static shopifyAPI() { 1947 var root_url = window.langify.locale.root_url != '/' ? window.langify.locale.root_url : ''; 1948 1949 return { 1950 attributeToString: function(attribute) { 1951 if((typeof attribute) !== 'string') { 1952 attribute += ''; 1953 if(attribute === 'undefined') {attribute = '';} 1954 } 1955 return attribute.trim(); 1956 }, 1957 getCart: function(callback) { 1958 LyHelper.ajax({ 1959 method: 'GET', 1960 url: root_url+'/cart.js', 1961 success: function (cart, textStatus) { 1962 if((typeof callback) === 'function') { 1963 callback(cart); 1964 } 1965 } 1966 }); 1967 }, 1968 updateCartNote: function(note, callback) { 1969 var params = { 1970 method: 'POST', 1971 url: root_url+'/cart/update.js', 1972 data: 'note=' + this.attributeToString(note), 1973 dataType: 'json', 1974 success: function(cart) {if((typeof callback) === 'function') {callback(cart);}}, 1975 error: this.onError 1976 }; 1977 LyHelper.ajax(params); 1978 }, 1979 updateCartAttributes: function(attributes, callback) { 1980 var params = { 1981 method: 'POST', 1982 url: root_url+'/cart/update.js', 1983 data: {"attributes": attributes}, 1984 dataType: 'json', 1985 success: function(cart) { 1986 if((typeof callback) === 'function') { 1987 callback(cart); 1988 } 1989 }, 1990 error: this.onError 1991 }; 1992 LyHelper.ajax(params); 1993 }, 1994 onError: function(XMLHttpRequest, textStatus) { 1995 1996 } 1997 } 1998 } 1999 static loadScript(url, callback) { 2000 var script = document.createElement('script'); 2001 script.type = 'text/javascript'; 2002 if(script.readyState) { 2003 script.onreadystatechange = function () { 2004 if(script.readyState == 'loaded' || script.readyState == 'complete') { 2005 script.onreadystatechange = null; 2006 callback(); 2007 } 2008 }; 2009 } else { 2010 script.onload = function () { 2011 callback(); 2012 }; 2013 } 2014 script.src = url; 2015 document.getElementsByTagName('head')[0].appendChild(script); 2016 } 2017 static localizationRedirect(type, code, additionalFields, additionalParams, domain) { 2018 if(type !== 'country_code' && type !== 'language_code') { 2019 return false; 2020 } 2021 if(!additionalParams) { 2022 var additionalParams = ''; 2023 } 2024 if(domain) { 2025 window.location.href = domain; 2026 return true; 2027 } 2028 var params = [ 2029 { 2030 name: type, 2031 value: code 2032 }, 2033 { 2034 name: 'return_to', 2035 value: window.location.pathname + window.location.search + additionalParams + window.location.hash 2036 }, 2037 { 2038 name: 'form_type', 2039 value: 'localization' 2040 }, 2041 { 2042 name: '_method', 2043 value: 'put' 2044 } 2045 ]; 2046 if(additionalFields) { 2047 for(var i=0; i<additionalFields.length; i++) { 2048 params.push(additionalFields[i]); 2049 } 2050 } 2051 const form = document.createElement('form'); 2052 form.method = 'POST'; 2053 form.action = '/localization'; 2054 params.forEach(function(param) { 2055 const field = document.createElement('input'); 2056 field.type = 'hidden'; 2057 field.name = param['name']; 2058 field.value = param['value']; 2059 form.appendChild(field); 2060 }); 2061 document.body.appendChild(form); 2062 form.submit(); 2063 } 2064 static changeCurrency(code) { 2065 const params = [ 2066 { 2067 name: 'currency_code', 2068 value: code 2069 }, 2070 { 2071 name: 'return_to', 2072 value: window.location.pathname + window.location.search + window.location.hash 2073 }, 2074 { 2075 name: 'form_type', 2076 value: 'localization' 2077 }, 2078 { 2079 name: '_method', 2080 value: 'put' 2081 } 2082 ]; 2083 const form = document.createElement('form'); 2084 form.method = 'POST'; 2085 form.action = '/localization';
2086 params.forEach(function(param) { 2087 const field = document.createElement('input'); 2088 field.type = 'hidden'; 2089 field.name = param['name']; 2090 field.value = param['value']; 2091 form.appendChild(field); 2092 }); 2093 document.body.appendChild(form); 2094 form.submit(); 2095 } 2096 static log(title, data, type) { 2097 if(langify.settings.debug) { 2098 if(!data) { 2099 var data = ''; 2100 } 2101 2102 var css = 'color: green; font-weight: bold;'; 2103 if(type === 'error') { 2104 css = 'color: red; font-weight: bold;'; 2105 } 2106 2107 console.log(`%c ${title}: \n`, css, data); 2108 } 2109 } 2110 }; 2111 2112 2113 /** 2114 * 2115 * 2116 * @class TranslationObserver 2117 */ 2118 class TranslationObserver { 2119 constructor() { 2120 LyHelper.log('TranslationObserver instantiation') 2121 } 2122 2123 init() { 2124 if(langify.settings.observe && !LyHelper.isIE()) { 2125 var langifyObserver = this.langifyObserverCore(); 2126 langifyObserver.init(); 2127 2128 // HOTFIX: translation observer sometimes refuses to trigger on page load_ 2129 langifyObserver.triggerCustomContents(); 2130 2131 langify.api = { 2132 observer: { 2133 start: langifyObserver.init, 2134 stop: langifyObserver.stopObserver, 2135 trigger: langifyObserver.triggerCustomContents, 2136 translateLink: langifyObserver.translateLink, 2137 translateTextNode: langifyObserver.translateTextNode, 2138 translateNodeAttrs: langifyObserver.translateNodeAttrs, 2139 translateImage: langifyObserver.translateImage, 2140 translateCssImage: langifyObserver.translateCssImage 2141 } 2142 }; 2143 } 2144 2145 return this; 2146 } 2147 2148 langifyObserverCore() { 2149 var observedNodes = []; 2150 var intersectionObs = null; 2151 var mutationCount = 0; 2152 var mutationObs = null; 2153 var mutationObsConfig = { 2154 characterData: true, 2155 characterDataOldValue: true, 2156 attributes: true, 2157 attributeOldValue: true, 2158 childList: true, 2159 subtree: true, 2160 }; 2161 var customContents_html = {}; 2162 var customContents_text = {}; 2163 var customContents_attr = {}; 2164 2165 function init() { 2166 if(langify.settings.observe) { 2167 spreadCustomContents(); 2168 if (window.MutationObserver) { 2169 if (langify.settings.lazyload && window.IntersectionObserver) { 2170 startIntersectionObserver(); 2171 } else { 2172 startMutationObserver(null); 2173 } 2174 } else { 2175 startMutationEvents(); 2176 } 2177 } 2178 } 2179 2180 2181 // Intersection Observer 2182 function startIntersectionObserver() { 2183 intersectionObs = new IntersectionObserver(callbackIntersectionChange); 2184 var elementNodes = document.getElementsByClassName('shopify-section'); 2185 Array.prototype.slice.call(elementNodes).forEach(function(node) { 2186 intersectionObs.observe(node); 2187 }); 2188 } 2189 2190 function callbackIntersectionChange(intersections) { 2191 intersections.forEach(function(intersection) { 2192 var target = intersection.target; 2193 var targetIsIntersecting = Boolean(target.getAttribute('ly-is-intersecting') === "true" ? true : false); 2194 2195 if(typeof targetIsIntersecting == 'undefined' || targetIsIntersecting == null) { 2196 target.setAttribute('ly-is-intersecting', intersection.isIntersecting); 2197 targetIsIntersecting = intersection.isIntersecting; 2198 } 2199 2200 // On Screen 2201 if(targetIsIntersecting == false && intersection.isIntersecting == true) { 2202 if(!target.getAttribute('ly-is-observing')) { 2203 startMutationObserver(target); 2204 intersectionObs.unobserve(target); 2205 2206 // As the mutation observer didn't see the "add" of the elememts, trigger the initial translation manually 2207 var elementNodes = getNodesUnder(target, 'SHOW_ELEMENT'); 2208 var textNodes = getNodesUnder(target, 'SHOW_TEXT'); 2209 var nodes = elementNodes.concat(textNodes);
2210 nodes.forEach(function(node) { 2211 translate(node, 'mutation -> childList'); 2212 }); 2213 } 2214 } 2215 // Off Screen 2216 //else if(targetIsIntersecting == true && intersection.isIntersecting == false) { 2217 // stopMutationObserver(target); 2218 //} 2219 target.setAttribute('ly-is-intersecting', intersection.isIntersecting); 2220 }); 2221 } 2222 2223 2224 // Mutation Observer 2225 function startMutationObserver(observerTarget) { 2226 if (!observerTarget) { 2227 var target = document.documentElement || document.body; // main window 2228 } else { 2229 if (observerTarget.nodeName === 'IFRAME') { 2230 try { var target = observerTarget.contentDocument || observerTarget.contentWindow.document; } 2231 catch { return false; } 2232 } else { 2233 var target = observerTarget; 2234 } 2235 } 2236 mutationObs = new MutationObserver(callbackDomChange); 2237 mutationObs.observe(target, mutationObsConfig); 2238 observedNodes.push(target); 2239 try { target.setAttribute('ly-is-observing', 'true'); } catch(e) {} 2240 } 2241 2242 function stopMutationObserver(target) { 2243 if(observedNodes.indexOf(target) > -1) { 2244 observedNodes.splice(observedNodes.indexOf(target), 1); 2245 } 2246 var mutations = mutationObs.takeRecords(); 2247 mutationObs.disconnect(); 2248 observedNodes.forEach(node => { 2249 mutationObs.observe(node, mutationObsConfig); 2250 }); 2251 try { target.removeAttribute('ly-is-observing'); } catch(e) {} 2252 } 2253 2254 2255 function callbackDomChange(mutations, mutationObs) { 2256 for (var i = 0, length = mutations.length; i < length; i++) { 2257 var mutation = mutations[i]; 2258 var target = mutation.target; 2259 2260 // Links-Hook 2261 if (mutation.type === 'attributes' && (mutation.attributeName === 'href' || mutation.attributeName === 'action')) { 2262 var target = mutation.target; 2263 translateLink(target.getAttribute(mutation.attributeName), target); 2264 } 2265 // Images-Hook 2266 else if (mutation.type === 'attributes' && (mutation.attributeName === 'src' || mutation.attributeName === 'data-src' || mutation.attributeName === 'srcset' || mutation.attributeName === 'data-srcset')) { 2267 translateImage(target, mutation.attributeName); 2268 } 2269 else if (mutation.type === 'attributes' && mutation.attributeName === 'style') { 2270 translateCssImage(target); 2271 } 2272 // Subtree Events 2273 else if (mutation.type === 'childList') { 2274 // Added Nodes 2275 if(mutation.addedNodes.length > 0) { 2276 var elementNodes = getNodesUnder(mutation.target, 'SHOW_ELEMENT'); 2277 var textNodes = getNodesUnder(mutation.target, 'SHOW_TEXT'); 2278 var nodes = elementNodes.concat(textNodes); 2279 nodes.forEach(function(node) { 2280 translate(node, 'mutation -> childList'); 2281 }); 2282 } 2283 } 2284 // CharacterData Events 2285 else if (mutation.type === 'characterData') { 2286 var target = mutation.target; 2287 translate(target, 'mutation -> characterData'); 2288 } 2289 } 2290 } 2291 2292 2293 function translate(node, info) { 2294 if((node.nodeType === 1 && node.hasAttribute('data-ly-locked')) || (node.nodeType === 3 && node.parentNode && node.parentNode.hasAttribute('data-ly-locked'))) { 2295 return; 2296 } 2297 // CC-Hook 2298 if (node.nodeName !== 'SCRIPT' && node.nodeName !== 'STYLE') { 2299 if (node.nodeType === 3) { 2300 translateTextNode(node, info); 2301 } 2302 translateNodeAttrs(node); 2303 } 2304 // Links-Hook 2305 if (node.nodeName === 'A' || node.nodeName === 'FORM') { 2306 if(node.hasAttribute('href')) var attrName = 'href'; 2307 else var attrName = 'action'; 2308 var url = node.getAttribute(attrName); 2309 translateLink(url, node); 2310 } 2311 // Images-Hook 2312 if (node.nodeName === 'IMG' || node.nodeName === 'SOURCE') { 2313 translateImage(node, ['src', 'data-src', 'srcset', 'data-srcset']); 2314 } 2315 if (node.attributes && node.getAttribute('style')) { 2316 translateCssImage(node); 2317 } 2318 // Iframe Observation 2319 if (node.nodeName === 'IFRAME') { 2320 // Todo: handle srcdoc iframe content observing 2321 if (node.getAttribute('ly-is-observing') == null && node.getAttribute('src') == null && !node.hasAttribute('srcdoc')) { 2322 node.setAttribute('ly-is-observing', 'true'); 2323 startMutationObserver(node); 2324 } 2325 } 2326 } 2327 2328 function translateNodeAttrs(node) { 2329 if (node.attributes && node.getAttribute('placeholder')) { 2330 var src = node.getAttribute('placeholder').trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase(); 2331 if(customContents_text[src] && node.getAttribute('placeholder') !== customContents_text[src]) { 2332 node.setAttribute('placeholder', customContents_text[src]); 2333 } 2334 } 2335 } 2336 2337 2338 function translateTextNode(node, info) { 2339 if(langify.settings.observeCustomContents === false || !node.textContent || node.textContent.trim().length === 0) { 2340 return; 2341 } 2342 var oldSrc = node.textContent.trim().replace(/(\r\n|\n|\r)/gim,"").replace(/\s+/g," ").toLowerCase(); 2343 var src = node.textContent.trim().replace(/(\r\n|\n|\r)/gim," ").replace(/\s+/g," ").toLowerCase(); 2344 if(customContents_text[oldSrc]) { 2345 src = oldSrc; 2346 } 2347 if(customContents_text[src] && node.textContent !== customContents_text[src]) { 2348 var newContent = node.textContent.replace(node.textContent.trim(), customContents_text[src]); 2349 if (newContent != node.textContent) { 2350 if(!node.parentNode.hasAttribute('data-ly-mutation-count') || parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) < langify.settings.maxMutations) { 2351 var count = node.parentNode.hasAttribute('data-ly-mutation-count') ? parseInt(node.parentNode.getAttribute('data-ly-mutation-count')) : 0; 2352 node.parentNode.setAttribute('data-ly-mutation-count', count+1); 2353 node.textContent = newContent; 2354 2355 mutationCount = mutationCount + 1; 2356 LyHelper.log('REPLACED (TEXT)', { 2357 oldValue: src, 2358 newValue: customContents_text[src], 2359 mutationCount, 2360 }, 'success' 2361 ); 2362 2363 var event = new CustomEvent('langify.observer.aftertranslatetext', { 2364 bubbles: true, 2365 detail: { 2366 target: node, 2367 original: src, 2368 translation: customContents_text[src] 2369 } 2370 }); 2371 node.dispatchEvent(event); 2372 } 2373 } 2374 } 2375 } 2376 2377 function translateLink(url, node, force) { 2378 if(langify.settings.observeLinks === false || isLocalizationForm(node) || node.hasAttribute('data-ly-locked') || !url || (url.indexOf('mailto:') !== -1 || url.indexOf('javascript:') !== -1 || url.indexOf('tel:') !== -1 || url.indexOf('file:') !== -1 || url.indexOf('ftp:') !== -1 || url.indexOf('sms:') !== -1 || url.indexOf('market:') !== -1 || url.indexOf('fax:') !== -1 || url.indexOf('callto:') !== -1 || url.indexOf('ts3server:') !== -1)) { 2379 return; 2380 } 2381 var isLocalized = (
2382 url.indexOf('/'+ langify.locale.iso_code +'/') === 0 || url === '/'+ langify.locale.iso_code || 2383 url.indexOf('/'+ langify.locale.iso_code.toLowerCase() +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase() || 2384 url.indexOf('/'+ langify.locale.iso_code.toLowerCase().substring(0,2) +'/') === 0 || url === '/'+ langify.locale.iso_code.toLowerCase().substring(0,2) || 2385 url.indexOf(langify.locale.root_url + '/') === 0 || url === langify.locale.root_url || 2386 url.indexOf(langify.locale.shop_url + langify.locale.root_url) === 0 || url === langify.locale.shop_url + langify.locale.root_url 2387 ); 2388 var cleanUrl = url.replace(langify.locale.shop_url, ''); 2389 var re = new RegExp(`\/\\b${langify.locale.iso_code.replace('-', '\-')}\\b\/`, 'gi'); 2390 var link = cleanUrl.replace(re, '/'); 2391 var isUrlAbsolute = (link.indexOf('://') > 0 || link.indexOf('//') === 0); 2392 var blacklist = ['#', '/'+ langify.locale.iso_code +'#'].concat(langify.settings.linksBlacklist); 2393 var isUrlBlacklisted = blacklist.find(x => url.indexOf(x) === 0); 2394 if(!isLocalized && !isUrlAbsolute && !isUrlBlacklisted && langify.locale.root_url != '/' || force) { 2395 if(node.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action'; 2396 if(link === '/' || link == langify.locale.root_url) link = ''; 2397 var newLink = langify.locale.root_url + link; 2398 var timeStamp = Math.floor(Date.now()); 2399 if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { 2400 node.setAttribute('data-ly-processed', timeStamp); 2401 node.setAttribute(attrName, newLink); 2402 if(node.hasAttribute('data-'+attrName)) node.setAttribute('data-'+attrName, newLink); 2403 2404 mutationCount = mutationCount + 1; 2405 LyHelper.log('REPLACED (LINK)', { 2406 attrName, 2407 oldValue: url, 2408 newValue: newLink, 2409 mutationCount, 2410 }, 'success' 2411 ); 2412 2413 var event = new CustomEvent('langify.observer.aftertranslatelink', { 2414 bubbles: true, 2415 detail: { 2416 target: node, 2417 attribute: attrName, 2418 original: url, 2419 translation: newLink 2420 } 2421 }); 2422 node.dispatchEvent(event); 2423 } 2424 } 2425 } 2426 2427 function translateImage(node, attr) { 2428 if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0) { 2429 return 2430 } 2431 var attrs = []; 2432 if(typeof attr === 'string') attrs.push(attr); 2433 else if(typeof attr === 'object') attrs = attr; 2434 var timeStamp = Math.floor(Date.now()); 2435 if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { 2436 node.setAttribute('data-ly-processed', timeStamp); 2437 attrs.forEach(function(attr) { 2438 if(node.hasAttribute(attr)) { 2439 var imgObject = LyHelper.extractImageObject(node.getAttribute(attr)); 2440 var imgKey = imgObject ? imgObject.file.toLowerCase() : ''; 2441 2442 if(customContents_image[imgKey]) { 2443 2444 // Replace 2445 var oldValue = node.getAttribute(attr); 2446 var translation = node.getAttribute(attr); 2447 translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host); 2448 translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name); 2449 translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type); 2450 2451 // China Hook 2452 if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) { 2453 translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); 2454 } 2455 2456 if(node.getAttribute(attr) != translation) { 2457 node.setAttribute(attr, translation); 2458 2459 mutationCount = mutationCount + 1; 2460 LyHelper.log('REPLACED (IMAGE)', { 2461 attrName: attr, 2462 oldValue: oldValue, 2463 newValue: translation, 2464 mutationCount, 2465 }, 'success'); 2466 2467 var event = new CustomEvent('langify.observer.aftertranslateimage', { 2468 bubbles: true, 2469 detail: { 2470 target: node, 2471 attribute: attr, 2472 original: oldValue, 2473 translation: translation 2474 } 2475 }); 2476 node.dispatchEvent(event); 2477 } 2478 } 2479 } 2480 }); 2481 } 2482 } 2483 2484 function translateCssImage(node) { 2485 if(langify.settings.observeImages === false || node.hasAttribute('data-ly-locked') || Object.keys(customContents_image).length === 0 || !node.getAttribute('style')) { 2486 return 2487 } 2488 2489 var imgMatches = node.getAttribute('style').match(/url\(("|')?(.*)("|')?\)/gi); 2490 if(imgMatches !== null) { 2491 var imgSource = imgMatches[0].replace(/url\(("|')?|("|')?\)/, ''); 2492 var imgObject = LyHelper.extractImageObject(imgSource); 2493 var imgKey = imgObject ? imgObject.file.toLowerCase() : ''; 2494 var attr = 'style'; 2495 2496 if(customContents_image[imgKey]) { 2497 2498 // Replace 2499 var translation = node.getAttribute(attr); 2500 translation = translation.replace(new RegExp(imgObject.host, 'g'), customContents_image[imgKey].host); 2501 translation = translation.replace(new RegExp(imgObject.name, 'g'), customContents_image[imgKey].name); 2502 translation = translation.replace(new RegExp(imgObject.type, 'g'), customContents_image[imgKey].type); 2503 2504 // China Hook 2505 if(node.getAttribute(attr).indexOf('cdn.shopifycdn.net') >= 0) { 2506 translation = translation.replace(new RegExp('cdn.shopify.com', 'g'), 'cdn.shopifycdn.net'); 2507 } 2508 2509 if(node.getAttribute(attr) != translation) { 2510 var timeStamp = Math.floor(Date.now()); 2511 if(!node.hasAttribute('data-ly-processed') || timeStamp > parseInt(node.getAttribute('data-ly-processed')) + langify.settings.timeout) { 2512 node.setAttribute('data-ly-processed', timeStamp); 2513 node.setAttribute(attr, translation); 2514 mutationCount = mutationCount + 1; 2515 } 2516 } 2517 } 2518 } 2519 } 2520 2521 function findAndLocalizeLinks(target, parent) { 2522 if(target.parentNode && parent) var allLinks = target.parentElement.querySelectorAll('[href],[action]'); 2523 else var allLinks = target.querySelectorAll('[href],[action]'); 2524 allLinks.forEach(link => { 2525 if(link.hasAttribute('href')) var attrName = 'href'; else var attrName = 'action'; 2526 var url = link.getAttribute(attrName); 2527 translateLink(url, link); 2528 }); 2529 } 2530 2531 function isLocalizationForm(node) { 2532 if(node.querySelector('input[name="form_type"][value="localization"]')){ 2533 return true; 2534 } 2535 return false;
2536 } 2537 2538 function getNodesUnder(el, show){ 2539 var n, a=[], walk=document.createTreeWalker(el, NodeFilter[show] , null, false); 2540 while(n=walk.nextNode()) a.push(n); 2541 return a; 2542 } 2543 2544 function spreadCustomContents() { 2545 var getFileName = function(url) { 2546 if(!url || url == '') return; 2547 url = url.substring(0, (url.indexOf("#") == -1) ? url.length : url.indexOf("#")); 2548 url = url.substring(0, (url.indexOf("?") == -1) ? url.length : url.indexOf("?")); 2549 url = url.substring(url.lastIndexOf("/") + 1, url.length); 2550 url = url.replace(/(_[0-9]+x[0-9]*|_{width}x)?(_crop_(top|center|bottom|left|right))?(@[0-9]*x)?(\.progressive)?\.(jpe?g|png|gif|webp)/gi, ""); 2551 return '/' + url; 2552 } 2553 Object.entries(customContents).forEach(function(entry) { 2554 //if(/<\/?[a-z][\s\S]*>/i.test(entry[0])) customContents_html[entry[0]] = entry[1]; 2555 //else if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png)/.test(entry[0])) customContents_image[getFileName(entry[0])] = getFileName(entry[1]); 2556 if(/(http(s?):)?([/|.|\w|\s|-])*\.(?:jpe?g|gif|png|webp)/.test(entry[0])) customContents_image[LyHelper.extractImageObject(entry[0]).file] = LyHelper.extractImageObject(entry[1]); 2557 else customContents_text[entry[0]] = entry[1]; 2558 }); 2559 LyHelper.log('CUSTOM CONTENTS:', {customContents, customContents_text, customContents_image}, 'info') 2560 } 2561 2562 // Polyfill for old browsers 2563 function startMutationEvents() { 2564 var target = document.querySelector('body'); 2565 target.addEventListener("DOMAttrModified", function (event) { 2566 if(event.attrName === 'href' || event.attrName === 'action') { 2567 if(event.prevValue != event.newValue) { 2568 translateLink(event.newValue, event.target); 2569 } 2570 } 2571 }, false); 2572 target.addEventListener("DOMSubtreeModified", function (event) { 2573 //findAndLocalizeLinks(event.target, false); 2574 //matchCustomContent(event.target); 2575 }, false); 2576 } 2577 2578 function triggerCustomContents() { 2579 var rootnode = document.getElementsByTagName('body')[0] 2580 var walker = document.createTreeWalker(rootnode, NodeFilter.SHOW_ALL, null, false) 2581 2582 while (walker.nextNode()) { 2583 //LyHelper.log(walker.currentNode.tagName) 2584 translate(walker.currentNode, null); 2585 } 2586 } 2587 2588 function stopObserver() { 2589 mutationObs.takeRecords(); 2590 mutationObs.disconnect(); 2591 } 2592 2593 //init(); 2594 return { 2595 init: init, 2596 triggerCustomContents: triggerCustomContents, 2597 stopObserver: stopObserver, 2598 translateLink: translateLink, 2599 translateTextNode: translateTextNode, 2600 translateNodeAttrs: translateNodeAttrs, 2601 translateImage: translateImage, 2602 translateCssImage: translateCssImage 2603 } 2604 }; 2605 } 2606 2607 2608 /** 2609 * 2610 * 2611 * @class Switcher 2612 */ 2613 class Switcher { 2614 constructor(switcherSettings) { 2615 LyHelper.log('Switcher instantiation'); 2616 2617 this.lyForceOff = location.search.split('ly-force-off=')[1]; 2618 this.switcherElements = Array.prototype.slice.call(document.getElementsByClassName('ly-switcher-wrapper')); 2619 } 2620 2621 init() { 2622 2623 // Initial cart.attributes update 2624 LyHelper.shopifyAPI().getCart(function (cart) { 2625 var currentLanguage = langify.locale.iso_code; 2626 if(!cart.attributes.language || cart.attributes.language != currentLanguage) { 2627 LyHelper.shopifyAPI().updateCartAttributes({"language": currentLanguage}, function(data){}); 2628 } 2629 }); 2630 2631 if(langify.locale.languages.length === 1) { 2632 console.info(`%c LANGIFY INFO:\n`, 'font-weight: bold;', 'The language switcher is hidden! This can have one of the following reasons: \n * All additional languages are disabled in the "Langify -> Dashboard -> Languages" section. \n * If you are using different domains for your additional languages, ensure that "Cross Domain Links" are enabled inside the "Langify -> Dashboard -> Switcher Configurator -> Domains" section.'); 2633 return false;
2634 } 2635 2636 this.setCustomPosition(); 2637 this.initCustomDropdown(); 2638 this.bindCountrySwitchers(); 2639 this.bindCurrencySwitchers(); 2640 this.bindLanguageSwitchers(); 2641 2642 var event = new CustomEvent('langify.switcher.initialized', { 2643 bubbles: true, 2644 detail: {} 2645 }); 2646 } 2647 2648 initCustomDropdown() { 2649 // Custom Dropdown 2650 var root = this; 2651 var switcher = document.getElementsByClassName('ly-custom-dropdown-switcher'); 2652 for(var a = 0; a < switcher.length; a++) { 2653 switcher[a].classList.toggle('ly-is-open'); 2654 var isOut = LyHelper.isOutOfViewport(switcher[a]); 2655 if(isOut.bottom && isOut.inViewport) { 2656 switcher[a].classList.add('ly-is-dropup'); 2657 var arrows = switcher[a].querySelectorAll('.ly-arrow'); 2658 for(var b = 0; b < arrows.length; b++) { 2659 arrows[b].classList.add('ly-arrow-up'); 2660 } 2661 } 2662 switcher[a].classList.toggle('ly-is-open'); 2663 switcher[a].onclick = function(event) { 2664 root.toggleSwitcherOpen(this); 2665 } 2666 } 2667 2668 document.addEventListener('click', function(event) { 2669 if(!event.target.closest('.ly-custom-dropdown-switcher')) { 2670 var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open') 2671 for(var i = 0; i < openSwitchers.length; i++) { 2672 openSwitchers[i].classList.remove('ly-is-open'); 2673 } 2674 } 2675 }); 2676 } 2677 2678 bindLanguageSwitchers() { 2679 var root = this; 2680 var links = document.getElementsByClassName('ly-languages-switcher-link'); 2681 for(var l = 0; l < links.length; l++) { 2682 links[l].addEventListener('click', function(event) { 2683 event.preventDefault(); 2684 if(LyHelper.isDomainFeatureEnabled() && this.getAttribute('href') !== '#') { 2685 var domain = this.getAttribute('href'); 2686 } 2687 LyHelper.setCookie('ly-lang-selected', this.getAttribute('data-language-code'), 365); 2688 LyHelper.localizationRedirect('language_code', this.getAttribute('data-language-code'), null, null, domain); 2689 }); 2690 } 2691 2692 // Native select event handling 2693 var nativeLangifySelects = document.querySelectorAll('select.ly-languages-switcher'); 2694 for(var i = 0; i < nativeLangifySelects.length; i++) { 2695 nativeLangifySelects[i].onchange = function() { 2696 event.preventDefault(); 2697 if(LyHelper.isDomainFeatureEnabled() && this[this.selectedIndex].getAttribute('data-domain') !== '#') { 2698 var domain = this[this.selectedIndex].getAttribute('data-domain'); 2699 } 2700 LyHelper.setCookie('ly-lang-selected', this[this.selectedIndex].getAttribute('data-language-code'), 365); 2701 LyHelper.localizationRedirect('language_code', this[this.selectedIndex].getAttribute('data-language-code'), null, null, domain); 2702 }; 2703 } 2704 } 2705 2706 bindCountrySwitchers() { 2707 var countrySelectSwitcher = document.querySelectorAll('select.ly-country-switcher'); 2708 var countryCustomSwitcher = document.querySelectorAll('div.ly-country-switcher a'); 2709 for(var i=0; i<countryCustomSwitcher.length; i++) { 2710 countryCustomSwitcher[i].addEventListener('click', function(e) { 2711 LyHelper.localizationRedirect('country_code', this.getAttribute('data-country-code')); 2712 }); 2713 } 2714 for(var a=0; a<countrySelectSwitcher.length; a++) { 2715 countrySelectSwitcher[a].addEventListener('change', function(){ 2716 LyHelper.localizationRedirect('country_code', this[this.selectedIndex].getAttribute('data-country-code')); 2717 }); 2718 } 2719 } 2720 2721 bindCurrencySwitchers() { 2722 var currencySelectSwitcher = document.querySelectorAll('select.ly-currency-switcher'); 2723 var currencyCustomSwitcher = document.querySelectorAll('div.ly-currency-switcher a'); 2724 for(var i=0; i<currencyCustomSwitcher.length; i++) { 2725 currencyCustomSwitcher[i].addEventListener('click', function(e) { 2726 LyHelper.changeCurrency(this.getAttribute('data-currency-code')); 2727 }); 2728 } 2729 for(var a=0; a<currencySelectSwitcher.length; a++) { 2730 currencySelectSwitcher[a].addEventListener('change', function(){ 2731 LyHelper.changeCurrency(this[this.selectedIndex].getAttribute('data-currency-code')); 2732 }); 2733 } 2734 } 2735 2736 setCustomPosition() { 2737 for(var i = 0; i < this.switcherElements.length; i++) { 2738 if(this.lyForceOff !== 'true') { 2739 if(langify.locale.languages.length <= 1) { 2740 this.switcherElements[i].querySelector('.ly-languages-switcher').classList.add('ly-hide'); 2741 } 2742 this.switcherElements[i].classList.remove('ly-hide'); 2743 } 2744 if(this.switcherElements[i].classList.contains('ly-custom') && (document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')) || document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')).length )) { 2745 var targets = Array.from(document.getElementsByClassName('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint'))); 2746 var target = document.getElementById('ly-custom-'+this.switcherElements[i].getAttribute('data-breakpoint')); 2747 if(target) targets.push(target); 2748 for(var c = 0; c < targets.length; c++) { 2749 var clone = this.switcherElements[i].cloneNode(true); 2750 targets[c].innerHTML = clone.outerHTML; 2751 } 2752 this.switcherElements[i].classList.add('ly-hide'); 2753 } 2754 } 2755 } 2756 2757 toggleSwitcherOpen(e) { 2758 var target = e; 2759 if(!target.classList.contains('ly-is-open')) { 2760 var openSwitchers = document.querySelectorAll('.ly-custom-dropdown-switcher.ly-is-open') 2761 for(var i = 0; i < openSwitchers.length; i++) { 2762 openSwitchers[i].classList.remove('ly-is-open'); 2763 } 2764 2765 target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'true'); 2766 } else { 2767 target.getElementsByClassName('ly-custom-dropdown-current')[0].setAttribute('aria-expanded', 'false'); 2768 } 2769 target.classList.toggle('ly-is-open'); 2770 var isOut = LyHelper.isOutOfViewport(target); 2771 if(isOut.bottom) { 2772 target.classList.add('ly-is-dropup'); 2773 } 2774 } 2775 2776 togglePopupOpen(e) { 2777 e.closest('.ly-popup-switcher').classList.toggle('ly-is-open'); 2778 } 2779 2780 _getCountryCodeFromHreflang(language_code) { 2781 var hreflangTags = document.querySelectorAll('link[hreflang]'); 2782 var languageDomains = {}; 2783 var countryCode = false;
2784 for(var i = 0; i < hreflangTags.length; i++) { 2785 if(hreflangTags[i].getAttribute('hreflang').indexOf(language_code) === 0) { 2786 if(!languageDomains[hreflangTags[i].getAttribute('href')]) { 2787 languageDomains[hreflangTags[i].getAttribute('href')] = hreflangTags[i]; 2788 } 2789 } 2790 } 2791 if(Object.keys(languageDomains).length > 0) { 2792 countryCode = Object.values(languageDomains)[0].getAttribute('hreflang'); 2793 countryCode = countryCode.split('-'); 2794 if(countryCode[1]) { 2795 countryCode = countryCode[1] 2796 } else { 2797 2798 } 2799 } 2800 return countryCode; 2801 } 2802 } 2803 2804 2805 /** 2806 * 2807 * 2808 * @class LanguageDetection 2809 */ 2810 class LanguageDetection { 2811 2812 constructor() { 2813 this.hreflangList = null; 2814 LyHelper.log('LanguageDetection instantiation'); 2815 } 2816 2817 init() { 2818 if(LyHelper.inIframe() 2819 || window.location.pathname.indexOf('preview_key=') > 0) { 2820 return null; 2821 } 2822 2823 var currentLang = langify.locale.iso_code.toLowerCase(); 2824 //var localizationData = this.getLocalizationData(); 2825 this.hreflangList = this.getHreflangList(); 2826 2827 var userLang = navigator.language || navigator.userLanguage; 2828 userLang = userLang.toLowerCase(); 2829 var bot = /bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex|Chrome-Lighthouse/i.test(navigator.userAgent); 2830 var blockedRoutes = window.lyBlockedRoutesList || []; 2831 var blockedRoute = blockedRoutes.find(x => window.location.pathname.indexOf(x) === 0); 2832 var is404 = document.getElementsByClassName('template-404').length; 2833 2834 if(LyHelper.getVal('redirected') === 'true') { 2835 LyHelper.setCookie('ly-lang-selected', currentLang, 365); 2836 var _href = window.location.href; 2837 history.replaceState(null, '', _href.replace(/(\?|&)(redirected=true)/i, '')); 2838 return null; 2839 } 2840 2841 if(!is404 && !bot && !blockedRoute && LyHelper.getVal('ly-lang-detect') !== 'off') { 2842 if(userLang && !LyHelper.getCookie('ly-lang-selected')) { 2843 var hasMatch = this.matchHreflangList(userLang); 2844 if(currentLang !== this._hreflangToLanguageCode(hasMatch)) { 2845 if(hasMatch) { 2846 this.redirectMatched(userLang); 2847 } else if (!hasMatch && langify.settings.switcher.languageDetectionDefault) { 2848 // Redirect to default language 2849 this.redirectMatched(langify.settings.switcher.languageDetectionDefault); 2850 } 2851 } 2852 } else { 2853 if(LyHelper.getCookie('ly-lang-selected') && LyHelper.getCookie('ly-lang-selected') !== currentLang) { 2854 // Only save cookie when the domain feature is active 2855 if(LyHelper.isDomainFeatureEnabled()) { 2856 LyHelper.setCookie('ly-lang-selected', currentLang, 365); 2857 } 2858 this.redirectMatched(LyHelper.getCookie('ly-lang-selected')); 2859 } 2860 } 2861 } 2862 2863 this._geolocationAppSupport(); 2864 } 2865 redirectMatched(userLang) { 2866 var match = this.matchHreflangList(userLang); 2867 if(match) { 2868 this.redirectHref(match.href, match.lang); 2869 } 2870 return match; 2871 } 2872 matchHreflangList(userLang) { 2873 var matchedHreflang = false; 2874 var browserLang = userLang; 2875 2876 // Find candidates 2877 var candidates = this.hreflangList.filter(item => item.lang === browserLang); 2878 if(candidates.length === 0) { 2879 browserLang = userLang.toLowerCase(); 2880 candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0); 2881 } 2882 if(candidates.length === 0) { 2883 browserLang = userLang.toLowerCase().substring(0, 2); 2884 candidates = this.hreflangList.filter(item => item.lang.toLowerCase().indexOf(browserLang) === 0); 2885 } 2886 2887 // Handle candidates 2888 if(candidates.length === 1) { 2889 return({href: candidates[0].href, lang: browserLang}); 2890 } 2891 else if(candidates.length > 1) { 2892 var preferedCandidate = candidates.find(item => item.href.indexOf(window.location.host) >= 0) 2893 if(preferedCandidate) { 2894 return({href: preferedCandidate.href, lang: browserLang}); 2895 } else { 2896 return({href: candidates[0].href, lang: browserLang}); 2897 } 2898 } 2899 2900 return false;
2901 } 2902 redirectHref(href, userLang) { 2903 var queryString = window.location.search; 2904 var url = href.split('?')[0]; 2905 if(queryString === '') { 2906 queryString = '?redirected=true'; 2907 } else { 2908 queryString += '&redirected=true'; 2909 } 2910 window.location.replace(url + queryString); 2911 } 2912 getHreflangList() { 2913 var hreflangTags = document.querySelectorAll('link[hreflang]'); 2914 var hreflangList = []; 2915 var countryCode = false; 2916 // Cross Domain Links option 2917 if(LyHelper.isDomainFeatureEnabled()) { 2918 for(var i = 0; i < langify.locale.languages.length; i++) { 2919 hreflangList.push({ 2920 href: 'https://' + langify.locale.languages[i].domain + window.location.pathname + window.location.search + window.location.hash, 2921 lang: langify.locale.languages[i].iso_code, 2922 }); 2923 } 2924 } 2925 for(var i = 0; i < hreflangTags.length; i++) { 2926 var hreflang = hreflangTags[i].getAttribute('hreflang').toLowerCase(); 2927 hreflang = hreflang.replace('zh-hans', 'zh-cn').replace('zh-hant', 'zh-tw'); // Chinese special cases 2928 hreflangList.push({ 2929 href: hreflangTags[i].getAttribute('href'), 2930 lang: hreflang 2931 }); 2932 } 2933 return hreflangList; 2934 } 2935 _langToHreflang(userLang) { 2936 var hreflang = ''; 2937 this.hreflangList.map(function(item) { 2938 if(item.lang === userLang) { 2939 hreflang = userLang; 2940 } 2941 }); 2942 if(hreflang === '') { 2943 this.hreflangList.map(function(item) { 2944 var browserLang = userLang.toLowerCase(); 2945 if(item.lang.toLowerCase().indexOf(browserLang) === 0) { 2946 hreflang = browserLang; 2947 } 2948 else if(item.lang.toLowerCase().indexOf(browserLang.substring(0, 2)) === 0) { 2949 hreflang = browserLang.substring(0, 2); 2950 } 2951 }); 2952 } 2953 return hreflang || userLang; 2954 } 2955 _hreflangToLanguageCode(hreflangTag) { 2956 if(!hreflangTag || !hreflangTag.lang) return false; 2957 var languageCode = false;
2958 langify.locale.languages.forEach(function(item) { 2959 if(item.iso_code.toLowerCase() === hreflangTag.lang.toLowerCase()) { 2960 languageCode = item.iso_code; 2961 } 2962 }); 2963 if(!languageCode) { 2964 langify.locale.languages.forEach(function(item) { 2965 if(item.iso_code.toLowerCase() === hreflangTag.lang.substring(0, 2).toLowerCase()) { 2966 languageCode = item.iso_code; 2967 } 2968 }); 2969 } 2970 return languageCode; 2971 } 2972 _geolocationAppSupport() { 2973 var target = document.querySelector('body'); 2974 var config = { childList: true, subtree: true }; 2975 var geolocationObserver = new MutationObserver(function(mutations) { 2976 mutations.forEach(function(mutation) { 2977 if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { 2978 var target = mutation.target.getElementsByClassName('locale-bar__form'); 2979 if(target[0]) { 2980 target[0].onsubmit = function() { 2981 var locale_code = target[0].elements['locale_code'].value; 2982 var selector = target[0].getElementsByClassName('locale-bar__selector'); 2983 if(selector.length >= 1) { 2984 locale_code = selector[0].options[selector[0].selectedIndex].value; 2985 } 2986 LyHelper.setCookie('ly-lang-selected', locale_code, 365); 2987 }; 2988 } 2989 var selectors = mutation.target.getElementsByClassName('locale-selectors__selector'); 2990 if(selectors.length > 0) { 2991 for(var selector of selectors) { 2992 if(selector.getAttribute('name') === 'locale_code') { 2993 selector.onchange = function() { 2994 var locale_code = selector.options[selector.selectedIndex].value; 2995 LyHelper.setCookie('ly-lang-selected', locale_code, 365); 2996 }; 2997 } 2998 } 2999 } 3000 } 3001 }); 3002 }); 3003 geolocationObserver.observe(target, config); 3004 setTimeout(function() { 3005 geolocationObserver.disconnect(); 3006 }, 10000); 3007 } 3008 } 3009 3010 3011 /** 3012 * 3013 * 3014 * @class Recommendation 3015 */ 3016 class Recommendation extends LanguageDetection { 3017 3018 constructor() { 3019 super(); 3020 LyHelper.log('Recommendation instantiation'); 3021 } 3022 3023 init() { 3024 this.hreflangList = this.getHreflangList(); 3025 3026 var userLang = navigator.language || navigator.userLanguage; 3027 userLang = userLang.toLowerCase(); 3028 3029 var recommendation = this.matchHreflangList(userLang); 3030 var recommendationLanguageCode = this._hreflangToLanguageCode(recommendation); 3031 if(recommendationLanguageCode && recommendationLanguageCode !== langify.locale.iso_code && !LyHelper.getCookie('ly-lang-selected')) { 3032 this.recommended_language_code = recommendationLanguageCode; 3033 this.recommended_country_code = null; 3034 this.recommended_currency_code = null; 3035 this._translateStrings(recommendationLanguageCode); 3036 this._bindings(); 3037 } else { 3038 return false; 3039 } 3040 } 3041 3042 _translateStrings(languageCode) { 3043 var recommendationElement = document.querySelectorAll('.ly-recommendation')[0]; 3044 var strings = langify.settings.switcher.recommendation_strings[languageCode]; 3045 var recommendationStr = 'Looks like your browser is set to [[language]]. Change the language?'; 3046 var buttonStr = 'Change'; 3047 var matchedLanguageCode = this._langToHreflang(languageCode).toLowerCase(); 3048 var languageStr = langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode) ? langify.settings.switcher.languages.find(x => x.iso_code.toLowerCase() === matchedLanguageCode).name : languageCode.toUpperCase(); 3049 if(strings) { 3050 recommendationStr = strings.recommendation ? strings.recommendation : recommendationStr; 3051 buttonStr = strings.button ? strings.button : buttonStr; 3052 languageStr = strings.language ? strings.language : languageStr; 3053 } 3054 var newCode = recommendationElement.innerHTML;
3055 newCode = newCode.replaceAll('[[recommendation]]', recommendationStr).replaceAll('[[button]]', buttonStr).replaceAll('[[language]]', languageStr); 3056 recommendationElement.innerHTML = newCode; 3057 } 3058 3059 _bindings() { 3060 var _this = this; 3061 var lyForceOff = location.search.split('ly-force-off=')[1]; 3062 var recommendationElement = document.querySelectorAll('.ly-recommendation')[0]; 3063 var form = recommendationElement.querySelectorAll('.ly-recommendation-form')[0]; 3064 var links = recommendationElement.getElementsByClassName('ly-custom-dropdown-list-element'); 3065 var customDropdown = recommendationElement.querySelectorAll('.ly-custom-dropdown-switcher'); 3066 var nativeSelects = recommendationElement.getElementsByClassName('ly-native-select'); 3067 3068 form.addEventListener('submit', function(e) { 3069 e.preventDefault(); 3070 3071 if(_this.recommended_country_code || _this.recommended_currency_code) { 3072 // When a country or currency is involved, use old redirection 3073 var additionalFields = []; 3074 if(_this.recommended_country_code) { 3075 additionalFields.push({ 3076 name: 'country_code', 3077 value: _this.recommended_country_code 3078 }); 3079 } 3080 if(_this.recommended_currency_code) { 3081 additionalFields.push({ 3082 name: 'currency_code', 3083 value: _this.recommended_currency_code 3084 }); 3085 } 3086 LyHelper.setCookie('ly-lang-selected', _this.recommended_language_code, 365); 3087 LyHelper.localizationRedirect('language_code', _this.recommended_language_code, additionalFields); 3088 } else { 3089 //...or use new hreflang redirection 3090 _this.redirectMatched(_this.recommended_language_code); 3091 } 3092 }); 3093 3094 // Overwrite switchers 3095 for(var l = 0; l < links.length; l++) { 3096 links[l].addEventListener('click', function(event) { 3097 event.preventDefault(); 3098 3099 // When clicked from within a custom dropdown 3100 var parentCustomDropdown = event.currentTarget.closest('.ly-custom-dropdown-switcher'); 3101 if(parentCustomDropdown) { 3102 _this._selectCustomDropdownEntry(parentCustomDropdown, this); 3103 } else { 3104 _this.recommended_language_code = this.getAttribute('data-language-code'); 3105 } 3106 }); 3107 } 3108 3109 for(var i = 0; i < nativeSelects.length; i++) { 3110 nativeSelects[i].onchange = _this._selectNativeDropdownEntry.bind(this); 3111 3112 if(nativeSelects[i].classList.contains('ly-languages-switcher')) { 3113 nativeSelects[i].value = _this.recommended_language_code; 3114 } 3115 } 3116 3117 for(var i = 0; i < customDropdown.length; i++) { 3118 if(recommendationElement.className.indexOf('bottom') > -1) { 3119 customDropdown[i].classList.add('ly-is-dropup'); 3120 } 3121 3122 if(customDropdown[i].classList.contains('ly-languages-switcher')) { 3123 _this._selectCustomDropdownEntry(customDropdown[i], customDropdown[i].querySelector('.ly-custom-dropdown-list a[data-language-code="'+ _this.recommended_language_code +'"]')); 3124 } 3125 } 3126 if(!lyForceOff) { 3127 recommendationElement.classList.add('ly-is-open'); 3128 } 3129 } 3130 3131 _selectNativeDropdownEntry(event) { 3132 event.preventDefault(); 3133 var element = event.currentTarget; 3134 var _this = this; 3135 3136 if(element[element.selectedIndex].hasAttribute('data-language-code')) { 3137 _this.recommended_language_code = element[element.selectedIndex].getAttribute('data-language-code'); 3138 } 3139 if(element[element.selectedIndex].hasAttribute('data-country-code')) { 3140 _this.recommended_country_code = element[element.selectedIndex].getAttribute('data-country-code'); 3141 } 3142 if(element[element.selectedIndex].hasAttribute('data-currency-code')) { 3143 _this.recommended_currency_code = element[element.selectedIndex].getAttribute('data-currency-code'); 3144 } 3145 } 3146 3147 _selectCustomDropdownEntry(element, entry) { 3148 if(!entry) return; 3149 var _this = this; 3150 var currentElem = element.querySelector('.ly-custom-dropdown-current'); 3151 var currentIcon = currentElem.querySelector('.ly-icon'); 3152 var currentLabel = currentElem.querySelector('span'); 3153 var valueToSelect = ''; 3154 3155 if(entry.hasAttribute('data-language-code')) { 3156 _this.recommended_language_code = entry.getAttribute('data-language-code'); 3157 valueToSelect = _this.recommended_language_code; 3158 } 3159 if(entry.hasAttribute('data-country-code')) { 3160 _this.recommended_country_code = entry.getAttribute('data-country-code'); 3161 valueToSelect = _this.recommended_country_code; 3162 } 3163 if(entry.hasAttribute('data-currency-code')) { 3164 _this.recommended_currency_code = entry.getAttribute('data-currency-code'); 3165 valueToSelect = _this.recommended_currency_code; 3166 } 3167 if(entry.hasAttribute('data-country-code') && entry.hasAttribute('data-currency-code')) { 3168 valueToSelect = _this.recommended_country_code + '-' + _this.recommended_currency_code; 3169 } 3170 3171 if(element.querySelector('.ly-custom-dropdown-list li.current')) { 3172 element.querySelector('.ly-custom-dropdown-list li.current').classList.remove('current'); 3173 element.querySelector('.ly-custom-dropdown-list li[key="'+ valueToSelect +'"]').classList.add('current'); 3174 } 3175 if(element.querySelector('.ly-custom-dropdown-list li.current span')) currentLabel.innerHTML = element.querySelector('.ly-custom-dropdown-list li.current span').innerHTML; 3176 if(element.querySelector('.ly-custom-dropdown-list li.current .ly-icon')) currentIcon.classList = element.querySelector('.ly-custom-dropdown-list li.current .ly-icon').classList; 3177 } 3178 3179 toggleOpen(e) { 3180 e.closest('.ly-recommendation').classList.toggle('ly-is-open'); 3181 if(!e.closest('.ly-recommendation').classList.contains('ly-is-open')) { 3182 LyHelper.setCookie('ly-lang-selected', this.recommended_language_code, 365); 3183 } 3184 } 3185 } 3186 3187 3188 /** 3189 * 3190 * 3191 * @class Langify 3192 */ 3193 class Langify { 3194 constructor(settings, locale) { 3195 LyHelper.log('Langify instantiation') 3196 3197 var translationObserver = new TranslationObserver().init(); 3198 3199 langify.helper = new LyHelper(); 3200 LyHelper.log(langify.helper); 3201 3202 3203 var lyForceOff = location.search.split('ly-force-off=')[1]; 3204 if(lyForceOff === 'true') { 3205 document.getElementById('preview-bar-iframe').classList.add('ly-hide'); 3206 return false;
3207 } 3208 3209 if(settings.theme && ((settings.theme.loadJquery && settings.theme.loadJquery === true) || typeof settings.theme.loadJquery === 'undefined')) { 3210 if(typeof jQuery === 'undefined') { 3211 LyHelper.loadScript('//cdn.jsdelivr.net/jquery/1.9.1/jquery.min.js', function() {}); 3212 } 3213 } 3214 3215 //document.addEventListener("DOMContentLoaded", function() { 3216 langify.switcher = new Switcher(); 3217 langify.switcher.init(); 3218 3219 if(settings.switcher) { 3220 if(settings.switcher.recommendation && settings.switcher.recommendation_enabled) { 3221 langify.recommendation = new Recommendation(); 3222 langify.recommendation.init(); 3223 } else { 3224 if(settings.switcher.languageDetection) { 3225 langify.languageDetection = new LanguageDetection(); 3226 langify.languageDetection.init(); 3227 } 3228 } 3229 } 3230 //}); 3231 } 3232 } 3233 3234 // Polyfills 3235 (function(){var t;null==window.MutationObserver&&(t=function(){function t(t){this.callBack=t}return t.prototype.observe=function(t,n){return this.element=t,this.interval=setInterval((e=this,function(){var t;if((t=e.element.innerHTML)!==e.oldHtml)return e.oldHtml=t,e.callBack.apply(null)}),200);var e},t.prototype.disconnect=function(){return window.clearInterval(this.interval)},t}(),window.MutationObserver=t)}).call(this); 3236 !function(){"use strict";if("object"==typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){for(var e=window.document,o=i(e);o;)o=i(e=o.ownerDocument);return e}(),e=[],o=null,n=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return o||(o=function(t,o){n=t&&o?l(t,o):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach(function(t){t._checkForIntersections()})}),o},s._resetCrossOriginUpdater=function(){o=null,n=null},s.prototype.observe=function(t){if(!this._observationTargets.some(function(e){return e.element==t})){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter(function(e){return e.element!=t}),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter(function(t,e,o){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==o[e-1]})},s.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map(function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}});return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},s.prototype._monitorIntersections=function(e){var o=e.defaultView;if(o&&-1==this._monitoringDocuments.indexOf(e)){var n=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=o.setInterval(n,this.POLL_INTERVAL):(h(o,"resize",n,!0),h(e,"scroll",n,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in o&&(s=new o.MutationObserver(n)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push(function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),c(t,"resize",n,!0)),c(e,"scroll",n,!0),s&&s.disconnect()});var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=i(e);a&&this._monitorIntersections(a.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var o=this._monitoringDocuments.indexOf(e);if(-1!=o){var n=this.root&&(this.root.ownerDocument||this.root)||t;if(!this._observationTargets.some(function(t){var o=t.element.ownerDocument;if(o==e)return!0;for(;o&&o!=n;){var r=i(o);if((o=r&&r.ownerDocument)==e)return!0}return!1})){var r=this._monitoringUnsubscribes[o];if(this._monitoringDocuments.splice(o,1),this._monitoringUnsubscribes.splice(o,1),r(),e!=n){var s=i(e);s&&this._unmonitorIntersections(s.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e<t.length;e++)t[e]()},s.prototype._checkForIntersections=function(){if(this.root||!o||n){var t=this._rootIsInDom(),e=t?this._getRootRect():{top:0,bottom:0,left:0,right:0,width:0,height:0};
3236this._observationTargets.forEach(function(n){var i=n.element,s=u(i),h=this._rootContainsTarget(i),c=n.entry,a=t&&h&&this._computeTargetAndRootIntersection(i,s,e),l=null;this._rootContainsTarget(i)?o&&!this.root||(l=e):l={top:0,bottom:0,left:0,right:0,width:0,height:0};var f=n.entry=new r({time:window.performance&&performance.now&&performance.now(),target:i,boundingClientRect:s,rootBounds:l,intersectionRect:a});c?t&&h?this._hasCrossedThreshold(c,f)&&this._queuedEntries.push(f):c&&c.isIntersecting&&this._queuedEntries.push(f):this._queuedEntries.push(f)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)}},s.prototype._computeTargetAndRootIntersection=function(e,i,r){if("none"!=window.getComputedStyle(e).display){for(var s,h,c,a,f,d,g,m,v=i,_=p(e),b=!1;!b&&_;){var w=null,y=1==_.nodeType?window.getComputedStyle(_):{};if("none"==y.display)return null;if(_==this.root||9==_.nodeType)if(b=!0,_==this.root||_==t)o&&!this.root?!n||0==n.width&&0==n.height?(_=null,w=null,v=null):w=n:w=r;else{var I=p(_),E=I&&u(I),T=I&&this._computeTargetAndRootIntersection(I,E,r);E&&T?(_=I,w=l(E,T)):(_=null,v=null)}else{var R=_.ownerDocument;_!=R.body&&_!=R.documentElement&&"visible"!=y.overflow&&(w=u(_))}if(w&&(s=w,h=v,c=void 0,a=void 0,f=void 0,d=void 0,g=void 0,m=void 0,c=Math.max(s.top,h.top),a=Math.min(s.bottom,h.bottom),f=Math.max(s.left,h.left),d=Math.min(s.right,h.right),m=a-c,v=(g=d-f)>=0&&m>=0&&{top:c,bottom:a,left:f,right:d,width:g,height:m}||null),!v)break;_=_&&p(_)}return v}},s.prototype._getRootRect=function(){var e;if(this.root&&!d(this.root))e=u(this.root);else{var o=d(this.root)?this.root:t,n=o.documentElement,i=o.body;e={top:0,left:0,right:n.clientWidth||i.clientWidth,width:n.clientWidth||i.clientWidth,bottom:n.clientHeight||i.clientHeight,height:n.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map(function(e,o){return"px"==e.unit?e.value:e.value*(o%2?t.width:t.height)/100}),o={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return o.width=o.right-o.left,o.height=o.bottom-o.top,o},s.prototype._hasCrossedThreshold=function(t,e){var o=t&&t.isIntersecting?t.intersectionRatio||0:-1,n=e.isIntersecting?e.intersectionRatio||0:-1;if(o!==n)for(var i=0;i<this.thresholds.length;i++){var r=this.thresholds[i];if(r==o||r==n||r<o!=r<n)return!0}},s.prototype._rootIsInDom=function(){return!this.root||f(t,this.root)},s.prototype._rootContainsTarget=function(e){var o=this.root&&(this.root.ownerDocument||this.root)||t;return f(o,e)&&(!this.root||o==e.ownerDocument)},s.prototype._registerInstance=function(){e.indexOf(this)<0&&e.push(this)},s.prototype._unregisterInstance=function(){var t=e.indexOf(this);-1!=t&&e.splice(t,1)},window.IntersectionObserver=s,window.IntersectionObserverEntry=r}function i(t){try{return t.defaultView&&t.defaultView.frameElement||null}catch(t){return null}}function r(t){this.time=t.time,this.target=t.target,this.rootBounds=a(t.rootBounds),this.boundingClientRect=a(t.boundingClientRect),this.intersectionRect=a(t.intersectionRect||{top:0,bottom:0,left:0,right:0,width:0,height:0}),this.isIntersecting=!!t.intersectionRect;var e=this.boundingClientRect,o=e.width*e.height,n=this.intersectionRect,i=n.width*n.height;this.intersectionRatio=o?Number((i/o).toFixed(4)):this.isIntersecting?1:0}function s(t,e){var o,n,i,r=e||{};if("function"!=typeof t)throw new Error("callback must be a function");if(r.root&&1!=r.root.nodeType&&9!=r.root.nodeType)throw new Error("root must be a Document or Element");this._checkForIntersections=(o=this._checkForIntersections.bind(this),n=this.THROTTLE_TIMEOUT,i=null,function(){i||(i=setTimeout(function(){o(),i=null},n))}),this._callback=t,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(r.rootMargin),this.thresholds=this._initThresholds(r.threshold),this.root=r.root||null,this.rootMargin=this._rootMarginValues.map(function(t){return t.value+t.unit}).join(" "),this._monitoringDocuments=[],this._monitoringUnsubscribes=[]}function h(t,e,o,n){"function"==typeof t.addEventListener?t.addEventListener(e,o,n||!1):"function"==typeof t.attachEvent&&t.attachEvent("on"+e,o)}function c(t,e,o,n){"function"==typeof t.removeEventListener?t.removeEventListener(e,o,n||!1):"function"==typeof t.detatchEvent&&t.detatchEvent("on"+e,o)}function u(t){var e;try{e=t.getBoundingClientRect()}catch(t){}return e?(e.width&&e.height||(e={top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.right-e.left,height:e.bottom-e.top}),e):{top:0,bottom:0,left:0,right:0,width:0,height:0}}function a(t){return!t||"x"in t?t:{top:t.top,y:t.top,bottom:t.bottom,left:t.left,x:t.left,right:t.right,width:t.width,height:t.height}}function l(t,e){var o=e.top-t.top,n=e.left-t.left;return{top:o,left:n,height:e.height,width:e.width,bottom:o+e.height,right:n+e.width}}function f(t,e){for(var o=e;o;){if(o==t)return!0;o=p(o)}return!1}function p(e){var o=e.parentNode;return 9==e.nodeType&&e!=t?i(e):(o&&o.assignedSlot&&(o=o.assignedSlot.parentNode),o&&11==o.nodeType&&o.host?o.host:o)}function d(t){return t&&9===t.nodeType}}(); 3237 !function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(n,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var e=document.createEvent("CustomEvent");return e.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),e}}(); 3238 3239 var langify = window.langify || {}; 3240 var customContents = {}; 3241 var customContents_image = {}; 3242 var langifySettingsOverwrites = {}; 3243 var defaultSettings = { 3244 debug: false, // BOOL : Enable/disable console logs 3245 observe: true, // BOOL : Enable/disable the entire mutation observer (off switch) 3246 observeLinks: false, 3247 observeImages: true, 3248 observeCustomContents: true, 3249 maxMutations: 5, 3250 timeout: 100, // INT : Milliseconds to wait after a mutation, before the next mutation event will be allowed for the element 3251 linksBlacklist: [], 3252 }; 3253 3254 if(langify.settings) { 3255 langifySettingsOverwrites = Object.assign({}, langify.settings); 3256 langify.settings = Object.assign(defaultSettings, langify.settings); 3257 } else { 3258 langify.settings = defaultSettings; 3259 } 3260 3261 langify.settings.theme = null; 3262 langify.settings.switcher = null; 3263 3264 langify.locale = langify.locale || { 3265 primary: true, 3266 iso_code: "es", 3267 root_url: "\/", 3268 language_id: "ly72934", 3269 shop_url: "https:\/\/www.ball-pages.com", 3270 domain_feature_enabled: null, 3271 languages: [{ 3272 iso_code: "es", 3273 root_url: "\/", 3274 domain: null, 3275 },{ 3276 iso_code: "ca", 3277 root_url: "\/ca", 3278 domain: null, 3279 },{ 3280 iso_code: "fr", 3281 root_url: "\/fr", 3282 domain: null, 3283 },{ 3284 iso_code: "en", 3285 root_url: "\/en", 3286 domain: null, 3287 },],}; 3288 3289 // Disable link correction ALWAYS on languages with mapped domains 3290 3291 if(langify.locale.root_url == '/') { 3292 langify.settings.observeLinks = false;
3293 } 3294 3295 window.addEventListener('DOMContentLoaded', function() { 3296 langify.helper = new LyHelper(); 3297 3298 // Custom Contents Section 3299 3300 // Images Section 3301 3302 3303 3304 var langifyInstance = new Langify(langify.settings, langify.locale); 3305 }); 3306</script>
3306 3307<div data-breakpoint="" class="ly-switcher-wrapper ly-breakpoint-1 fixed bottom_right ly-hide" style="font-size: 14px; margin: 0px 0px; "><div aria-label="Selected language: Español" aria-description="Language selector" data-dropup="false" onclick="langify.switcher.toggleSwitcherOpen(this)" class="ly-languages-switcher ly-custom-dropdown-switcher ly-bright-theme" style=" margin: 0px 0px;"> 3308 <span role="button" aria-expanded="false" aria-controls="languagesSwitcherList-1" class="ly-custom-dropdown-current" style="background: #ffffff; color: #000000; "><i class="ly-icon ly-flag-icon ly-flag-icon-es"></i><span class="ly-custom-dropdown-current-inner ly-custom-dropdown-current-inner-text">Español</span> 3309<div class="ly-arrow ly-arrow-black stroke" style="vertical-align: middle; width: 14.0px; height: 14.0px;"> 3310 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.0 14.0" height="14.0px" width="14.0px" style="position: absolute;"> 3311 <path d="M1 4.5 L7.0 10.5 L13.0 4.5" fill="transparent" stroke="#000000" stroke-width="1px"/> 3312 </svg> 3313 </div> 3314 </span> 3315 <ul id="languagesSwitcherList-1" role="list" class="ly-custom-dropdown-list ly-is-open ly-bright-theme" style="background: #ffffff; color: #000000; "><li key="en" style="color: #000000; margin: 0px 0px;" tabindex="-1"> 3316 <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme" href="#" data-language-code="en" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-en"></i><span class="ly-custom-dropdown-list-element-right">Inglés</span></a> 3317 </li><li key="fr" style="color: #000000; margin: 0px 0px;" tabindex="-1"> 3318 <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme" href="#" data-language-code="fr" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-fr"></i><span class="ly-custom-dropdown-list-element-right">Francés</span></a> 3319 </li><li key="ca" style="color: #000000; margin: 0px 0px;" tabindex="-1"> 3320 <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme" href="#" data-language-code="ca" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-ca"></i><span class="ly-custom-dropdown-list-element-right">catalán</span></a> 3321 </li><li key="es" class="current" style="color: #000000; margin: 0px 0px;" tabindex="-1"> 3322 <a class="ly-custom-dropdown-list-element ly-languages-switcher-link ly-bright-theme current_lang" href="#" data-language-code="es" data-ly-locked="true"><i class="ly-icon ly-flag-icon ly-flag-icon-es"></i><span class="ly-custom-dropdown-list-element-right">Español</span></a> 3323 </li></ul> 3324 </div></div> 3325<style> 3326 .ly-flag-icon-es { background-image: url('//www.ball-pages.com/cdn/shop/t/9/assets/ly-icon-es.svg?v=5741'); } 3327 .ly-flag-icon-ca { background-image: url('//www.ball-pages.com/cdn/shop/t/9/assets/ly-icon-ca.svg?v=5741'); } 3328 .ly-flag-icon-fr { background-image: url('//www.ball-pages.com/cdn/shop/t/9/assets/ly-icon-fr.svg?v=5741'); } 3329 .ly-flag-icon-en { background-image: url('//www.ball-pages.com/cdn/shop/t/9/assets/ly-icon-e
3329n.svg?v=5741'); } 3330 3331 .ly-switcher-wrapper { 3332 3333 } 3334 .ly-switcher-wrapper.fixed { 3335 position: fixed; 3336 z-index: 1000; 3337 } 3338 .ly-switcher-wrapper.absolute { 3339 position: absolute; 3340 z-index: 1000; 3341 } 3342 .ly-switcher-wrapper.fixed.top_left, 3343 .ly-switcher-wrapper.absolute.top_left { 3344 top: 0; 3345 left: 0; 3346 } 3347 .ly-switcher-wrapper.fixed.top_right, 3348 .ly-switcher-wrapper.absolute.top_right { 3349 top: 0; 3350 right: 0; 3351 } 3352 .ly-switcher-wrapper.fixed.bottom_left, 3353 .ly-switcher-wrapper.absolute.bottom_left { 3354 bottom: 0; 3355 left: 0; 3356 } 3357 .ly-switcher-wrapper.fixed.bottom_right, 3358 .ly-switcher-wrapper.absolute.bottom_right { 3359 bottom: 0; 3360 right: 0; 3361 } 3362 .ly-switcher-wrapper .shopify-currency-form { 3363 display: inline-block; 3364 } 3365 3366 3367 .ly-currency-switcher { 3368 font-size: 1em; 3369 } 3370 3371 .ly-inner-text { 3372 margin: 0 0.2em; 3373 white-space: nowrap; 3374 } 3375 3376 .ly-flag-icon { 3377 background-size: contain; 3378 background-position: 50%; 3379 background-repeat: no-repeat; 3380 position: relative; 3381 display: inline-block; 3382 width: 1.33333333em; 3383 line-height: 1em; 3384 } 3385 .ly-flag-icon:before { 3386 content: ''; 3387 display: inline-block; 3388 } 3389 .ly-flag-icon.ly-flag-squared { 3390 width: 1em; 3391 } 3392 .ly-flag-icon.ly-flag-rounded { 3393 width: 1em; 3394 border-radius: 50%; 3395 } 3396 .ly-languages-switcher { 3397 white-space: nowrap; 3398 list-style-type: none; 3399 display: flex; 3400 font-size: 1em; 3401 } 3402 .ly-languages-switcher-link { 3403 margin: 0 0.2em; 3404 cursor: pointer; 3405 white-space: nowrap; 3406 text-decoration: none; 3407 display: inline-block; 3408 } 3409 .ly-languages-switcher.ly-list { 3410 margin: 0; 3411 padding: 0; 3412 display: block; 3413 } 3414 .ly-languages-switcher.ly-native-select { 3415 3416 } 3417 .ly-icon { 3418 margin: 0 0.2em; 3419 } 3420 3421 .ly-arrow { 3422 display: inline-block; 3423 position: relative; 3424 vertical-align: middle; 3425 direction: ltr !important; 3426 -webkit-transition: transform 0.25s; 3427 -moz-transition: transform 0.25s; 3428 transition: transform 0.25s; 3429 margin: 0 0.2em; 3430 } 3431 .ly-custom-dropdown-switcher.ly-is-open .ly-arrow { 3432 transform: rotate(180deg); 3433 } 3434 .ly-custom-dropdown-switcher.ly-arrow.ly-arrow-up { 3435 transform: rotate(180deg); 3436 } 3437 .ly-custom-dropdown-switcher.ly-is-open .ly-arrow.ly-arrow-up { 3438 transform: rotate(0deg); 3439 } 3440 3441 .ly-custom-dropdown-switcher { 3442 text-align: left; 3443 display: inline-block; 3444 position: relative; 3445 user-select: none; 3446 cursor: pointer; 3447 } 3448 .ly-custom-dropdown-current { 3449 display: block; 3450 vertical-align: middle; 3451 } 3452 .ly-custom-dropdown-current-inner { 3453 display: inline-block; 3454 vertical-align: middle; 3455 } 3456 .ly-custom-dropdown-current-inner-image { 3457 margin-right: 0.25em; 3458 } 3459 .ly-custom-dropdown-current-inner-text { 3460 margin: 0 0.2em; 3461 } 3462 .ly-custom-dropdown-list { 3463 display: none !important; 3464 list-style: none; 3465 position: absolute; 3466 left: 0; 3467 padding: inherit !important; 3468 padding: 0 !important; 3469 margin: 0; 3470 z-index: 99999; 3471 text-align: left; 3472 width: 100%; 3473 font-size: 1em; 3474 } 3475 .ly-custom-dropdown-list-element { 3476 color: inherit !important; 3477 display: block; 3478 } 3479 .ly-custom-dropdown-list > li { 3480 margin: 0 !important; 3481 display: block; 3482 } 3483 .ly-custom-dropdown-list-element-left { 3484 margin-right: 0.5em; 3485 } 3486 .ly-custom-dropdown-list-element-right { 3487 text-align: left; 3488 } 3489 .ly-custom-dropdown-list-element-left, 3490 .ly-custom-dropdown-list-element-right { 3491 vertical-align: middle; 3492 } 3493 .ly-custom-dropdown-switcher .ly-languages-switcher-link { 3494 margin: 0; 3495 } 3496 .ly-languages-switcher-dropdown { 3497 display: inline-block; 3498 } 3499 .ly-languages-links-switcher { 3500 display: inline-block; 3501 } 3502 .ly-languages-links-switcher > .ly-languages-link { 3503 /*margin-right: 0.5em;*/ 3504 padding: inherit !important; 3505 color: inherit !important; 3506 } 3507 .ly-custom-dropdown-list-element { 3508 /*padding: inherit !important;*/ 3509 text-decoration: none; 3510 } 3511 .ly-is-uppercase { 3512 text-transform: uppercase; 3513 } 3514 .ly-is-transparent.ly-links, 3515 .ly-is-transparent.ly-list, 3516 .ly-is-transparent.ly-currency-switcher, 3517 .ly-is-transparent.ly-custom-dropdown-switcher, 3518 .ly-is-transparent.ly-custom-dropdown-switcher .ly-custom-dropdown-list { 3519 background: transparent !important; 3520 } 3521 .ly-arrow-up { 3522 transform: rotateZ(180deg); 3523 } 3524 3525 .ly-custom-dropdown-switcher .ly-custom-dropdown-list li.current{ 3526 display: none; 3527 } 3528 .ly-custom-dropdown-switcher.ly-is-open .ly-custom-dropdown-list { 3529 display: flex !important; 3530 min-width: 100%; 3531 width: 100%; 3532 flex-direction: column-reverse; 3533 right: 0; 3534 left: auto; 3535 overflow: auto; 3536 max-height: 350px; 3537 max-height: 50vh; 3538 } 3539 3540 .ly-is-dropup .ly-custom-dropdown-list { 3541 bottom: 100%; 3542 } 3543 .ly-hide { 3544 display: none !important; 3545 } 3546 body.ly-force-off #preview-bar-iframe, 3547 body.ly-force-off .ly-languages-switcher { 3548 display: none !important; 3549 } 3550 3551 .ly-close { 3552 position: absolute; 3553 opacity: 0.3; 3554 right: 0; 3555 top: 0; 3556 width: 3em; 3557 height: 3em; 3558 display: inline-block !important; 3559 background: rbga(0,0,0,0); 3560 padding: 1em; 3561 } 3562 .ly-close:hover { 3563 opacity: 1; 3564 } 3565 .ly-close .inner { 3566 transform: translateX(-50%); 3567 position: relative; 3568 width: 100%; 3569 height: 100%; 3570 display: inline-block; 3571 } 3572 .ly-close .inner:before, .ly-close .inner:after { 3573 position: absolute; 3574 left: 1em; 3575 content: ' '; 3576 height: 1em; 3577 width: 2px; 3578 background-color: #333; 3579 } 3580 .ly-close .inner:before { 3581 transform: rotate(45deg); 3582 } 3583 .ly-close .inner:after { 3584 transform: rotate(-45deg); 3585 } 3586 3587 3588 3589 .ly-popup-switcher {} 3590 .ly-popup-switcher .ly-popup-current { 3591 cursor: pointer; 3592 background: transparent; 3593 } 3594 .ly-popup-switcher .ly-popup-modal { 3595 position: fixed; 3596 z-index: 1000; 3597 top: 0; 3598 left: 0; 3599 width: 100%; 3600 height: 100%; 3601 display: none; 3602 justify-content: center;
3603 align-items: center; 3604 } 3605 .ly-popup-switcher.ly-is-open .ly-popup-modal { 3606 display: flex; 3607 } 3608 .ly-popup-switcher .ly-popup-modal-backdrop { 3609 position: fixed; 3610 width: 100%; 3611 height: 100%; 3612 z-index: 0; 3613 top: 0; 3614 left: 0; 3615 background:rgba(0, 0, 0, 0.38); 3616 cursor: pointer; 3617 } 3618 .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content { 3619 padding: 1em; 3620 position: absolute; 3621 z-index: 1000; 3622 } 3623 .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul { 3624 padding: 0; 3625 margin: 12px 0 0 0; 3626 list-style: none; 3627 display: flex; 3628 flex-direction: column; 3629 } 3630 .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link { 3631 margin: 0; 3632 border: solid 1px; 3633 padding: 1em; 3634 display: block; 3635 min-width: 225px; 3636 margin-top: 1em; 3637 } 3638 .ly-popup-switcher .ly-popup-modal .ly-popup-modal-content ul .ly-languages-switcher-link.current_lang { 3639 display: none; 3640 } 3641 3642 3643 3644 /* Recommendation */ 3645 .ly-recommendation { 3646 display: none; 3647 } 3648 .ly-recommendation.ly-is-open { 3649 display: inline-block; 3650 } 3651 .ly-recommendation form { 3652 display: inline-block; 3653 } 3654 .ly-recommendation .ly-arrow, 3655 .ly-arrow.recommendation { 3656 display: none; 3657 } 3658 .ly-recommendation .ly-arrow.recommendation { 3659 display: inline-block; 3660 } 3661 .ly-recommendation .ly-switcher-wrapper { 3662 font-size: 1em !important; 3663 } 3664 .ly-recommendation .ly-popup-modal .ly-popup-switcher .ly-popup-modal .ly-popup-modal-backdrop { 3665 display: none; 3666 } 3667 .ly-recommendation-form button[type="submit"] { 3668 cursor: pointer; 3669 } 3670 3671 /* Recommendation Banner */ 3672 .ly-recommendation .ly-banner { 3673 position: fixed; 3674 z-index: 100000; 3675 width: 100%; 3676 } 3677 .ly-recommendation .ly-banner .ly-banner-content { 3678 width: 100%; 3679 padding: 1em 30px 1em 1em; 3680 box-shadow: 0 0 20px rgba(0,0,0,.25); 3681 } 3682 .ly-recommendation .ly-banner.top { 3683 top: 0; 3684 } 3685 .ly-recommendation .ly-banner.bottom { 3686 bottom: 0; 3687 } 3688 .ly-recommendation .ly-banner .ly-banner-content .ly-switcher-wrapper { 3689 position: relative !important; 3690 margin: 0 !important; 3691 display: inline-block !important; 3692 } 3693 .ly-recommendation .ly-banner .ly-recommendation-form button[type="submit"] { 3694 margin-left: 10px; 3695 } 3696 3697 3698 /* Recommendation Popup */ 3699 .ly-recommendation .ly-popup-modal { 3700 position: fixed; 3701 z-index: 10000; 3702 } 3703 .ly-recommendation .ly-popup-modal .ly-switcher-wrapper { 3704 position: relative !important; 3705 margin: 0 !important; 3706 display: inline-block !important; 3707 } 3708 .ly-recommendation .ly-popup-modal-backdrop { 3709 position: fixed; 3710 width: 100%; 3711 height: 100%; 3712 z-index: 1000; 3713 top: 0; 3714 left: 0; 3715 background:rgba(0, 0, 0, 0.38); 3716 } 3717 .ly-recommendation .ly-popup-modal .ly-popup-modal-content { 3718 padding: 1em 30px 1em 1em; 3719 } 3720 .ly-recommendation .ly-popup-modal .ly-popup-modal-content .ly-languages-switcher { 3721 position: relative !important; 3722 margin: 0 !important; 3723 } 3724 .ly-recommendation .ly-popup-modal .ly-popup-modal-content h3 { 3725 margin: 0 2em 1em 0; 3726 font-size: inherit; 3727 position: relative; 3728 } 3729 .ly-recommendation .ly-popup-modal.top_left { top: 0; left: 0; margin-right: 0 !important; margin-bottom: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important;} 3730 .ly-recommendation .ly-popup-modal.top_center { top: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-bottom: 0 !important; margin-left: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important; padding-left: 0 !important;} 3731 .ly-recommendation .ly-popup-modal.top_right { top: 0; right: 0; margin-left: 0 !important; margin-bottom: 0 !important; padding-left: 0 !important; padding-bottom: 0 !important; } 3732 .ly-recommendation .ly-popup-modal.center_center { top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); margin: 0 !important; padding: 0 !important; } 3733 .ly-recommendation .ly-popup-modal.bottom_left { bottom: 0; left: 0; margin-right: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-top: 0 !important; } 3734 .ly-recommendation .ly-popup-modal.bottom_center { bottom: 0; left: 50%; transform: translateX(-50%); margin-right: 0 !important; margin-left: 0 !important; margin-top: 0 !important; padding-right: 0 !important; padding-left: 0 !important; padding-top: 0 !important; } 3735 .ly-recommendation .ly-popup-modal.bottom_right { bottom: 0; right: 0; margin-left: 0 !important; margin-top: 0 !important; padding-left: 0 !important; padding-top: 0 !important; } 3736 3737 3738 3739 3740 3741 3742</style><!-- langify-v2-scripts-end -->
3742<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3742 3743</body> 3744</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.