Анализ сайта surf.quiksilver.com
Основное Готовность: 70%
Домен
surf.quiksilver.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Используйте для продвижения только домен второго уровня.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
http://surf.quiksilver.com
301 MovedPermanently
https://www.quiksilver.com/collections/mens-clothing-boardshorts-elastic-waist
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 09.01.2027 2:59:59.
Сервер поддерживает HTTP/3 (QUIC) — новейший протокол.
Включён HSTS (Strict-Transport-Security) — защита от подмены на http.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~1,27сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 1,27сек превышает 1 секунду. Желательно улучшить работу сайта!
Объем документа
990Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 990Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 75
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 75 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | https://www.quiksilver.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css | |
| stylesheet | text/css | //www.quiksilver.com/cdn/shop/t/236/assets/main.css?v=163547253619834487101786644647 |
| stylesheet | /api/shopper.css?shop=quiksilver-us-o5.myshopify.com&cache_id= | |
| stylesheet | text/css | https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-popup.css |
| stylesheet | https://cdn.shopify.com/extensions/019ffd96-26ae-78a6-af84-6bfa37af005a/expertvoice-58/assets/expertvoice.css | |
| js | text/javascript | https://cdn.cookielaw.org/scripttemplates/otSDKStub.js |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/vendors.js?v=172734546526818128791786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/runtime.js?v=78994611302359762781786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/main.js?v=165734940351654122161786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/custom.js?v=26161 | |
| js | /checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6373245065 | |
| js | https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6373245065&shop_id=68768563337 | |
| js | //www.quiksilver.com/cdn/shopifycloud/shop-js/client.js | |
| js | //www.quiksilver.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js | |
| js | //www.quiksilver.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-bf1cdb70.js?v=20250812 | |
| js | //cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-5059b83f.js | |
| js | //www.quiksilver.com/cdn/shopifycloud/storefront/assets/storefront/remote_product_tracking-d3054538.js | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/customer-controller.js?v=83269612050062559321786644647 | |
| js | text/javascript | https://cdn.shopify.com/extensions/01a01958-5973-73ec-99c4-dd550aeb553c/easylocation-278/assets/easylocation-storefront.min.js |
| js | https://config.gorgias.chat/bundle-loader/shopify/quiksilver-us-o5.myshopify.com | |
| js | https://content.9gtb.com/loader.js | |
| js | https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=quiksilver-us-o5 | |
| js | /apps/cm/v1/load?source=embed | |
| js | https://static.klaviyo.com/onsite/js/SegWjj/klaviyo.js?company_id=SegWjj | |
| js | text/javascript | https://cdn.shopify.com/extensions/01a02a07-7f44-724b-91b7-7222523a27f9/2026-08-22-15-10-43-UTC--6df6cf8/assets/smile-loader.js |
| js | text/javascript | https://cdn.shopify.com/extensions/01a024bc-aa6a-728d-b8e4-8fca59799f2a/loop-returns-487/assets/order-protection-storefront.js |
| js | text/javascript | https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-popup.min.js |
| js | https://www.quiksilver.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.8.4.min.js | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/collection.js?v=122064478008772172271786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647 | |
| js | //www.quiksilver.com/cdn/shop/t/236/assets/geolocation.js?v=2953018963623665661786644647 | |
| js | https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-theme-bridge.js | |
| js | https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/ua-parser.min.js | |
| js | https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-analytics.js | |
| js | module | https://cdn.shopify.com/storefront/standard-actions.js |
Серверные заголовки
Кол-во: 24
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 24шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Date | Sun, 23 Aug 2026 13:14:34 GMT |
| x-download-options | noopen |
| Set-Cookie | localization=US; path=/; expires=Mon, 23 Aug 2027 13:14:34 GMT; SameSite=Lax |
| Link | <https://cdn.shopify.com>; rel="preconnect", <https://cdn.shopify.com>; rel="preconnect"; crossorigin, <https://cdn.cookielaw.org>; rel="preconnect", <https://cdn.cookielaw.org/scripttemplates/otSDKStub.js>; as="script"; rel="preload", <//www.quiksilver.com/cdn/shop/t/236/assets/main.css?v=163547253619834487101786644647>; as="style"; rel="preload", <https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-popup.css>; as="style"; rel="preload", <https://www.quiksilver.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css>; as="style"; rel="preload"; crossorigin |
| X-Request-ID | aa5d2ac1-fdf6-448f-a074-8a9747d09c71-1787490873 |
| x-permitted-cross-domain-policies | none |
| nel | {"report_to":"cf-nel","success_fraction":0.01,"max_age":604800} |
| shopify-complexity-score | 4960 |
| shopify-complexity-score-v2 | 496 |
| X-Frame-Options | DENY |
| Content-Security-Policy | block-all-mixed-content; frame-ancestors 'none'; upgrade-insecure-requests; |
| Strict-Transport-Security | max-age=7889238 |
| Vary | accept-encoding |
| Alt-Svc | h3=":443" |
| powered-by | Shopify |
| Server-Timing | processing;dur=502;desc="gc:16", db;dur=138, db_async;dur=18.802, fetch;dur=34, render;dur=240, asn;desc="200044", edge;desc="HEL", country;desc="RU", theme;desc="156086206601", pageType;desc="collection", servedBy;desc="f9j9", requestID;desc="aa5d2ac1-fdf6-448f-a074-8a9747d09c71-1787490873", _y;desc="8fbf477b-ad7a-402b-b2dc-5f51e1bdcca7", _s;desc="24ecc750-f2d3-4f08-863d-f2d4a98b80b5", _cmp;desc="3.AMPS_RU_f_f_sAlRdsUMTcOHmI2BJJWtEQ", compressionLevel;desc="5", compressionTime;dur=24.787, earlyhints |
| x-dc | gcp-europe-west4,gcp-europe-west1,gcp-europe-west1 |
| X-XSS-Protection | 1; mode=block |
| cf-cache-status | DYNAMIC |
| Server | cloudflare |
| report-to | {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=VnPRtsq2iPxXDpz1ZDUAEmmM8yYnSWlzNLBzDN0kp5zaPePbTr%2BvjKSaoZ%2Bas%2BBu1BDulzrVBvLnmLgp7ff43s6247PYkN62FqtG2ltR9ojCxi%2BdAZ0ZxCBblnQYxIZJQMPI1w%3D%3D"}]} |
| X-Content-Type-Options | nosniff |
| ETag | W/"page_cache:68768563337:CollectionDetailsController:13b051c0ac287a984e148789c90e5f27:00790dc43cb7cdc36490613cdfa4fdac" |
| cf-ray | a2fa61896ccfcce0-HEL |
CMS
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
Сайт работает на CMS Shopify.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Cloudflare.
Мета-теги Готовность: 48%
Title
Men's Boardshorts and Swim Shorts – Quiksilver
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо уменьшить число символов в title (текущее значение: 50, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Explore men's boardshorts and elastic waist swim shorts built for performance in the water. 50+ years of surf innovation in every pair. Shop the collection.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо уменьшить число символов в description (текущее значение: 160, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://www.quiksilver.com/collections/mens-clothing-boardshorts-elastic-waist
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width,initial-scale=1,maximum-scale=1.0,user-scalable=yes
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Meta-тег viewport со значением user-scalable определяет доступность масштабирования страницы пользователем.
Meta-тег viewport со значением maximum-scale определяет максимальный масштаб области просмотра.
Разметка OpenGraph
Кол-во: 9
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:site_name | Quiksilver |
| og:url | https://www.quiksilver.com/collections/mens-clothing-boardshorts-elastic-waist |
| og:title | Men's Boardshorts and Swim Shorts – Quiksilver |
| og:type | product.group |
| og:description | Explore men's boardshorts and elastic waist swim shorts built for performance in the water. 50+ years of surf innovation in every pair. Shop the collection. |
| og:image | http://www.quiksilver.com/cdn/shop/files/Quiksilver_Main_Omni_Logo_Black_8c466a51-719c-4a9d-9b09-3e3daedb6755.png?v=1742439802 |
| og:image:secure_url | https://www.quiksilver.com/cdn/shop/files/Quiksilver_Main_Omni_Logo_Black_8c466a51-719c-4a9d-9b09-3e3daedb6755.png?v=1742439802 |
| og:image:width | 2084 |
| og:image:height | 1436 |
Все мета-теги
Кол-во: 22
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 22шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width,initial-scale=1,maximum-scale=1.0,user-scalable=yes |
| name | theme-color | |
| name | description | Explore men's boardshorts and elastic waist swim shorts built for performance in the water. 50+ years of surf innovation in every pair. Shop the collection. |
| name | twitter:card | summary_large_image |
| name | twitter:title | Men's Boardshorts and Swim Shorts – Quiksilver |
| name | twitter:description | Explore men's boardshorts and elastic waist swim shorts built for performance in the water. 50+ years of surf innovation in every pair. Shop the collection. |
| name | facebook-domain-verification | r4znc9ijddbnbdkkpsciqj854gb5iz |
| name | shopify-digital-wallet | /68768563337/digital_wallets/dialog |
| name | shopify-checkout-api-token | 4dc6419b1335299b15be15abe19ea467 |
| name | google-site-verification | HQ_xsgEEvD-0hpydWgL-qvp636Fv43ZXA6aGNocbeRU |
| name | shopify-y | 8fbf477b-ad7a-402b-b2dc-5f51e1bdcca7 |
| name | shopify-s | 24ecc750-f2d3-4f08-863d-f2d4a98b80b5 |
| name | new-cookie-storage-activated | f |
| property | og:site_name | Quiksilver |
| property | og:url | https://www.quiksilver.com/collections/mens-clothing-boardshorts-elastic-waist |
| property | og:title | Men's Boardshorts and Swim Shorts – Quiksilver |
| property | og:type | product.group |
| property | og:description | Explore men's boardshorts and elastic waist swim shorts built for performance in the water. 50+ years of surf innovation in every pair. Shop the collection. |
| property | og:image | http://www.quiksilver.com/cdn/shop/files/Quiksilver_Main_Omni_Logo_Black_8c466a51-719c-4a9d-9b09-3e3daedb6755.png?v=1742439802 |
| property | og:image:secure_url | https://www.quiksilver.com/cdn/shop/files/Quiksilver_Main_Omni_Logo_Black_8c466a51-719c-4a9d-9b09-3e3daedb6755.png?v=1742439802 |
| property | og:image:width | 2084 |
| property | og:image:height | 1436 |
Оптимизация Готовность: 60%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в одном экземпляре).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 5 встречаются в тексте достаточно.
Абзацев с текстом 13 достаточно.
Среднее число слов в абзаце 16 достаточно.
Кол-во знаков контента 46332 на странице оптимально.
Кол-во слов 7419 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h2> 5. Это хорошо.
Тошнота
19,21
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 5. Измените текст страницы!
Академич. тошнота
25,39%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| assign | 369 | 4,97% |
| option | 123 | 1,66% |
| max_count | 122 | 1,64% |
| options | 117 | 1,58% |
| chevron-down | 112 | 1,51% |
| endfor | 85 | 1,15% |
| filter_label | 82 | 1,11% |
| collection | 80 | 1,08% |
| times: | 80 | 1,08% |
| filters | 78 | 1,05% |
| filter_title | 76 | 1,02% |
| append: | 76 | 1,02% |
| range_max | 76 | 1,02% |
| min_default_value | 76 | 1,02% |
| max_default_value | 76 | 1,02% |
| handle | 44 | 0,59% |
| continue | 41 | 0,55% |
| unless | 39 | 0,53% |
| endunless | 39 | 0,53% |
| min_default_position | 38 | 0,51% |
Индексация Готовность: 0%
Индексирование
Есть ошибки
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 243 слишком много. Проведите ревизию и оптимизацию ссылок сайта.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 1013903 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://surf.quiksilver.com/robots.txt
301 MovedPermanently
https://www.quiksilver.com/collections/mens-clothing-boardshorts-elastic-waist
200 OK
Показать содержимое robots.txt
<!doctype html>
<html class="no-js" lang="en" scroll-segment="0" scroll-off-top="false" liberated-platform-version="2.1">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.setAttributeNode(d.createAttribute('data-ot-ignore'));j.setAttribute('class','optanon-category-C0001');j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-TXGB3SJ6');</script>
<!-- End Google Tag Manager -->
<!-- OneTrust → Shopify Bridge v2.3 | Solvation LLC | May 2026 -->
<!-- GCM DEFAULTS -->
<script type="text/javascript">
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('consent', 'default', {
'ad_storage': 'granted',
'analytics_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'personalization_storage': 'granted',
'functionality_storage': 'granted',
'security_storage': 'granted'
});
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'personalization_storage': 'denied',
'functionality_storage': 'granted',
'security_storage': 'granted',
'wait_for_update': 500,
'region': ['AT','AX','BE','BG','CA-QC','CY','CZ','DE','DK','EE','ES','FI','FR','GB','GF','GP','GR','HR','HU','IE','IS','IT','LI','LT','LU','LV','MC','MF','MQ','MT','NL','NO','PL','PT','RE','RO','SE','SI','SK','SM','US-CA','YT']
});
if (navigator.globalPrivacyControl === true) {
gtag('consent', 'default', {
'ad_storage': 'denied',
'analytics_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'personalization_storage': 'denied',
'functionality_storage': 'granted',
'security_storage': 'granted',
'region': ['US-CA','US-CO','US-CT','US-DE','US-FL','US-IA','US-MD','US-MN','US-MT','US-NE','US-NH','US-NJ','US-OR','US-TX','US-UT','US-VA']
});
}
</script>
<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="019c2459-c3d8-7f86-9367-6cdb57090992"></script>
<script type="text/javascript">
function OptanonWrapper() { }
</script>
<!-- OneTrust → Shopify Customer Privacy API Bridge -->
<script type="text/javascript">
(function () {
'use strict';
// ── DEFAULT-DENY: New visitors only ───────────────────────────
// Locks Shopify consent to denied before OneTrust resolves.
// Prevents _shopify_y, _shopify_s, _shopify_analytics,
// _shopify_marketing from dropping before consent is established.
// Skipped for returning visitors — bridge handles them via
// the interval/event path below.
(function setShopifyConsentDefault() {
var alreadyDecided = document.cookie.indexOf('OptanonAlertBoxClosed') > -1;
if (alreadyDecided) return;
function applyDefault() {
var api = window.Shopify && window.Shopify.customerPrivacy;
if (!api || typeof api.setTrackingConsent !== 'function') {
document.addEventListener('shopifyCustomerPrivacyApiLoaded', applyDefault, { once: true });
return;
}
api.setTrackingConsent(
{ analytics: false, marketing: false, preferences: false, sale_of_data: false },
function(err) { if (err) console.error('[OT→Shopify] Default-deny failed:', err); }
);
}
applyDefault();
})();
// ── HELPERS ───────────────────────────────────────────────────
function hasConsent(groups, code) {
return (groups || '').split(',')
.map(function(s) { return s.trim(); })
.filter(Boolean)
.includes(code);
}
function oneTrustHasDecision(groups) {
if (!groups || groups === '') return false;
var cats = groups.split(',').map(function(s) { return s.trim(); }).filter(Boolean);
if (cats.length === 0) return false;
if (cats.length === 1 && cats[0] === 'C0001') return false;
return true;
}
// ── CORE SYNC ─────────────────────────────────────────────────
function syncOneTrustToShopify() {
var groups = window.OnetrustActiveGroups;
var api = window.Shopify && window.Shopify.customerPrivacy;
if (!api || typeof api.setTrackingConsent !== 'function') return;
if (!oneTrustHasDecision(groups)) return;
api.setTrackingConsent({
analytics: hasConsent(groups, 'C0002'),
marketing: hasConsent(groups, 'C0004'),
preferences: hasConsent(groups, 'C0003'),
sale_of_data: hasConsent(groups, 'C0004') || hasConsent(groups, 'SPDTA_BG')
}, function(error) {
if (error) console.error('[OT→Shopify] Consent sync failed:', error);
});
}
// ── LISTENER: New visitor consent interaction ─────────────────
window.addEventListener('OneTrustGroupsUpdated', syncOneTrustToShopify);
// ── LISTENER: Shopify API confirmation (debug only) ───────────
document.addEventListener('visitorConsentCollected', function(event) {});
// ── RETURNING VISITOR SYNC ────────────────────────────────────
function getCookie(name) {
var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
return match ? match[2] : null;
}
var synced = false;
function attemptReturningSyncOnce() {
if (synced) return;
if (!window.Shopify || !window.Shopify.customerPrivacy) return;
if (!window.OnetrustActiveGroups) return;
synced = true;
syncOneTrustToShopify();
}
if (getCookie('OptanonAlertBoxClosed')) {
document.addEventListener('shopifyCustomerPrivacyApiLoaded', function() {
attemptReturningSyncOnce();
});
var retryCount = 0;
var interval = setInterval(function() {
retryCount++;
if (window.Shopify && window.Shopify.customerPrivacy && window.OnetrustActiveGroups) {
attemptReturningSyncOnce();
clearInterval(interval);
}
if (retryCount > 20) clearInterval(interval);
}, 300);
}
})();
</script>
<!-- OneTrust → GCM Update -->
<script type="text/javascript">
function OptanonWrapper() {
(function () {
var groups = window.OnetrustActiveGroups || '';
function hasConsent(code) {
return groups.split(',')
.map(function(s) { return s.trim(); })
.filter(Boolean)
.includes(code);
}
gtag('consent', 'update', {
'analytics_storage': hasConsent('C0002') ? 'granted' : 'denied',
'functionality_storage': hasConsent('C0003') ? 'granted' : 'denied',
'personalization_storage': hasConsent('C0003') ? 'granted' : 'denied',
'ad_storage': hasConsent('C0004') ? 'granted' : 'denied',
'ad_user_data': hasConsent('C0004') ? 'granted' : 'denied',
'ad_personalization': hasConsent('C0004') ? 'granted' : 'denied',
'security_storage': 'granted'
});
})();
}
</script>
<!-- Nosto -->
<script type="text/javascript">
(function () {
'use strict';
var NOSTO_ACCOUNT_ID = 'shopify-68768563337';
var NOSTO_SCRIPT_URL = '//connect.nosto.com/include/' + NOSTO_ACCOUNT_ID;
var NOSTO_OT_CATEGORY = 'C0004';
var ALLOW_DNT_FALLBACK = true;
var nostoLoaded = false;
function hasConsent(categoryId) {
var groups = window.OnetrustActiveGroups || '';
return groups.indexOf(categoryId) > -1;
}
function oneTrustReady() {
return typeof window.OnetrustActiveGroups !== 'undefined';
}
function injectNosto() {
if (nostoLoaded) return;
nostoLoaded = true;
var head = document.getElementsByTagName('head')[0];
var js = document.createElement('script');
js.type = 'text/javascript';
js.src = NOSTO_SCRIPT_URL;
head.appendChild(js);
}
function initializeNostoQueue() {
window.nostojs = window.nostojs || function (cb) {
window.nostojs.q = window.nostojs.q || [];
window.nostojs.q.push(cb);
};
}
function evaluateConsent() {
if (!oneTrustReady()) return;
var consentGranted = hasConsent(NOSTO_OT_CATEGORY);
if (consentGranted) {
if (!nostoLoaded) injectNosto();
} else if (ALLOW_DNT_FALLBACK && !nostoLoaded) {
initializeNostoQueue(); // This initializes the nostojs queue
// Queue the DNT call before injecting the script
window.nostojs(function (api) {
api.visit.setDoNotTrack(true);
console.log('isDoNotTrack inside callback:', api.visit.isDoNotTrack());
});
injectNosto();
}
}
window.addEventListener('OneTrustGroupsUpdated', function () {
evaluateConsent();
});
var retryCount = 0;
var maxRetries = 20;
var initInterval = setInterval(function () {
retryCount++;
if (oneTrustReady()) {
evaluateConsent();
clearInterval(initInterval);
return;
}
if (retryCount >= maxRetries) {
clearInterval(initInterval);
}
}, 500);
})();
</script>
<!-- End Nosto -->
<!-- Yotpo -->
<script>
var yotpoLoaded = false;
function loadYotpo() {
if (yotpoLoaded) return;
var groups = window.OnetrustActiveGroups || '';
var active = groups.split(',').map(function(s){ return s.trim(); });
if (active.indexOf('C0002') > -1) {
yotpoLoaded = true;
var s = document.createElement('script');
s.src = 'https://cdn-widgetsrepository.yotpo.com/v1/loader/eElT9VqL4nfdxLuwtbHJYfVSeLRv4bbiYkbvMZ83';
document.body.appendChild(s);
}
}
window.addEventListener('OneTrustGroupsUpdated', loadYotpo);
var _prev = window.OptanonWrapper || function(){};
window.OptanonWrapper = function() {
_prev();
loadYotpo();
};
</script>
<!-- End Yotpo -->
<script id="authentic-cart-handler">
// Open cart drawer when authentic membership is added to cart
window.addEventListener('authentic:membership-added', () => {
window.Neptune.cart.getCart();
window.dispatchEvent(new Event('initCart'));
document.querySelector('.tools__button--cart')?.click();
});
</script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1.0,user-scalable=yes">
<meta name="theme-color" content="">
<link rel="canonical" href="https://www.quiksilver.com/collections/mens-clothing-boardshorts-elastic-waist">
<link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//www.quiksilver.com/cdn/shop/files/logo-11_32x32.png?v=1742507565"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title>Men's Boardshorts and Swim Shorts – Quiksilver</title>
<meta name="description" content="Explore men's boardshorts and elastic waist swim shorts built for performance in the water. 50+ years of surf innovation in every pair. Shop the collection.">
<meta property="og:site_name" content="Quiksilver">
<meta property="og:url" content="https://www.quiksilver.com/collections/mens-clothing-boardshorts-elastic-waist">
<meta property="og:title" content="Men's Boardshorts and Swim Shorts – Quiksilver">
<meta property="og:type" content="product.group">
<meta property="og:description" content="Explore men's boardshorts and elastic waist swim shorts built for performance in the water. 50+ years of surf innovation in every pair. Shop the collection."><meta property="og:image" content="http://www.quiksilver.com/cdn/shop/files/Quiksilver_Main_Omni_Logo_Black_8c466a51-719c-4a9d-9b09-3e3daedb6755.png?v=1742439802">
<meta property="og:image:secure_url" content="https://www.quiksilver.com/cdn/shop/files/Quiksilver_Main_Omni_Logo_Black_8c466a51-719c-4a9d-9b09-3e3daedb6755.png?v=1742439802">
<meta property="og:image:width" content="2084">
<meta property="og:image:height" content="1436"><meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Men's Boardshorts and Swim Shorts – Quiksilver">
<meta name="twitter:description" content="Explore men's boardshorts and elastic waist swim shorts built for performance in the water. 50+ years of surf innovation in every pair. Shop the collection.">
<script>
window.cart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0};
window.cartMessages = {
quantityError: `You can only add [quantity] of this item to your cart.`
}
</script>
<div id="shopify-section-customer" class="shopify-section"><script id="redirects">
</script>
<script>
window.customer = {
...(null || {}),
...{
identity: {
...JSON.parse(localStorage.getItem('CustomerIdentity')||'{}'),
...JSON.parse(sessionStorage.getItem('CustomerIdentity')||'{}')
}
}
};
</script>
</div>
<script src="//www.quiksilver.com/cdn/shop/t/236/assets/vendors.js?v=172734546526818128791786644647" defer="defer"></script>
<script src="//www.quiksilver.com/cdn/shop/t/236/assets/runtime.js?v=78994611302359762781786644647" defer="defer"></script>
<script src="//www.quiksilver.com/cdn/shop/t/236/assets/main.js?v=165734940351654122161786644647" defer="defer"></script>
<script src="//www.quiksilver.com/cdn/shop/t/236/assets/custom.js?v=26161" defer="defer"></script>
<script>
window.customer = {
"identity": {},
"subscriptions": {},
"peripherals":{},
"account": {
},
"profiles":[
{"preferences":{}}
]
}
;
</script>
<script>
window.Neptune = {
config: {
file_url_base: "\/\/www.quiksilver.com\/cdn\/shop\/files\/"
}
}
</script>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="facebook-domain-verification" content="r4znc9ijddbnbdkkpsciqj854gb5iz">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/68768563337/digital_wallets/dialog">
<meta name="shopify-checkout-api-token" content="4dc6419b1335299b15be15abe19ea467">
<meta id="in-context-paypal-metadata" data-shop-id="68768563337" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
<link rel="alternate" type="application/atom+xml" title="Feed" href="/collections/mens-clothing-boardshorts-elastic-waist.atom" />
<link rel="next" href="/collections/mens-clothing-boardshorts-elastic-waist?page=2">
<link rel="alternate" type="application/json+oembed" href="https://www.quiksilver.com/collections/mens-clothing-boardshorts-elastic-waist.oembed">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6373245065"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6373245065&shop_id=68768563337" crossorigin="anonymous"></script>
<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":68768563337,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/68768563337","merchantName":"Quiksilver","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Quiksilver","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
<script id="shopify-features" type="application/json">{"accessToken":"4dc6419b1335299b15be15abe19ea467","betas":["rich-media-storefront-analytics"],"domain":"www.quiksilver.com","predictiveSearch":true,"shopId":68768563337,"locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "quiksilver-us-o5.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"USD","rate":"1.0"};
Shopify.country = "US";
Shopify.theme = {"name":"8\/17-8\/24 | QS | Final Wave Creative Banner","id":156086206601,"schema_name":"Liberated Platform","schema_version":"2.0","theme_store_id":null,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "www.quiksilver.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";
Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
Shopify.SignInWithShop = Shopify.SignInWithShop || {};
Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
Shopify.SignInWithShop.User.recognized = false;</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<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>
<script>
window.ShopifyPay = window.ShopifyPay || {};
window.ShopifyPay.apiHost = "shop.app\/pay";
window.ShopifyPay.redirectState = null;
</script>
<script>
window.Shopify = window.Shopify || {};
window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
window.Shopify.SignInWithShop.eligible = true;
</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"collection"}</script>
<script defer="defer" async="async" src="//www.quiksilver.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
"></script>
<script>
window.Shopify = window.Shopify || {};
if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
window.Shopify.featureAssets['shop-js'] = {"pay-button":["modules/loader.pay-button.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/loader.init-shop-email-lookup-coordinator.en.esm.js"],"avatar":["modules/loader.avatar.en.esm.js"],"init-customer-accounts":["modules/loader.init-customer-accounts.en.esm.js"],"init-customer-accounts-sign-up":["modules/loader.init-customer-accounts-sign-up.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/loader.init-shop-for-new-customer-accounts.en.esm.js"],"discount-app":["modules/loader.discount-app.en.esm.js"],"login-button":["modules/loader.login-button.en.esm.js"],"payment-terms":["modules/loader.payment-terms.en.esm.js"]};
</script>
<script>(function() {
var isLoaded = false;
function asyncLoad() {
if (isLoaded) return;
isLoaded = true;
var urls = ["\/\/cdn.shopify.com\/proxy\/69d5cc51fac17c6d7b5ad918b0481e9ba08556a7168c2cb558100d65d5c59501\/cdn.bogos.io\/script_tag\/secomapp.scripttag.js?shop=quiksilver-us-o5.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/cdn.noibu.com\/collect-core.js?shop=quiksilver-us-o5.myshopify.com","https:\/\/s3.eu-west-1.amazonaws.com\/production-klarna-il-shopify-osm\/ec6d25e5ad4807e8473befd85700bd0360007458\/quiksilver-us-o5.myshopify.com-1786950304125.js?shop=quiksilver-us-o5.myshopify.com"];
for (var i = 0; i < urls.length; i++) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = urls[i];
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
}
};
if(window.attachEvent) {
window.attachEvent('onload', asyncLoad);
} else {
window.addEventListener('load', asyncLoad, false);
}
})();</script>
<script id="__st">var __st={"a":68768563337,"offset":-25200,"reqid":"fa985595-5222-4b94-a136-67f10dc515f1-1787490873","pageurl":"www.quiksilver.com\/collections\/mens-clothing-boardshorts-elastic-waist","u":"6f40ccfeb7a8","p":"collection","rtyp":"collection","rid":301714768009};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<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.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(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>
<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.quiksilver.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
<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.quiksilver.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><script crossorigin="anonymous" defer="defer" src="//www.quiksilver.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-bf1cdb70.js?v=20250812"></script>
<script id="shopify-origin-trials" async="async" integrity="sha256-mqQjA+yhr1DtPsW5MhDIq3zDu+LghfjNT49r/ttG3eY=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-5059b83f.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
<script>
window.Shopify = window.Shopify || {};
window.Shopify.MCP = window.Shopify.MCP || {};
window.Shopify.MCP.enabled = true;
window.Shopify.MCP.shop = "quiksilver-us-o5.myshopify.com";
window.Shopify.MCP.mcpEndpoint = "https:\/\/www.quiksilver.com\/api\/mcp";
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?\"\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."}},"required":["query"]}}];
</script>
<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("https:\/\/cdn.shopify.com\/storefront\/webmcp\/webmcp-0.1.1.js","");})();
</script>
<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.quiksilver.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
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);
</script>
<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})}}));
</script>
<script integrity="sha256-bUBCCj2kbOnmp6AZdYNTZgzCYFu0b0cW52VDi3aRutc=" data-source-attribution="shopify.remote_product_tracking" data-shopify-remote-tracking="{"publisher_shop_id":68768563337,"theme_id":156086206601,"theme_published":true,"theme_store_id":0,"placement":"collection","event_data":{"collection_id":301714768009,"collection_handle":"mens-clothing-boardshorts-elastic-waist","total_products":20,"page_type":"collection"},"recommendations_tracking_enabled":true}" defer="defer" src="//www.quiksilver.com/cdn/shopifycloud/storefront/assets/storefront/remote_product_tracking-d3054538.js" crossorigin="anonymous"></script>
<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.quiksilver.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
<style id="shopify-accelerated-checkout-cart">
#shopify-buyer-consent {
margin-top: 1em;
display: inline-block;
width: 100%;
}
#shopify-buyer-consent.hidden {
display: none;
}
#shopify-subscription-policy-button {
background: none;
border: none;
padding: 0;
text-decoration: underline;
font-size: inherit;
cursor: pointer;
}
#shopify-subscription-policy-button::before {
box-shadow: none;
}
</style>
<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preload" as="font" href="//www.quiksilver.com/cdn/shop/t/236/assets/hurmedesign-hurmegeometricsans3light-webfont.woff2?v=135738911423339155131786644647" type="font/woff2'" crossorigin="">
<link rel="preload" as="font" href="//www.quiksilver.com/cdn/shop/t/236/assets/hurmedesign-hurmegeometricsans3regular-webfont.woff2?v=67355266885582746441786644647" type="font/woff2'" crossorigin="">
<link rel="preload" as="font" href="//www.quiksilver.com/cdn/shop/t/236/assets/hurmedesign-hurmegeometricsans3semibold-webfont.woff2?v=63293689698991316471786644647" type="font/woff2'" crossorigin="">
<link rel="preload" as="font" href="//www.quiksilver.com/cdn/shop/t/236/assets/hurmedesign-hurmegeometricsans3bold-webfont.woff2?v=165201796870881485001786644647" type="font/woff2'" crossorigin="">
<style>@font-face {
font-family: Poppins;
font-weight: 100;
font-style: normal;
font-display: swap;
src: url("//www.quiksilver.com/cdn/fonts/poppins/poppins_n1.91f1f2f2f3840810961af59e3a012dcc97d8ef59.woff2") format("woff2"),
url("//www.quiksilver.com/cdn/fonts/poppins/poppins_n1.58d050ae3fe39914ce84b159a8c37ae874d01bfc.woff") format("woff");
}
@font-face {
font-family: Poppins;
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//www.quiksilver.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"),
url("//www.quiksilver.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff");
}
@font-face {
font-family: Poppins;
font-weight: 700;
font-style: normal;
font-display: swap;
src: url("//www.quiksilver.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"),
url("//www.quiksilver.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2cd6f64955ff4b36f0cfd8da.woff") format("woff");
}
@font-face {
font-display: swap;
font-family: Hurme Geometric Sans\ 3 Regular;
font-style: normal;
font-weight: 400;
src: local("hurme"),url(//www.quiksilver.com/cdn/shop/t/236/assets/hurmedesign-hurmegeometricsans3regular-webfont.woff2?v=67355266885582746441786644647) format("woff2")
}
@font-face {
font-display: swap;
font-family: Hurme Geometric Sans\ 3 Light;
font-style: normal;
font-weight: 200;
src: local("hurme"),url(//www.quiksilver.com/cdn/shop/t/236/assets/hurmedesign-hurmegeometricsans3light-webfont.woff2?v=135738911423339155131786644647) format("woff2")
}
@font-face {
font-display: swap;
font-family: Hurme Geometric Sans\ 3 Semibold;
font-style: normal;
src: local("hurme"),url(//www.quiksilver.com/cdn/shop/t/236/assets/hurmedesign-hurmegeometricsans3semibold-webfont.woff2?v=63293689698991316471786644647) format("woff2")
}
@font-face {
font-display: swap;
font-family: Hurme Geometric Sans\ 3 Bold;
font-style: normal;
font-weight: 700;
src: local("hurme"),url(//www.quiksilver.com/cdn/shop/t/236/assets/hurmedesign-hurmegeometricsans3bold-webfont.woff2?v=165201796870881485001786644647) format("woff2")
}
</style>
<style data-shopify>
:root {
--font-body-family: 'Poppins', sans-serif;
--font-body-style: normal;
--font-body-weight: normal;
--font-heading-family: 'Poppins', sans-serif;
--font-heading-style: normal;
--font-heading-weight: bold;
--font-subheading-family: 'Poppins', sans-serif;;
--font-subheading-style: normal;
--font-subheading-weight: bold;
}
</style>
<link href="//www.quiksilver.com/cdn/shop/t/236/assets/main.css?v=163547253619834487101786644647" rel="stylesheet" type="text/css" media="all" />
<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
<script>
Shopify._shop = {
domain:"www.quiksilver.com",
currency:"USD"
};
window.SSAT46 = "YmU2YjBhNzQ0YmE1ZGVhYjNiN2I4MDJjNzhjNmFjMjE=";
</script>
<script>
window.itemSwatchColorMap = {};
</script>
<script src="//www.quiksilver.com/cdn/shop/t/236/assets/customer-controller.js?v=83269612050062559321786644647" defer="defer"></script>
<meta name="google-site-verification" content="HQ_xsgEEvD-0hpydWgL-qvp636Fv43ZXA6aGNocbeRU" />
<style>
.product-card__image {
--tw-aspect-w: 4;
--tw-aspect-h: 5;
}
</style>
<style>
.product-card__badge--soldout
{display:none}
</style>
<script type="text/javascript">
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "rxh3pdu8gx");
</script>
<!-- Tie -->
<script>
window.dataLayer = window.dataLayer || [];
addEvent(window, 'message', function(message) {
try {
let data = JSON.parse(message.data);
if (data.event == 'pixel_api_atc') {
window.dataLayer.push({ecommerce: null});
window.dataLayer.push({event: "rr_add_to_cart", ecommerce: data.ecommerce});
}
else if (data.event == 'pixel_api_view_item') {
window.dataLayer.push({ ecommerce: null });
if (data.event !== 'ready') {
window.dataLayer.push({'event': 'rr_view_item', 'ecommerce': data.ecommerce});
}
}
} catch(e){}
});
function addEvent(el, evt, fn) {
if (el.addEventListener) {
el.addEventListener(evt, fn);
} else if (el.attachEvent) {
el.attachEvent('on' + evt, function(evt) {
fn.call(el, evt);
});
} else if (typeof el['on' + evt] === 'undefined' || el['on' + evt] === null) {
el['on' + evt] = function(evt) {
fn.call(el, evt);
};
}
}
!function(){"use strict";function l(e){for(var t=e,r=0,n=document.cookie.split(";");r<n.length;r++){var o=n[r].split("=");if(o[0].trim()===t)return o[1]}}function s(e){return localStorage.getItem(e)}function u(e){return window[e]}function A(e,t){e=document.querySelector(e);return t?null==e?void 0:e.getAttribute(t):null==e?void 0:e.textContent}var e=window,t=document,r="script",n="dataLayer",o="https://ss.zone.quiksilver.com",a="",i="dwt91uiwgccmd",c="d4xttj=aWQ9R1RNLUtRMkhXNVdG&sort=desc",g="cookie",v=["_y", "_shopify_y"],E="",d=!1;try{var d=!!g&&(m=navigator.userAgent,!!(m=new RegExp("Version/([0-9._]+)(.*Mobile)?.*Safari.*").exec(m)))&&16.4<=parseFloat(m[1]),f="stapeUserId"===g,I=d&&!f?function(e,t,r){void 0===t&&(t="");var n={cookie:l,localStorage:s,jsVariable:u,cssSelector:A},t=Array.isArray(t)?t:[t];if(e&&n[e])for(var o=n[e],a=0,i=t;a<i.length;a++){var c=i[a],c=r?o(c,r):o(c);if(c)return c}else console.warn("invalid uid source",e)}(g,v,E):void 0;d=d&&(!!I||f)}catch(e){console.error(e)}var m=e,g=(m[n]=m[n]||[],m[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"}),t.getElementsByTagName(r)[0]),v=I?"&bi="+encodeURIComponent(I):"",E=t.createElement(r),f=(d&&(i=8<i.length?i.replace(/([a-z]{8}$)/,"kp$1"):"kp"+i),!d&&a?a:o);E.async=!0,E.src=f+"/"+i+".js?"+c+v,null!=(e=g.parentNode)&&e.insertBefore(E,g)}();
</script>
<!-- Tie -->
<!-- Attentive -->
<script>
window.addEventListener('OneTrustGroupsUpdated', function(e) {
if (e.detail && e.detail.includes('C0004')) {
var s = document.createElement('script');
s.src = 'https://ukavr.quiksilver.com/providers/atLabel/load';
document.head.appendChild(s);
}
});
</script>
<!-- End Attentive -->
<!-- BEGIN app block: shopify://apps/geo-pro-geolocation/blocks/geopro/16fc5313-7aee-4e90-ac95-f50fc7c8b657 --><!-- This snippet is used to load Geo:Pro data on the storefront -->
<meta class='geo-ip' content='eyJwYXJhbWV0ZXJzIjp7ImxheW91dC1zZWxlY3RvciI6InBvcHVwIiwicGVybWFuZW50LXJlZGlyZWN0IjowLCJwb3B1cF9kZWxheSI6IjAiLCJkb21haW5zX2xpc3QiOmZhbHNlLCJzdG9yZV90aXRsZSI6IlF1aWtzaWx2ZXIiLCJyZWRpcmVjdF90ZXh0IjoiSXQgc2VlbXMgeW91JiMzOXJlIGluICVDT1VOVFJZJS4gUmVkaXJlY3QgdG8gJVNUT1JFTkFNRSU/IiwieWVzIjoiWWVzLCBwbGVhc2UiLCJubyI6Ik5vLCB0aGFua3MiLCJiYWNrZ3JvdW5kLWNvbG9yIjoiZmZmZmZmIiwidGV4dC1jb2xvciI6IjAwMDAwMCIsInllcy1iYWNrZ3JvdW5kLWNvbG9yIjoiMDAwMDAwIiwieWVzLXRleHQtY29sb3IiOiJmZmZmZmYiLCJuby1iYWNrZ3JvdW5kLWNvbG9yIjoiODg4ODg4Iiwibm8tdGV4dC1jb2xvciI6ImZmZmZmZiIsImxvY2FsaXphdGlvbiI6W10sIm93bmVyX2lwIjoiIiwib3duZXJfaXBfbW9kZSI6IiIsInNob3dfcG9wdXBfZm9yX3NhbWVfd2Vic2l0ZSI6ZmFsc2UsImhpZGVfdGhlX25vX2J1dHRvbiI6ZmFsc2UsImRpc2FibGVkX3N0YXRlIjpmYWxzZSwibGFzdF9lbWJlZGRlZF9hdCI6IjIwMjUtMDQtMDEgMTc6MDU6NDAifSwicnVsZXNMaXN0IjpbeyJydWxlX2lkIjoiMzg1NjgiLCJjb3VudHJpZXMiOiJCcmF6aWwiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiQlJBWklMIiwiaXBfZXhjZXB0aW9ucyI6IiIsImxpbmsiOiJodHRwczpcL1wvd3d3LnF1aWtzaWx2ZXIuY29tLmJyXC8iLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTY5IiwiY291bnRyaWVzIjoiQmVsZ2l1bSIsImV4Y2VwdGlvbnMiOiIiLCJpcCI6IiIsInN0b3JlX25hbWUiOiJCRUxHSVVNIiwiaXBfZXhjZXB0aW9ucyI6IiIsImxpbmsiOiJodHRwczpcL1wvd3d3LnF1aWtzaWx2ZXIuYmUiLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTcwIiwiY291bnRyaWVzIjoiRnJhbmNlIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IkZSQU5DRSIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLmZyIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU3MSIsImNvdW50cmllcyI6IkRlbm1hcmsiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiREVOTUFSSyIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLmRrXC8iLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTcyIiwiY291bnRyaWVzIjoiU3BhaW4iLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiU1BBSU4iLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC93d3cucXVpa3NpbHZlci5lcyIsImRvbWFpbl9yZWRpcmVjdCI6IjAiLCJtYXJrZXRfaWQiOiIwIn0seyJydWxlX2lkIjoiMzg1NzMiLCJjb3VudHJpZXMiOiJHZXJtYW55IiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IkdFUk1BTlkiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC93d3cucXVpa3NpbHZlci5kZVwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU3NCIsImNvdW50cmllcyI6IklyZWxhbmQiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiSVJFTEFORCIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLmllXC8iLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTc1IiwiY291bnRyaWVzIjoiSXRhbHkiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiSVRBTFkiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC93d3cucXVpa3NpbHZlci5pdFwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU3NiIsImNvdW50cmllcyI6Ikx1eGVtYm91cmciLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiTFVYRU1CT1VSRyIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLmx1XC8iLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTc3IiwiY291bnRyaWVzIjoiTmV0aGVybGFuZHMiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiTkVUSEVSTEFORFMiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC93d3cucXVpa3NpbHZlci5ubFwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU3OCIsImNvdW50cmllcyI6IkF1c3RyaWEiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiQVVTVFJJQSIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLWV1cm9wZS5hdFwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU3OSIsImNvdW50cmllcyI6IlBvcnR1Z2FsIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IlBPUlRVR0FMIiwiaXBfZXhjZXB0aW9ucyI6IiIsImxpbmsiOiJodHRwczpcL1wvd3d3LnF1aWtzaWx2ZXIucHRcLyIsImRvbWFpbl9yZWRpcmVjdCI6IjAiLCJtYXJrZXRfaWQiOiIwIn0seyJydWxlX2lkIjoiMzg1ODAiLCJjb3VudHJpZXMiOiJSdXNzaWEiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiUlVTU0lBIiwiaXBfZXhjZXB0aW9ucyI6IiIsImxpbmsiOiJodHRwczpcL1wvd3d3LnF1aWtzaWx2ZXIucnVcLyIsImRvbWFpbl9yZWRpcmVjdCI6IjAiLCJtYXJrZXRfaWQiOiIwIn0seyJydWxlX2lkIjoiMzg1ODEiLCJjb3VudHJpZXMiOiJGaW5sYW5kIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IkZJTkxBTkQiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC93d3cucXVpa3NpbHZlci5maVwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU4MiIsImNvdW50cmllcyI6IlN3ZWRlbiIsImV4Y2VwdGlvbnMiOiIiLCJpcCI6IiIsInN0b3JlX25hbWUiOiJTV0VERU4iLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC93d3cucXVpa3NpbHZlci1zdG9yZS5zZVwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU4MyIsImNvdW50cmllcyI6IlN3aXR6ZXJsYW5kIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IlNXSVRaRVJMQU5EIiwiaXBfZXhjZXB0aW9ucyI6IiIsImxpbmsiOiJodHRwczpcL1wvd3d3LnF1aWtzaWx2ZXIuY2hcLyIsImRvbWFpbl9yZWRpcmVjdCI6IjAiLCJtYXJrZXRfaWQiOiIwIn0seyJydWxlX2lkIjoiMzg1ODQiLCJjb3VudHJpZXMiOiJVbml0ZWQgS2luZ2RvbSIsImV4Y2VwdGlvbnMiOiIiLCJpcCI6IiIsInN0b3JlX25hbWUiOiJVSyIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLmNvLnVrXC8iLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTg1IiwiY291bnRyaWVzIjoiQXVzdHJhbGlhIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IkFVU1RSQUxJQSIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLmNvbS5hdVwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU4NiIsImNvdW50cmllcyI6IkluZGlhIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IklORElBIiwiaXBfZXhjZXB0aW9ucyI6IiIsImxpbmsiOiJodHRwczpcL1wvd3d3LnF1aWtzaWx2ZXIuaW5cLyIsImRvbWFpbl9yZWRpcmVjdCI6IjAiLCJtYXJrZXRfaWQiOiIwIn0seyJydWxlX2lkIjoiMzg1ODciLCJjb3VudHJpZXMiOiJKYXBhbiIsImV4Y2VwdGlvbnMiOiIiLCJpcCI6IiIsInN0b3JlX25hbWUiOiJKQVBBTiIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLmNvLmpwXC8iLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTg4IiwiY291bnRyaWVzIjoiS29yZWEsVGhlIERlbW9jcmF0aWMgUGVvcGxlXHUyMDE5cyBSZXB1YmxpYyxTb3V0aCBLb3JlYSIsImV4Y2VwdGlvbnMiOiIiLCJpcCI6IiIsInN0b3JlX25hbWUiOiJLT1JFQSIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVya29yZWEua3JcLyIsImRvbWFpbl9yZWRpcmVjdCI6IjAiLCJtYXJrZXRfaWQiOiIwIn0seyJydWxlX2lkIjoiMzg1ODkiLCJjb3VudHJpZXMiOiJNYWxheXNpYSIsImV4Y2VwdGlvbnMiOiIiLCJpcCI6IiIsInN0b3JlX25hbWUiOiJNQUxBWVNJQSIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLm15XC8iLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTkwIiwiY291bnRyaWVzIjoiTmV3IFplYWxhbmQiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiTkVXIFpFQUxBTkQiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC93d3cucXVpa3NpbHZlci5jby5uelwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU5MSIsImNvdW50cmllcyI6IlBoaWxpcHBpbmVzIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IlBISUxMSVBJTkVTIiwiaXBfZXhjZXB0aW9ucyI6IiIsImxpbmsiOiJodHRwczpcL1wvd3d3LnF1aWtzaWx2ZXIuY28ucGhcLyIsImRvbWFpbl9yZWRpcmVjdCI6IjAiLCJtYXJrZXRfaWQiOiIwIn0seyJydWxlX2lkIjoiMzg1OTIiLCJjb3VudHJpZXMiOiJTaW5nYXBvcmUiLCJleGNlcHRpb25zIjoiIiwiaXAiOiIiLCJzdG9yZV9uYW1lIjoiU0lOR0FQT1JFIiwiaXBfZXhjZXB0aW9ucyI6IiIsImxpbmsiOiJodHRwczpcL1wvd3d3LnF1aWtzaWx2ZXIuY29tLnNnXC8iLCJkb21haW5fcmVkaXJlY3QiOiIwIiwibWFya2V0X2lkIjoiMCJ9LHsicnVsZV9pZCI6IjM4NTkzIiwiY291bnRyaWVzIjoiVGFpd2FuIiwiZXhjZXB0aW9ucyI6IiIsImlwIjoiIiwic3RvcmVfbmFtZSI6IlRBSVdBTiIsImlwX2V4Y2VwdGlvbnMiOiIiLCJsaW5rIjoiaHR0cHM6XC9cL3d3dy5xdWlrc2lsdmVyLmNvbS50d1wvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifSx7InJ1bGVfaWQiOiIzODU5NCIsImNvdW50cmllcyI6IlNvdXRoIEFmcmljYSIsImV4Y2VwdGlvbnMiOiIiLCJpcCI6IiIsInN0b3JlX25hbWUiOiJTT1VUSCBBRlJJQ0EiLCJpcF9leGNlcHRpb25zIjoiIiwibGluayI6Imh0dHBzOlwvXC93d3cucXVpa3NpbHZlci5jby56YVwvIiwiZG9tYWluX3JlZGlyZWN0IjoiMCIsIm1hcmtldF9pZCI6IjAifV19'>
<!-- This snippet initializes the plugin -->
<script async>
// geopro loading script
!function(){function e(e,n,o){try{if("function"!=typeof fetch)return;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.indexOf("Baiduspider")>=0)return;var t="https://aa4cacd33be28673d7e69be559ce7ad7@o4506196830715904.ingest.us.sentry.io/4507550373445632",r=t.match(/^https:\/\/([^@]+)@([^/]+)\/(.+)$/),i={message:e,level:"error",environment:"production",transaction:location.href,user:{id:window.Shopify&&window.Shopify.shop?window.Shopify.shop:"unknown",ip_address:String.fromCharCode(123,123)+"auto"+String.fromCharCode(125,125)},extra:o||{},logger:"GeoProInline",exception:{type:n&&n.name?n.name:"Error",value:n&&n.message?n.message:String(n)}};fetch("https://"+r[2]+"/api/"+r[3]+"/envelope/?sentry_key="+r[1],{method:"POST",body:JSON.stringify({dsn:t,sent_at:(new Date).toISOString(),event_id:Math.random().toString(16).slice(2)})+'\n{"type":"event"}\n'+JSON.stringify(i)+"\n",headers:{"Content-Type":"text/plain"},keepalive:!0,referrerPolicy:"no-referrer",mode:"no-cors"}).catch((function(){}))}catch(e){}}function n(){window.geopro_cancel="1"}try{!function(){function o(o){try{if(!o||"success"!==o.message)return void n();window.geopro_inline_location_response=o}catch(t){e("GeoPro inline runtime error",t,{phase:"callback",response:o}),n()}}var t="/apps/easylocation/geo?x-api-key=91e359ab7-2b63-539e-1de2-c4bf731367a7",r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="json",r.timeout=5e3;var i=!1;function a(n){i||(i=!0,e("GeoPro inline XHR failed",new Error("XHR request failed: "+n),{url:t,eventType:n,status:r.status,readyState:r.readyState,timeout:r.timeout,responseURL:r.responseURL||null}),o(null))}r.onload=function(){if(200===r.status)return i=!0,void o(r.response);a("load")},r.onerror=function(){a("error")},r.ontimeout=function(){a("timeout")},r.onabort=function(){a("abort")},r.send()}()}catch(o){e("GeoPro inline runtime error",o,{phase:"load"}),n()}}();
</script>
<script src="https://cdn.shopify.com/extensions/01a01958-5973-73ec-99c4-dd550aeb553c/easylocation-278/assets/easylocation-storefront.min.js" type="text/javascript" async></script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/sortd-merchandiser/blocks/app-embed/5176d6ef-993f-4869-ba24-87a0a6bedcf9 -->
<script>
window.cmPercents = {
'product_card_view': 100,
'product_view': 100,
'collection_view': 100,
'product_add': 100,
'enabled': true,
'product_card_selector': '[role="main"] a[href*="/products"], #main a[href*="/products"], main a[href*="/products"], #shopify-section-collection-template a[href*="/products"], .collection-matrix.product-list a[href*="/products"]',
'cart_url': '/cart',
'store': 'quiksilver-us-o5.myshopify.com',
'submit': '[type="submit"]',
'root_locale': '/',
'root': '/',
'collection_url': '/collections/mens-clothing-boardshorts-elastic-waist',
'collection_handle': 'mens-clothing-boardshorts-elastic-waist',
'collection_id': 301714768009,
'permissions': 123,
'dynamic_loading': false,
'market_id': 47299264649,
'market_handle': "us",
'country_iso_code': "US",
'version': '030.4'
};
window.cmTesting = {
'tests': '[]',
'collection_route': '/collections',
'variantA': '',
'variantB': '',
'variantAId': '',
'variantBId': '',
'collection_handle': 'mens-clothing-boardshorts-elastic-waist',
'collection_id': 301714768009,
'canonical_enabled': false
};
if(!(window.cmPercents.permissions != 123 && sessionStorage.getItem('themePermissions') != 'true')) {
sessionStorage.setItem('cmTests', window.cmTesting.tests);
}
</script>
<script>
var cmInserted=function(){"use strict";var m=100,t=!1,u="animationName",d="",n="Webkit Moz O ms Khtml".split(" "),e="",i=document.createElement("div"),s={strictlyNew:!0,timeout:20,addImportant:!1};if(i.style.animationName&&(t=!0),!1===t)for(var o=0;o<n.length;o++)if(void 0!==i.style[n[o]+"AnimationName"]){e=n[o],u=e+"AnimationName",d="-"+e.toLowerCase()+"-",t=!0;break}function c(t){return s.strictlyNew&&!0===t.QinsQ}function r(t,n){function e(t){t.animationName!==o&&t[u]!==o||c(t.target)||n(t.target)}var i,o="insQ_"+m++,r=s.addImportant?" !important":"";(i=document.createElement("style")).innerHTML="@"+d+"keyframes "+o+" { from { outline: 1px solid transparent } to { outline: 0px solid transparent } }\n"+t+" { animation-duration: 0.001s"+r+"; animation-name: "+o+r+"; "+d+"animation-duration: 0.001s"+r+"; "+d+"animation-name: "+o+r+"; } ",document.head.appendChild(i);var a=setTimeout(function(){document.addEventListener("animationstart",e,!1),document.addEventListener("MSAnimationStart",e,!1),document.addEventListener("webkitAnimationStart",e,!1)},s.timeout);return{destroy:function(){clearTimeout(a),i&&(document.head.removeChild(i),i=null),document.removeEventListener("animationstart",e),document.removeEventListener("MSAnimationStart",e),document.removeEventListener("webkitAnimationStart",e)}}}function a(t){t.QinsQ=!0}function f(t){if(t)for(a(t),t=t.firstChild;t;t=t.nextSibling)void 0!==t&&1===t.nodeType&&f(t)}function l(t,n){var e,i=[],o=function(){clearTimeout(e),e=setTimeout(function(){i.forEach(f),n(i),i=[]},10)};return r(t,function(t){if(!c(t)){a(t);var n=function t(n){return c(n.parentNode)||"BODY"===n.nodeName?n:t(n.parentNode)}(t);i.indexOf(n)<0&&i.push(n),o()}})}function v(n){return!(!t||!n.match(/[^{}]/))&&(s.strictlyNew&&f(document.body),{every:function(t){return r(n,t)},summary:function(t){return l(n,t)}})}return v.config=function(t){for(var n in t)t.hasOwnProperty(n)&&(s[n]=t[n])},v}();"undefined"!=typeof module&&void 0!==module.exports&&(module.exports=cmInserted);
function cmX() {
var ua = (navigator.userAgent || '').toLowerCase();
// List of substrings/regexes commonly associated with bots, crawlers and link preview services
var botPatterns = [
/bot/, // generic "bot" substring (covers googlebot, bingbot, etc.)
/crawl/, // generic "crawl" substring
/spider/,
/slurp/, // Yahoo! Slurp
/curl/, // curl command-line tool
/wget/, // wget command-line tool
/python-requests/, // Python requests library
/axios/, // Axios HTTP client
/feedfetcher/, // Google Feedfetcher
/ia_archiver/, // Alexa IA archiver
/facebookexternalhit/, // Facebook preview bot
/facebot/, // Facebook facebot
/google web preview/,
/googlebot/,
/bingpreview/,
/bingbot/,
/duckduckbot/,
/baiduspider/,
/yandex/, // Yandex bots (yandexbot, etc.)
/sogou/,
/exabot/,
/dotbot/,
/msnbot/,
/yahoo/,
/adsbot/, // Google ads crawler
/mediapartners google/,
/developers google/,
/embedly/,
/quora link preview/,
/rogerbot/,
/applebot/,
/tweetmemebot/,
/ahrefsbot/,
/semrush/,
/mj12bot/,
/uptimerobot/,
/screamingfrog/,
/pinterest/,
/whatsapp/, // WhatsApp link preview
/telegrambot/,
/vkshare/,
/slackbot/,
/discordbot/,
/flipboard/,
/preview/, // generic "preview" (covers some link preview agents)
/phantomjs/,
/headless/, // "HeadlessChrome", "headless" etc.
/prerender/, // prerender.io proxy
/metauri/,
/node-superagent/,
/python-urllib/,
/java\/[0-9\.]+/,
/lighthouse/, // Google Lighthouse / PSI
/chrome-lighthouse/, // Chrome-specific Lighthouse UA
/pagespeed/, // PageSpeed Insights
/yadirectfetcher/, // Yandex Direct fetcher (ad preview)
/mailru\//, // Mail.ru fetchers
/daum[ /]/, // Daum (Korean portal) crawler
/gomezagent/, // Gomez/Dynatrace synthetic
/pingdom/, // Pingdom synthetic
/rigor/, // Rigor/Now Catchpoint synthetic
/postman/, // Postman clients (synthetic/API)
/firephp/, // Tooling / not a browser
/wappalyzer/, // Site tech profiler
/whatcms\//, // CMS detector
/zgrab/, // Scanner
/webglance/, // Site analysis
/webkit2png/, // Screenshotter
/analyzer/, // Generic analyzer keyword
/virtuoso/, // Often seen in crawlers / link checkers
/pageburst/, // Synthetic/page tool
/gozilla\//, // Legacy fetcher
/cloudflare/,
/cf-network/,
/cf-edge/,
/cf-connecting-ip/
];
// Test the user-agent against the bot patterns list
for (var i = 0; i < botPatterns.length; i++) {
if (botPatterns[i].test(ua)) {
return true;
}
}
// Heuristics for headless/automated browsers:
// navigator.webdriver is true for Selenium/WebDriver automation
if (navigator.webdriver) {
return true;
}
// Most real browsers have a populated navigator.languages array
if (!navigator.languages || navigator.languages.length === 0) {
return true;
}
// Headless Chrome sometimes includes "HeadlessChrome" in the UA
if (ua.indexOf('headlesschrome') >= 0) {
return true;
}
// PhantomJS and Nightmare.js often set these properties
if (window._phantom || window.__nightmare || window.callPhantom) {
return true;
}
// Compare screen height to innerHeight to detect off‑screen or minimized windows (bot heuristic)
try {
if (typeof screen !== 'undefined' && window.innerHeight && (screen.height - window.innerHeight < 0)) {
return true;
}
} catch (e) {
// access to screen may be restricted; ignore errors
}
// No bot indicators detected
return false;
}
class CMUtils{constructor(){}getCollectionContextFromPath(){let e=(window.location.pathname||"").replace(/\/+$/,""),t=e.split("/").filter(Boolean),n=t.indexOf("collections");if(-1===n||t.length<=n+1)return null;let l=t[n+1],r="/"+t.slice(0,n+2).join("/");return{collection_route:"/"+t.slice(0,n+1).join("/"),collection_url:r,collection_handle:l}}refreshCmTestingFromRoute(){if(!window?.cmTesting)return;let e=this.getCollectionContextFromPath();if(!e){window.cmTesting.collection_handle="",window.cmTesting.variantA="",window.cmTesting.variantB="";return}window.cmTesting.collection_handle=e.collection_handle,window.cmTesting.collection_route=e.collection_route;let t=[];try{t=JSON.parse(window.cmTesting.tests||"[]")}catch(n){t=[]}let l=Array.isArray(t)?t.find(t=>t?.aHandle===e.collection_handle||t?.bHandle===e.collection_handle):null;l?(window.cmTesting.variantA=l.aHandle||"",window.cmTesting.variantB=l.bHandle||""):(window.cmTesting.variantA="",window.cmTesting.variantB="")}fetchCollectionMeta(e){return new Promise(t=>{let n=new XMLHttpRequest;n.open("GET",`${e}.json`,!0),n.responseType="json",n.onload=function(){200===n.status&&n?.response?.collection?t(n.response.collection):t(null)},n.onerror=function(){t(null)},n.send()})}async refreshCmPercentsFromRoute(){if(!window?.cmPercents)return;let e=this.getCollectionContextFromPath();if(!e){window.cmPercents.collection_url="",window.cmPercents.collection_handle="",window.cmPercents.collection_id=null;return}window.cmPercents.collection_url=e.collection_url,window.cmPercents.collection_handle=e.collection_handle;let t=`collection_meta:${e.collection_url}`,n=null;try{n=JSON.parse(sessionStorage.getItem(t)||"null")}catch(l){n=null}if(n?.id){window.cmPercents.collection_id=n.id;return}let r=await this.fetchCollectionMeta(e.collection_url);if(r?.id){window.cmPercents.collection_id=r.id,sessionStorage.setItem(t,JSON.stringify({id:r.id,handle:r.handle||e.collection_handle}));return}window.cmPercents.collection_id=null}saveId(){window?.cmPercents?.collection_id&&sessionStorage.setItem("collectionReferrerId",JSON.stringify({[window.location.href.split("?")[0]]:window.cmPercents.collection_id}))}anyNotFoundIds(e,t){if(void 0!==t){for(let n=0;n<e.length;n++)if(!t[decodeURIComponent(e[n].split("/products/")[1])])return!0}return!1}fetchRedirectedURL(e){return new Promise((t,n)=>{let l=new XMLHttpRequest;l.open("GET",e,!0),l.onload=()=>{200===l.status?t(l.responseURL):n(Error("Failed to fetch redirected URL"))},l.onerror=()=>n(Error("Network error")),l.send()})}filteredProductCards(e,t,n){let l;try{l=JSON.parse(sessionStorage.getItem("viewedProductCards")||'{"cards":[]}')||{cards:[]}}catch(r){l={cards:[]}}let o=[...l.cards];e=[...new Set(e||[])];let c=e.filter(e=>{try{if(e&&e.includes("/products/")&&!l.cards.includes(e.split("/products/")[1].split("?")[0]))return o.push(e.split("/products/")[1].split("?")[0]),!0}catch(t){return!1}});if(sessionStorage.setItem("viewedProductCards",JSON.stringify({cards:o})),void 0!==t){let i=[],s=[];for(let a=0;a<c.length;a++){let u=void 0!==t?t[decodeURIComponent(c[a].split("/products/")[1])]:null;"undefined"!=typeof cmIds&&(u=u??(cmIds.find(e=>e[0]==c[a].split("/products/")[1])??[null,null])[1]),u?s.push(u):i.push(c[a])}return[i,s]}return[c,[]]}trackLinksInView(e,t){let n=new IntersectionObserver(e=>{e.forEach(e=>{e.intersectionRatio>0&&e?.target?.href&&t(e.target.href.replace(/^.*\/\/[^\/]+/,"").split("?")[0],n)})});n.observe(e)}productIdFromCollection(e=1){return new Promise(async(t,n)=>{let l=new XMLHttpRequest;if(!window.location.href){console.error("No location.href available");return}let r=window.location.href.split("?")[0];if(r&&window.cmPercents.root_locale!==window.cmPercents.root){let o;if(sessionStorage.getItem(`collection:${window.cmPercents.collection_url}`))r=sessionStorage.getItem(`collection:${window.cmPercents.collection_url}`);else{try{o=await this.fetchRedirectedURL("https://"+(window.location.host+window.cmPercents.root_locale+"/collections/"+window.cmPercents.collection_handle).replace("//","/"))}catch(c){console.error("Error fetching redirected URL:",c)}o&&(sessionStorage.setItem(`collection:${window.cmPercents.collection_url}`,o),r=o)}}r&&(l.open("GET",`${r}/products.json?limit=250${1!=e?`&page=${e}`:""}`,!0),l.responseType="json",l.onload=async function(){200===l.status&&l?.response?.products?t(l?.response?.products):t(null)},l.onerror=function(){t(null)},l.send())})}get collectionHandle(){let e=document.referrer.split("/");for(var t=0;t<e.length;t++)if("collections"==e[t]&&e.length>t+1)return e[t+1];return null}squashCart(e){let t={};return e.map(e=>t[e.product_id]=e.product_id in t?t[e.product_id]+e.quantity:e.quantity),t}findLineItemDifferences(e,t){let n={};for(let l in e)if(t.hasOwnProperty(l)){let r=e[l]-t[l];r>0&&(n[l]=r)}else n[l]=e[l];return n}get currentCart(){return new Promise((e,t)=>{let n=new XMLHttpRequest;n.open("GET",window.cmPercents.cart_url+".json",!0),n.responseType="json",n.onload=async function(){200===n.status?e(n?.response?.items):e(null)},n.onerror=function(){e(null)},n.send()})}dynamicLoading(e){if(window?.__sortdRouteWatcherInstalled)return;window.__sortdRouteWatcherInstalled=!0;let t=window.location.href,n=null,l=n=>{let l=window.location.href,r=this.getShopifyPageType();"unknown"!=r&&l!==t&&(e(r),setTimeout(()=>{window.SortdTracking?.refresh?.(),window.SortdTracking?.trackPageView?.()},250))};function r(e){clearTimeout(n),n=setTimeout(()=>l(e),100)}let o=history.pushState,c=history.replaceState;history.pushState=function(){let e=o.apply(this,arguments);return r("pushState"),e},history.replaceState=function(){let e=c.apply(this,arguments);return r("replaceState"),e},window.addEventListener("popstate",()=>{r("popstate")}),window.addEventListener("pageshow",()=>{r("pageshow")})}getShopifyPageType(){let e=window.location.pathname;return/\/products\/[^/]+\/?$/.test(e)?"product":/\/collections\/[^/]+\/?$/.test(e)&&!e.includes("/products/")?"collection":"unknown"}}
class CMCheckForTests{constructor(){this.utils=new CMUtils,this.tests=window?.cmPercents?.tests?JSON.parse(window.cmPercents.tests):[];try{this.#a()}catch(t){console.error("Error checking for tests:",t);try{document.body.classList.remove("cm-ab-hide")}catch(e){console.error("Error removing class cm-ab-hide:",e)}}}refreshTestsOnDynamicRoute(){if(!window?.cmPercents?.dynamic_loading)return!1;try{return this.utils.refreshCmTestingFromRoute(),this.#a()}catch(t){console.error("Error checking for tests:",t);try{document.body.classList.remove("cm-ab-hide")}catch(e){console.error("Error removing class cm-ab-hide:",e)}return!1}}#b(){return Date.now().toString(36)+Math.random().toString(36).substr(2,25)+"-"+Math.floor(100*Math.random()+1)}#a(){let t=!1;if("collection"!==this.utils.getShopifyPageType())return document.documentElement.classList.remove("cm-ab-hide"),!1;if(window?.cmTesting?.tests&&window?.cmTesting?.collection_handle)try{let e=JSON.parse(window.cmTesting.tests);if(Array.isArray(e)&&e.length>0)for(let s=0;s<e.length;s++){let r=e[s],i=sessionStorage.getItem("sessionIdCm")||this.#b(),n=parseInt(i.split("-")[1])>50,o=r?.aId?r?.aId.replace("gid://shopify/Collection/",""):null,c=r?.bId?r?.bId.replace("gid://shopify/Collection/",""):null;if(sessionStorage.setItem("sessionIdCm",i),n&&o==window.cmTesting.collection_id&&c==window.cmTesting.variantBId){if(!window.cmTesting?.variantB)return!1;if(window.cmTesting.canonical_enabled||!cmX()){let d=new URLSearchParams(window.location.search);if(d.has("cmread"))return document.documentElement.classList.remove("cm-ab-hide"),!1;return d.set("cmread","true"),t=!0,location.replace(window.cmTesting.collection_route+"/"+r?.bHandle+"?"+d.toString()),!0}}else if(c==window.cmTesting.collection_id&&!n&&o==window.cmTesting.variantAId){let a=new URLSearchParams(window.location.search);if(a.has("cmread"))return!1;return a.set("cmread","true"),t=!0,location.replace(window.cmTesting.collection_route+"/"+r?.aHandle+"?"+a.toString()),!0}}}catch(l){console.error("Error parsing tests:",l)}finally{t||document.documentElement.classList.remove("cm-ab-hide")}return!1}}const cmCheckForTests=new CMCheckForTests;class CMEventTracker{#c;#d;#e;#f;#g;#h;#i;#j;#k;#l;#m;#n;#o;#p;#q;constructor(t,e){if(100==window.cmPercents.permissions&&"true"!=sessionStorage.getItem("themePermissions")||(this.#c=t,this.#m="https://us-central1-collection-merchandiser.cloudfunctions.net/event-tracking-trigger",this.#d=sessionStorage.getItem("sessionIdCm"),this.#f=new Date().toISOString(),this.#h=Shopify.shop||window?.cmPercents?.store,this.#i=[],this.#e={},this.collectionProducts,this.#k,this.#l=window?.cmPercents?.submit?document.querySelectorAll(window.cmPercents.submit):null,this.#o=null,this.#p=null,this.#q=null,this.#d||(this.#d=this.#b(),sessionStorage.setItem("sessionIdCm",this.#d)),!this.#d))return;this.#r(),this.#g=new CMUtils,this.#g.saveId(),this.#n=1;try{this.#s()}catch(s){console.log(s)}}dynamicLoading(t){this.#g&&this.#g.dynamicLoading(t)}set setProductCardUrlsToSend(t){0==this.#i.length&&(window.cmPercents.dynamic_loading?this.#q=setTimeout(()=>{this.#t()},1750):setTimeout(()=>{this.#t()},1750)),this.#i.push(t)}#u(){this.#p?.destroy&&(this.#p.destroy(),this.#p=null),this.#o&&(window.removeEventListener("beforeunload",this.#o),this.#o=null),this.#q&&(clearTimeout(this.#q),this.#q=null)}async refreshTrackingOnDynamicRoute(t){window.cmPercents.dynamic_loading&&(await this.#g.refreshCmPercentsFromRoute(),this.#u(),this.#i=[],this.#j={},this.#n=1,this.#f=new Date().toISOString(),"collection"===t&&(this.#g.saveId(),this.#s()))}async #t(){let h=!0;for(;this.#g.anyNotFoundIds(this.#i,this.#j)&&h;){let u=await this.#g.productIdFromCollection(this.#n);this.#n=this.#n+1;let m=Array.isArray(u)?u.reduce((t,e,s,r)=>(t[e.handle]=e.id,t),{}):{};0==Object.keys(m).length&&(h=!1),this.#j={...this.#j,...m}}let p=this.#g.filteredProductCards(this.#i,this.#j,this);p.length>0&&p[1].length>0&&this.#v("product_card_view",null,{ids:p[1],collection_id:window?.cmPercents?.collection_id||0,multiplier:parseFloat(100/window.cmPercents.product_card_view)}),this.#i=[]}async #s(){if(window?.cmPercents?.collection_id){this.#j={};let g=document.querySelectorAll(window.cmPercents.product_card_selector),C=t=>{this.#g.trackLinksInView(t,async(e,s)=>{s.disconnect();let r=parseInt(t?.closest?.(".boost-pfs-filter-product-item")?.getAttribute?.("data-id"),10);Number.isNaN(r)||(this.#j[decodeURIComponent(e.split("/products/")[1])]=r),this.setProductCardUrlsToSend=e})};g.forEach(t=>{C(t)}),window.cmPercents.dynamic_loading?(this.#p=cmInserted(window.cmPercents.product_card_selector).every(t=>{C(t)}),this.#o=()=>{this.#t()},window.addEventListener("beforeunload",this.#o)):(cmInserted(window.cmPercents.product_card_selector).every(t=>{C(t)}),window.addEventListener("beforeunload",()=>{this.#t()}))}}#b(){return Date.now().toString(36)+Math.random().toString(36).substr(2,25)+"-"+Math.floor(100*Math.random()+1)}#r(){let P=window?.cmPercents?.market_id;if(null==P||""===P)return;let f=String(P),y="cmMarketLinkedSessionAndMarket",T=[];try{let I=JSON.parse(sessionStorage.getItem(y)||"[]");T=Array.isArray(I)?I:[I]}catch(S){}let k=T.some(t=>t?.session_id===this.#d&&String(t?.market_id)===f);!k&&(this.#v("session_market",null,{market_id:f,market_handle:window.cmPercents.market_handle||null,country_iso_code:window.cmPercents.country_iso_code||null}),T.push({session_id:this.#d,market_id:f}),sessionStorage.setItem(y,JSON.stringify(T)))}#v(_,v,$){let b={event_type:_,timestamp:this.#f,session_id:this.#d,page_data:this.#e,store:this.#h};b.page_data={...b.page_data,...$},v&&(b.linkData=v);let w=new XMLHttpRequest;w.open("POST","purchase_to_product"!=_&&"product_purchase"!=_?this.#c:this.#m),w.setRequestHeader("Content-Type","application/json"),w.send(JSON.stringify(b))}#w(U){return new Promise(t=>{setTimeout(t,U)})}}
const publishDynamicCollectionView=()=>{if(!window?.Shopify?.analytics?.publish)return;let e=parseInt(window?.cmPercents?.collection_id);if(!e)return;sessionStorage.setItem("cmDynamicReferrerId",String(e));let t=String(e);Shopify.analytics.publish("sortd:collection_viewed_dynamic",{data:{collection:{id:t}}})},seedDynamicReferrerFromCurrentPage=()=>{let e=(window.location.pathname||"").replace(/\/+$/,""),t=/\/collections\/[^/]+\/?$/.test(e)&&!e.includes("/products/");if(!t)return;let r=parseInt(window?.cmPercents?.collection_id);r&&sessionStorage.setItem("cmDynamicReferrerId",String(r))},getCurrentProductPath=()=>{let e=(window.location.pathname||"").replace(/\/+$/,""),t=e.split("/").filter(Boolean),r=t.indexOf("products");return -1===r||t.length<=r+1?null:"/"+t.slice(0,r+2).join("/")},fetchProductIdFromPath=e=>new Promise(t=>{let r=new XMLHttpRequest;r.open("GET",`${e}.js`,!0),r.responseType="json",r.onload=function(){200===r.status&&r?.response?.id?t(r.response.id):t(null)},r.onerror=function(){t(null)},r.send()}),publishDynamicProductView=async()=>{if(!window?.Shopify?.analytics?.publish)return;let e=getCurrentProductPath();if(!e)return;let t=`product_meta:${e}`,r=null;try{let n=JSON.parse(sessionStorage.getItem(t)||"null");n?.id&&(r=n.id)}catch(i){}if(r||(!r&&(r=await fetchProductIdFromPath(e))&&sessionStorage.setItem(t,JSON.stringify({id:r})),!r))return;let c=0;try{c=parseInt(sessionStorage.getItem("cmDynamicReferrerId")||"0")||0}catch(l){c=0}Shopify.analytics.publish("sortd:product_viewed_dynamic",{data:{productVariant:{product:{id:String(r)}}},referrer:c}),sessionStorage.removeItem("cmDynamicReferrerId")},handleDynamicRouteChange=async(e,t)=>{let r=cmCheckForTests.refreshTestsOnDynamicRoute();!r&&(await e.refreshTrackingOnDynamicRoute(t),"collection"===t?publishDynamicCollectionView():"product"===t?await publishDynamicProductView():"unknown"===t&&sessionStorage.removeItem("cmDynamicReferrerId"))};
if (document.readyState === 'complete') {
const events = new CMEventTracker('https://cm-event-trigger-6deun5o54a-uw.a.run.app/event-tracking-trigger')
if (window.cmPercents.dynamic_loading) {
seedDynamicReferrerFromCurrentPage();
events.dynamicLoading(async (pageType) => {
await handleDynamicRouteChange(events, pageType);
});
}
} else {
window.addEventListener("load", () => {
const events = new CMEventTracker('https://cm-event-trigger-6deun5o54a-uw.a.run.app/event-tracking-trigger')
if (window.cmPercents.dynamic_loading) {
seedDynamicReferrerFromCurrentPage();
events.dynamicLoading(async (pageType) => {
await handleDynamicRouteChange(events, pageType);
});
}
});
}
</script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
<script async src="https://static.klaviyo.com/onsite/js/SegWjj/klaviyo.js?company_id=SegWjj"></script>
<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
<script>
window.klaviyoReviewsProductDesignMode = false
</script>
<!-- BEGIN app snippet: customer-hub-data --><script>
if (!window.customerHub) {
window.customerHub = {};
}
window.customerHub.storefrontRoutes = {
login: "https://www.quiksilver.com/customer_authentication/redirect?locale=en®ion_country=US?return_url=%2F%23k-hub",
register: "https://account.quiksilver.com?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJxdWlrc2lsdmVyLXVzLW81Lm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc4ODA5NTY3NCwibmJmIjoxNzg3NDkwODc0fQ.XkA3zgDC7jWp7cDQRhIAkC1RMuv64vF5pj-yg2FHFh8?return_url=%2F%23k-hub",
logout: "/account/logout",
profile: "/account",
addresses: "/account/addresses",
};
window.customerHub.userId = null;
window.customerHub.storeDomain = "quiksilver-us-o5.myshopify.com";
window.customerHub.storeLocale = {
currentLanguage: 'en',
currentCountry: 'US',
availableLanguages: [
{
iso_code: 'en',
endonym_name: 'English'
}
],
availableCountries: [
{
iso_code: 'CA',
name: 'Canada',
currency_code: 'CAD'
},
{
iso_code: 'US',
name: 'United States',
currency_code: 'USD'
}
]
};
</script>
<!-- END app snippet -->
<!-- END app block --><!-- BEGIN app block: shopify://apps/gorgias-live-chat-helpdesk/blocks/gorgias/a66db725-7b96-4e3f-916e-6c8e6f87aaaa -->
<script defer data-gorgias-loader-chat src="https://config.gorgias.chat/bundle-loader/shopify/quiksilver-us-o5.myshopify.com"></script>
<script defer data-gorgias-loader-convert src="https://content.9gtb.com/loader.js"></script>
<script defer data-gorgias-loader-mailto-replace src="https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=quiksilver-us-o5"></script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/supergrid-by-depict/blocks/depict_brand_features/ad5c7d1f-ddfb-424b-b936-7f08c4544f6b -->
<!--
Merchant: shopify-68768563337
Market id: 47299264649
Collection id: 301714768009
-->
<script
id="depict-grid-rendering-script"
data-align-images="false"
data-desktop-column-spacing=""
data-desktop-row-spacing=""
data-mobile-column-spacing=""
data-mobile-row-spacing=""
data-desktop-margin=""
data-mobile-margin=""
data-columns-mobile="2"
data-columns-desktop="4"
data-custom-css='null'
data-remove-product-card-padding=""
data-content-blocks="[]"
data-block-ids=""
data-block-assets=""
data-block-links=""
data-duplicates="[]"
data-collection-id="301714768009"
data-merchant="shopify-68768563337"
data-market="47299264649"
data-storefront-access-key="e121f1bdbe8d4f1bb27574281bc5946e"
data-current-page-product-ids="["gid://shopify/Product/8042034790537","gid://shopify/Product/8337482481801","gid://shopify/Product/8337459576969","gid://shopify/Product/8605448241289","gid://shopify/Product/8650418749577","gid://shopify/Product/8337482350729","gid://shopify/Product/8337483563145","gid://shopify/Product/8337483432073","gid://shopify/Product/8337482383497","gid://shopify/Product/8337483137161","gid://shopify/Product/8650418552969","gid://shopify/Product/8337461313673","gid://shopify/Product/8337482416265","gid://shopify/Product/8337480548489","gid://shopify/Product/8650419011721","gid://shopify/Product/8473894256777","gid://shopify/Product/8337461182601","gid://shopify/Product/8337471275145","gid://shopify/Product/8042034626697","gid://shopify/Product/8473894125705"]"
data-default-sorting="manual"
data-image-config="[]"
data-should-show-watermark="false"
data-collection-handle="mens-clothing-boardshorts-elastic-waist"
data-paginate='
{
"page_size": 50,
"pages": 1,
"current_page": 0
}
'
data-ab-tests="null"
>
//# allFunctionsCalledOnLoad
try {
localStorage.setItem('depict_market_id', 47299264649);
} catch (e) {
console.error('[Depict] Failed to set depict_market_id:', e);
}
try {
localStorage.setItem('depict_merchant_id', "shopify-68768563337");
} catch (e) {
console.error('[Depict] Failed to set depict_merchant_id:', e);
}
!function(){"use strict";var t=document.createElement("style");t.textContent='.depict-grid{--default-row-height:minmax(var(--sample-product-height), auto);grid-template-columns:repeat(var(--grid-columns), minmax(0, 1fr))!important;gap:var(--grid-gap)!important;row-gap:var(--row-gap,var(--grid-gap))!important;align-items:unset!important;grid-auto-flow:dense!important;grid-template-rows:var(--grid-template-rows)!important;grid-auto-rows:var(--default-row-height)!important;display:grid!important}@media (width<=990px){.depict-grid{gap:var(--mobile-grid-gap)!important;row-gap:var(--mobile-row-gap,var(--mobile-grid-gap))!important}.depict-grid.mobile-custom-margin{margin:var(--mobile-custom-margin)!important}}@media (width>=991px){.depict-grid.desktop-custom-margin{margin:var(--desktop-custom-margin)!important}}.depict-grid:before,.depict-grid:after{display:none!important}.depict-grid>*{width:100%!important;max-width:unset!important;order:var(--order)!important;margin:0!important}.depict-grid>:not(.depict-content-block){grid-row:unset!important;grid-column:unset!important;grid-template-rows:unset!important}#depict-grid-rendering-script,depict-grid-start-beacon,depict-grid-end-beacon{display:none!important}.depict-content-block{aspect-ratio:var(--content-aspect-ratio,auto);grid-column:span var(--grid-column-span)!important;grid-row:span var(--grid-row-span)!important;display:flex!important}@media (pointer:fine){.depict-content-block:not(:hover) .depict-block-image.hover-image,.depict-content-block:has(.depict-block-image.hover-image):hover .depict-block-image:not(.hover-image){opacity:0}}.depict-content-block .d-instagram{right:8px;bottom:var(--instagram-bottom-distance);gap:0;transition:all .2s;display:flex;position:absolute;color:#fff!important}.depict-content-block .d-instagram svg{visibility:hidden;position:absolute}.depict-content-block .d-instagram .shadow-text{pointer-events:none!important;opacity:0!important;margin:0!important;padding:0!important;position:absolute!important}.depict-content-block .d-instagram .clipped-element{backdrop-filter:blur(200px);filter:grayscale()invert()contrast(100000%);min-height:var(--text-height);clip-path:var(--text-clip-path);-webkit-clip-path:var(--text-clip-path);min-width:var(--icon-width);transition:all .2s;display:flex}.depict-content-block:hover .d-instagram .clipped-element{min-width:calc(var(--icon-width) + var(--insta-gap) + var(--text-width))}.depict-content-spacer{height:var(--content-height,auto)}.depict-block-media{contain:strict;max-width:100%;margin-bottom:var(--bottom-alignment-spacing,0px);margin-top:var(--top-alignment-spacing,0px);--instagram-bottom-distance:8px;flex-grow:1;flex-basis:100%;align-self:stretch;align-items:stretch;position:relative}.depict-block-media,.depict-block-media:empty{display:flex!important}.depict-block-media .background-overlay{background:var(--overlay-color);position:absolute;inset:0;display:block!important}.depict-block-media .spacer-rect{width:100%;height:100%;fill:none!important}.depict-block-media .content-text{gap:var(--text-gap);align-items:var(--h-align);width:100%;height:100%;text-align:var(--h-align);justify-content:var(--v-align);flex-direction:column;padding:16px;display:flex;position:absolute}.depict-block-media .content-text:has(.text-part:nth-child(2)) .text-part{max-height:50%}.depict-block-media .content-text.text-shadow{filter:drop-shadow(0 1px 3px #000000b3)drop-shadow(0 1px 14px #00000080)}.depict-block-media .content-text.text-shadow.with-overlay{filter:drop-shadow(0 1px 2px #00000073)drop-shadow(0 1px 6px #00000040)}.depict-block-media .content-text .text-part{overflow-clip-margin:2px;white-space:pre-wrap;color:var(--color);margin:0;font-weight:400;overflow:clip}.depict-block-media .content-text .text-part.bold{font-weight:700}.depict-block-media .content-text .text-part.underline{text-decoration:underline}.depict-block-media .content-text .text-part.italic{font-style:italic}.depict-block-media:has(.d-instagram) .content-text{height:calc(100% - (var(--instagram-bottom-distance) + var(--instagram-text-height)))}.depict-block-media video{object-fit:cover;flex-grow:1;width:100%;height:100%;position:absolute;inset:0}.depict-block-media video::-webkit-media-controls-panel{display:none!important}.depict-block-media .depict-block-image{object-fit:cover;width:100%;height:100%;transition:opacity .2s;inset:0}@media (pointer:fine){.depict-block-media .depict-block-image{position:absolute}}@media (pointer:coarse){.depict-block-media:has(.depict-block-image.hover-image){scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overflow:auto hidden}.depict-block-media:has(.depict-block-image.hover-image) .depict-block-image{opacity:1;scroll-snap-align:start;flex:0 0 100%;position:static}.depict-block-media:has(.depict-block-image.hover-image):before,.depict-block-media:has(.depict-block-image.hover-image):after{color:#fff;opacity:.65;pointer-events:none;z-index:10;background:#000;border-radius:8px;padding:4px 6px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:10px;line-height:1;position:absolute;bottom:8px}.depict-block-media:has(.depict-block-image.hover-image):before{content:"● ○";left:50%;transform:translate(-50%)}.depict-block-media:has(.depict-block-image.hover-image):after{content:"○ ●";right:-50%;transform:translate(50%)}}depict-watermark-container{z-index:1000000;color:#000;grid-column:1/-1;justify-content:center;width:100%;font-family:Inter,sans-serif;font-size:10px;font-weight:500;display:flex;position:sticky;bottom:28px}depict-watermark-container.d-fixed{position:fixed;left:0}.depict-watermark{backdrop-filter:blur(8px);color:#fff;white-space:nowrap;direction:ltr;background:#0000004d;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:5px 10px;text-decoration:none;display:flex;box-shadow:0 1px 2px #0a0d1408}.depict-watermark svg{height:1.6em}\n/*$vite$:1*/',document.head.appendChild(t);const e=Symbol("solid-proxy"),n="function"==typeof Proxy,o=Symbol("solid-track"),r={equals:(t,e)=>t===e};let i=R;const c=1,a=2,s={owned:null,cleanups:null,context:null,owner:null};var l=null;let u=null,d=null,f=null,p=null,m=0;function g(t,e){const n=d,o=l,r=0===t.length,i=o,c=r?s:{owned:null,cleanups:null,context:i?i.context:null,owner:i},a=r?t:()=>t((()=>y((()=>B(c)))));l=c,d=null;try{return D(a,!0)}finally{d=n,l=o}}function h(t,e){const n={value:t,observers:null,observerSlots:null,comparator:(e=e?Object.assign({},r,e):r).equals||void 0};return[T.bind(n),t=>("function"==typeof t&&(t=t(n.value)),E(n,t))]}function _(t,e,n){P(A(t,e,!1,c))}function v(t,e,n){i=L;const o=A(t,e,!1,c);o.user=!0,p?p.push(o):P(o)}function b(t,e,n){n=n?Object.assign({},r,n):r;const o=A(t,e,!0,0);return o.observers=null,o.observerSlots=null,o.comparator=n.equals||void 0,P(o),T.bind(o)}function w(t){return D(t,!1)}function y(t){if(null===d)return t();const e=d;d=null;try{return t()}finally{d=e}}function k(t){return null===l||(null===l.cleanups?l.cleanups=[t]:l.cleanups.push(t)),t}const[x,S]=h(!1);function I(t,e){const n=Symbol("context");return{id:n,Provider:F(n),defaultValue:t}}function M(t){let e;return l&&l.context&&void 0!==(e=l.context[t.id])?e:t.defaultValue}function O(t){const e=b(t),n=b((()=>z(e())));return n.toArray=()=>{const t=n();return Array.isArray(t)?t:null!=t?[t]:[]},n}function T(){if(this.sources&&this.state)if(this.state===c)P(this);else{const t=f;f=null,D((()=>$(this)),!1),f=t}if(d){const t=this.observers?this.observers.length:0;d.sources?(d.sources.push(this),d.sourceSlots.push(t)):(d.sources=[this],d.sourceSlots=[t]),this.observers?(this.observers.push(d),this.observerSlots.push(d.sources.length-1)):(this.observers=[d],this.observerSlots=[d.sources.length-1])}return this.value}function E(t,e,n){let o=t.value;return t.comparator&&t.comparator(o,e)||(t.value=e,t.observers&&t.observers.length&&D((()=>{for(let e=0;e<t.observers.length;e+=1){const n=t.observers[e],o=u&&u.running;o&&u.disposed.has(n),(o?n.tState:n.state)||(n.pure?f.push(n):p.push(n),n.observers&&N(n)),o||(n.state=c)}if(f.length>1e6)throw f=[],Error()}),!1)),e}function P(t){if(!t.fn)return;B(t);const e=m;((t,e,n)=>{let o;const r=l,i=d;d=l=t;try{o=t.fn(e)}catch(a){return t.pure&&(t.state=c,t.owned&&t.owned.forEach(B),t.owned=null),t.updatedAt=n+1,H(a)}finally{d=i,l=r}(!t.updatedAt||t.updatedAt<=n)&&(null!=t.updatedAt&&"observers"in t?E(t,o):t.value=o,t.updatedAt=n)})(t,t.value,e)}function A(t,e,n,o=c,r){const i={fn:t,state:o,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:e,owner:l,context:l?l.context:null,pure:n};return null===l||l!==s&&(l.owned?l.owned.push(i):l.owned=[i]),i}function C(t){if(0===t.state)return;if(t.state===a)return $(t);if(t.suspense&&y(t.suspense.inFallback))return t.suspense.effects.push(t);const e=[t];for(;(t=t.owner)&&(!t.updatedAt||t.updatedAt<m);)t.state&&e.push(t);for(let n=e.length-1;n>=0;n--)if((t=e[n]).state===c)P(t);else if(t.state===a){const n=f;f=null,D((()=>$(t,e[0])),!1),f=n}}function D(t,e){if(f)return t();let n=!1;e||(f=[]),p?n=!0:p=[],m++;try{const e=t();return(t=>{if(f&&(R(f),f=null),t)return;const e=p;p=null,e.length&&D((()=>i(e)),!1)})(n),e}catch(o){n||(p=null),f=null,H(o)}}function R(t){for(let e=0;e<t.length;e++)C(t[e])}function L(t){let e,n=0;for(e=0;e<t.length;e++){const o=t[e];o.user?t[n++]=o:C(o)}for(e=0;e<n;e++)C(t[e])}function $(t,e){t.state=0;for(let n=0;n<t.sources.length;n+=1){const o=t.sources[n];if(o.sources){const t=o.state;t===c?o!==e&&(!o.updatedAt||o.updatedAt<m)&&C(o):t===a&&$(o,e)}}}function N(t){for(let e=0;e<t.observers.length;e+=1){const n=t.observers[e];n.state||(n.state=a,n.pure?f.push(n):p.push(n),n.observers&&N(n))}}function B(t){let e;if(t.sources)for(;t.sources.length;){const e=t.sources.pop(),n=t.sourceSlots.pop(),o=e.observers;if(o&&o.length){const t=o.pop(),r=e.observerSlots.pop();n<o.length&&(t.sourceSlots[r]=n,o[n]=t,e.observerSlots[n]=r)}}if(t.tOwned){for(e=t.tOwned.length-1;e>=0;e--)B(t.tOwned[e]);delete t.tOwned}if(t.owned){for(e=t.owned.length-1;e>=0;e--)B(t.owned[e]);t.owned=null}if(t.cleanups){for(e=t.cleanups.length-1;e>=0;e--)t.cleanups[e]();t.cleanups=null}t.state=0}function H(t,e=l){const n=(t=>t instanceof Error?t:Error("string"==typeof t?t:"Unknown error",{cause:t}))(t);throw n}function z(t){if("function"==typeof t&&!t.length)return z(t());if(Array.isArray(t)){const e=[];for(let n=0;n<t.length;n++){const o=z(t[n]);Array.isArray(o)?e.push.apply(e,o):e.push(o)}return e}return t}function F(t,e){return e=>{let n;return _((()=>n=y((()=>(l.context={...l.context,[t]:e.value},O((()=>e.children)))))),void 0),n}}const j=Symbol("fallback");function V(t){for(let e=0;e<t.length;e++)t[e]()}function J(t,e,n={}){let r=[],i=[],c=[],a=0,s=e.length>1?[]:null;return k((()=>V(c))),()=>{let l,u,d=t()||[],f=d.length;return d[o],y((()=>{let t,e,o,m,h,_,v,b,w;if(0===f)0!==a&&(V(c),c=[],r=[],i=[],a=0,s&&(s=[])),n.fallback&&(r=[j],i[0]=g((t=>(c[0]=t,n.fallback()))),a=1);else if(0===a){for(i=Array(f),u=0;u<f;u++)r[u]=d[u],i[u]=g(p);a=f}else{for(o=Array(f),m=Array(f),s&&(h=Array(f)),_=0,v=Math.min(a,f);_<v&&r[_]===d[_];_++);for(v=a-1,b=f-1;v>=_&&b>=_&&r[v]===d[b];v--,b--)o[b]=i[v],m[b]=c[v],s&&(h[b]=s[v]);for(t=new Map,e=Array(b+1),u=b;u>=_;u--)w=d[u],l=t.get(w),e[u]=void 0===l?-1:l,t.set(w,u);for(l=_;l<=v;l++)w=r[l],u=t.get(w),void 0!==u&&-1!==u?(o[u]=i[l],m[u]=c[l],s&&(h[u]=s[l]),u=e[u],t.set(w,u)):c[l]();for(u=_;u<f;u++)u in o?(i[u]=o[u],c[u]=m[u],s&&(s[u]=h[u],s[u](u))):i[u]=g(p);i=i.slice(0,a=f),r=d.slice(0)}return i}));function p(t){if(c[u]=t,s){const[t,n]=h(u);return s[u]=n,e(d[u],t)}return e(d[u])}}}function W(t,e){return y((()=>t(e||{})))}function q(){return!0}const U={get:(t,n,o)=>n===e?o:t.get(n),has:(t,n)=>n===e||t.has(n),set:q,deleteProperty:q,getOwnPropertyDescriptor:(t,e)=>({configurable:!0,enumerable:!0,get:()=>t.get(e),set:q,deleteProperty:q}),ownKeys:t=>t.keys()};function G(t){const e="fallback"in t&&{fallback:()=>t.fallback};return b(((t,e,n={})=>{let r,i=[],c=[],a=[],s=[],l=0;return k((()=>V(a))),()=>{const u=t()||[],d=u.length;return u[o],y((()=>{if(0===d)return 0!==l&&(V(a),a=[],i=[],c=[],l=0,s=[]),n.fallback&&(i=[j],c[0]=g((t=>(a[0]=t,n.fallback()))),l=1),c;for(i[0]===j&&(a[0](),a=[],i=[],c=[],l=0),r=0;r<d;r++)r<i.length&&i[r]!==u[r]?s[r]((()=>u[r])):r>=i.length&&(c[r]=g(f));for(;r<i.length;r++)a[r]();return l=s.length=a.length=d,i=u.slice(0),c=c.slice(0,l)}));function f(t){a[r]=t;const[n,o]=h(u[r]);return s[r]=o,e(n,r)}}})((()=>t.each),t.children,e||void 0))}function K(t){const e=t.keyed,n=b((()=>t.when),void 0,void 0),o=e?n:b(n,void 0,{equals:(t,e)=>!t==!e});return b((()=>{const r=o();if(r){const i=t.children;return"function"==typeof i&&i.length>0?y((()=>i(e?r:()=>{if(!y(o))throw"Stale read from <Show>.";return n()}))):i}return t.fallback}),void 0,void 0)}const X=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline","adAuctionHeaders","allowFullscreen","browsingTopics","defaultChecked","defaultMuted","defaultSelected","disablePictureInPicture","disableRemotePlayback","preservesPitch","shadowRootClonable","shadowRootCustomElementRegistry","shadowRootDelegatesFocus","shadowRootSerializable","sharedStorageWritable","allowfullscreen","async","alpha","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","adauctionheaders","browsingtopics","credentialless","defaultchecked","defaultmuted","defaultselected","defer","disablepictureinpicture","disableremoteplayback","preservespitch","shadowrootclonable","shadowrootcustomelementregistry","shadowrootdelegatesfocus","shadowrootserializable","sharedstoragewritable"]),Q=new Set(["innerHTML","textContent","innerText","children"]),Y=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),Z=Object.assign(Object.create(null),{class:"className",novalidate:{$:"noValidate",FORM:1},formnovalidate:{$:"formNoValidate",BUTTON:1,INPUT:1},ismap:{$:"isMap",IMG:1},nomodule:{$:"noModule",SCRIPT:1},playsinline:{$:"playsInline",VIDEO:1},readonly:{$:"readOnly",INPUT:1,TEXTAREA:1},adauctionheaders:{$:"adAuctionHeaders",IFRAME:1},allowfullscreen:{$:"allowFullscreen",IFRAME:1},browsingtopics:{$:"browsingTopics",IMG:1},defaultchecked:{$:"defaultChecked",INPUT:1},defaultmuted:{$:"defaultMuted",AUDIO:1,VIDEO:1},defaultselected:{$:"defaultSelected",OPTION:1},disablepictureinpicture:{$:"disablePictureInPicture",VIDEO:1},disableremoteplayback:{$:"disableRemotePlayback",AUDIO:1,VIDEO:1},preservespitch:{$:"preservesPitch",AUDIO:1,VIDEO:1},shadowrootclonable:{$:"shadowRootClonable",TEMPLATE:1},shadowrootdelegatesfocus:{$:"shadowRootDelegatesFocus",TEMPLATE:1},shadowrootserializable:{$:"shadowRootSerializable",TEMPLATE:1},sharedstoragewritable:{$:"sharedStorageWritable",IFRAME:1,IMG:1}}),tt=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),et=new Set(["altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tref","tspan","use","view","vkern"]),nt={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},ot="_$DX_DELEGATE";function rt(t,e,n,o){let r;const i=()=>{const e=document.createElement("template");return e.innerHTML=t,n?e.content.firstChild.firstChild:e.content.firstChild},c=e?()=>y((()=>document.importNode(r||(r=i()),!0))):()=>(r||(r=i())).cloneNode(!0);return c.cloneNode=c,c}function it(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function ct(t,e){null==e?t.removeAttribute("class"):t.className=e}function at(t,e,n){return y((()=>t(e,n)))}function st(t,e,n,o){if(void 0===n||o||(o=[]),"function"!=typeof e)return ft(t,e,o,n);_((o=>ft(t,e(),o,n)),o)}function lt(t,e,n){const o=e.trim().split(/\s+/);for(let r=0,i=o.length;r<i;r++)t.classList.toggle(o[r],n)}function ut(t,e,n,o,r,i,c){let a,s,l,u,d;if("style"===e)return((t,e,n)=>{if(!e)return n?it(t,"style"):e;const o=t.style;if("string"==typeof e)return o.cssText=e;let r,i;for(i in"string"==typeof n&&(o.cssText=n=void 0),n||(n={}),e||(e={}),n)null==e[i]&&o.removeProperty(i),delete n[i];for(i in e)r=e[i],r!==n[i]&&(o.setProperty(i,r),n[i]=r);return n})(t,n,o);if("classList"===e)return((t,e,n={})=>{const o=Object.keys(e||{}),r=Object.keys(n);let i,c;for(i=0,c=r.length;i<c;i++){const o=r[i];o&&"undefined"!==o&&!e[o]&&(lt(t,o,!1),delete n[o])}for(i=0,c=o.length;i<c;i++){const r=o[i],c=!!e[r];r&&"undefined"!==r&&n[r]!==c&&c&&(lt(t,r,!0),n[r]=c)}return n})(t,n,o);if(n===o)return o;if("ref"===e)i||n(t);else if("on:"===e.slice(0,3)){const r=e.slice(3);o&&t.removeEventListener(r,o,"function"!=typeof o&&o),n&&t.addEventListener(r,n,"function"!=typeof n&&n)}else if("oncapture:"===e.slice(0,10)){const r=e.slice(10);o&&t.removeEventListener(r,o,!0),n&&t.addEventListener(r,n,!0)}else if("on"===e.slice(0,2)){const r=e.slice(2).toLowerCase(),i=tt.has(r);if(!i&&o){const e=Array.isArray(o)?o[0]:o;t.removeEventListener(r,e)}(i||n)&&(((t,e,n,o)=>{if(o)Array.isArray(n)?(t["$$"+e]=n[0],t[`$$${e}Data`]=n[1]):t["$$"+e]=n;else if(Array.isArray(n)){const o=n[0];t.addEventListener(e,n[0]=e=>o.call(t,n[1],e))}else t.addEventListener(e,n,"function"!=typeof n&&n)})(t,r,n,i),i&&((t,e=window.document)=>{const n=e[ot]||(e[ot]=new Set);for(let o=0,r=t.length;o<r;o++){const r=t[o];n.has(r)||(n.add(r),e.addEventListener(r,dt))}})([r]))}else if("attr:"===e.slice(0,5))it(t,e.slice(5),n);else if("bool:"===e.slice(0,5))((t,e,n)=>{n?t.setAttribute(e,""):t.removeAttribute(e)})(t,e.slice(5),n);else if((d="prop:"===e.slice(0,5))||(l=Q.has(e))||!r&&((u=((t,e)=>{const n=Z[t];return"object"==typeof n?n[e]?n.$:void 0:n})(e,t.tagName))||(s=X.has(e)))||(a=t.nodeName.includes("-")||"is"in c))d&&(e=e.slice(5),s=!0),"class"===e||"className"===e?ct(t,n):!a||s||l?t[u||e]=n:t[(f=e,f.toLowerCase().replace(/-([a-z])/g,((t,e)=>e.toUpperCase())))]=n;else{const o=r&&e.indexOf(":")>-1&&nt[e.split(":")[0]];o?((t,e,n,o)=>{null==o?t.removeAttributeNS(e,n):t.setAttributeNS(e,n,o)})(t,o,e,n):it(t,Y[e]||e,n)}var f;return n}function dt(t){let e=t.target;const n="$$"+t.type,o=t.target,r=t.currentTarget,i=e=>Object.defineProperty(t,"target",{configurable:!0,value:e}),c=()=>{const o=e[n];if(o&&!e.disabled){const r=e[n+"Data"];if(void 0!==r?o.call(e,r,t):o.call(e,t),t.cancelBubble)return}return e.host&&"string"!=typeof e.host&&!e.host._$host&&e.contains(t.target)&&i(e.host),!0},a=()=>{for(;c()&&(e=e._$host||e.parentNode||e.host););};if(Object.defineProperty(t,"currentTarget",{configurable:!0,get:()=>e||document}),t.composedPath){const n=t.composedPath();i(n[0]);for(let t=0;t<n.length-2&&(e=n[t],c());t++){if(e._$host){e=e._$host,a();break}if(e.parentNode===r)break}}else a();i(o)}function ft(t,e,n,o,r){for(;"function"==typeof n;)n=n();if(e===n)return n;const i=typeof e,c=void 0!==o;if(t=c&&n[0]&&n[0].parentNode||t,"string"===i||"number"===i){if("number"===i&&(e=e.toString())===n)return n;if(c){let r=n[0];r&&3===r.nodeType?r.data!==e&&(r.data=e):r=document.createTextNode(e),n=gt(t,n,o,r)}else n=""!==n&&"string"==typeof n?t.firstChild.data=e:t.textContent=e}else if(null==e||"boolean"===i)n=gt(t,n,o);else{if("function"===i)return _((()=>{let r=e();for(;"function"==typeof r;)r=r();n=ft(t,r,n,o)})),()=>n;if(Array.isArray(e)){const i=[],a=n&&Array.isArray(n);if(pt(i,e,n,r))return _((()=>n=ft(t,i,n,o,!0))),()=>n;if(0===i.length){if(n=gt(t,n,o),c)return n}else a?0===n.length?mt(t,i,o):((t,e,n)=>{let o=n.length,r=e.length,i=o,c=0,a=0,s=e[r-1].nextSibling,l=null;for(;c<r||a<i;)if(e[c]!==n[a]){for(;e[r-1]===n[i-1];)r--,i--;if(r===c){const e=i<o?a?n[a-1].nextSibling:n[i-a]:s;for(;a<i;)t.insertBefore(n[a++],e)}else if(i===a)for(;c<r;)l&&l.has(e[c])||e[c].remove(),c++;else if(e[c]===n[i-1]&&n[a]===e[r-1]){const o=e[--r].nextSibling;t.insertBefore(n[a++],e[c++].nextSibling),t.insertBefore(n[--i],o),e[r]=n[i]}else{if(!l){l=new Map;let t=a;for(;t<i;)l.set(n[t],t++)}const o=l.get(e[c]);if(null!=o)if(a<o&&o<i){let s,u=c,d=1;for(;++u<r&&u<i&&null!=(s=l.get(e[u]))&&s===o+d;)d++;if(d>o-a){const r=e[c];for(;a<o;)t.insertBefore(n[a++],r)}else t.replaceChild(n[a++],e[c++])}else c++;else e[c++].remove()}}else c++,a++})(t,n,i):(n&>(t),mt(t,i));n=i}else if(e.nodeType){if(Array.isArray(n)){if(c)return n=gt(t,n,o,e);gt(t,n,null,e)}else null!=n&&""!==n&&t.firstChild?t.replaceChild(e,t.firstChild):t.appendChild(e);n=e}}return n}function pt(t,e,n,o){let r=!1;for(let i=0,c=e.length;i<c;i++){let c,a=e[i],s=n&&n[t.length];if(null==a||!0===a||!1===a);else if("object"==(c=typeof a)&&a.nodeType)t.push(a);else if(Array.isArray(a))r=pt(t,a,s)||r;else if("function"===c)if(o){for(;"function"==typeof a;)a=a();r=pt(t,Array.isArray(a)?a:[a],Array.isArray(s)?s:[s])||r}else t.push(a),r=!0;else{const e=a+"";s&&3===s.nodeType&&s.data===e?t.push(s):t.push(document.createTextNode(e))}}return r}function mt(t,e,n=null){for(let o=0,r=e.length;o<r;o++)t.insertBefore(e[o],n)}function gt(t,e,n,o){if(void 0===n)return t.textContent="";const r=o||document.createTextNode("");if(e.length){let o=!1;for(let i=e.length-1;i>=0;i--){const c=e[i];if(r!==c){const e=c.parentNode===t;o||i?e&&c.remove():e?t.replaceChild(r,c):t.insertBefore(r,n)}else o=!0}}else t.insertBefore(r,n);return[r]}function ht(t){const[,o]=((t,...o)=>{const r=o.length;if(n&&e in t){const e=r>1?o.flat():o[0],n=o.map((e=>new Proxy({get:n=>e.includes(n)?t[n]:void 0,has:n=>e.includes(n)&&n in t,keys:()=>e.filter((e=>e in t))},U)));return n.push(new Proxy({get:n=>e.includes(n)?void 0:t[n],has:n=>!e.includes(n)&&n in t,keys:()=>Object.keys(t).filter((t=>!e.includes(t)))},U)),n}const i=[];for(let e=0;e<=r;e++)i[e]={};for(const e of Object.getOwnPropertyNames(t)){let n=r;for(let t=0;t<o.length;t++)if(o[t].includes(e)){n=t;break}const c=Object.getOwnPropertyDescriptor(t,e);!c.get&&!c.set&&c.enumerable&&c.writable&&c.configurable?i[n][e]=c.value:Object.defineProperty(i[n],e,c)}return i})(t,["component"]);return((t,e)=>{const n=b(t);return b((()=>{const t=n();switch(typeof t){case"function":return y((()=>t(e)));case"string":const n=et.has(t),o=((t,e=!1,n)=>e?document.createElementNS("http://www.w3.org/2000/svg",t):document.createElement(t,{is:n}))(t,n,y((()=>e.is)));return((t,e={},n)=>{const o={};_((()=>o.children=ft(t,e.children,o.children))),_((()=>"function"==typeof e.ref&&at(e.ref,t))),_((()=>((t,e,n,o,r={},i=!1)=>{e||(e={});for(const c in r)if(!(c in e)){if("children"===c)continue;r[c]=ut(t,c,null,r[c],n,i,e)}for(const c in e){if("children"===c)continue;const o=e[c];r[c]=ut(t,c,o,r[c],n,i,e)}})(t,e,n,0,o,!0)))})(o,e,n),o}}))})((()=>t.component),o)}function _t(t){const e=[];for(let n=1;n<=t;n++){const o=n/t;e.push(o)}return e.push(0),e}function vt({l:t,u:e,p:n,m:o,h:r}){const{height:i,width:c}=n,a=i/t.span_rows,s=c/t.span_columns,l=i-a+a/2,u=n.top+l,d=innerHeight;if(!(u>=0&&u<=d||n.bottom>=0&&n.bottom<=d))return;const f=new Set(e.parentElement.children),p=n.left-s/2,m=n.right+s/2,g=Math.max(u,0),h=t=>f.has(t),_=document.elementsFromPoint(p,g).find(h),v=document.elementsFromPoint(m,g).find(h),[,b]=o.get(e),[,w]=r.get(e);w(v),b(_)}const bt="[Depict]",wt=new URLSearchParams(location.search).has("depict_debug"),yt=location.hostname.endsWith("urlbox.com"),kt=wt||yt,xt=(...t)=>kt&&console.log(bt,...t),St=(...t)=>kt&&console.warn(bt,...t);class It extends URL{get _(){const t=this.pathname.split("/").at(-1);try{return decodeURIComponent(t)}catch(e){return xt(e),t}}set _(t){const e=this.pathname.split("/");e.pop(),e.push(t),this.pathname=e.join("/")}get v(){return this._.split(".").slice(0,-1).join(".")}set v(t){this._=[t,this.k].join(".")}get k(){return this._.split(".").at(-1)}constructor(t){super(t,document.baseURI)}}const Mt=t=>t.includes(",")&&t.includes(" ")&&(t.includes("w")||t.includes("x")),Ot=t=>t.match(/url\(['"]?(.*?)['"]?\)/)?.[1];function Tt(t){const e=[];let n="";for(const o of t.split(","))n+=(n?",":"")+o,/\d+(\.\d+)?[wx]\s*$/.test(n.trim())&&(e.push(n),n="");return n.trim()&&e.push(n),e}const Et=t=>{const e=Tt(t);return e[0]?.trim().split(" ")[0]??""};function Pt(t){let e=t;return e=e.replace(/\.progressive$/,""),e=e.replace(/@(2|3)x$/,""),e=e.replace(/_crop_(top|center|bottom|left|right)$/,""),e=e.replace(/_(pico|icon|thumb|small|compact|medium|large|grande|original|master|\d+x|x\d+|\d+x\d+|\{width\}x|\{size\})$/,""),e}function At(t,e){if(!e)return!1;const n=(t=>{if(!t)return;if(Mt(t))return new It(Et(t));const e=Ot(t);return new It(e||t)})(e);if(!n)return!1;const o=new It(t);return n._===o._||Pt(n.v)===o.v&&((r=o.k)===(i=n.k)||"png"===r&&"jpg"===i);var r,i}function Ct(t,e,n){const o=new It(t),r=new It(e),i=new It(n),c=o.v.split(r.v).pop();i._=`${i.v}${c}.${i.k}`;const a=new Set(["v","crop_left","crop_top","crop_width","crop_height"]);for(const[s,l]of o.searchParams)a.has(s)||"crop"===s&&"region"===l||i.searchParams.set(s,l);return i}function Dt(t){const e=t.getAttribute("width"),n=t.getAttribute("height");return{S:e?+e:void 0,I:n?+n:void 0}}const Rt="depictDefaultImage",Lt="depictHoverImage";function $t({M:t,O:e,T:n,P:o}){const{S:r,I:i}=Dt(t),c=n.width;for(const a of o){let o=t;for(let t=0;t<a.length;t++){const i=a[t];if(t===a.length-1){const t=o[i];Nt({A:t,C:e=>{xt("Setting",i,"previously",t,"to",e),o[i]=e},T:n,D:r,R:c,O:e,L:"dataset"===a[0]});break}o=o[i]}}if(t instanceof HTMLImageElement){const e=n.alt,o=t.alt;o&&e&&o!==e&&(t.alt=e),r&&c&&r!==c&&(t.width=c);const a=n.height;i&&a&&i!==a&&(t.height=a)}}function Nt({A:t,C:e,O:n,T:o,D:r,R:i,L:c}){const a=o.image;if(!a)return;if(Mt(t)){const o=Tt(t).map((t=>{const e=t.trim();if(!e)return t;const[o,c]=e.split(" ");return`${Ct(o,n,a)} ${c===r+"w"?i+"w":c}`})).join(", ");return void(t!==o&&e(o))}const s=Ot(t);if(s){const o=Ct(s,n,a),r=t.replace(s,o.href);t!==r&&e(r)}else{let o=Ct(t,n,a).href;if(c){const t=o.split("/"),e=decodeURIComponent(t.pop());o=[...t,e].join("/")}t!==o&&e(o)}}function Bt(t,e){const n=[];let o;if(e instanceof HTMLImageElement||e instanceof HTMLSourceElement)for(const r of["src","srcset"])At(t,e[r])&&(n.push([r]),o||=e[r]);for(const r in e.dataset){const i=e.dataset[r];i&&At(t,i)&&(n.push(["dataset",r]),o||=i)}return{P:n,N:o}}function Ht(t,e){const n=[...t?.querySelectorAll("img,source,[data-bgset]")||[]].filter((t=>!t.hasAttribute("data-depict-no-modify")));xt("productCard:",t,"allImageChildren:",n);const o={};if(!n||!t)return o;for(const r of e){if(!r)continue;const e=zt(r,n,t);e.length&&(o[r]=e)}return o}function zt(t,e,n){if(!t||!e)return[];const o=[...e].map((e=>({B:e,...Bt(t,e)}))).filter((({P:t,N:e})=>t.length>0&&e)),{v:r}=new It(t);for(const i of n?.querySelectorAll(`[style*=${JSON.stringify(r)}]`)||[]){const e=i.style.cssText;i&&e&&At(t,e)&&o.push({B:i,P:[["style","cssText"]],N:e})}return o}function Ft(t){const{H:e,F:n}=jt(t,"default",Rt),{H:o,F:r}=jt(t,"hover",Lt);return{j:n,V:r,J:o,W:e}}function jt(t,e,n){const o=`[data-depict-${e}-image]`,r=t?.matches(o)?t:t?.querySelector(o),i=r?.dataset,c=i?.[n];return{F:c,H:i}}const Vt="depict-content-block",Jt=t=>t instanceof HTMLElement&&t.classList.contains(Vt);function Wt(t,e){if(!e.length)return t;const n=new Set(t);for(const{q:o,U:r}of e)r?n.add(o):n.delete(o);if(n.size!==t.size)return n;for(const o of n)if(!t.has(o))return n;return t}function qt({G:t,K:e,X:n}){if(t?.classList.contains(Vt))return()=>e().get(t)?.();const{j:o,V:r}=Ft(t),i=Ht(t,[r,o]),c=o?i[o]:void 0,a=r?i[r]:void 0;if(!t||!c&&!a)return()=>{};const s=c?Ut(c).B:void 0,l=a?Ut(a).B:void 0;let u=!1;const[d,f]=h(0),[p,m]=h(0),[g,_]=h(0),[x,S]=h(0),[I,M]=h(0),O=new ResizeObserver((e=>w((()=>{for(const{target:n,contentRect:{height:o}}of e)n===t?f(o):n===s?m(o):n===l&&_(o),u||(u=!0,queueMicrotask((()=>{const e=t.getBoundingClientRect(),n=(y(g)&&l&&y(g)>y(p)?l:s).getBoundingClientRect();if(n.width&&n.height&&e.width&&e.height){const t=n.top-e.top,o=e.bottom-n.bottom;S(t),M(o)}else S(0),M(0);u=!1})))}))));k((()=>O.disconnect())),s&&O.observe(s),l&&O.observe(l),O.observe(t);const T=b((()=>{const t=d(),e=p()||g();if(t&&e)return t-e}));return v((()=>{const t=T();if(null==t)return;const e={Y:x(),Z:I()};n((o=>{let r=o.get(t);return r||(r=new Set,o.set(t,r)),r.add(e),k((()=>n((n=>(r.delete(e),r.size||n.get(t)!==r||n.delete(t),n))))),o}))})),T}function Ut(t){const e=((t,e)=>{let n,o=0;for(const r of t){const t=e(r);t>o&&(n=r,o=t)}return n??t[0]})(t.filter((t=>"IMG"===t.B?.tagName)),(t=>{const{width:e,height:n}=t.B.getBoundingClientRect();return e*n}));if(e)return e;const[n]=t;if(t.every((t=>"SOURCE"===t.B?.tagName))){const t=n.B?.closest("picture")?.querySelector("img");if(t)return{B:t}}return n}function Gt(t){for(const e of t)return e}var Kt=rt("<div>");const Xt=new WeakMap;let Qt=!0;function Yt(t,e,n,o=!1){if(!t)return;const r=()=>Xt.get(t)?.[e],i=n+"";r()!==i&&(document.documentElement.contains(t)||o?(Xt.set(t,{...Xt.get(t),[e]:i}),(!wt&&Qt&&!yt||(t?.style.setProperty(e,i),yt))&&t?.animate([{[e]:i},{[e]:i}],{fill:"forwards",duration:1})):queueMicrotask((()=>Yt(t,e,r()||n,!0))))}const Zt=ne("depict-grid-start-beacon",["data-paginate"]),te=ne("depict-grid-end-beacon"),ee=ne("depict-watermark-container");function ne(t,e){const[n,o]=h(new Set),r={},i={};class c extends HTMLElement{static observedAttributes=e||[];connectedCallback(){o((t=>new Set(t).add(this)))}disconnectedCallback(){o((t=>{const e=new Set(t);return e.delete(this)?e:t}))}attributeChangedCallback(t,e,n){(0,i[t])((t=>(t.set(this,n),t)))}}for(const a of e||[]){const[t,e]=h(new WeakMap,{equals:!1});r[a]=t,i[a]=e}return customElements.define(t,c),{tt:n,et:r}}const oe=I();function re(t){const e=b((()=>{for(const t of Zt.tt()){const e=t.parentElement;if(e)return e}})),n=b((()=>{for(const t of te.tt())if(e()?.contains(t))return!0;return!1})),o=b((()=>!!e()));return v((()=>{o()&&(()=>{const t="flex",e=((n=Kt()).style.setProperty("display","var(--my-variable)"),n);var n;const o=((r=Kt()).style.setProperty("contain","strict"),st(r,e),r);var r;document.body.append(o),Yt(e,"--my-variable",t);const i=getComputedStyle(e).display;o.remove(),Qt=i===t})()})),W(oe.Provider,{value:{nt:e,ot:n,rt:o},get children(){return t.children}})}function ie(){return M(oe).nt}function ce(){return M(oe).ot}function ae(){return M(oe).rt}const se="depict_cached_fetch",le="depict_product_elements",ue="depict_collection_handle_to_id",de=JSON.parse(localStorage[se]||"{}");async function fe({it:t,ct:e,st:n=!1,lt:o}){const r=JSON.stringify({input:t,init:e,...o&&{extraKey:o}}),i=de[r],c=+new Date;if(i&&!n){const t=c-i.time;return{response:new Response(i.value,{status:200}),cacheAgeMs:t}}const a=await fetch(t,e);if(200===a.status){const t=await a.clone().text();de[r]={time:c,value:t},localStorage[se]=JSON.stringify(de)}return{response:a,cacheAgeMs:0}}async function pe({ut:t,dt:e,ft:n,st:o=!1,lt:r}){const i=[];let c,a;for(;;){const{response:s,cacheAgeMs:l}=await fe({it:"/api/2026-07/graphql.json",ct:me(t,e,c),st:o,lt:r}),{data:u}=await s.json(),{nodes:d,pageInfo:f}="collection"in u?u.collection.products:u.products;if((null==a||l>a)&&(a=l),c=f.endCursor,i.push(...d.map((t=>t.id))),n(i),!f.hasNextPage)return a}}function me(t,e,n){const o=JSON.stringify(n)||null,r="pageInfo { endCursor hasNextPage hasPreviousPage startCursor }";return{method:"POST",headers:{"Content-Type":"application/json","X-Shopify-Storefront-Access-Token":t},body:JSON.stringify({query:void 0===e?`query Products {\n products(first: 250, after: ${o}, sortKey: TITLE) {\n nodes {\n id\n }\n ${r}\n }\n}`:`query CollectionProducts {\n collection(id: "gid://shopify/Collection/${e}") {\n products(first: 250, after: ${o}) {\n nodes {\n id\n }\n ${r}\n }\n }\n}`})}}const[ge,he]=h(location.href),_e=()=>he(location.href);((t,e=!0)=>{if("undefined"==typeof History)return;const{prototype:n}=History,o=history,r=e=>{const r=n=>{const o=n[e];o&&(n[e]=new Proxy(o,{apply:(n,o,r)=>{const i=Reflect.apply(n,o,r);try{t(r,e)}catch(c){console.error(c)}return i}}))};r(n),Object.getOwnPropertyNames(o).includes(e)&&r(o)};r("pushState"),e&&r("replaceState")})(_e),addEventListener("popstate",_e);const ve=ge,be=I(),we=()=>M(be);function ye(t){const e=b((()=>{const t=new URL(ve());return Object.fromEntries(t.searchParams)})),n=b((()=>e().sort_by)),o=b((()=>{for(const t in e())if(t.startsWith("filter")&&"filter.v.availability"!==t&&e()[t])return!0;return!1}));return W(be.Provider,{value:{gt:o,ht:n},get children(){return t.children}})}const ke=document.currentScript,xe=(t,e)=>!t.visibility||t.visibility===e,Se={type:"depictFrameReady"},Ie="true"===document.head.dataset.depictCollectionsList||"true"===new URLSearchParams(location.search).get("depict_iframe_preview");function Me(t,e,{_t:n=!1}={}){const o=()=>{for(const[n,o]of e)t.style.getPropertyValue(n)===o&&"important"===t.style.getPropertyPriority(n)||t.style.setProperty(n,o,"important")};o();const r=new MutationObserver(o);return r.observe(t,{attributes:!0,attributeFilter:["style"]}),()=>{if(r.disconnect(),n)for(const[n]of e)t.style.removeProperty(n)}}const Oe=[["overflow","visible"],["position","revert"]],Te="depict-watermark-container",Ee=Ie?.02:.1;function Pe(t){let e=t;for(;e;)e.hasAttribute("inert")&&e.removeAttribute("inert"),e=e?.parentElement;document.querySelectorAll("dialog[open]").forEach((e=>!e.contains(t)&&e.close()));const n=performance.now(),o=Math.min(300,innerWidth/5),r=innerHeight-1,i=innerWidth-1;for(let c=0;c<=i;c=c>=i?1/0:Math.min(c+o,i))for(let e=150;e<=r;e=e>=r?1/0:Math.min(e+o,r)){const n=document.elementsFromPoint(c,e);if(n.includes(t))for(const e of n){if(e===t)break;if(!t.contains(e))if(e.contains(t))for(const t of["before","after"]){const n="d-hide-"+t;e.classList.contains(n)||"none"!==getComputedStyle(e,"::"+t).content&&(e.classList.add(n),xt("pseudohide",e,t))}else e.matches(Te)||e.closest(Te)||(xt("pdel",e,n),e.remove())}}xt("Popup delete",performance.now()-n,"ms")}const Ae=I();function Ce(t){const{vt:e,bt:n,wt:o,yt:r}=(()=>{const[t,e]=h(Ie),[n,o]=h(!1),r=t=>{if(t.source===parent)try{const n=JSON.parse(t.data);"depictTriggerIframeMode"===n.type?(n.isBeforeAfter&&o(!0),e(!0)):"depictAssignDataset"===n.type&&Object.assign(ke.dataset,n.assign)}catch(n){St("Failed to parse message from parent",n)}};return addEventListener("message",r),k((()=>removeEventListener("message",r))),parent?.postMessage(JSON.stringify(Se),"*"),{vt:t,bt:(e,n,o)=>{t()&&(xt("Media errored",o),parent?.postMessage(JSON.stringify({type:"depictMediaLoadingFailed",urls:e,media:n?"video":"image"}),"*"))},wt:n,yt:(e,n)=>{t()&&parent?.postMessage(JSON.stringify({type:"depictBlockContextMenu",urls:e,media:n?"video":"image"}),"*")}}})(),i=ae();return v((()=>{e()&&((()=>{const t=ie(),{documentElement:e,scrollingElement:n}=document;let o=!1;v((()=>{const r=t();if(!r)return;n?.scrollTo({top:r.getBoundingClientRect().top-innerHeight*Ee,...!Ie&&{behavior:"smooth"}}),addEventListener("load",(()=>Pe(r))),Pe(r);const i=new ResizeObserver((()=>Pe(r)));let c;i.observe(e);const a=()=>{if(Ie&&!o&&(requestAnimationFrame((()=>{o=!1,Pe(r)})),o=!0),c)return;const t=r.childElementCount;c=setTimeout((()=>{c=void 0,Pe(r)}),t<20||Ie?0:t<50?1e3:3e3)},s=new MutationObserver(a);s.observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),addEventListener("transitionstart",a),addEventListener("transitionend",a),k((()=>()=>{s.disconnect(),i.disconnect(),removeEventListener("transitionstart",a),removeEventListener("transitionend",a)}))}))})(),v((()=>{i()&&(()=>{for(const t of["body","documentElement"]){const e=document[t];for(const[t,n]of Oe)Yt(e,t,n);k(Me(e,Oe))}})()})))})),W(Ae.Provider,{value:{vt:e,bt:n,wt:o,yt:r},get children(){return t.children}})}function De(){return M(Ae)}function Re(){try{return localStorage.depict_ab_variant??=Math.random()>.5?"A":"B"}catch(t){console.error(t)}}const Le=I();function $e(t){const e=(()=>{const{ht:t,gt:e}=we(),{wt:n}=De(),[o,r]=h(!1),[i,c]=h("null"),[a,s]=h("[]"),[l,u]=h("null"),[d,f]=h("null"),[p,m]=h("null"),[g,_]=h(""),[v,y]=h(2),[x,S]=h(),[I,M]=h(),[O,T]=h(4),[E,P]=h(""),[A,C]=h(""),[D,R]=h(""),[L,$]=h(),[N,B]=h(""),[H,z]=h(""),[F,j]=h(""),[V,W]=h("null"),[q,U]=h(""),[G,K]=h(""),[X,Q]=h(""),[Y,Z]=h(""),[tt,et]=h(!1),[nt,ot]=h(!1),[rt,it]=h(),[ct,at]=h(),[st,lt]=h(""),{kt:ut,xt:dt}=(t=>{const{vt:e}=De(),n=Re()??null;return{kt:b((()=>{try{if("B"===Re()||e())return!1;const n=JSON.parse(t()),o=+new Date;return n?.some((t=>{const e=+new Date(t.start_date),n=+new Date(t.end_date);return e<=o&&n>=o}))}catch(n){return console.error("Error parsing abTestsJson",t(),n),!1}})),xt:()=>n}})(V),ft=J((()=>[...Zt.tt()]),(t=>b((()=>Zt.et["data-paginate"]().get(t))))),pt=()=>w((()=>{const{dataset:t}=ke,{collectionId:e,collectionHandle:n}=t;M("null"===n?void 0:n),S(e?+e:void 0),at(t.merchant),lt(t.market||""),r("true"===t.alignImages),c(t.contentBlocks),m(t.duplicates),_(t.blockIds),y(+t.columnsMobile),T(+t.columnsDesktop),u(t.paginate),$(t.storefrontAccessKey),f(t.currentPageProductIds),C(t.blockAssets),P(t.blockLinks),R(t.defaultSorting),s(t.imageConfig),B(t.desktopColumnSpacing||"8px"),z(t.desktopRowSpacing||"8px"),j(t.mobileColumnSpacing||"8px"),U(t.mobileRowSpacing||"8px"),K(t.desktopMargin||""),Q(t.mobileMargin||""),W(t.abTests||"null"),Z(t.customCss||""),et("true"===t.removeProductCardPadding),it(t.overrideProductIdOrder),ot("true"===t.shouldShowWatermark)}));pt();const mt=new MutationObserver(pt),gt=b((()=>{try{return JSON.parse(rt()||"null")}catch(t){console.error(t)}})),ht=b((()=>{if(n())return!1;if(ut())return!0;const o=D(),r=t();return o&&r&&o!==r||e()})),_t=b((()=>{if(ht())return[];try{return JSON.parse(p())}catch(t){return console.error("Error parsing duplicatesJson",p(),t),[]}})),[vt,bt]=h(),wt=b((()=>{for(const e of[...ft(),l]){const n=e();if(n)try{return JSON.parse(n)}catch(t){console.error("Error parsing paginateJson",n,t)}}return{}})),yt=b((()=>({...wt(),...void 0!==vt()&&{current_page:vt()}})),void 0,{equals:(t,e)=>JSON.stringify(t)===JSON.stringify(e)}),kt=(()=>{const t=window.matchMedia("(max-width: 990px)"),[e,n]=h(t.matches),o=t=>n(t.matches);return t.addEventListener("change",o),k((()=>t.removeEventListener("change",o))),e})(),St=b((()=>kt()?v():O())),It=b((()=>{if(ut())return[];try{return JSON.parse(a())}catch(t){return console.error("Error parsing imageConfigJson",a(),t),[]}})),Mt=b((()=>{try{return JSON.parse(d())}catch(t){return console.error("Error parsing firstPageProductIdsFromLiquidJson",d(),t),null}})),Ot=b((()=>{let t=null;try{t=JSON.parse(i())}catch(l){console.error("Error parsing contentBlocksJson_",i(),l),t=null}const e=g().trim().split(","),n=E().split("፨"),o=(t=>t.split("፨").map((t=>{const[e,n]=t.split("⵰");if(!n){const[t,n]=e.split("ꌝ");return{St:t,It:n}}const o=n.split("𑈺"),r=[];for(const i of o){const t=i.split("〷"),[e,n,o,c]=t;r.push({Mt:e,Ot:n,Tt:o,S:+c})}return{Et:r,Pt:e}})))(A()),r=kt()?"mobile":"desktop",c=((t,e,n,o)=>{if(!t?.length||e===n)return t;const r=(t,e)=>!e||xe(t,e),i=[...((t,e,n)=>{const o=new Map;for(const s of t){const t=Math.max(s.index,0),e=o.get(t);e?e.push(s):o.set(t,[s])}const r=[],i=new Set;let c=0,a=0;for(let s=0;a<t.length;s++){const t=o.get(s);if(t){o.delete(s);let l=s;for(const o of t){if(r.push({block:o,productsBefore:c}),a++,!n(o))continue;const t=Math.min(o.span_columns,e);for(let n=0;n<o.span_rows;n++)for(let o=0;o<t;o++)i.add(l+e*n+o);l+=t}}i.has(s)||c++}return r})(t,e,(t=>r(t,o?.authored)))].sort(((t,e)=>t.productsBefore-e.productsBefore||t.block.index-e.block.index||Number(r(e.block,o?.authored))-Number(r(t.block,o?.authored)))),c=new Map,a=new Set;let s=0,l=0;for(const{block:u,productsBefore:d}of i){const t=Math.min(u.span_columns,n),e=r(u,o?.showing);for(;;)if(a.has(s))s++;else{if(!(l<d||e&&s%n+t>n))break;l++,s++}if(c.set(u,s),e){for(let e=1;e<u.span_rows;e++)for(let o=0;o<t;o++)a.add(s+n*e+o);s+=t}}return t.map((t=>({...t,index:c.get(t)})))})(t||void 0,O(),St(),{authored:"desktop",showing:r}),a=c?.map(((t,r)=>({...t,At:e[r],...o[r],Ct:n[r],span_columns:Math.min(St(),t.span_columns)}))),s=a?.filter((t=>xe(t,r)));return((t,e)=>{const n=[];return t?.map((t=>{const o=t.span_columns,r=t.span_rows;let i,c,a=t.index,s=!1;do{if(i=a%e,s=i+o>e,!s)t:for(let t=0;t<r;t++)for(let r=0;r<o;r++)if(n[a+t*e+r]){s=!0;break t}s&&a++}while(s);for(let l=0;l<r;l++)for(let r=0;r<o;r++){const o=a+l*e+r;n[o]=t.At,void 0===c&&(c=o)}return{...t,index:c}}))})(s,St())})),Tt=b((()=>{try{return JSON.parse(Y()||'""')}catch(t){return xt(t),""}}));return mt.observe(ke,{attributes:!0}),{Dt:ht,Rt:Ot,Lt:_t,$t:yt,Nt:Mt,dt:x,ut:L,Bt:St,Ht:o,zt:i,Ft:It,jt:N,Vt:H,Jt:F,Wt:q,qt:G,Ut:X,Gt:Tt,Kt:tt,Xt:nt,Qt:gt,Yt:bt,Zt:I,te:kt,ee:ct,ne:st,xt:dt}})();return W(Le.Provider,{value:e,get children(){return t.children}})}function Ne(){return M(Le)}const Be=I();function He(t){const{ut:e,dt:n,Nt:o,Qt:r,$t:i}=Ne(),[c,a]=h(void 0,{equals:!1}),{ht:s}=we();v((async()=>{const t=e();if(!t)return;const o=await pe({ut:t,dt:n(),ft:a,lt:s()});o<1e4||(o<6e5&&await new Promise((t=>addEventListener("load",t,{once:!0}))),pe({ut:t,dt:n(),ft:a,st:!0,lt:s()}))}));const l=b((()=>{const t=r();if(t?.length)return t;const e=c(),n=o();return!e?.length&&n?.length&&0===i().current_page?n:e}),void 0,{equals:!1});return W(Be.Provider,{value:l,get children(){return t.children}})}function ze(){return M(Be)}function Fe(t,e){return"toSorted"in t?t.toSorted(e):[...t].sort(e)}function je(t,e){return null!=t.index?t.index:e.get(t.product_gid)??1/0}const Ve=t=>"gid://shopify/Product/"+t,Je=t=>t.slice(22),We=t=>t.includes("duplicate"),qe="[data-depict-product-id]",Ue=I();function Ge(){return M(Ue)}function Ke(t){const e=ie(),n=ze(),[o,r]=h(new Set),[i,c]=h(new Set),[a,s]=h(void 0,{equals:!1});_((()=>{const t=e();if(!t)return r(new Set),c(new Set),void s(void 0);const{oe:n,re:o}=(t=>{const e=[],n=[];for(const o of t)o instanceof HTMLElement&&(Jt(o)?n:e).push(o);return{oe:e,re:n}})(t.children);r(new Set(n)),c(new Set(o)),s(void 0);const i=new MutationObserver((t=>{const e=(t=>{const e=[],n=[],o=(t,o)=>{for(const r of t)r instanceof HTMLElement&&(Jt(r)?n:e).push({q:r,U:o})};for(const r of t)o(r.removedNodes,!1),o(r.addedNodes,!0);return{oe:e,re:n}})(t);w((()=>{let t=!1;r((n=>{const o=Wt(n,e.oe);return t=o!==n,new Set(o)})),c((t=>Wt(t,e.re))),t&&s(void 0)}))}));i.observe(t,{childList:!0}),k((()=>i.disconnect()))}));const l=b((()=>{const t={};for(const e of o()){const n=e.matches(qe)?e:e.querySelector(qe),o=n?.dataset.depictProductId;o?t[Ve(o)]=e:te.tt()}return t})),{Lt:u}=Ne(),d=b((()=>{const t=n();if(!t)return[];const e=[...t],o=((t,e)=>{if(!t)return t;const n=new Map(e.map(((t,e)=>[t,e])));return Fe(t,((t,e)=>je(t,n)-je(e,n)))})(u(),t);return o?.forEach((t=>{const n=Ve(t.handle);if(null!==t.index)e.splice(t.index,0,n);else{const r=e.indexOf(t.product_gid);if(-1===r)return;const i=r+1+Fe(o.filter((e=>e.product_gid===t.product_gid)),((t,e)=>(t?.created_at||1/0)-(e?.created_at||1/0))).indexOf(t);e.splice(i,0,n)}})),e})),f=b((()=>{const t={};for(const e of n()||[])t[e]=e;for(const e of u()||[])t[Ve(e.handle)]=e.product_gid;return t})),p=b((()=>{const t=l();return d().map((e=>t[e])).filter((t=>t))})),m=b((()=>{const t=l();return d().map((e=>!We(e)&&t[e])).filter((t=>t))}));return W(Ue.Provider,{value:{ie:p,ce:d,ae:f,se:l,le:o,ue:a,de:i,fe:m},get children(){return t.children}})}function Xe(t,e,n){return t>=1&&1===e||!n}function Qe(t,e){return"difference"in t?t.difference(e):new Set([...t].filter((t=>!e.has(t))))}function Ye(t){const e=new It(t);return e.v=Pt(e.v),e._}function Ze(t,e){if(!e)return;const n=e.default,o=e.hover,r=n.image,i=o.image,{j:c,V:a,W:s,J:l}=Ft(t),{pe:u,me:d}=(({V:t,ge:e,j:n,he:o})=>{const r=[],i=[];n&&o&&(r.push(n),i.push(o)),t&&e&&(r.push(t),i.push(e));const c=Object.fromEntries(r.map((t=>[Ye(t),t]))),a=Object.fromEntries(i.map((t=>[Ye(t),t]))),s={...c,...a},l=new Set(Object.keys(c)),u=new Set(Object.keys(a));return{pe:[...Qe(l,u)].map((t=>s[t])),me:[...Qe(u,l)].map((t=>s[t]))}})({j:c,V:a,he:r,ge:i}),f=Ht(t,[c,a,r,i]),p=u.map((t=>(t=>{if(!t?.length)return;let e,n,o,r;for(const{P:i,B:c}of t){const[t]=i;let a,s=c;for(const e of t)s=s?.[e];if("string"!=typeof s||!s)continue;Mt(s)&&(a=Et(s)),a=Ot(s)||s;const l=new It(a),u=l.searchParams;l.v=Pt(l.v);for(const[e]of u)"v"!==e&&u.delete(e);if(e||=l.href,c instanceof HTMLImageElement){const{S:t,I:e}=Dt(c);n||=c.alt,o||=t,r||=e}}return e?{image:e,alt:n,width:o,height:r}:void 0})(f[t]))),m=new Set;if(c&&r){tn({O:c,_e:f,T:n,ve:m});const t="files/"+new It(r)._;s&&s[Rt]!==t&&(s[Rt]=t)}if(a&&i){tn({O:a,_e:f,T:o,ve:m});const t="files/"+new It(i)._;l&&l[Lt]!==t&&(l[Lt]=t)}for(let g=0;g<d.length;g++){const t=d[g],e=p[g];e&&t&&tn({O:t,_e:f,T:e,ve:m})}}function tn({O:t,_e:e,T:n,ve:o}){const r=e[t];if(t&&r)for(const{B:i,P:c}of r)o.has(i)||($t({M:i,O:t,T:n,P:c}),o.add(i))}function en(t){const{fe:e}=Ge(),n=ce();return b((()=>{if(n())return!0;const o=e();return o.indexOf(t)<o.length-1}))}var nn=rt("<video crossorigin=anonymous>"),on=rt("<source>");function rn(t){const e=b((()=>(t=>{const{te:e}=Ne(),n=e()?-1:1;return Fe(t,((t,e)=>"m3u8"===t.Mt&&"m3u8"!==e.Mt?n:"m3u8"===e.Mt&&"m3u8"!==t.Mt?-n:e.S-t.S))})(t.Et))),n=(()=>{const t=document,[e,n]=h("hidden"!==t.visibilityState),o=()=>n("hidden"!==t.visibilityState);return t.addEventListener("visibilitychange",o),k((()=>t.removeEventListener("visibilitychange",o))),e})(),{bt:o}=De();return at((e=>{const o=b((e=>{const o=n()&&t.be;return!(e||!t.we)||o}));v((()=>{o()?e.play().catch((t=>St("Error playing video",t))):e.pause()}))}),r=nn()),r.addEventListener("error",(e=>o(t.Et.map((t=>t.Tt)),!0,e))),r.playsInline=!0,r.muted=!0,r.loop=!0,r.controls=!1,it(r,"disablepictureinpicture",!0),st(r,W(G,{get each(){return e()},children:t=>{return e=on(),_((n=>{var o=t().Ot,r=t().Tt;return o!==n.e&&it(e,"type",n.e=o),r!==n.t&&it(e,"src",n.t=r),n}),{e:void 0,t:void 0}),e;var e}})),_((()=>it(r,"poster",t.ye))),r;var r}function cn(){try{return localStorage.getItem("depict_device_id")}catch{return null}}function an(){try{return crypto.randomUUID()}catch{return(()=>{const t=new Uint8Array(16);crypto.getRandomValues(t),t[6]=15&t[6]|64,t[8]=63&t[8]|128;const e=Array.from(t,(t=>t.toString(16).padStart(2,"0"))).join("");return`${e.slice(0,8)}-${e.slice(8,12)}-${e.slice(12,16)}-${e.slice(16,20)}-${e.slice(20)}`})()}}let sn;function ln(){try{return sessionStorage.depict_session_id??=sn??=an()}catch{return sn??=an()}}const un=()=>!!globalThis?.Shopify?.designMode;function dn({merchant:t,market:e,abVariant:n}){return{merchant:t,market:e,device_id:cn()??"",session_id:ln(),depict_ab_variant:n,timestamp:Date.now()}}function fn(t){fetch("https://depict-search.apps.depict.ai/api/shopify-lite-tracking",{method:"POST",keepalive:!0,headers:{"Content-Type":"text/plain"},body:JSON.stringify(t)}).then((e=>e.ok||xt("tracking request failed:",e.status,t))).catch((e=>xt("tracking request failed:",e,t)))}let pn,mn=[],gn=!1,hn=!1;const _n=()=>hn||un();function vn(){if(null!=pn&&(clearTimeout(pn),pn=void 0),!mn.length)return;const t=mn;mn=[],fn(t)}function bn(t){_n()||(gn||(gn=!0,addEventListener("pagehide",vn),document.addEventListener("visibilitychange",(()=>{"hidden"===document.visibilityState&&vn()}))),mn.push(t),pn??=setTimeout(vn,50))}function wn(t){const e=new Map,n=new IntersectionObserver((t=>w((()=>t.forEach((t=>e.get(t.target)?.(t)))))),t);return k((()=>n.disconnect())),(t,o)=>{e.set(t,o),n.observe(t),k((()=>{n.unobserve(t),e.delete(t)}))}}const yn=I();function kn(t){const e=wn({threshold:[0,.5]}),n=wn({rootMargin:"-50% 0px"});return W(yn.Provider,{value:{ke:e,xe:n},get children(){return t.children}})}function xn(t,e=0){const[n,o]=h(!1);return M(yn).ke(t,(t=>o(t.isIntersecting&&t.intersectionRatio+.001>=e))),n}var Sn=rt("<div class=background-overlay>"),In=rt("<div class=content-text>");function Mn(t){const e=b((()=>t.l.text));return W(K,{get when(){return e()},get children(){return[W(K,{get when(){return e()?.background_overlay},get children(){var t=Sn();return _((n=>{return null!=(o=e().background_overlay,r=e().overlay_style,i=e().vertical_alignment,n="gradient"!==r?o:"start"===i?`linear-gradient(to bottom, ${o}, transparent 45%)`:"end"===i?`linear-gradient(to top, ${o}, transparent 45%)`:`linear-gradient(to top, transparent, ${o} 50%, transparent)`)?t.style.setProperty("--overlay-color",n):t.style.removeProperty("--overlay-color");var o,r,i})),t}}),(n=In(),st(n,W(G,{get each(){return[e().header,e().body]},children:t=>W(K,{get when(){return t()?.text},get children(){return W(ht,{class:"text-part",get classList(){return{underline:t()?.underline,italic:t()?.italic,bold:t()?.bold,[t().html_tag]:!0}},get style(){return{"--color":t()?.color_hex||"white"}},get component(){return t().html_tag},get children(){return t()?.text}})}})})),_((o=>{var r=!!e()?.text_shadow,i=!!e()?.background_overlay,c=e()?.gap||"0",a=e()?.horizontal_alignment||"center",s=e()?.vertical_alignment||"center",l=t.Se+"px";return r!==o.e&&n.classList.toggle("text-shadow",o.e=r),i!==o.t&&n.classList.toggle("with-overlay",o.t=i),c!==o.a&&(null!=(o.a=c)?n.style.setProperty("--text-gap",c):n.style.removeProperty("--text-gap")),a!==o.o&&(null!=(o.o=a)?n.style.setProperty("--h-align",a):n.style.removeProperty("--h-align")),s!==o.i&&(null!=(o.i=s)?n.style.setProperty("--v-align",s):n.style.removeProperty("--v-align")),l!==o.n&&(null!=(o.n=l)?n.style.setProperty("--instagram-text-height",l):n.style.removeProperty("--instagram-text-height")),o}),{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),n)];var n}})}var On=rt("<img loading=lazy>",!0,!1);function Tn(t){let e;const n=globalThis?.visualViewport,[o,r]=h(n?.scale??1),i=b((()=>t.Ie?t.Me/t.Ie:void 0)),c=b((()=>En(t.Oe,400,i()))),a=b((()=>{return e=t.Oe,n=[128,256,512,1024,2048,3072,4096],o=i(),n.map((t=>`${En(e,t,o)} ${t}w`)).join(", ");var e,n,o})),{bt:s}=De(),l=()=>{clearTimeout(e),e=setTimeout((()=>r(n?.scale??1)),250)};return n?.addEventListener("resize",l,{passive:!0}),k((()=>n?.removeEventListener("resize",l))),W(K,{get when(){return t.Me},get children(){var e=On();return at((e=>{v((()=>e.loading=t.Te?"eager":"lazy"))}),e),e.addEventListener("error",(e=>s([t.Oe],!1,e))),_((n=>{var r=t.Ee||"Content block image",i="depict-block-image"+(t.Pe?" "+t.Pe:""),s=t.Me*o()+"px",l=a(),u=c();return r!==n.e&&it(e,"alt",n.e=r),i!==n.t&&ct(e,n.t=i),s!==n.a&&it(e,"sizes",n.a=s),l!==n.o&&it(e,"srcset",n.o=l),u!==n.i&&it(e,"src",n.i=u),n}),{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),e}})}function En(t,e,n){const o=null==n?"":"&crop=center&height="+encodeURIComponent(Math.round(e/n));return t+"&width="+encodeURIComponent(e)+o}function Pn(t){const[e,n]=h(0),[o,r]=h(0);return v((()=>{const e=t.Ae;if(!e)return;const o=new ResizeObserver((t=>w((()=>{for(let o=0;o<t.length;o++){const{width:i,height:c}=t[o].contentRect,a=c||e.getBoundingClientRect().height;a&&r(Math.ceil(a)),i&&n(Math.ceil(i))}}))));o.observe(e),k((()=>o.disconnect()))})),[W(Tn,{get Me(){return e()},get Ie(){return o()},get Oe(){return t.Ce},get Te(){return t.we},get Ee(){return t.Ee}}),W(K,{get when(){return t.De},get children(){return W(Tn,{get Me(){return e()},get Ie(){return o()},get Oe(){return t.De},get Te(){return t.we||t.be},Pe:"hover-image"})}})]}var An=rt('<a target=_blank rel="noopener noreferrer"class=d-instagram><p class=shadow-text></p><div class=clipped-element>'),Cn=rt('<svg width=0 height=0 aria-hidden=true><defs><clipPath><path d="M8 4a4 4 0 1 0 0 8 4 4 0 1 0 0-8zm0 6c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm3-10H5a5 5 0 0 0-5 5v6a5 5 0 0 0 5 5h6a5 5 0 0 0 5-5V5a5 5 0 0 0-5-5zm3 11c0 1.653-1.347 3-3 3H5c-1.653 0-3-1.347-3-3V5c0-1.653 1.347-3 3-3h6c1.653 0 3 1.347 3 3v6zm-2-8a1 1 0 1 0 0 2 1 1 0 1 0 0-2z"></path><text x=28>');function Dn(t){const[e,n]=h("Arial"),[o,r]=h(0),[i,c]=h(0),[a,s]=h(0),l=new ResizeObserver((t=>{const{contentRect:{width:e,height:o},target:i}=t.at(-1),{font:a,fontSize:l,lineHeight:u}=getComputedStyle(i),d=parseFloat(l),f=parseFloat(u)||d;c(e),r(o),n(a),s(f-d/2+(24>o?12:0))})),u="x"+(2e17*Math.random()).toString(36),d=new ResizeObserver((e=>t.Re(e.at(-1).contentRect.height))),f=()=>Math.max(o(),24);return k((()=>{l.disconnect(),d.disconnect()})),[(b=An(),w=b.firstChild,y=w.nextSibling,at((t=>d.observe(t)),b),null!=`url(#${u})`?b.style.setProperty("--text-clip-path",`url(#${u})`):b.style.removeProperty("--text-clip-path"),b.style.setProperty("--icon-width","24px"),b.style.setProperty("--insta-gap","4px"),at((t=>l.observe(t)),w),st(w,(()=>t.Le)),it(y,"aria-hidden",!0),_((e=>{var n=t.$e,o=i()+"px",r=f()+"px",c="Instagram post by "+t.Le;return n!==e.e&&it(b,"href",e.e=n),o!==e.t&&(null!=(e.t=o)?b.style.setProperty("--text-width",o):b.style.removeProperty("--text-width")),r!==e.a&&(null!=(e.a=r)?b.style.setProperty("--text-height",r):b.style.removeProperty("--text-height")),c!==e.o&&it(w,"aria-label",e.o=c),e}),{e:void 0,t:void 0,a:void 0,o:void 0}),b),(p=Cn(),m=p.firstChild.firstChild,g=m.firstChild,v=g.nextSibling,it(m,"id",u),st(v,(()=>t.Le)),_((t=>{var n=`translate(0, ${f()/2-12}) scale(1.5)`,o=a(),r=e();return n!==t.e&&it(g,"transform",t.e=n),o!==t.t&&it(v,"y",t.t=o),r!==t.a&&(null!=(t.a=r)?v.style.setProperty("font",r):v.style.removeProperty("font")),t}),{e:void 0,t:void 0,a:void 0}),p)];var p,m,g,v,b,w,y}var Rn=rt("<div class=depict-block-media>"),Ln=rt("<svg xmlns=http://www.w3.org/2000/svg width=100% height=100%><rect class=spacer-rect>");function $n(t){const e=b((()=>t.l.index<2*t.Bt)),{yt:n}=De();return W(ht,{get component(){return t.l.Ct?"a":"div"},get class(){return Vt+(t.l.space?.height?" depict-content-spacer":"")},onContextMenu:()=>{const e=t.l.Et;e?n(e.map((t=>t.Tt)),!0):n([t.l.St,t.l.It].filter((t=>t)),!1)},ref:e=>v((()=>{for(const n in t.Ne)Yt(e,n,t.Ne[n]);Yt(e,"--content-aspect-ratio",t.Be.get(t.l.At)||"auto"),t.l.space?.height&&Yt(e,"--content-height",t.l.space.height+"px")})),get href(){return t.l.Ct},get children(){return W(Nn,{get we(){return e()},get Be(){return t.Be},get l(){return t.l}})}})}function Nn(t){const[e,n]=h(),[o,r]=h(0),i=b((()=>e()&&xn(e()))),c=b((()=>t.l.instagram_post_metadata?.post_url)),a=b((()=>t.l.instagram_post_metadata?.creator));return at(n,s=Rn()),st(s,W(K,{get when(){return t.l.Et},get children(){return W(rn,{get ye(){return t.l.Pt},get Et(){return t.l.Et},get we(){return t.we},get be(){return i()?.()}})}}),null),st(s,W(K,{get when(){return t.l.St},get children(){return W(Pn,{get Ce(){return t.l.St},get De(){return t.l.It},get Ae(){return e()},get we(){return t.we},get be(){return i()?.()},get Ee(){return t.l?.alt_text}})}}),null),st(s,W(K,{get when(){return t.l.space},get children(){return W(Bn,{})}}),null),st(s,W(Mn,{get Se(){return o()},get l(){return t.l}}),null),st(s,W(K,{get when(){return(t=()=>!!c(),b((()=>t())))()&&a();var t},get children(){return W(Dn,{get $e(){return c()},get Le(){return a()},Re:r})}}),null),s;var s}function Bn(){return Ln()}const Hn="depictGridRenderingRan";var zn=rt("<style id=depict-custom-styling>"),Fn=rt('<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 279.245 100"><g clip-path=url(#A) transform="translate(-23.844 -.406)"fill=currentColor><path d="M43.206 52.019H28.685a4.84 4.84 0 0 0-4.84 4.84V71.38a4.84 4.84 0 0 0 4.84 4.841h14.521a4.84 4.84 0 0 0 4.84-4.841V56.86a4.84 4.84 0 0 0-4.84-4.84zM70.635 61.7H56.114a4.84 4.84 0 0 0-4.84 4.84v4.84a4.84 4.84 0 0 0 4.84 4.84h14.521a4.84 4.84 0 0 0 4.84-4.84v-4.84a4.84 4.84 0 0 0-4.84-4.84zM43.206 24.59H28.685a4.84 4.84 0 0 0-4.84 4.84v14.521a4.84 4.84 0 0 0 4.84 4.84h14.521a4.84 4.84 0 0 0 4.84-4.84v-14.52a4.84 4.84 0 0 0-4.84-4.84z"></path><path d="M70.635 24.59H56.114a4.84 4.84 0 0 0-4.84 4.84v24.202a4.84 4.84 0 0 0 4.84 4.84h14.521a4.84 4.84 0 0 0 4.84-4.84V29.431a4.84 4.84 0 0 0-4.84-4.84z"></path></g><path d="M276.133 68.702c1.155 0 1.733-.072 3.105-.289v7.221c-2.239.505-3.972.722-5.994.722-7.365 0-10.903-3.177-10.903-12.059V46.389h-5.199v-7.582h5.199V27.904h9.893v10.904h6.643v7.582h-6.643v17.836c0 3.899 1.372 4.477 3.899 4.477zm-38.351 8.16c-11.409 0-18.702-8.087-18.702-19.641 0-11.481 7.293-19.641 18.558-19.641 10.181 0 16.608 6.282 17.546 14.875h-10.036c-.362-3.322-1.95-7.221-7.366-7.221-5.921 0-8.52 5.055-8.52 11.987s2.527 11.987 8.52 11.987c5.344 0 7.004-3.683 7.366-7.365h10.036c-.577 8.737-7.22 15.019-17.402 15.019zm-22.269-43.253H205.26v-9.315h10.253zm-.216 42.097h-9.893V38.808h9.893zm-30.028-38.054c9.604 0 16.247 7.438 16.247 19.569s-6.643 19.568-16.247 19.568c-5.56 0-9.315-2.744-10.975-5.055h-.145v16.752h-9.892V38.808h9.892v3.899h.145c1.66-2.166 5.415-5.055 10.975-5.055zm-2.455 31.555c5.488 0 8.449-4.766 8.449-11.986s-2.961-11.914-8.449-11.914c-5.343 0-8.52 4.333-8.52 11.914 0 7.654 3.177 11.987 8.52 11.987zm-22.415-11.408v2.094h-27.223c.072 5.488 3.683 9.387 9.098 9.387 4.983 0 7.005-2.744 7.727-4.838h10.037c-2.022 7.365-7.871 12.42-18.052 12.42-11.843 0-18.775-8.16-18.775-19.641 0-11.12 6.788-19.641 18.775-19.641 12.058 0 18.413 7.437 18.413 20.218zm-27.223-4.477h17.186c0-5.127-3.25-8.304-8.449-8.304-4.91 0-8.304 3.105-8.737 8.304zM97.654 75.706h-22.24V24.077h21.662c14.37 0 23.035 9.243 23.035 25.851s-8.16 25.778-22.457 25.778zm-11.12-9.243h9.459c9.532 0 12.709-6.932 12.709-16.536S105.525 33.32 95.993 33.32h-9.459z"fill=currentColor></path><defs><clipPath id=A><path fill=#fff transform="translate(23.844 24.59)"d="M0 0h51.631v51.631H0z">');function jn(){return Fn()}var Vn=rt('<depict-watermark-container><a class=depict-watermark href="https://depict.ai/?ref=depict_watermark"target=_blank>',!0,!1),Jn=rt("<span>Powered by");function Wn(t){const{vt:e}=De();return o=(n=Vn()).firstChild,"function"==typeof qn?at(qn,n):qn=n,n._$owner=l,"function"==typeof qn?at(qn,o):qn=o,st(o,W(K,{get when(){return e()||un()},get fallback(){return[Jn(),W(jn,{})]},get children(){return["Upgrade",W(jn,{})," to remove"]}})),_((()=>ct(n,t.He?"d-fixed":""))),n;var n,o}function qn(t){Yt(t,"display","flex"),Yt(t,"visibility","visible")}const Un="[data-depict-recommendations-section]",Gn="[data-depict-rec-card]",Kn=new WeakSet,Xn=new WeakMap;function Qn(t,e){if(Kn.has(t))return;Kn.add(t);const n=an();t.setAttribute("data-depict-request-id",n);const o=t.dataset.depictSurfaceId||"",r=(t,r,i)=>{const c=r.dataset.depictCardIndex,a=c?Number(c):NaN;return{event_type:t,request_type:"recommend",request_query:o,request_id:n,card_index:Number.isFinite(a)?a:null,product_id:i,recommender:r.dataset.depictRecommender??null,...dn(e)}};t.addEventListener("click",(t=>{try{const e=t.target,n=e?.closest(Gn);if(!n)return;const o=n.dataset.depictProductId;if(!o||_n())return;fn([r("collection_product_click",n,o)])}catch(e){console.error("[Depict] initAttribution click handler failed",e)}}));const i=new Set,c=new WeakSet,a=new IntersectionObserver((t=>{try{for(const e of t){if(!e.isIntersecting)continue;const t=e.target;c.add(t),a.unobserve(t);const n=t.dataset.depictProductId;n&&!i.has(n)&&(i.add(n),bn(r("impression",t,n)))}}catch(e){console.error("[Depict] initAttribution impression observer failed",e)}}),{threshold:.5}),s=()=>t.querySelectorAll(Gn).forEach((t=>{c.has(t)||a.observe(t)}));s();const l=new MutationObserver(s);l.observe(t,{childList:!0,subtree:!0}),Xn.set(t,(()=>{a.disconnect(),l.disconnect()}))}function Yn(t,e){const{ee:n,ne:o,xt:r}=Ne(),i=b((()=>{const t=n();return t?{merchant:t,market:o(),abVariant:r()}:void 0})),c=new Set,a=J((()=>i()?t():[]),(t=>{const n=xn(t,.5),o=(t=>{const[e,n]=h(!1);return M(yn).xe(t,(t=>n(t.isIntersecting))),e})(t);v((()=>{const r=i();r&&(n()||o())&&y((()=>{const n=e(t);if(!n||c.has(n.key))return;const{width:o,height:i}=t.getBoundingClientRect();o&&i&&(c.add(n.key),xt("impression:",n.key,n.event),bn({...n.event,...dn(r)}))}))}))}));v((()=>a()))}const Zn=t=>Number(t.At),to=t=>!!t?.At&&!t.space&&Number.isInteger(Zn(t));function eo(){const{Be:t,ze:e,Fe:n}=(()=>{const{Bt:t}=Ne(),e=ie(),[n,o]=h(new Set),{je:r,Ve:i,Je:c}=(t=>{const{Rt:e,$t:n,Bt:o}=Ne(),{ce:r}=Ge(),i=b((()=>{const i=r()||[],c=e();if(i.length<1)return;const{page_size:a}=n(),s=new Map,l=new Set(i),u=t(),d=o(),f=new Map;for(const t of c||[]){const{index:e}=t,n=s.get(e);n?(n.push(t),s.set(e,n)):s.set(e,[t])}const p={},m={},g=new Map;let h=0,_=0,v=0,b=0,w=0;for(;l.size;){const t=s.get(w),e=g.get(w);if(e)g.delete(w),w+=e;else if(t){s.delete(w);for(const e of t){for(let t=1;t<e.span_rows;t++)g.set(w+d*t,e.span_columns);w+=e.span_columns,(p[h]||=[]).push({...e,We:e.index-v})}}else{const t=Gt(l);w++,b++,t&&!We(t)&&_++,t&&We(t)&&(m[h]||=[]).push(t),l.delete(t)}const n=Math.floor(_/a);h===n||u.has(n)||(f.set(h,b),b=0,v=w,h=n)}f.set(h,b);for(const[t,e]of s){s.delete(t);for(const t of e){const e=Math.min(t.index,w),n=Math.max(e-v,0);(p[h]||=[]).push({...t,We:n}),w+=t.span_columns}}return{qe:p,Ue:f,Ge:m}}));return{je:b((()=>i()?.qe?.[n().current_page])),Ve:b((()=>i()?.Ue?.get(n().current_page))),Je:b((()=>i()?.Ge?.[n().current_page]))}})(n),{Fe:a}=(({Je:t})=>{const{Lt:e}=Ne(),{se:n}=Ge(),o=ie(),r=ce();v((()=>{if(!r())return;const t=n(),o=e()||[];if(!o.length)return;const i=JSON.parse(localStorage[le]||"{}");let c=!1;for(const e of o){const n=t[e.product_gid];n&&i[e.product_gid]?.value!==n.outerHTML&&(i[e.product_gid]={time:+new Date,value:n.outerHTML},c=!0)}if(c)try{localStorage[le]=JSON.stringify(i)}catch(a){console.error(a,"Could not store product elements in local storage")}}));const i=new WeakSet,c=b((()=>{const o=n(),r=t(),i=new Map;for(const t of e()||[]){const e=o[t.product_gid];r?.includes("gid://shopify/Product/"+t.handle)&&i.set(t,e)}return i})),a=J((()=>[...c().keys()]),(t=>{const e=b((()=>c().get(t))),n=JSON.parse(localStorage[le]||"{}");v((()=>{let r,c=e();if(c)r=en(c);else{const e=n[t.product_gid]?.value;if(null!=e){const t=(new DOMParser).parseFromString(e,"text/html");null!=t.body.firstElementChild&&(c=t.body.firstElementChild,c.classList.add("depict-ls-clone"))}}c&&v((()=>{r&&!r()||!o()||((t,e,n,o)=>{const r=ie(),i=o?t:t.cloneNode(!0);i.dataset.depictClone="true",(t=>{t.removeAttribute("ref"),t.removeAttribute("data-page");for(const e of t.querySelectorAll('[ref="cards[]"]'))e.removeAttribute("ref"),e.removeAttribute("data-page")})(i);const c=i.matches(qe)?i:i.querySelector(qe),a="_depict_cloned_"+(2e22*Math.random()).toString(36);c&&(c.dataset.depictProductId=e?.handle),((t,e)=>{const n=t.querySelectorAll("label");for(const o of n){const n=o.htmlFor;if(!n)continue;const r=n+e,i=t.querySelectorAll('[id="'+n.replaceAll("\n","")+'"]');if(i.length){for(const t of i)t.id=r;o.htmlFor=r}}})(i,a),((t,e)=>{const n=t.querySelectorAll("[aria-controls]");for(const o of n){const t=o.getAttribute("aria-controls");if(!t)continue;const n=o.ariaControlsElements,r=t+e;o.setAttribute("aria-controls",r);for(const e of n)e.id=r}})(i,a),Ze(i,e),n.add(i),r().appendChild(i),k((()=>{n.delete(i),i.remove()}))})(c,t,i,!r)}))}))}));return v(a),{Fe:i}})({Je:c}),s=((t,e)=>{const{Bt:n}=Ne();return b((()=>{let o=e();const r=new Map;if(void 0===o)return r;const i=new Map(t()?.map((t=>[t.We,t]))||[]),c=new Map,a=n();let s=0;for(let t=0;t<o;t++){const e=i.get(t),n=c.get(t);if(n)c.delete(t),s+=n;else if(e){const{span_columns:n,span_rows:i}=e;for(let e=1;e<i;e++)c.set(t+a*e,n);o+=n*i,r.set(t-s,e.At),s+=n-1}}return r}))})(r,i),{Ke:l,Xe:u}=(()=>{const{ie:t}=Ge(),e=ie(),[n,o]=h(void 0),r=new ResizeObserver((t=>o(t.at(-1).contentRect.height))),i=b((()=>t()[0]));let c=0,a=!1;v((()=>{const t=i();t&&(r.observe(t),k((()=>r.unobserve(t))))}));const s=b((()=>{let t=n();return t?(t=10*Math.round(t/10),t-=10,a?(a=!1,c=0):c>2?(t=0,a=!0):(c++,setTimeout((()=>c--),1e3))):t=300,t+"px"}));v((()=>Yt(e(),"--sample-product-height",s())));const l=b((()=>void 0!==n()));return{Ke:s,Xe:l}})(),{ze:d,Qe:f}=(({Ye:t,je:e,Ze:n})=>{const{ie:o}=Ge(),{Dt:r,$t:i}=Ne(),c=b((()=>{let t=i().pages-1;for(;n().has(t);)t--;return i().current_page>=t})),a=b((()=>{const n=new Map,i=new Map;if(r())return{ze:n,Qe:i};const a=Object.fromEntries(e()?.map((t=>[t.At,t]))||[]),s=new Set(o()),l=t(),u=new Set(Object.keys(a)),d=c(),f=new Map,p=(t,e)=>{const o=a[t],{span_columns:r,span_rows:i}=o,c={"--order":e,"--grid-column-span":r,"--grid-row-span":i};f.set(e,(t=>c["--order"]=t)),n.set(t,c),u.delete(t)},m=Array.from({...Object.fromEntries(l),length:Math.max(...l.keys())+1});let g=0;for(;s.size;g++){const t=m[g];if(t){p(t,g);continue}const e=Gt(s);f.set(g,e),s.delete(e)}if(d)for(const t of u)p(t,g++);const h=f.size;for(const[t,e]of f){const n=t-h;"function"==typeof e?e(n):i.set(e,n)}return{ze:n,Qe:i}}));return{ze:()=>a().ze,Qe:()=>a().Qe}})({Ye:s,je:r,Ze:n}),{Be:p}=(({je:t,ze:e,Ke:n,Xe:o})=>{const r=ie(),[i,c]=h(new Map),{Bt:a}=Ne(),s=b((()=>{const n=new Set,o=e();for(const e of t()||[]){const t=e.At;o.has(t)||n.add(t)}return n}));return v((()=>{const e=new Map,i=a(),l=[],u=Fe(t()||[],((t,e)=>t.We-e.We));for(const t of u){const{span_columns:n,At:r}=t;if(n<i||s().has(r))continue;const c=+t.aspect_ratio;if(Xe(c,t.span_rows,o())){e.set(r,c);const n=Math.floor(t.We/i);for(let e=0;e<t.span_rows;e++)l[n+e]=!0}}c(e);const d=[];for(let t=0;t<l.length;t++)l[t]?d.push("auto"):d.push(`minmax(${n()}, auto)`);Yt(r(),"--grid-template-rows",d.length?d.join(" "):"none")})),{Be:i}})({je:r,Ke:l,Xe:u,ze:d});return(t=>{const e=J((()=>[...t().keys()]),(e=>{v((()=>Yt(e,"--order",t().get(e)))),k((()=>Yt(e,"--order",0)))}));v(e)})(f),(t=>{const e=ze(),{se:n}=Ge(),{$t:o,Yt:r}=Ne(),i=b((()=>new Set(Object.keys(n()).filter((t=>!We(t)))))),c=b((()=>{const t=i(),n=e();if(n)for(let e=0;e<n.length;e++)if(t.has(n[e]))return e})),a=b((()=>i().size));v((()=>{const n=c();if(null==n||void 0===e())return;const{page_size:i}=o(),s=Math.floor(n/i),l=new Set;for(let t=n;t<n+a();t+=i){const e=Math.floor(t/i);e!==s&&l.add(e)}w((()=>{r(s),t(l)}))}))})(o),v((()=>Yt(e(),"--grid-columns",t()+""))),{Be:p,ze:d,Fe:a}})(),{tn:o}=(({Be:t,ze:e})=>{const n=ie(),{Bt:o,Rt:r}=Ne(),{de:i}=Ge(),[c,a]=h(new Map,{equals:!1}),s=b((()=>Object.fromEntries(r()?.map((t=>[t.At,t]))?.filter((([t])=>e().has(t)))||[])));return v((()=>{const r=n();if(!r)return;const c=J((()=>Object.keys(s())),(n=>{const c=b((()=>s()[n])),l=O((()=>W($n,{get l(){return c()},get Bt(){return o()},get Be(){return t()},get Ne(){return e().get(n)}})));v((()=>{const t=l();a((e=>e.set(t,c))),r.prepend(t),v((()=>{!i().has(t)&&!r.contains(t)&&r.prepend(t)})),k((()=>{a((e=>(e.delete(t),e))),t.remove()}))}))}));v(c)})),{tn:c}})({Be:t,ze:e}),{zt:r,Ht:i}=Ne(),{ue:c}=Ge(),{vt:a}=De(),s=ae();return(()=>{const t=ie();v((()=>{const e=t();e&&k(Me(e,[["display","grid"]],{_t:!0}))}))})(),((t,e)=>{const{le:n,de:o}=Ge(),r=e=>{y(t).has(e)||e.remove()};v((()=>{n(),o().forEach(r)})),v((()=>{const t=[...n()].filter((t=>t.matches("[data-depict-clone]")));for(const n of t)e.has(n)||n.remove()}))})(o,n),(()=>{const{Ft:t}=Ne(),{se:e}=Ge(),n=b((()=>{const n=new Map,o=e(),r=t(),i=Object.fromEntries(r.map((t=>[t.product_gid,t])));for(const t in o){const e=i[t];if(!e)continue;const r=o[t];n.set(r,e)}return n})),o=J((()=>[...n().keys()]),(t=>{const e=en(t),o=b((()=>n().get(t)));v((()=>{e()&&Ze(t,o())}))}));v(o)})(),(()=>{const t=ie(),{jt:e,Vt:n,Jt:o,Wt:r,qt:i,Ut:c}=Ne();v((()=>{const a=t();if(!a)return;const{classList:s}=a;s.add("depict-grid"),Yt(a,"--grid-gap",e()),Yt(a,"--row-gap",n()),Yt(a,"--mobile-grid-gap",o()),Yt(a,"--mobile-row-gap",r());const l=i();l&&Yt(a,"--desktop-custom-margin",l),s.toggle("desktop-custom-margin",!!l);const u=c();u&&Yt(a,"--mobile-custom-margin",u),s.toggle("mobile-custom-margin",!!u),k((()=>s.remove("depict-grid","desktop-custom-margin","mobile-custom-margin")))}))})(),(()=>{const{Xt:t}=Ne(),e=ie(),{vt:n}=De();v((()=>{const o=e();if(!o||!t())return;const r=o.parentElement,i=W(Wn,{He:!(!r||!getComputedStyle(r).flexDirection?.startsWith("row"))});o.after(i),k((()=>i.remove())),v((()=>{if(n())for(const t of ee.tt())t!==i&&t.remove()}))}))})(),(()=>{const t=ae();v((()=>{t()&&(()=>{const{vt:t}=De(),{Kt:e,Gt:n}=Ne(),o=b((()=>{let o="";return e()&&(o+=".depict-grid>*{padding:0 !important}"),t()&&(o+='[class*="cookie" i],*:has(.depict-grid){pointer-events:auto!important}.d-hide-before::before{display:none !important}.d-hide-after::after{display:none !important}'),o+=n(),o})),r=(st(i=zn(),o),i);var i;document.head.append(r),k((()=>r.remove())),v((()=>{if(t())for(const t of document.querySelectorAll("#depict-custom-styling"))t!==r&&t.remove()}))})()}))})(),(()=>{try{const t=[se,le,ue];for(const e of t){const t=localStorage[e];if(t){const n=JSON.parse(t),o=+new Date,r=Object.entries(n),i=r.filter((([t,{time:e}])=>o-e<864e5));i.length!==r.length&&(localStorage[e]=JSON.stringify(Object.fromEntries(i)))}}}catch(t){console.error("Failed pruning localStorage",t)}})(),(()=>{const{dt:t,Zt:e}=Ne();v((()=>{try{const n=t(),o=e();if(!n||!o)return;const r=JSON.parse(localStorage[ue]||"{}");r[o]={time:+new Date,value:n},localStorage[ue]=JSON.stringify(r)}catch(n){console.error("Failed to save collection mapping",n)}}))})(),(()=>{const{dt:t}=Ne(),{ce:e,se:n,ae:o}=Ge(),r=b((()=>((t,e,n)=>{const o=new Map;return t.forEach(((t,r)=>{const i=e[t],c=n[t];i&&c&&o.set(i,{cardKey:Je(t),productId:Je(c),index:r})})),o})(e(),n(),o()))),i=b((()=>(t(),an())));Yn((()=>null==t()?[]:[...r().keys()]),(e=>{const n=t(),o=r().get(e);if(null!=n&&o)return{key:n+":"+o.cardKey,event:{event_type:"grid_impression",request_type:"product_listing",request_query:n+"",request_id:i(),card_index:o.index,card_key:o.cardKey,product_id:o.productId}}}))})(),(t=>{const{dt:e}=Ne();Yn((()=>null==e()?[]:[...t()].filter((([,t])=>to(t()))).map((([t])=>t))),(n=>{const o=e(),r=t().get(n)?.();if(null!=o&&to(r))return{key:o+":"+r.At,event:{event_type:"grid_item_impression",collection_id:o,grid_item_id:Zn(r),grid_item_type:"content_block",card_index:r.index}}}))})(o),v((()=>a()&&(hn=!0,void(mn=[])))),v((()=>{i()&&s()&&(t=>{const e=new Map,n=new Map,o=new IntersectionObserver((o=>w((()=>o.forEach((({target:o,boundingClientRect:r})=>vt({u:o,l:t().get(o)(),p:r,m:e,h:n})))))),{threshold:_t(100)}),[i,a]=h(!1),s=()=>a((t=>!t)),l=h(new Map,{equals:!1}),u=h(new Map,{equals:!1}),[d,f]=h(innerWidth),p=new ResizeObserver((()=>f(innerWidth)));v(J((()=>[...t().keys()]),(a=>(({en:t,nn:[e,n],q:o,m:r,h:i,rn:c,cn:[a,s],an:l,sn:u})=>{const d=h(void 0),f=h(void 0),[p]=d,[m]=f,[g,_]=h(!1),[w,y]=h(!1);r.set(o,d),i.set(o,f);const x=b((()=>(t(),g(),qt({G:p(),X:s,K:e})))),S=b((()=>(t(),w(),qt({G:m(),X:s,K:e})))),I=b((()=>{const t=x()(),e=S()();return Math.min(t??1/0,e??1/0)})),M=b((t=>((t,e,n)=>{const o=t&&Gt(t);return o?{ln:o.Y,un:o.Z}:e===1/0?{ln:0,un:0}:n??{ln:0,un:0}})(a().get(I()),I(),t)),void 0,{equals:(t,e)=>t.ln===e.ln&&t.un===e.un}),O="--bottom-alignment-spacing",T="--top-alignment-spacing";v((()=>{l(),vt({u:o,l:u(),p:o.getBoundingClientRect(),h:i,m:r})}));const E=(t,e,n)=>{o.style.setProperty(e,n+"px"),o.querySelector(".depict-block-media")?.style.setProperty(t,n+"px","important")};v((()=>E("margin-bottom",O,M().un))),v((()=>E("margin-top",T,M().ln))),k((()=>E("margin-bottom",O,0))),k((()=>E("margin-top",T,0))),n((t=>t.set(o,I))),k((()=>n((t=>(t.delete(o),t))))),c.observe(o);for(const[h,b]of[[p,_],[m,y]])v((()=>{const t=h(),e=()=>b((t=>!t));t?.addEventListener("transitionend",e),t?.addEventListener("animationend",e),k((()=>{t?.removeEventListener("transitionend",e),t?.removeEventListener("animationend",e)}))}));k((()=>{c.unobserve(o),r.delete(o),i.delete(o)}))})({en:i,nn:l,q:a,m:e,h:n,rn:o,cn:u,sn:()=>t().get(a)(),an:()=>{d(),r(),c(),i()}})))),p.observe(document.documentElement),p.observe(document.body),addEventListener("DOMContentLoaded",s),addEventListener("load",s),k((()=>{p.disconnect(),removeEventListener("DOMContentLoaded",s),removeEventListener("load",s)}))})(o)})),console.log("Depict Content Features support loaded"),[]}g((()=>((()=>{if(window[Hn])throw console.error(ke,ke.parentElement),ke.remove(),Error("Depict grid rendering ran twice");window[Hn]=!0})(),(()=>{const t=(()=>{const{merchant:t,market:e}=ke?.dataset??{};if(!t)return;let n=null;try{n=localStorage.getItem("depict_ab_variant")}catch(o){xt("ab variant unavailable:",o)}return{merchant:t,market:e||"",abVariant:n}})();if(!t)return;const e=()=>{(t=>{document.querySelectorAll(Un).forEach((e=>Qn(e,t)))})(t),new MutationObserver((e=>{const n=[];for(const o of e)o.addedNodes.forEach((e=>{e instanceof HTMLElement&&(e.matches(Un)?Qn(e,t):e.querySelectorAll(Un).forEach((e=>Qn(e,t))))})),o.removedNodes.forEach((t=>{t instanceof HTMLElement&&(t.matches(Un)?n.push(t):n.push(...t.querySelectorAll(Un)))}));for(const t of n)t.isConnected||(Xn.get(t)?.(),Xn.delete(t))})).observe(document.body,{childList:!0,subtree:!0})};document.body?e():document.addEventListener("DOMContentLoaded",e,{once:!0})})(),W(ye,{get children(){return W(re,{get children(){return W(Ce,{get children(){return W($e,{get children(){return W(He,{get children(){return W(Ke,{get children(){return W(kn,{get children(){return W(eo,{})}})}})}})}})}})}})}}))))}();
</script>
<style>
.depict-rec-section[data-depict-recommendations-section] {
display: block !important;
}
</style>
<!-- END app block --><!-- BEGIN app block: shopify://apps/impact-com/blocks/consent_mode/adac1a7f-d17f-4936-8a12-45628cdd8add --><script id="consent_script" defer>
window.Shopify.loadFeatures(
[
{
name: 'consent-tracking-api',
version: '0.1',
},
],
error => {
if (error) {
// Rescue error
}
document.addEventListener("visitorConsentCollected", (event) => {
// Do nothing
});
},
);
</script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/supergrid-by-depict/blocks/depict_head/ad5c7d1f-ddfb-424b-b936-7f08c4544f6b -->
<link rel="preload" href="/api/shopper.css?shop=quiksilver-us-o5.myshopify.com&cache_id=" as="style">
<link rel="preload" href="/api/shopper.js?shop=quiksilver-us-o5.myshopify.com&cache_id=&modern=true" as="fetch" crossorigin="anonymous">
<link rel="stylesheet" href="/api/shopper.css?shop=quiksilver-us-o5.myshopify.com&cache_id=" media="print" onload="this.media='all'">
<script
type="text/javascript"
data-cookieconsent="ignore"
>!function(){var e,t,n,o,a=!1,r="setItem",p="",c="DEPICTJ_"+p,i=sessionStorage,d=localStorage,s=new XMLHttpRequest,u=function(){new Function("cache_key","context_obj",t)(p,{config:``,currencyFormat:"$1,234.56",currencyFormatZero:"$1,234.00",locale:"en",depictMarket:47299264649,shopId:68768563337,alternativeCurrencyFormat:"$1,234.56 USD",alternativeCurrencyFormatZero:"$1,234.00 USD",backendUrl:``,imageRatios:`2000x2500,2000x2500,2000x2500,2000x2500,2000x2500,2000x2500,2000x2500,2000x2500,2000x2500,2000x2500`,uiConfig:{plp:``,search:``,recs:``,productCard:``}})};try{var l;a=!(null===(l=String.prototype.at)||void 0===l||!l.toString().includes("[native code]")),t=d[c]}catch(e){}s.addEventListener("load",(function(){var e=s.responseText;t||(t=e,u());try{d[c]=e}catch(e){}})),s.open("GET","/api/shopper.js?shop=quiksilver-us-o5.myshopify.com&cache_id=&modern="+a),s.send(),t&&u(),(e=window).dpq||(e.dpq=(o=function e(){var t=arguments;e.send_event?e.send_event.apply(this,t):e.queue.push(t)},o.queue=[],o)),(n=i.hasOwnProperty(r)?i:Storage.prototype)[r]=new Proxy(n[r],{apply:function(e,t,n){if("depict"!=(null==n?void 0:n[0]))return Reflect.apply(e,t,n);var o=n[1];dpq(o.name,o.data)}})}()
</script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/impact-com/blocks/utt/adac1a7f-d17f-4936-8a12-45628cdd8add -->
<script id="advocate_jwt_script" defer>
(function() {
if (window.advocateScriptInitialized) {
console.log("Advocate script already loaded, skipping...");
return;
}
window.advocateScriptInitialized = true;
async function fetchJWT(shopUrl, customerId) {
try {
const response = await fetch(`https://saasler-impact.herokuapp.com/api/v1/advocate_widget_jwt?customer_id=${customerId}&shop_url=${shopUrl}`);
const data = await response.json();
window.impactToken = data.jwt;
} catch (error) {
console.error("Error fetching data: ", error);
}
}
const shopUrl = Shopify.shop;
const customerId = __st.cid;
fetchJWT(shopUrl, customerId).then(() => {
const uttUrl = "https://utt.impactcdn.com/A5449922-7d78-48b3-8b98-047d7d234f111.js";
(function(a,b,c,d,e,f,g){e['ire_o']=c;e[c]=e[c]||function(){(e[c].a=e[c].a||[]).push(arguments)};f=d.createElement(b);g=d.getElementsByTagName(b)[0];f.async=1;f.src=a;g.parentNode.insertBefore(f,g);})(`${uttUrl}`,'script','ire',document,window); ire('identify');
});
})();
</script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/checkmate/blocks/checked_network/697a3444-1374-4f13-ba8c-ec03db25ebf0 -->
<script
src='/apps/cm/v1/load?source=embed'
async
></script>
<!-- END app block --><script src="https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-popup.min.js" type="text/javascript" defer="defer"></script>
<link href="https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-popup.css" rel="stylesheet" type="text/css" media="all">
<script src="https://cdn.shopify.com/extensions/01a024bc-aa6a-728d-b8e4-8fca59799f2a/loop-returns-487/assets/order-protection-storefront.js" type="text/javascript" defer="defer"></script>
<script src="https://cdn.shopify.com/extensions/01a02a07-7f44-724b-91b7-7222523a27f9/2026-08-22-15-10-43-UTC--6df6cf8/assets/smile-loader.js" type="text/javascript" defer="defer"></script>
<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<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: 68768563337,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "collection"};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>
<script>
window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
</script>
<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,r=/bytedance/i;function o(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var r=0,o=e.split(";");r<o.length;r++){var d=o[r],t=d.indexOf("=");if(-1!==t){var n=d.slice(0,t).trim();if(n){var i=void 0;try{i=decodeURIComponent(n)}catch(e){i=n}if("_shopify_s"===i){var a=d.slice(t+1).trim();try{return decodeURIComponent(a)}catch(e){return a}}}}}return}catch(e){return}}function d(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}return function(t,n,i,a){var s,c,u,l,f=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},p=(c=(s={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,u=s.legacy,(l=navigator.userAgent).match(e)?"bot":l.match(c)?"modern":l.match(u)?"legacy":l.match(r)?"bot":"unknown"),h=function(e){var r=e.version,t=e.browserTarget,n=e.surface,i=e.shopId,a=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var c,u=e.status,l=e.errorMsg;if(!a)return d("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{var f=(new Date).getTime();c=JSON.stringify({metadata:{event_sent_at_ms:f},events:[{schema_id:"web_pixels_manager_load/3.2",payload:{version:r,bundle_target:t,page_url:s,status:u,surface:n,error_msg:l,shop_id:i,visit_token:o()},metadata:{event_created_at_ms:f}}]})}catch(e){return!1}var p,h=!1;try{"function"==typeof window.navigator.sendBeacon&&-1===(p=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===p.indexOf("iPad; CPU OS 12_")&&-1===p.indexOf("iPod touch; CPU iPhone OS 12_")&&(h=window.navigator.sendBeacon.bind(window.navigator)(a,c))}catch(e){h=!1}if(h)return!0;try{var m=new XMLHttpRequest;return m.open("POST",a,!0),m.setRequestHeader("Content-Type","text/plain"),m.send(c),!0}catch(e){return d("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:i,browserTarget:p,surface:t.surface,shopId:t.shopId,monorailEndpoint:t.monorailEndpoint});if(Boolean(null==(y=null==(m=window.Shopify)?void 0:m.analytics)?void 0:y.replayQueue))h.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var m,y;h.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var g=window.Shopify;g.analytics=g.analytics||{};var v=g.analytics;v.replayQueue=[],v.publish=function(e,r,o){return v.replayQueue.push([e,r,o]),!0};try{self.performance.mark("wpm:start")}catch(e){}var w,b="modern"===p?"modern":"legacy",P=(null!=a?a:{modern:"",legacy:""})[b],S=[(w={baseUrl:n,hashVersion:i,buildTarget:b}).baseUrl,"/wpm","/b",w.hashVersion,"modern"===w.buildTarget?"m":"l",".js"].join("");try{f.browserTarget=p,O(function(){try{O(_)}catch(e){h.emit({status:"failed",errorMsg:U(e)})}}),h.emit({status:"loading"})}catch(e){h.emit({status:"failed",errorMsg:U(e)})}}function C(){if(!function(){var e,r;return Boolean(null==(r=null==(e=window.Shopify)?void 0:e.analytics)?void 0:r.initialized)}()){var e=window.webPixelsManager.init(t)||void 0;if(e){var r=window.Shopify.analytics;r.replayQueue.forEach(function(r){var o=r[0],d=r[1],t=r[2];e.publishCustomEvent(o,d,t)}),r.replayQueue=[],r.publish=e.publishCustomEvent,r.visitor=e.visitor,r.initialized=!0}}}function _(){return h.emit({status:"failed",errorMsg:"".concat(S," has failed to load")})}function O(e){var r;!function(e){var r=e.src,o=e.async,d=void 0===o||o,t=e.onload,n=e.onerror,i=e.sri,a=e.scriptDataAttributes,s=void 0===a?{}:a,c=document.createElement("script"),u=document.querySelector("head"),l=document.querySelector("body");if(c.async=d,c.src=r,i&&(c.integrity=i,c.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{c.dataset[f]=s[f]}catch(e){}if(t&&c.addEventListener("load",t),n&&c.addEventListener("error",n),u)u.appendChild(c);else{if(!l)throw new Error("Did not find a head or body element to append the script");l.appendChild(c)}}({src:S,async:!0,onload:C,onerror:e,sri:(r=P,"string"==typeof r&&/^sha384-[A-Za-z0-9+/=]+$/.test(r)?P:""),scriptDataAttributes:f})}function U(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 68768563337,storefrontBaseUrl: "https://www.quiksilver.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.quiksilver.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["d5bdd5d0","656605ce"],webPixelsConfigList: [{"id":"2548793481","configuration":"{\"accountId\":\"quiksilver-us-o5.myshopify.com\",\"trackingOrigin\":\"https:\\\/\\\/shdid.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"353908bebdc192ca7dc3e31045b33173","type":"APP","apiClientId":94099111937,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2315255945","configuration":"{\"campaignID\":\"53003\",\"externalExecutionURL\":\"https:\/\/engine.saasler.com\/api\/v1\/webhook_executions\/7eb6e5cce6179b1dbad52cfd46604c01\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7a47b06116c806e4367c27d301f4f458","type":"APP","apiClientId":3546795,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2173632649","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"d55e3cf212a0a88db5fca9e1cff191d7","type":"APP","apiClientId":145825267713,"privacyPurposes":["ANALYTICS"],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2022932617","configuration":"{\"shop\":\"quiksilver-us-o5.myshopify.com\",\"collect_url\":\"https:\\\/\\\/collect.bogos.io\\\/collect\",\"product_bundles_data\":\"[]\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"eb39d38b0d9a3c0b1e630737753fb230","type":"APP","apiClientId":177733,"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"},{"id":"1807351945","configuration":"{\"accountID\":\"shopify-68768563337\", \"endpoint\":\"https:\/\/connect.nosto.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"85848493c2a1c7a4bbf22728b6f9f31f","type":"APP","apiClientId":272825,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1737359497","configuration":"{\"webhookEndpoint\":\"https:\/\/webhooks.fivetran.com\/internal\/e0d16bc8-5936-4d9a-8df1-2faab330ddbd\",\"includedEvents\":\"ui_extension_errored,collection_viewed,product_viewed,checkout_started,cart_viewed,checkout_address_info_submitted,product_removed_from_cart,checkout_shipping_info_submitted,page_viewed,payment_info_submitted,checkout_contact_info_submitted,search_submitted,alert_displayed,checkout_completed,product_added_to_cart\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7a344a9f0c58f3b1ff6255bb24dbeb15","type":"APP","apiClientId":1540791,"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"},{"id":"1481670793","configuration":"{\"accountID\":\"SegWjj\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"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":"1085177993","configuration":"{\"pixelCode\":\"D1A0M63C77U1258RUJ80\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"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"},{"id":"921895049","configuration":"{\"merchantId\":\"shopify-68768563337\",\"defaultMarketId\":\"47299264649\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e99d2aed0f210103fa3464489ca6de7e","type":"APP","apiClientId":93504864257,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"862978185","configuration":"{\"accountID\": \"123\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"fb84216e286b863787de2c105a003a2e","type":"APP","apiClientId":3094213,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"812875913","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-T61R2Q07N0\\\",\\\"AW-16930042143\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-T61R2Q07N0\\\",\\\"AW-16930042143\\\/-uigCK--_8QaEJ_i74g_\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-T61R2Q07N0\\\",\\\"AW-16930042143\\\/7TXYCOe9_8QaEJ_i74g_\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-T61R2Q07N0\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-T61R2Q07N0\\\",\\\"AW-16930042143\\\/1KS3CKy-_8QaEJ_i74g_\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-T61R2Q07N0\\\",\\\"AW-16930042143\\\/Ks22COS9_8QaEJ_i74g_\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-T61R2Q07N0\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-T61R2Q07N0\\\",\\\"AW-16930042143\\\/iFG-CKm-_8QaEJ_i74g_\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-T61R2Q07N0\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-T61R2Q07N0\\\",\\\"AW-16930042143\\\/jx44CLK-_8QaEJ_i74g_\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-T61R2Q07N0\\\",\\\"AW-16930042143\\\/kI8WCKa-_8QaEJ_i74g_\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-T61R2Q07N0\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"9120410995b7c9c6f4f039573265c0ea","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":"812384393","configuration":"{\"pixel_id\":\"958244260879521\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"abff2a8add143ccb04deb20f0ebd74a9","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":"95715465","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Attentive-custom"},{"id":"123699337","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Tie Tracking"},{"id":"162726025","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Neon Pixel - CTV"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0510","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0510","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Quiksilver","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"quiksilver-us-o5.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.quiksilver.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"8042034790537","handle":"everyday-solid-volley-17-qsm35vl087-blk","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43779544744073","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337482481801","handle":"everyday-solid-volley-15-qsm15vl012-rvb","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926187372681","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337459576969","handle":"saltwater-volley-17-qs000278-anh","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926071865481","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8605448241289","handle":"pacifico-talavera-volley-qs000992y-dkd","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46725124784265","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8650418749577","handle":"mix-pack-17wm-qs000842m-fdbl","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46836680851593","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337482350729","handle":"everyday-solid-volley-15-qsm15vl012-bok","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926186553481","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337483563145","handle":"everyday-solid-volley-17-qsm35vl087-toe","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926192648329","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337483432073","handle":"everyday-solid-volley-17-qsm35vl087-lpd","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926192320649","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337482383497","handle":"everyday-solid-volley-15-qsm15vl012-hot","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926186946697","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337483137161","handle":"everyday-solid-volley-17-qsm35vl087-aqu","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926190059657","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8650418552969","handle":"mix-pack-17wm-qs000842m-dsl","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46836680294537","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337461313673","handle":"saltwater-volley-17-qs000278-rvb","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926075338889","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337482416265","handle":"everyday-solid-volley-15-qsm15vl012-ple","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926187143305","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337480548489","handle":"surfsilk-street-trunk-18-qsm15bs015-glf","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926177083529","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8650419011721","handle":"mix-pack-17wm-qs000842m-mnbm","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"46836682096777","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8473894256777","handle":"mix-pack-17-wm-qs000534m-nal","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45358441169033","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337461182601","handle":"saltwater-volley-17-qs000278-lpd","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926074749065","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8337471275145","handle":"mix-volley-17-qs000445-bhz","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"44926131470473","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8042034626697","handle":"everyday-solid-volley-17-nb-qsm15vl013-hgy","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"43779543924873","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8473894125705","handle":"mix-pack-17-wm-qs000534m-mnbm","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45358440480905","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://www.quiksilver.com/cdn","2d9dfbe8w1156b718pbb247b16m64115e31",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"156086206601","themePublished":"true","eventMetadataId":"858709ba-dd85-4e6f-a1fb-c2d77c7bff48","pageType":"collection","resourceId":"301714768009","shopId":"68768563337","storefrontBaseUrl":"https:\/\/www.quiksilver.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"d5bdd5d0\", \"656605ce\"]","isMerchantRequest":"false","hashVersion":"2d9dfbe8w1156b718pbb247b16m64115e31","publish":"custom","events":"[[\"page_viewed\",{}],[\"collection_viewed\",{\"collection\":{\"id\":\"301714768009\",\"title\":\"Men's Boardshorts and Swim Shorts\",\"productVariants\":[{\"price\":{\"amount\":44.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 17\\\" Swim Trunks - Black\",\"vendor\":\"O5 Quiksilver\",\"id\":\"8042034790537\",\"untranslatedTitle\":\"Everyday Solid 17\\\" Swim Trunks - Black\",\"url\":\"\/products\/everyday-solid-volley-17-qsm35vl087-blk\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"43779544744073\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-F.jpg?v=1761074968\"},\"sku\":\"QSM35VL087-BLK-OMA-S\",\"title\":\"BLACK \/ S\",\"untranslatedTitle\":\"BLACK \/ S\"},{\"price\":{\"amount\":44.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 15\\\" Swim Trunks - Riviera\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337482481801\",\"untranslatedTitle\":\"Everyday Solid 15\\\" Swim Trunks - Riviera\",\"url\":\"\/products\/everyday-solid-volley-15-qsm15vl012-rvb\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926187372681\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_OM-F.jpg?v=1767051528\"},\"sku\":\"QSM15VL012-RVB-OMA-S\",\"title\":\"RIVIERA \/ S\",\"untranslatedTitle\":\"RIVIERA \/ S\"},{\"price\":{\"amount\":59.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Saltwater 17\\\" Swim Trunks - Anthracite\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337459576969\",\"untranslatedTitle\":\"Saltwater 17\\\" Swim Trunks - Anthracite\",\"url\":\"\/products\/saltwater-volley-17-qs000278-anh\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926071865481\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_OM-F.jpg?v=1767051385\"},\"sku\":\"QS000278-ANH-OMA-S\",\"title\":\"ANTHRACITE \/ S\",\"untranslatedTitle\":\"ANTHRACITE \/ S\"},{\"price\":{\"amount\":69.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Pacifico Talavera Volley Swim Trunks - Dark Denim\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8605448241289\",\"untranslatedTitle\":\"Pacifico Talavera Volley Swim Trunks - Dark Denim\",\"url\":\"\/products\/pacifico-talavera-volley-qs000992y-dkd\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"46725124784265\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-F.jpg?v=1780607446\"},\"sku\":\"QS000992Y-DKD-OMA-XS\",\"title\":\"DARK DENIM \/ XS\",\"untranslatedTitle\":\"DARK DENIM \/ XS\"},{\"price\":{\"amount\":62.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Waterman Mix Pack 17\\\" Swim Trunks - Federal Blue\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8650418749577\",\"untranslatedTitle\":\"Waterman Mix Pack 17\\\" Swim Trunks - Federal Blue\",\"url\":\"\/products\/mix-pack-17wm-qs000842m-fdbl\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"46836680851593\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-F.jpg?v=1785518422\"},\"sku\":\"QS000842M-FDBL-OMA-XS\",\"title\":\"FEDERAL BLUE \/ XS\",\"untranslatedTitle\":\"FEDERAL BLUE \/ XS\"},{\"price\":{\"amount\":44.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 15\\\" Swim Trunks - Brook Green\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337482350729\",\"untranslatedTitle\":\"Everyday Solid 15\\\" Swim Trunks - Brook Green\",\"url\":\"\/products\/everyday-solid-volley-15-qsm15vl012-bok\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926186553481\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525\"},\"sku\":\"QSM15VL012-BOK-OMA-S\",\"title\":\"BROOK GREEN \/ S\",\"untranslatedTitle\":\"BROOK GREEN \/ S\"},{\"price\":{\"amount\":44.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 17\\\" Swim Trunks - Total Eclipse\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337483563145\",\"untranslatedTitle\":\"Everyday Solid 17\\\" Swim Trunks - Total Eclipse\",\"url\":\"\/products\/everyday-solid-volley-17-qsm35vl087-toe\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926192648329\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_OM-F.jpg?v=1767051529\"},\"sku\":\"QSM35VL087-TOE-OMA-S\",\"title\":\"TOTAL ECLIPSE \/ S\",\"untranslatedTitle\":\"TOTAL ECLIPSE \/ S\"},{\"price\":{\"amount\":44.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 17\\\" Swim Trunks - Lily Pad\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337483432073\",\"untranslatedTitle\":\"Everyday Solid 17\\\" Swim Trunks - Lily Pad\",\"url\":\"\/products\/everyday-solid-volley-17-qsm35vl087-lpd\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926192320649\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_OM-F.jpg?v=1767051533\"},\"sku\":\"QSM35VL087-LPD-OMA-S\",\"title\":\"LILY PAD \/ S\",\"untranslatedTitle\":\"LILY PAD \/ S\"},{\"price\":{\"amount\":44.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 15\\\" Swim Trunks - Hot Coral\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337482383497\",\"untranslatedTitle\":\"Everyday Solid 15\\\" Swim Trunks - Hot Coral\",\"url\":\"\/products\/everyday-solid-volley-15-qsm15vl012-hot\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926186946697\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_OM-F.jpg?v=1767051525\"},\"sku\":\"QSM15VL012-HOT-OMA-S\",\"title\":\"HOT CORAL \/ S\",\"untranslatedTitle\":\"HOT CORAL \/ S\"},{\"price\":{\"amount\":44.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 17\\\" Swim Trunks - Aqua\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337483137161\",\"untranslatedTitle\":\"Everyday Solid 17\\\" Swim Trunks - Aqua\",\"url\":\"\/products\/everyday-solid-volley-17-qsm35vl087-aqu\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926190059657\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_OM-F.jpg?v=1767051529\"},\"sku\":\"QSM35VL087-AQU-OMA-S\",\"title\":\"AQUA \/ S\",\"untranslatedTitle\":\"AQUA \/ S\"},{\"price\":{\"amount\":62.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Waterman Mix Pack 17\\\" Swim Trunks - Dark Slate\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8650418552969\",\"untranslatedTitle\":\"Waterman Mix Pack 17\\\" Swim Trunks - Dark Slate\",\"url\":\"\/products\/mix-pack-17wm-qs000842m-dsl\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"46836680294537\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-F.jpg?v=1785518419\"},\"sku\":\"QS000842M-DSL-OMA-XS\",\"title\":\"DARK SLATE \/ XS\",\"untranslatedTitle\":\"DARK SLATE \/ XS\"},{\"price\":{\"amount\":59.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Saltwater 17\\\" Swim Trunks - Riviera\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337461313673\",\"untranslatedTitle\":\"Saltwater 17\\\" Swim Trunks - Riviera\",\"url\":\"\/products\/saltwater-volley-17-qs000278-rvb\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926075338889\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_OM-F.jpg?v=1767051451\"},\"sku\":\"QS000278-RVB-OMA-S\",\"title\":\"RIVIERA \/ S\",\"untranslatedTitle\":\"RIVIERA \/ S\"},{\"price\":{\"amount\":44.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 15\\\" Swim Trunks - Pink Lemonade\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337482416265\",\"untranslatedTitle\":\"Everyday Solid 15\\\" Swim Trunks - Pink Lemonade\",\"url\":\"\/products\/everyday-solid-volley-15-qsm15vl012-ple\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926187143305\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_OM-F.jpg?v=1771876503\"},\"sku\":\"QSM15VL012-PLE-OMA-S\",\"title\":\"PINK LEMONADE \/ S\",\"untranslatedTitle\":\"PINK LEMONADE \/ S\"},{\"price\":{\"amount\":66.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Surfsilk Street Trunk Stripe 18\\\" Boardshorts - Grape Leaf\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337480548489\",\"untranslatedTitle\":\"Surfsilk Street Trunk Stripe 18\\\" Boardshorts - Grape Leaf\",\"url\":\"\/products\/surfsilk-street-trunk-18-qsm15bs015-glf\",\"type\":\"Mens - Boardshort\"},\"id\":\"44926177083529\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_OM-F.jpg?v=1767051466\"},\"sku\":\"QSM15BS015-GLF-OMN-28\",\"title\":\"GRAPE LEAF \/ 28\",\"untranslatedTitle\":\"GRAPE LEAF \/ 28\"},{\"price\":{\"amount\":62.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Waterman Mix Pack 17\\\" Swim Trunks - Moonbeam\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8650419011721\",\"untranslatedTitle\":\"Waterman Mix Pack 17\\\" Swim Trunks - Moonbeam\",\"url\":\"\/products\/mix-pack-17wm-qs000842m-mnbm\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"46836682096777\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-F.jpg?v=1785518430\"},\"sku\":\"QS000842M-MNBM-OMA-XS\",\"title\":\"MOONBEAM \/ XS\",\"untranslatedTitle\":\"MOONBEAM \/ XS\"},{\"price\":{\"amount\":48.99,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Waterman Mix Pack 17\\\" Swim Trunks - North Atlantic\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8473894256777\",\"untranslatedTitle\":\"Waterman Mix Pack 17\\\" Swim Trunks - North Atlantic\",\"url\":\"\/products\/mix-pack-17-wm-qs000534m-nal\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"45358441169033\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-F_b70ddc62-0034-4a5f-8c5e-42835f1f87b1.jpg?v=1778710205\"},\"sku\":\"QS000534M-NAL-OMA-S\",\"title\":\"NORTH ATLANTIC \/ S\",\"untranslatedTitle\":\"NORTH ATLANTIC \/ S\"},{\"price\":{\"amount\":34.97,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Saltwater 17\\\" Swim Trunks - Lily Pad\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337461182601\",\"untranslatedTitle\":\"Saltwater 17\\\" Swim Trunks - Lily Pad\",\"url\":\"\/products\/saltwater-volley-17-qs000278-lpd\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926074749065\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_OM-F.jpg?v=1767051381\"},\"sku\":\"QS000278-LPD-OMA-S\",\"title\":\"LILY PAD \/ S\",\"untranslatedTitle\":\"LILY PAD \/ S\"},{\"price\":{\"amount\":27.97,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Mix Volley 17\\\" Swim Trunks - Blue Haze\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8337471275145\",\"untranslatedTitle\":\"Mix Volley 17\\\" Swim Trunks - Blue Haze\",\"url\":\"\/products\/mix-volley-17-qs000445-bhz\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"44926131470473\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_OM-F.jpg?v=1767051451\"},\"sku\":\"QS000445-BHZ-OMA-S\",\"title\":\"BLUE HAZE \/ S\",\"untranslatedTitle\":\"BLUE HAZE \/ S\"},{\"price\":{\"amount\":21.97,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Everyday Solid 17\\\" Swim Trunks - Heather Gray\",\"vendor\":\"O5 Quiksilver\",\"id\":\"8042034626697\",\"untranslatedTitle\":\"Everyday Solid 17\\\" Swim Trunks - Heather Gray\",\"url\":\"\/products\/everyday-solid-volley-17-nb-qsm15vl013-hgy\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"43779543924873\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL013_HGY_FL-F.jpg?v=1743192191\"},\"sku\":\"QSM15VL013-HGY-OMA-S\",\"title\":\"HEATHER GRAY \/ S\",\"untranslatedTitle\":\"HEATHER GRAY \/ S\"},{\"price\":{\"amount\":48.99,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Waterman Mix Pack 17\\\" Swim Trunks - Moonbeam\",\"vendor\":\"O5 QUIKSILVER\",\"id\":\"8473894125705\",\"untranslatedTitle\":\"Waterman Mix Pack 17\\\" Swim Trunks - Moonbeam\",\"url\":\"\/products\/mix-pack-17-wm-qs000534m-mnbm\",\"type\":\"Mens - Swim Trunk\"},\"id\":\"45358440480905\",\"image\":{\"src\":\"\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-F_3b72f759-f171-4274-8a8c-b261b0d6f4f8.jpg?v=1778710158\"},\"sku\":\"QS000534M-MNBM-OMA-S\",\"title\":\"MOONBEAM \/ S\",\"untranslatedTitle\":\"MOONBEAM \/ S\"}]}}]]"});})();</script><script>
window.ShopifyAnalytics = window.ShopifyAnalytics || {};
window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
window.ShopifyAnalytics.meta.currency = 'USD';
var meta = {"products":[{"id":8042034790537,"gid":"gid:\/\/shopify\/Product\/8042034790537","vendor":"O5 Quiksilver","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-17-qsm35vl087-blk","variants":[{"id":43779544744073,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Black - BLACK \/ S","public_title":"BLACK \/ S","sku":"QSM35VL087-BLK-OMA-S"},{"id":43779544776841,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Black - BLACK \/ M","public_title":"BLACK \/ M","sku":"QSM35VL087-BLK-OMA-M"},{"id":43779544809609,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Black - BLACK \/ L","public_title":"BLACK \/ L","sku":"QSM35VL087-BLK-OMA-L"},{"id":43779544842377,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Black - BLACK \/ XL","public_title":"BLACK \/ XL","sku":"QSM35VL087-BLK-OMA-XL"},{"id":43779544875145,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Black - BLACK \/ 2XL","public_title":"BLACK \/ 2XL","sku":"QSM35VL087-BLK-OMA-2XL"}],"remote":false,"collective":false},{"id":8337482481801,"gid":"gid:\/\/shopify\/Product\/8337482481801","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-15-qsm15vl012-rvb","variants":[{"id":44926187372681,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Riviera - RIVIERA \/ S","public_title":"RIVIERA \/ S","sku":"QSM15VL012-RVB-OMA-S"},{"id":44926187438217,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Riviera - RIVIERA \/ M","public_title":"RIVIERA \/ M","sku":"QSM15VL012-RVB-OMA-M"},{"id":44926187470985,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Riviera - RIVIERA \/ L","public_title":"RIVIERA \/ L","sku":"QSM15VL012-RVB-OMA-L"},{"id":44926187536521,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Riviera - RIVIERA \/ XL","public_title":"RIVIERA \/ XL","sku":"QSM15VL012-RVB-OMA-XL"},{"id":44926187569289,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Riviera - RIVIERA \/ XXL","public_title":"RIVIERA \/ XXL","sku":"QSM15VL012-RVB-OMA-XXL"}],"remote":false,"collective":false},{"id":8337459576969,"gid":"gid:\/\/shopify\/Product\/8337459576969","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"saltwater-volley-17-qs000278-anh","variants":[{"id":44926071865481,"price":5900,"name":"Saltwater 17\" Swim Trunks - Anthracite - ANTHRACITE \/ S","public_title":"ANTHRACITE \/ S","sku":"QS000278-ANH-OMA-S"},{"id":44926072619145,"price":5900,"name":"Saltwater 17\" Swim Trunks - Anthracite - ANTHRACITE \/ M","public_title":"ANTHRACITE \/ M","sku":"QS000278-ANH-OMA-M"},{"id":44926073045129,"price":5900,"name":"Saltwater 17\" Swim Trunks - Anthracite - ANTHRACITE \/ L","public_title":"ANTHRACITE \/ L","sku":"QS000278-ANH-OMA-L"},{"id":44926073569417,"price":5900,"name":"Saltwater 17\" Swim Trunks - Anthracite - ANTHRACITE \/ XL","public_title":"ANTHRACITE \/ XL","sku":"QS000278-ANH-OMA-XL"},{"id":44926074388617,"price":5900,"name":"Saltwater 17\" Swim Trunks - Anthracite - ANTHRACITE \/ XXL","public_title":"ANTHRACITE \/ XXL","sku":"QS000278-ANH-OMA-XXL"}],"remote":false,"collective":false},{"id":8605448241289,"gid":"gid:\/\/shopify\/Product\/8605448241289","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"pacifico-talavera-volley-qs000992y-dkd","variants":[{"id":46725124784265,"price":6900,"name":"Pacifico Talavera Volley Swim Trunks - Dark Denim - DARK DENIM \/ XS","public_title":"DARK DENIM \/ XS","sku":"QS000992Y-DKD-OMA-XS"},{"id":46725124915337,"price":6900,"name":"Pacifico Talavera Volley Swim Trunks - Dark Denim - DARK DENIM \/ S","public_title":"DARK DENIM \/ S","sku":"QS000992Y-DKD-OMA-S"},{"id":46725126029449,"price":6900,"name":"Pacifico Talavera Volley Swim Trunks - Dark Denim - DARK DENIM \/ M","public_title":"DARK DENIM \/ M","sku":"QS000992Y-DKD-OMA-M"},{"id":46725126127753,"price":6900,"name":"Pacifico Talavera Volley Swim Trunks - Dark Denim - DARK DENIM \/ L","public_title":"DARK DENIM \/ L","sku":"QS000992Y-DKD-OMA-L"},{"id":46725126422665,"price":6900,"name":"Pacifico Talavera Volley Swim Trunks - Dark Denim - DARK DENIM \/ XL","public_title":"DARK DENIM \/ XL","sku":"QS000992Y-DKD-OMA-XL"},{"id":46725126586505,"price":6900,"name":"Pacifico Talavera Volley Swim Trunks - Dark Denim - DARK DENIM \/ XXL","public_title":"DARK DENIM \/ XXL","sku":"QS000992Y-DKD-OMA-XXL"}],"remote":false,"collective":false},{"id":8650418749577,"gid":"gid:\/\/shopify\/Product\/8650418749577","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"mix-pack-17wm-qs000842m-fdbl","variants":[{"id":46836680851593,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Federal Blue - FEDERAL BLUE \/ XS","public_title":"FEDERAL BLUE \/ XS","sku":"QS000842M-FDBL-OMA-XS"},{"id":46836681670793,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Federal Blue - FEDERAL BLUE \/ S","public_title":"FEDERAL BLUE \/ S","sku":"QS000842M-FDBL-OMA-S"},{"id":46836681867401,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Federal Blue - FEDERAL BLUE \/ M","public_title":"FEDERAL BLUE \/ M","sku":"QS000842M-FDBL-OMA-M"},{"id":46836681900169,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Federal Blue - FEDERAL BLUE \/ L","public_title":"FEDERAL BLUE \/ L","sku":"QS000842M-FDBL-OMA-L"},{"id":46836681965705,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Federal Blue - FEDERAL BLUE \/ XL","public_title":"FEDERAL BLUE \/ XL","sku":"QS000842M-FDBL-OMA-XL"},{"id":46836681998473,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Federal Blue - FEDERAL BLUE \/ XXL","public_title":"FEDERAL BLUE \/ XXL","sku":"QS000842M-FDBL-OMA-XXL"}],"remote":false,"collective":false},{"id":8337482350729,"gid":"gid:\/\/shopify\/Product\/8337482350729","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-15-qsm15vl012-bok","variants":[{"id":44926186553481,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Brook Green - BROOK GREEN \/ S","public_title":"BROOK GREEN \/ S","sku":"QSM15VL012-BOK-OMA-S"},{"id":44926186586249,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Brook Green - BROOK GREEN \/ M","public_title":"BROOK GREEN \/ M","sku":"QSM15VL012-BOK-OMA-M"},{"id":44926186619017,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Brook Green - BROOK GREEN \/ L","public_title":"BROOK GREEN \/ L","sku":"QSM15VL012-BOK-OMA-L"},{"id":44926186651785,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Brook Green - BROOK GREEN \/ XL","public_title":"BROOK GREEN \/ XL","sku":"QSM15VL012-BOK-OMA-XL"},{"id":44926186684553,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Brook Green - BROOK GREEN \/ XXL","public_title":"BROOK GREEN \/ XXL","sku":"QSM15VL012-BOK-OMA-XXL"}],"remote":false,"collective":false},{"id":8337483563145,"gid":"gid:\/\/shopify\/Product\/8337483563145","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-17-qsm35vl087-toe","variants":[{"id":44926192648329,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Total Eclipse - TOTAL ECLIPSE \/ S","public_title":"TOTAL ECLIPSE \/ S","sku":"QSM35VL087-TOE-OMA-S"},{"id":44926192713865,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Total Eclipse - TOTAL ECLIPSE \/ M","public_title":"TOTAL ECLIPSE \/ M","sku":"QSM35VL087-TOE-OMA-M"},{"id":44926192779401,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Total Eclipse - TOTAL ECLIPSE \/ L","public_title":"TOTAL ECLIPSE \/ L","sku":"QSM35VL087-TOE-OMA-L"},{"id":44926193729673,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Total Eclipse - TOTAL ECLIPSE \/ XL","public_title":"TOTAL ECLIPSE \/ XL","sku":"QSM35VL087-TOE-OMA-XL"},{"id":44926193827977,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Total Eclipse - TOTAL ECLIPSE \/ 2XL","public_title":"TOTAL ECLIPSE \/ 2XL","sku":"QSM35VL087-TOE-OMA-2XL"}],"remote":false,"collective":false},{"id":8337483432073,"gid":"gid:\/\/shopify\/Product\/8337483432073","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-17-qsm35vl087-lpd","variants":[{"id":44926192320649,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Lily Pad - LILY PAD \/ S","public_title":"LILY PAD \/ S","sku":"QSM35VL087-LPD-OMA-S"},{"id":44926192353417,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Lily Pad - LILY PAD \/ M","public_title":"LILY PAD \/ M","sku":"QSM35VL087-LPD-OMA-M"},{"id":44926192451721,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Lily Pad - LILY PAD \/ L","public_title":"LILY PAD \/ L","sku":"QSM35VL087-LPD-OMA-L"},{"id":44926192484489,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Lily Pad - LILY PAD \/ XL","public_title":"LILY PAD \/ XL","sku":"QSM35VL087-LPD-OMA-XL"},{"id":44926192517257,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Lily Pad - LILY PAD \/ 2XL","public_title":"LILY PAD \/ 2XL","sku":"QSM35VL087-LPD-OMA-2XL"}],"remote":false,"collective":false},{"id":8337482383497,"gid":"gid:\/\/shopify\/Product\/8337482383497","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-15-qsm15vl012-hot","variants":[{"id":44926186946697,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Hot Coral - HOT CORAL \/ S","public_title":"HOT CORAL \/ S","sku":"QSM15VL012-HOT-OMA-S"},{"id":44926186979465,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Hot Coral - HOT CORAL \/ M","public_title":"HOT CORAL \/ M","sku":"QSM15VL012-HOT-OMA-M"},{"id":44926187012233,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Hot Coral - HOT CORAL \/ L","public_title":"HOT CORAL \/ L","sku":"QSM15VL012-HOT-OMA-L"},{"id":44926187045001,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Hot Coral - HOT CORAL \/ XL","public_title":"HOT CORAL \/ XL","sku":"QSM15VL012-HOT-OMA-XL"},{"id":44926187077769,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Hot Coral - HOT CORAL \/ XXL","public_title":"HOT CORAL \/ XXL","sku":"QSM15VL012-HOT-OMA-XXL"}],"remote":false,"collective":false},{"id":8337483137161,"gid":"gid:\/\/shopify\/Product\/8337483137161","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-17-qsm35vl087-aqu","variants":[{"id":44926190059657,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Aqua - AQUA \/ S","public_title":"AQUA \/ S","sku":"QSM35VL087-AQU-OMA-S"},{"id":44926192156809,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Aqua - AQUA \/ M","public_title":"AQUA \/ M","sku":"QSM35VL087-AQU-OMA-M"},{"id":44926192189577,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Aqua - AQUA \/ L","public_title":"AQUA \/ L","sku":"QSM35VL087-AQU-OMA-L"},{"id":44926192222345,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Aqua - AQUA \/ XL","public_title":"AQUA \/ XL","sku":"QSM35VL087-AQU-OMA-XL"},{"id":44926192255113,"price":4400,"name":"Everyday Solid 17\" Swim Trunks - Aqua - AQUA \/ 2XL","public_title":"AQUA \/ 2XL","sku":"QSM35VL087-AQU-OMA-2XL"}],"remote":false,"collective":false},{"id":8650418552969,"gid":"gid:\/\/shopify\/Product\/8650418552969","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"mix-pack-17wm-qs000842m-dsl","variants":[{"id":46836680294537,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Dark Slate - DARK SLATE \/ XS","public_title":"DARK SLATE \/ XS","sku":"QS000842M-DSL-OMA-XS"},{"id":46836680327305,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Dark Slate - DARK SLATE \/ S","public_title":"DARK SLATE \/ S","sku":"QS000842M-DSL-OMA-S"},{"id":46836680556681,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Dark Slate - DARK SLATE \/ M","public_title":"DARK SLATE \/ M","sku":"QS000842M-DSL-OMA-M"},{"id":46836680589449,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Dark Slate - DARK SLATE \/ L","public_title":"DARK SLATE \/ L","sku":"QS000842M-DSL-OMA-L"},{"id":46836680654985,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Dark Slate - DARK SLATE \/ XL","public_title":"DARK SLATE \/ XL","sku":"QS000842M-DSL-OMA-XL"},{"id":46836680720521,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Dark Slate - DARK SLATE \/ XXL","public_title":"DARK SLATE \/ XXL","sku":"QS000842M-DSL-OMA-XXL"}],"remote":false,"collective":false},{"id":8337461313673,"gid":"gid:\/\/shopify\/Product\/8337461313673","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"saltwater-volley-17-qs000278-rvb","variants":[{"id":44926075338889,"price":5900,"name":"Saltwater 17\" Swim Trunks - Riviera - RIVIERA \/ S","public_title":"RIVIERA \/ S","sku":"QS000278-RVB-OMA-S"},{"id":44926075371657,"price":5900,"name":"Saltwater 17\" Swim Trunks - Riviera - RIVIERA \/ M","public_title":"RIVIERA \/ M","sku":"QS000278-RVB-OMA-M"},{"id":44926075732105,"price":5900,"name":"Saltwater 17\" Swim Trunks - Riviera - RIVIERA \/ L","public_title":"RIVIERA \/ L","sku":"QS000278-RVB-OMA-L"},{"id":44926075764873,"price":5900,"name":"Saltwater 17\" Swim Trunks - Riviera - RIVIERA \/ XL","public_title":"RIVIERA \/ XL","sku":"QS000278-RVB-OMA-XL"},{"id":44926075830409,"price":5900,"name":"Saltwater 17\" Swim Trunks - Riviera - RIVIERA \/ XXL","public_title":"RIVIERA \/ XXL","sku":"QS000278-RVB-OMA-XXL"}],"remote":false,"collective":false},{"id":8337482416265,"gid":"gid:\/\/shopify\/Product\/8337482416265","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-15-qsm15vl012-ple","variants":[{"id":44926187143305,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Pink Lemonade - PINK LEMONADE \/ S","public_title":"PINK LEMONADE \/ S","sku":"QSM15VL012-PLE-OMA-S"},{"id":44926187208841,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Pink Lemonade - PINK LEMONADE \/ M","public_title":"PINK LEMONADE \/ M","sku":"QSM15VL012-PLE-OMA-M"},{"id":44926187241609,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Pink Lemonade - PINK LEMONADE \/ L","public_title":"PINK LEMONADE \/ L","sku":"QSM15VL012-PLE-OMA-L"},{"id":44926187274377,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Pink Lemonade - PINK LEMONADE \/ XL","public_title":"PINK LEMONADE \/ XL","sku":"QSM15VL012-PLE-OMA-XL"},{"id":44926187307145,"price":4400,"name":"Everyday Solid 15\" Swim Trunks - Pink Lemonade - PINK LEMONADE \/ XXL","public_title":"PINK LEMONADE \/ XXL","sku":"QSM15VL012-PLE-OMA-XXL"}],"remote":false,"collective":false},{"id":8337480548489,"gid":"gid:\/\/shopify\/Product\/8337480548489","vendor":"O5 QUIKSILVER","type":"Mens - Boardshort","handle":"surfsilk-street-trunk-18-qsm15bs015-glf","variants":[{"id":44926177083529,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 28","public_title":"GRAPE LEAF \/ 28","sku":"QSM15BS015-GLF-OMN-28"},{"id":44926177116297,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 29","public_title":"GRAPE LEAF \/ 29","sku":"QSM15BS015-GLF-OMN-29"},{"id":44926177149065,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 30","public_title":"GRAPE LEAF \/ 30","sku":"QSM15BS015-GLF-OMN-30"},{"id":44926177181833,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 31","public_title":"GRAPE LEAF \/ 31","sku":"QSM15BS015-GLF-OMN-31"},{"id":44926177214601,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 32","public_title":"GRAPE LEAF \/ 32","sku":"QSM15BS015-GLF-OMN-32"},{"id":44926177247369,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 33","public_title":"GRAPE LEAF \/ 33","sku":"QSM15BS015-GLF-OMN-33"},{"id":44926177280137,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 34","public_title":"GRAPE LEAF \/ 34","sku":"QSM15BS015-GLF-OMN-34"},{"id":44926177312905,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 36","public_title":"GRAPE LEAF \/ 36","sku":"QSM15BS015-GLF-OMN-36"},{"id":44926177345673,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 38","public_title":"GRAPE LEAF \/ 38","sku":"QSM15BS015-GLF-OMN-38"},{"id":44926177378441,"price":6600,"name":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf - GRAPE LEAF \/ 40","public_title":"GRAPE LEAF \/ 40","sku":"QSM15BS015-GLF-OMN-40"}],"remote":false,"collective":false},{"id":8650419011721,"gid":"gid:\/\/shopify\/Product\/8650419011721","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"mix-pack-17wm-qs000842m-mnbm","variants":[{"id":46836682096777,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ XS","public_title":"MOONBEAM \/ XS","sku":"QS000842M-MNBM-OMA-XS"},{"id":46836682129545,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ S","public_title":"MOONBEAM \/ S","sku":"QS000842M-MNBM-OMA-S"},{"id":46836682195081,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ M","public_title":"MOONBEAM \/ M","sku":"QS000842M-MNBM-OMA-M"},{"id":46836682227849,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ L","public_title":"MOONBEAM \/ L","sku":"QS000842M-MNBM-OMA-L"},{"id":46836682293385,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ XL","public_title":"MOONBEAM \/ XL","sku":"QS000842M-MNBM-OMA-XL"},{"id":46836682784905,"price":6200,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ XXL","public_title":"MOONBEAM \/ XXL","sku":"QS000842M-MNBM-OMA-XXL"}],"remote":false,"collective":false},{"id":8473894256777,"gid":"gid:\/\/shopify\/Product\/8473894256777","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"mix-pack-17-wm-qs000534m-nal","variants":[{"id":45358441169033,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - North Atlantic - NORTH ATLANTIC \/ S","public_title":"NORTH ATLANTIC \/ S","sku":"QS000534M-NAL-OMA-S"},{"id":45358441660553,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - North Atlantic - NORTH ATLANTIC \/ M","public_title":"NORTH ATLANTIC \/ M","sku":"QS000534M-NAL-OMA-M"},{"id":45358441693321,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - North Atlantic - NORTH ATLANTIC \/ L","public_title":"NORTH ATLANTIC \/ L","sku":"QS000534M-NAL-OMA-L"},{"id":45358441791625,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - North Atlantic - NORTH ATLANTIC \/ XL","public_title":"NORTH ATLANTIC \/ XL","sku":"QS000534M-NAL-OMA-XL"},{"id":45358441889929,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - North Atlantic - NORTH ATLANTIC \/ XXL","public_title":"NORTH ATLANTIC \/ XXL","sku":"QS000534M-NAL-OMA-XXL"}],"remote":false,"collective":false},{"id":8337461182601,"gid":"gid:\/\/shopify\/Product\/8337461182601","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"saltwater-volley-17-qs000278-lpd","variants":[{"id":44926074749065,"price":3497,"name":"Saltwater 17\" Swim Trunks - Lily Pad - LILY PAD \/ S","public_title":"LILY PAD \/ S","sku":"QS000278-LPD-OMA-S"},{"id":44926074781833,"price":3497,"name":"Saltwater 17\" Swim Trunks - Lily Pad - LILY PAD \/ M","public_title":"LILY PAD \/ M","sku":"QS000278-LPD-OMA-M"},{"id":44926074847369,"price":3497,"name":"Saltwater 17\" Swim Trunks - Lily Pad - LILY PAD \/ L","public_title":"LILY PAD \/ L","sku":"QS000278-LPD-OMA-L"},{"id":44926074912905,"price":3497,"name":"Saltwater 17\" Swim Trunks - Lily Pad - LILY PAD \/ XL","public_title":"LILY PAD \/ XL","sku":"QS000278-LPD-OMA-XL"},{"id":44926075240585,"price":3497,"name":"Saltwater 17\" Swim Trunks - Lily Pad - LILY PAD \/ XXL","public_title":"LILY PAD \/ XXL","sku":"QS000278-LPD-OMA-XXL"}],"remote":false,"collective":false},{"id":8337471275145,"gid":"gid:\/\/shopify\/Product\/8337471275145","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"mix-volley-17-qs000445-bhz","variants":[{"id":44926131470473,"price":2797,"name":"Mix Volley 17\" Swim Trunks - Blue Haze - BLUE HAZE \/ S","public_title":"BLUE HAZE \/ S","sku":"QS000445-BHZ-OMA-S"},{"id":44926131568777,"price":2797,"name":"Mix Volley 17\" Swim Trunks - Blue Haze - BLUE HAZE \/ M","public_title":"BLUE HAZE \/ M","sku":"QS000445-BHZ-OMA-M"},{"id":44926131601545,"price":2797,"name":"Mix Volley 17\" Swim Trunks - Blue Haze - BLUE HAZE \/ L","public_title":"BLUE HAZE \/ L","sku":"QS000445-BHZ-OMA-L"},{"id":44926131634313,"price":2797,"name":"Mix Volley 17\" Swim Trunks - Blue Haze - BLUE HAZE \/ XL","public_title":"BLUE HAZE \/ XL","sku":"QS000445-BHZ-OMA-XL"},{"id":44926131667081,"price":2797,"name":"Mix Volley 17\" Swim Trunks - Blue Haze - BLUE HAZE \/ XXL","public_title":"BLUE HAZE \/ XXL","sku":"QS000445-BHZ-OMA-XXL"}],"remote":false,"collective":false},{"id":8042034626697,"gid":"gid:\/\/shopify\/Product\/8042034626697","vendor":"O5 Quiksilver","type":"Mens - Swim Trunk","handle":"everyday-solid-volley-17-nb-qsm15vl013-hgy","variants":[{"id":43779543924873,"price":2197,"name":"Everyday Solid 17\" Swim Trunks - Heather Gray - HEATHER GRAY \/ S","public_title":"HEATHER GRAY \/ S","sku":"QSM15VL013-HGY-OMA-S"},{"id":43779543957641,"price":2197,"name":"Everyday Solid 17\" Swim Trunks - Heather Gray - HEATHER GRAY \/ M","public_title":"HEATHER GRAY \/ M","sku":"QSM15VL013-HGY-OMA-M"},{"id":43779543990409,"price":2197,"name":"Everyday Solid 17\" Swim Trunks - Heather Gray - HEATHER GRAY \/ L","public_title":"HEATHER GRAY \/ L","sku":"QSM15VL013-HGY-OMA-L"},{"id":43779544023177,"price":2197,"name":"Everyday Solid 17\" Swim Trunks - Heather Gray - HEATHER GRAY \/ XL","public_title":"HEATHER GRAY \/ XL","sku":"QSM15VL013-HGY-OMA-XL"},{"id":43779544055945,"price":2197,"name":"Everyday Solid 17\" Swim Trunks - Heather Gray - HEATHER GRAY \/ 2XL","public_title":"HEATHER GRAY \/ 2XL","sku":"QSM15VL013-HGY-OMA-2XL"}],"remote":false,"collective":false},{"id":8473894125705,"gid":"gid:\/\/shopify\/Product\/8473894125705","vendor":"O5 QUIKSILVER","type":"Mens - Swim Trunk","handle":"mix-pack-17-wm-qs000534m-mnbm","variants":[{"id":45358440480905,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ S","public_title":"MOONBEAM \/ S","sku":"QS000534M-MNBM-OMA-S"},{"id":45358440513673,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ M","public_title":"MOONBEAM \/ M","sku":"QS000534M-MNBM-OMA-M"},{"id":45358440579209,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ L","public_title":"MOONBEAM \/ L","sku":"QS000534M-MNBM-OMA-L"},{"id":45358440611977,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ XL","public_title":"MOONBEAM \/ XL","sku":"QS000534M-MNBM-OMA-XL"},{"id":45358440644745,"price":4899,"name":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam - MOONBEAM \/ XXL","public_title":"MOONBEAM \/ XXL","sku":"QS000534M-MNBM-OMA-XXL"}],"remote":false,"collective":false}],"page":{"pageType":"collection","resourceType":"collection","resourceId":301714768009,"requestId":"fa985595-5222-4b94-a136-67f10dc515f1-1787490873"}};
for (var attr in meta) {
window.ShopifyAnalytics.meta[attr] = meta[attr];
}
</script>
<script class="analytics">
(function () {
var customDocumentWrite = function(content) {
var jquery = null;
if (window.jQuery) {
jquery = window.jQuery;
} else if (window.Checkout && window.Checkout.$) {
jquery = window.Checkout.$;
}
if (jquery) {
jquery('body').append(content);
}
};
var hasLoggedConversion = function(token) {
if (token) {
return document.cookie.indexOf('loggedConversion=' + token) !== -1;
}
return false;
}
var setCookieIfConversion = function(token) {
if (token) {
var twoMonthsFromNow = new Date(Date.now());
twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
}
}
var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
window.ShopifyAnalytics.lib.trekkie = window.trekkie;
if (trekkie.integrations) {
return;
}
trekkie.methods = [
'identify',
'page',
'ready',
'track',
'trackForm',
'trackLink'
];
trekkie.factory = function(method) {
return function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(method);
trekkie.push(args);
if (window.__TREKKIE_SHIM_QUEUE && (method == 'track' || method == 'page')) {
try {
window.__TREKKIE_SHIM_QUEUE.push({
from: 'trekkie-stub',
method: method,
args: args.slice(1)
});
} catch (e) {
// no-op
}
}
return trekkie;
};
};
for (var i = 0; i < trekkie.methods.length; i++) {
var key = trekkie.methods[i];
trekkie[key] = trekkie.factory(key);
}
trekkie.load = function(config) {
trekkie.config = config || {};
trekkie.config.initialDocumentCookie = document.cookie;
var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
var scriptFallback = document.createElement('script');
scriptFallback.type = 'text/javascript';
scriptFallback.onerror = function(error) {
var Monorail = {
produce: function produce(monorailDomain, schemaId, payload) {
var currentMs = new Date().getTime();
var event = {
schema_id: schemaId,
payload: payload,
metadata: {
event_created_at_ms: currentMs,
event_sent_at_ms: currentMs
}
};
return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
},
sendRequest: function sendRequest(endpointUrl, payload) {
// Try the sendBeacon API
if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
var blobData = new window.Blob([payload], {
type: 'text/plain'
});
if (window.navigator.sendBeacon(endpointUrl, blobData)) {
return true;
} // sendBeacon was not successful
} // XHR beacon
var xhr = new XMLHttpRequest();
try {
xhr.open('POST', endpointUrl);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(payload);
} catch (e) {
console.log(e);
}
return false;
},
isIos12: function isIos12() {
return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
}
};
Monorail.produce('monorail-edge.shopifysvc.com',
'trekkie_storefront_load_errors/1.1',
{shop_id: 68768563337,
theme_id: 156086206601,
app_name: "storefront",
context_url: window.location.href,
source_url: "//www.quiksilver.com/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js"});
};
scriptFallback.async = true;
scriptFallback.src = '//www.quiksilver.com/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js';
first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//www.quiksilver.com/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js';
first.parentNode.insertBefore(script, first);
};
trekkie.load(
{"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":68768563337,"isMerchantRequest":null,"themeId":156086206601,"themeCityHash":"17079381159741009936","contentLanguage":"en","currency":"USD","eventMetadataId":"858709ba-dd85-4e6f-a1fb-c2d77c7bff48"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["f43e7f5e","b5387b81","d5bdd5d0"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
);
var loaded = false;
trekkie.ready(function() {
if (loaded) return;
loaded = true;
window.ShopifyAnalytics.lib = window.trekkie;
var originalDocumentWrite = document.write;
document.write = customDocumentWrite;
try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
document.write = originalDocumentWrite;
var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
var token = match? match[1]: undefined;
if (!hasLoggedConversion(token)) {
setCookieIfConversion(token);
window.ShopifyAnalytics.lib.track("Viewed Product Category",{"currency":"USD","category":"Collection: mens-clothing-boardshorts-elastic-waist","collectionName":"mens-clothing-boardshorts-elastic-waist","collectionId":301714768009,"nonInteraction":true},undefined,undefined,{"shopifyEmitted":true});
}
});
window.ShopifyAnalytics.lib.page(null,{"pageType":"collection","resourceType":"collection","resourceId":301714768009,"requestId":"fa985595-5222-4b94-a136-67f10dc515f1-1787490873","shopifyEmitted":true});
var eventsListenerScript = document.createElement('script');
eventsListenerScript.async = true;
eventsListenerScript.src = "//www.quiksilver.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script
defer
src="https://www.quiksilver.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.8.4.min.js"
data-application="storefront-renderer"
data-shop-id="68768563337"
data-render-region="gcp-europe-west1"
data-page-type="collection"
data-theme-instance-id="156086206601"
data-theme-name="Liberated Platform"
data-theme-version="2.0"
data-monorail-region="shop_domain"
data-resource-timing-sampling-rate="10"
data-shs="true"
data-shs-beacon="true"
data-shs-export-with-fetch="true"
data-shs-logs-sample-rate="1"
data-shs-beacon-endpoint="https://www.quiksilver.com/api/collect"
></script>
<meta name="shopify-y" content="76ee0599-0ccd-45fa-9d3d-d80363da2a76"><meta name="shopify-s" content="e46c4bfa-fc9f-4c44-bd12-95103fa6ef07"><meta name="new-cookie-storage-activated" content="f">
</head>
<body id="men-39-s-boardshorts-and-swim-shorts-quiksilver" class="template-collection template-collection header--default">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "Quiksilver",
"sameAs": [
"https://www.facebook.com/quiksilver/",
"https://www.instagram.com/quiksilver/"
],
"description": "Discover Quiksilver. Shop the latest clothing, accessories, surf and snowboard gear. Created by surfers since 1969. Shop the official store now.",
"url": "https://www.quiksilver.com"
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "CollectionPage",
"description": "",
"name": "Men's Boardshorts and Swim Shorts"
}
</script>
<script type="application/ld+json">
{
"@context": "http://www.schema.org",
"@type":"ItemList",
"numberOfItems": 49,
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Everyday Solid 17" Swim Trunks - Black",
"url": "/products/everyday-solid-volley-17-qsm35vl087-blk"
},
{
"@type": "ListItem",
"position": 2,
"name": "Everyday Solid 15" Swim Trunks - Riviera",
"url": "/products/everyday-solid-volley-15-qsm15vl012-rvb"
},
{
"@type": "ListItem",
"position": 3,
"name": "Saltwater 17" Swim Trunks - Anthracite",
"url": "/products/saltwater-volley-17-qs000278-anh"
},
{
"@type": "ListItem",
"position": 4,
"name": "Pacifico Talavera Volley Swim Trunks - Dark Denim",
"url": "/products/pacifico-talavera-volley-qs000992y-dkd"
},
{
"@type": "ListItem",
"position": 5,
"name": "Waterman Mix Pack 17" Swim Trunks - Federal Blue",
"url": "/products/mix-pack-17wm-qs000842m-fdbl"
},
{
"@type": "ListItem",
"position": 6,
"name": "Everyday Solid 15" Swim Trunks - Brook Green",
"url": "/products/everyday-solid-volley-15-qsm15vl012-bok"
},
{
"@type": "ListItem",
"position": 7,
"name": "Everyday Solid 17" Swim Trunks - Total Eclipse",
"url": "/products/everyday-solid-volley-17-qsm35vl087-toe"
},
{
"@type": "ListItem",
"position": 8,
"name": "Everyday Solid 17" Swim Trunks - Lily Pad",
"url": "/products/everyday-solid-volley-17-qsm35vl087-lpd"
},
{
"@type": "ListItem",
"position": 9,
"name": "Everyday Solid 15" Swim Trunks - Hot Coral",
"url": "/products/everyday-solid-volley-15-qsm15vl012-hot"
},
{
"@type": "ListItem",
"position": 10,
"name": "Everyday Solid 17" Swim Trunks - Aqua",
"url": "/products/everyday-solid-volley-17-qsm35vl087-aqu"
},
{
"@type": "ListItem",
"position": 11,
"name": "Waterman Mix Pack 17" Swim Trunks - Dark Slate",
"url": "/products/mix-pack-17wm-qs000842m-dsl"
},
{
"@type": "ListItem",
"position": 12,
"name": "Saltwater 17" Swim Trunks - Riviera",
"url": "/products/saltwater-volley-17-qs000278-rvb"
},
{
"@type": "ListItem",
"position": 13,
"name": "Everyday Solid 15" Swim Trunks - Pink Lemonade",
"url": "/products/everyday-solid-volley-15-qsm15vl012-ple"
},
{
"@type": "ListItem",
"position": 14,
"name": "Surfsilk Street Trunk Stripe 18" Boardshorts - Grape Leaf",
"url": "/products/surfsilk-street-trunk-18-qsm15bs015-glf"
},
{
"@type": "ListItem",
"position": 15,
"name": "Waterman Mix Pack 17" Swim Trunks - Moonbeam",
"url": "/products/mix-pack-17wm-qs000842m-mnbm"
},
{
"@type": "ListItem",
"position": 16,
"name": "Waterman Mix Pack 17" Swim Trunks - North Atlantic",
"url": "/products/mix-pack-17-wm-qs000534m-nal"
},
{
"@type": "ListItem",
"position": 17,
"name": "Saltwater 17" Swim Trunks - Lily Pad",
"url": "/products/saltwater-volley-17-qs000278-lpd"
},
{
"@type": "ListItem",
"position": 18,
"name": "Mix Volley 17" Swim Trunks - Blue Haze",
"url": "/products/mix-volley-17-qs000445-bhz"
},
{
"@type": "ListItem",
"position": 19,
"name": "Everyday Solid 17" Swim Trunks - Heather Gray",
"url": "/products/everyday-solid-volley-17-nb-qsm15vl013-hgy"
},
{
"@type": "ListItem",
"position": 20,
"name": "Waterman Mix Pack 17" Swim Trunks - Moonbeam",
"url": "/products/mix-pack-17-wm-qs000534m-mnbm"
}
]
}
</script>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TXGB3SJ6" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<a class="sr-only skip-to-content-link button" href="#MainContent">
Skip to content
</a>
<div id="shopify-section-header" class="shopify-section">
<header
class="section-header announcement-header relative clip-path flex flex-wrap lg:flex-nowrap items-center justify-center header--default">
<div class="announcement-header__swiper flex items-center justify-center w-full lg:w-1/2 mx-auto">
<main
class="swiper swiper-container w-full"
>
<div class="items-center swiper-wrapper">
<div
"
style="color:#242a33;"
class="announcement__slide flex w-100 items-center justify-center text-center swiper-slide relative
cursor-default">
<p class="type--eyebrow"></p>
<p class="type--headline" style="color: inherit; margin: 0; line-height:1;"></p>
<span class="announcement__slide--text hidden lg:inline-block">
Sign up for email + SMS for <b>15% off your first order</b>
</span>
<span class="flex justify-center items-center announcement__buttons">
<a
class="announcement__slide--button button button--link"
href="https://www.quiksilver.com/pages/quiksilver-sign-up"
>
SIGN UP
</a>
</span>
</div>
</div>
</main>
</div>
</header>
<section class="relative overflow-hidden">
<div class="peer" collapse-banner></div>
<button
class="absolute top-md lg:top-xl right-md lg:right-xl z-50 bg-white peer-empty:hidden"
onclick="_n.qs('[collapse-banner]').innerHTML = ''; modal.close()"
>
<svg
class="icon icon-close"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-close"/>
</svg>
<span class="sr-only">close</span>
</button>
</section>
<style>@media (min-width: 1024px) {#mainMenu-guides { display: none; }#mainMenu-hidden { display: none; }#mainMenu-snow { display: none; }#mainMenu-home { display: none; }#mainMenu-catalog { display: none; }#mainMenu-contact { display: none; }}
@media (max-width: 1023px) {#mainMenu-hidden { display: none; }#mainMenu-guides { display: none; }#mainMenu-snow { display: none; }#mainMenu-home { display: none; }#mainMenu-catalog { display: none; }#mainMenu-contact { display: none; }#mainMenu-help-contact { display: none; }#mainMenu-search { display: none; }}
</style>
<header
id="siteHeader"
role="banner"
class="header clip-path flex relative header--default"
>
<div class="header__nav-trigger-container flex lg:hidden">
<button id="navTrigger"
class="header__nav-trigger hamburger-menu__tools lg:hidden flex group"
neptune-engage="{
on:click,
targets: [
{
selector:.header__nav,
classes:toggle:active
},
{
selector:html,
attributes:[{
att:data-active-modal-mobile,
toggle:modal--mobile-menu
}]
}
]
}">
<svg
class="icon flex group-active:hidden icon-menu"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-menu"/>
</svg>
<span class="sr-only">menu</span>
<svg
class="icon group-active:flex hidden icon-x"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">close</span>
</button>
</div>
<div class="header__logo header--default flex">
<a
href="/"
class="header__logo-link"
>
<span class="logo-link--span">
<svg class="logo "
style=""
width="130"
height="40"
fill="none"
stroke="currentColor"
stroke-width="0"
stroke-linecap="round"
stroke-linejoin="round">
<use xlink:href="#logo-def-primary"/>
</svg>
</span>
<span class="sr-only">Quiksilver Logo</span>
</a>
</div>
<div class="header__announcement-mobile header--default hidden">
<div class="announcement-header__swiper flex lg:w-1/2">
<main
class="swiper swiper-container w-full"
>
<div class="items-center swiper-wrapper">
<div style="color: #242a33;" class="flex w-100 items-center justify-center text-center swiper-slide cursor-default">
<span >Sign up for email + SMS for <b>15% off your first order</b></span>
<a
class="cursor-pointer text-xs ml-2 button button--link button--narrow py-1"
href="https://www.quiksilver.com/pages/quiksilver-sign-up"
>
SIGN UP
</a>
</div>
</div>
</main>
</div>
</div>
<div class=" hidden mobile-top-svg clip-path"></div>
<nav class="header__nav flex lg:flex-row flex-col max-lg:absolute max-lg:left-0 max-lg:w-full max-lg:transform max-lg:-translate-x-full active:max-lg:translate-x-0 max-lg:z-40 max-lg:top-header">
<button
class="nav__button nav__button--close"
neptune-engage="{
on:click,
targets: [
{
selector:.header__nav,
classes:toggle:active
},
{
selector:.mega-menu__link--list.active,
classes:remove:active
},
{
selector:.nav__item.active,
classes:remove:active
},
{
selector:html,
attributes:[{
att:data-active-modal-mobile,
toggle:modal--mobile-menu
}]
}
]
}">
<span class="nav-trigger--icon-x">
<svg
class="icon icon-x"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">close</span>
</span>
</button>
<div class="header__nav-wrap-content">
<ul class="nav flex lg:flex-row flex-col clip-path">
<li id="mainMenu-new" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--mens-collections-new-arrivals header-menu-item-title--new " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/collections/mens-collections-new-arrivals"
>
<span
class="link__text"
>New</span>
</a>
</div>
</li>
<li id="mainMenu-trending" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--get-it-now header-menu-item-title--trending " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/pages/get-it-now"
>
<span
class="link__text"
>Trending</span>
</a>
</div>
</li>
<li id="mainMenu-mens" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--mens header-menu-item-title--mens " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/collections/mens"
>
<span
class="link__text"
>Men's</span>
</a>
</div>
</li>
<li id="mainMenu-surf" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--surf header-menu-item-title--surf " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/collections/surf"
>
<span
class="link__text"
>Surf</span>
</a>
</div>
</li>
<li id="mainMenu-waterman" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--mens-waterman header-menu-item-title--waterman " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/collections/mens-waterman"
>
<span
class="link__text"
>Waterman</span>
</a>
</div>
</li>
<li id="mainMenu-womens" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--womens header-menu-item-title--womens " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/collections/womens"
>
<span
class="link__text"
>Women's</span>
</a>
</div>
</li>
<li id="mainMenu-boys" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--boys-clothing header-menu-item-title--boys " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/collections/boys-clothing"
>
<span
class="link__text"
>Boys</span>
</a>
</div>
</li>
<li id="mainMenu-snow" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--mens-snow header-menu-item-title--snow " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/collections/mens-snow"
>
<span
class="link__text"
>Snow</span>
</a>
</div>
</li>
<li id="mainMenu-sale" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--sale header-menu-item-title--sale " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/collections/sale"
>
<span
class="link__text"
>Sale</span>
</a>
</div>
</li>
<li id="mainMenu-rewards" class="nav__item--icon-arrow-header nav__item group header-menu-item header-menu-item--freedom-benefits header-menu-item-title--rewards nav__item--main-last " tabindex="0">
<div class="nav-item__button-wrap"><a
class="type-nav-item nav__link group"
href="/pages/freedom-benefits"
>
<span
class="link__text"
>Rewards</span>
</a>
</div>
</li>
</ul>
<div class="nav__footer lg:hidden">
<ul class="nav nav--mobile">
<li class="nav__item nav__item--search">
<a
class="nav__link type-nav-item"
tabindex="0"
neptune-engage="{
targets:[
{
attributes:[
{
att:data-return-focus,
set:here
}
]
},
{
selector:html,
attributes:[
{
att:data-active-modal,
set:search
}
]
},
{
selector:.modal-search-form,
methods:reset
}
]
}"
>
Search
</a>
</li>
<li class="nav__item nav__item--account"><a href="https://www.quiksilver.com/customer_authentication/redirect?locale=en®ion_country=US" class="tools__button type-nav-item">
<svg
class="icon inline tools__icon icon-account"
style=""
width="24"
height="20"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-account"/>
</svg>
<span class="sr-only">Log in</span>
Log in
</a></li>
<li class="nav__item nav__item--wishlist-mobile">
<a class="nav__link" href="/pages/swym-share-wishlist">
<div class="tools__button tools__wishlist empty:hidden" neptune-liquid="{topic:Wishlist,source:wishlist}">
<template>
{%- if lists[0].items.size > 0 -%}
<svg
class="icon wish icon-heart-filled"
style=""
width="20"
height="20"
fill="#000000"
stroke="#000000"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-heart-filled"/>
</svg>
<span class="sr-only">heart-filled</span>
<span class="link__text">Wishlist</span>
{%- endif -%}
</template>
</div>
</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="header__tools tools flex justify-end items-center ml-auto">
<div class="tools__search">
<div class="tools__search--trigger" tabindex="0" neptune-brig="{keys:[38,40]}">
<form class="relative search-trigger">
<div
class="tools__button cursor-pointer flex items-center"
neptune-engage="{
targets:[
{
attributes:[
{
att:data-return-focus,
set:here
}
]
},
{
selector:html,
attributes:[
{
att:data-active-modal,
set:search
}
]
},
{
selector:.modal-search-form,
methods:reset
}
]
}"
>
<input type="search"
id="Search-header"
value=""
class="search-trigger__input absolute inset-0 opacity-0 cursor-pointer w-full"
readonly="readonly"
right="left"
autocomplete="off"
>
<span class="search-trigger__icon">
<svg
class="icon tools__icon icon-search"
style=""
width="24"
height="20"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-search"/>
</svg>
<span class="sr-only">search</span>
</span>
<span class="search-trigger__text hidden lg:block">Search</span>
</div>
<input type="submit" value="go" class="sr-only">
</form>
</div>
</div><a href="https://www.quiksilver.com/customer_authentication/redirect?locale=en®ion_country=US" class="tools__button tools__account flex">
<div class="flex">
<svg
class="icon tools__icon icon-account"
style=""
width="24"
height="20"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-account"/>
</svg>
<span class="sr-only">Log in</span>
</div>
</a><a href="/pages/swym-share-wishlist" class="tools__button tools__wishlist empty:hidden tools__wishlist--hidden" neptune-liquid="{topic:Wishlist,source:wishlist}">
<script type="liquid/template">
{%- if lists[0].items.size > 0 -%}
<svg
class="icon wish icon-heart-filled"
style=""
width="20"
height="20"
fill="#000000"
stroke="#000000"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-heart-filled"/>
</svg>
<span class="sr-only">heart-filled</span>
{%- endif -%}
</script>
</a>
<button
class="tools__button tools__button--cart flex relative after:content-[attr(cart-count)]"
n:cart-count="
{%- assign itemcount = 0 -%}
{%- for item in items -%}
{%- unless item.properties._bundle == 'component' -%}
{%- assign itemcount = itemcount | plus: item.quantity -%}
{%- endunless -%}
{%- endfor -%}
{{- itemcount -}}
"
aria-live="polite"
neptune-liquid="{topic:Cart, source:cart}"
neptune-engage="{targets:[
{
attributes:[{
att:data-return-focus
set:_remove
}]
},{
selector:html,
attributes:[{
att:data-active-modal,
set:cart
}]
}]}"
>
<script type="liquid/template">
<div class="relative">
<svg
class="icon tools__icon icon-custom-cart"
style=""
width="24"
height="20"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-custom-cart"/>
</svg>
<span class="sr-only">Cart</span>
</div>
</script>
</button>
<button class="tools__button--cart-close hidden" neptune-engage="[{
'targets':[{
'selector':'html',
'attributes':[{
'att':'data-active-modal',
'set':'_remove'
}]
},
{
'selector':'[data-return-focus]',
'attributes':[{
'att':'data-return-focus',
'set':'_remove'
}],
'focus':true
}]
}]">
<svg
class="icon icon-x"
style=""
width="12"
height="12"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">Close</span>
</button>
</div>
</header>
<style data-shopify>
:root {
--header-bg-color: #ffffff;
--header-color: #242a33;
--header-mobile-alt-bg-color: #0e0e0e;
--header-mobile-alt-color: #ffffff;
--announcement-color: #242a33;
--announcement-bg-color: #ffffff;
--announcement-bg-hover-color: #ffffff;
}
.header, #shopify-section-header {
background-color: var(--header-bg-color);
}
.header__nav {
color: var(--header-color);
}
.announcement-header {
background-color: var(--announcement-bg-color);
color: var(--announcement-color);
}
.announcement-header:hover{
background-color: var(--announcement-bg-hover-color);
}
[data-active-modal="banner"] .modal-overlay {
z-index: 30;
}
</style>
<style> #shopify-section-header {z-index: 50; /* Make sure it's higher than other overlapping elements */} </style></div>
<div id="shopify-section-mega-menu" class="shopify-section">
<button class="nav__item--button-arrow nav__button--next show-on-focus"
neptune-transport="
{
append:'.header-menu-item-title--trending .nav-item__button-wrap'
}"
neptune-engage='[{
preventDefault: true,
on:click,
targets: [
{
selector:".header-menu-item-title--trending",
classes:toggle:active,
siblings:classes:remove:active
},
{
selector:.header__search-desktop,
classes:remove:active
},
{
selector:.header,
classes:remove:search-active
},
{
selector:body,
classes:toggle:active-mega
}
]
}]'>
<span class="sr-only">Show trending menu</span>
<span class="ml-1.5 mr-auto icon icon-right mega-menu-icon-right lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div
class="overlay mega-overlay fixed left-0 vh-100 w-full z-40 bg-black-50"
neptune-transport="
{
append:'.header-menu-item-title--trending:not(.header-menu-item--announcement-bar)'
}
"
></div>
<div
class="nav__item--icon-arrow-megamenu mega-menu block-parent_Md3zaa w-full clip-path lg:group-hover:visible lg:group-focus:visible lg:group-hover:opacity-100 lg:group-focus:opacity-100 lg:group-focus:pointer-events-auto lg:group-hover:translate-x-0 lg:group-focus:translate-x-0 lg:group-hover:max-h-screen lg:group-focus:max-h-screen lg:group-hover:pointer-events-auto lg:invisible lg:overflow-hidden lg:opacity-0 lg:pointer-events-none w-full absolute top-full left-0"
style="background-color:#ffffff;"
neptune-transport="
{
append:'.header-menu-item-title--trending:not(.header-menu-item--announcement-bar)'
}
"
neptune-engage="[
{
preventDefault: true,
on: keyup,
which:27,
targets:[
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus: true
}
]
}]" tabindex="0">
<button class="nav__button nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.header-menu-item-title--trending',
classes:toggle:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>trending</span>
</button>
<div class="mega-menu__container w-full
lg:pt-0">
<div class="mega-menu__list dropdown-parent_Md3zaa animate lg:p-4 p-4">
<div class="container lg:ml-auto lg:mr-auto flex flex-wrap">
<style data-shopify>
.dropdown-parent_Md3zaa {
background-color: ;
}
@media (min-width: 1024px) {
.dropdown-parent_Md3zaa {
background-color: #ffffff;
}
}
</style>
<div class="mega-menu__list-wrap flex flex-wrap items-start justify-center lg:-mx-2 lg:flex-wrap">
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--trending #megaMenu-hidden-link_list_iKWdRJ { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--trending #megaMenu-hidden-link_list_iKWdRJ { display: none; }}
.mega__link_list--link_list_iKWdRJ .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_iKWdRJ .nav__list-columns {
background-color: #ffffff;
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_iKWdRJ
lg:hidden block
w-full
lg:w-full
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-0 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex lg:flex-row flex-col">
<li id="megaMenu-new-arrivals-link_list_iKWdRJ" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-collections-new-arrivals"
>
<span>New Arrivals</span>
</a></li>
<li id="megaMenu-young-guns-link_list_iKWdRJ" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/young-guns"
>
<span>Young Guns</span>
</a></li>
<li id="megaMenu-hawaii-link_list_iKWdRJ" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-hawaii-collection"
>
<span>Hawaii</span>
</a></li>
<li id="megaMenu-saltwater-link_list_iKWdRJ" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/saltwater"
>
<span>Saltwater</span>
</a></li>
<li id="megaMenu-mercury-link_list_iKWdRJ" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-collections-mercury"
>
<span>Mercury</span>
</a></li>
<li id="megaMenu-best-sellers-link_list_iKWdRJ" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-collections-best-sellers"
>
<span>Best Sellers</span>
</a></li>
<li id="megaMenu-athlete-picks-link_list_iKWdRJ" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/pages/athlete-picks"
>
<span>Athlete Picks</span>
</a></li>
<li id="megaMenu-quik-media-link_list_iKWdRJ" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Quik Media</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Quik Media menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Quik Media</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/pages/young-guns"
>
Young Guns Movie
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/pages/stab-high"
>
Stab High
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/blogs/news/watch-king-of-the-groms-2026"
>
King Of The Groms
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/pages/scored"
>
Scored
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/pages/washed"
>
Washed
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/pages/get-it-now"
>
Get It Now
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:hidden block ">
<div class="w-full h-full px-4 py-4 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/young-guns">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Trending_YG_Mobile_2x_88182033-212c-49f2-bf12-399991544d74_375x.jpg?v=1784072680 375w,//www.quiksilver.com/cdn/shop/files/Trending_YG_Mobile_2x_88182033-212c-49f2-bf12-399991544d74_750x.jpg?v=1784072680 750w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Trending_YG_Mobile_2x_88182033-212c-49f2-bf12-399991544d74_750x.jpg?v=1784072680"
loading="lazy"
alt=""
width="800"
height="600.0"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Young Guns</h4>
</div>
</a>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:hidden block ">
<div class="w-full h-full px-4 py-4 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/mens-hawaii-collection">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Trending_Hawaii_Mobile_1_375x.jpg?v=1786569249 375w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Trending_Hawaii_Mobile_1_750x.jpg?v=1786569249"
loading="lazy"
alt=""
width="600"
height="450.0"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Hawaii</h4>
</div>
</a>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:hidden block ">
<div class="w-full h-full px-4 py-4 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/mens-collections-mercury">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Mercury_Trending_Mobile_1_375x.jpg?v=1786569233 375w,//www.quiksilver.com/cdn/shop/files/Mercury_Trending_Mobile_1_750x.jpg?v=1786569233 750w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Mercury_Trending_Mobile_1_750x.jpg?v=1786569233"
loading="lazy"
alt=""
width="833"
height="625.0"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Mercury</h4>
</div>
</a>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--trending #megaMenu-hidden-link_list_T7379z { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--trending #megaMenu-hidden-link_list_T7379z { display: none; }}
.mega__link_list--link_list_T7379z .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_T7379z .nav__list-columns {
background-color: #ffffff;
}
}
.mega__link_list--link_list_T7379z .nav__list-columns,
.mega__link_list--link_list_T7379z .nav__list-columns a {
color: #000000;
}
</style>
<div class="mega__link_list mega__link_list--link_list_T7379z
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-0 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex lg:flex-row flex-col">
<li id="megaMenu-collections-link_list_T7379z" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Collections</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Collections menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Collections</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-collections-new-arrivals"
>
New Arrivals
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-collections-mercury"
>
Mercury
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/young-guns"
>
Young Guns
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-hawaii-collection"
>
Hawaii
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/saltwater"
>
Saltwater
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/faherty-x-quiksilver-collection"
>
Faherty x Quiksilver
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/pacifico"
>
Pacifico Collection
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-collections-best-sellers"
>
Best Sellers
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/pages/athlete-picks"
>
Athlete Picks
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--trending #megaMenu-hidden-link_list_fzGxni { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--trending #megaMenu-hidden-link_list_fzGxni { display: none; }}
.mega__link_list--link_list_fzGxni .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_fzGxni .nav__list-columns {
background-color: #ffffff;
}
}
.mega__link_list--link_list_fzGxni .nav__list-columns,
.mega__link_list--link_list_fzGxni .nav__list-columns a {
color: #000000;
}
</style>
<div class="mega__link_list mega__link_list--link_list_fzGxni
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-0 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex lg:flex-row flex-col">
<li id="megaMenu-quik-media-link_list_fzGxni" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Quik Media</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Quik Media menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Quik Media</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/pages/young-guns"
>
Young Guns Movie
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/blogs/news/watch-king-of-the-groms-2026"
>
King Of The Groms
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/pages/scored"
>
Scored Movie
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/pages/washed"
>
Washed Movie
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/pages/get-it-now"
>
Get It Now
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:block hidden ">
<div class="w-full h-full px-4 py-0 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/young-guns">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Trending_YG_2x_908cae76-797c-4c4f-92ba-857141055607_375x.jpg?v=1784072694 375w,//www.quiksilver.com/cdn/shop/files/Trending_YG_2x_908cae76-797c-4c4f-92ba-857141055607_750x.jpg?v=1784072694 750w,//www.quiksilver.com/cdn/shop/files/Trending_YG_2x_908cae76-797c-4c4f-92ba-857141055607_1100x.jpg?v=1784072694 1100w,//www.quiksilver.com/cdn/shop/files/Trending_YG_2x_908cae76-797c-4c4f-92ba-857141055607_1500x.jpg?v=1784072694 1500w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Trending_YG_2x_908cae76-797c-4c4f-92ba-857141055607_750x.jpg?v=1784072694"
loading="lazy"
alt=""
width="1600"
height="2400.0000000000005"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Young Guns</h4>
</div>
</a>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:block hidden ">
<div class="w-full h-full px-4 py-0 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/mens-hawaii-collection">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Trending_Hawaii_Desktop_375x.jpg?v=1786566553 375w,//www.quiksilver.com/cdn/shop/files/Trending_Hawaii_Desktop_750x.jpg?v=1786566553 750w,//www.quiksilver.com/cdn/shop/files/Trending_Hawaii_Desktop_1100x.jpg?v=1786566553 1100w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Trending_Hawaii_Desktop_750x.jpg?v=1786566553"
loading="lazy"
alt=""
width="1200"
height="1800.0000000000002"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Hawaii</h4>
</div>
</a>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:block hidden ">
<div class="w-full h-full px-4 py-0 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/mens-collections-mercury">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Mercury_Trending_Desktop_2_375x.jpg?v=1786569282 375w,//www.quiksilver.com/cdn/shop/files/Mercury_Trending_Desktop_2_750x.jpg?v=1786569282 750w,//www.quiksilver.com/cdn/shop/files/Mercury_Trending_Desktop_2_1100x.jpg?v=1786569282 1100w,//www.quiksilver.com/cdn/shop/files/Mercury_Trending_Desktop_2_1500x.jpg?v=1786569282 1500w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Mercury_Trending_Desktop_2_750x.jpg?v=1786569282"
loading="lazy"
alt=""
width="1667"
height="2500.0"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Mercury</h4>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<button class="nav__item--button-arrow nav__button--next show-on-focus"
neptune-transport="
{
append:'.header-menu-item--mens .nav-item__button-wrap'
}"
neptune-engage='[{
preventDefault: true,
on:click,
targets: [
{
selector:".header-menu-item--mens",
classes:toggle:active,
siblings:classes:remove:active
},
{
selector:.header__search-desktop,
classes:remove:active
},
{
selector:.header,
classes:remove:search-active
},
{
selector:body,
classes:toggle:active-mega
}
]
}]'>
<span class="sr-only">Show mens menu</span>
<span class="ml-1.5 mr-auto icon icon-right mega-menu-icon-right lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div
class="overlay mega-overlay fixed left-0 vh-100 w-full z-40 bg-black-50"
neptune-transport="
{
append:'.header-menu-item--mens:not(.header-menu-item--announcement-bar)'
}
"
></div>
<div
class="nav__item--icon-arrow-megamenu mega-menu block-parent_eXXmfL w-full clip-path lg:group-hover:visible lg:group-focus:visible lg:group-hover:opacity-100 lg:group-focus:opacity-100 lg:group-focus:pointer-events-auto lg:group-hover:translate-x-0 lg:group-focus:translate-x-0 lg:group-hover:max-h-screen lg:group-focus:max-h-screen lg:group-hover:pointer-events-auto lg:invisible lg:overflow-hidden lg:opacity-0 lg:pointer-events-none w-full absolute top-full left-0"
style="background-color:#ffffff;"
neptune-transport="
{
append:'.header-menu-item--mens:not(.header-menu-item--announcement-bar)'
}
"
neptune-engage="[
{
preventDefault: true,
on: keyup,
which:27,
targets:[
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus: true
}
]
}]" tabindex="0">
<button class="nav__button nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.header-menu-item--mens',
classes:toggle:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>mens</span>
</button>
<div class="mega-menu__container w-full
lg:mt-0">
<div class="mega-menu__list dropdown-parent_eXXmfL animate lg:p-4 p-4">
<div class="container lg:ml-auto lg:mr-auto flex flex-wrap">
<style data-shopify>
.dropdown-parent_eXXmfL {
background-color: ;
}
@media (min-width: 1024px) {
.dropdown-parent_eXXmfL {
background-color: #ffffff;
}
}
</style>
<div class="mega-menu__list-wrap flex flex-wrap items-start justify-center lg:-mx-2 lg:flex-wrap">
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--mens #megaMenu-hidden-link_list_EGmAg4 { display: none; }}
@media (max-width: 1023px) {.header-menu-item--mens #megaMenu-hidden-link_list_EGmAg4 { display: none; }}
.mega__link_list--link_list_EGmAg4 .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_EGmAg4 .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_EGmAg4 .nav__list-columns,
.mega__link_list--link_list_EGmAg4 .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_EGmAg4
lg:hidden block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-mens-clothing-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing"
>
<span>All Men's Clothing</span>
</a></li>
<li id="megaMenu-tees-tanks-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing-tees"
>
<span>Tees & Tanks</span>
</a></li>
<li id="megaMenu-shirts-polos-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing-shirts-polos"
>
<span>Shirts & Polos</span>
</a></li>
<li id="megaMenu-boardshorts-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing-boardshorts"
>
<span>Boardshorts</span>
</a></li>
<li id="megaMenu-shorts-amphibians-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing-shorts-amphibians"
>
<span>Shorts & Amphibians</span>
</a></li>
<li id="megaMenu-pants-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing-pants"
>
<span>Pants</span>
</a></li>
<li id="megaMenu-sweatshirts-hoodies-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing-sweatshirts-hoodies"
>
<span>Sweatshirts & Hoodies</span>
</a></li>
<li id="megaMenu-jackets-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing-jackets"
>
<span>Jackets</span>
</a></li>
<li id="megaMenu-accessories-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/mens-accessories"
>
<span>Accessories</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Accessories menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Accessories</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-hats"
>
Hats
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-backpacks-bags"
>
Backpacks & Wallets
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-wallets"
>
Wallets
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-water-bottles"
>
Water Bottles & Coolers
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/fragrances"
>
Fragrances
</a>
</li></ul>
</div></li>
<li id="megaMenu-sale-link_list_EGmAg4" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale"
>
<span>Sale</span>
</a></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--mens #megaMenu-hidden-link_list_hjJFCz { display: none; }}
@media (max-width: 1023px) {.header-menu-item--mens #megaMenu-hidden-link_list_hjJFCz { display: none; }}
.mega__link_list--link_list_hjJFCz .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_hjJFCz .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_hjJFCz .nav__list-columns,
.mega__link_list--link_list_hjJFCz .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_hjJFCz
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-mens-clothing-link_list_hjJFCz" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-clothing"
>
<span>All Mens Clothing</span>
</a></li>
<li id="megaMenu-tops-link_list_hjJFCz" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/mens-tops"
>
<span>Tops</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Tops menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Tops</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-tees"
>
Tees
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-shirts-polos"
>
Shirts & Polos
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-sweatshirts-hoodies"
>
Sweatshirts & Hoodies
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-jackets"
>
Jackets
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--mens #megaMenu-hidden-link_list_UEgzWm { display: none; }}
@media (max-width: 1023px) {.header-menu-item--mens #megaMenu-hidden-link_list_UEgzWm { display: none; }}
.mega__link_list--link_list_UEgzWm .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_UEgzWm .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_UEgzWm .nav__list-columns,
.mega__link_list--link_list_UEgzWm .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_UEgzWm
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-bottoms-link_list_UEgzWm" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/mens-bottoms"
>
<span>Bottoms</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Bottoms menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Bottoms</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-shorts-amphibians"
>
Shorts & Amphibians
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-pants"
>
Pants
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--mens #megaMenu-hidden-link_list_tqQcAH { display: none; }.header-menu-item--mens #megaMenu-snow-link_list_tqQcAH { display: none; }}
@media (max-width: 1023px) {.header-menu-item--mens #megaMenu-hidden-link_list_tqQcAH { display: none; }.header-menu-item--mens #megaMenu-snow-link_list_tqQcAH { display: none; }}
.mega__link_list--link_list_tqQcAH .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_tqQcAH .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_tqQcAH .nav__list-columns,
.mega__link_list--link_list_tqQcAH .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_tqQcAH
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-hidden-link_list_tqQcAH" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="#"
>
<span>Hidden</span>
</a></li>
<li id="megaMenu-surf-link_list_tqQcAH" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/surf-mens"
>
<span>Surf</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Surf menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Surf</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-surf-wetsuits"
>
Wetsuits
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-boardshorts"
>
Boardshorts
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-rashguards-surf-tees"
>
Rashguards
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/life-vests"
>
Life Vests
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/surf-mens"
>
Shop All
</a>
</li></ul>
</div></li>
<li id="megaMenu-snow-link_list_tqQcAH" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/mens-snow"
>
<span>Snow</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Snow menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Snow</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-snow"
>
Shop All
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--mens #megaMenu-hidden-link_list_9PVT6f { display: none; }}
@media (max-width: 1023px) {.header-menu-item--mens #megaMenu-hidden-link_list_9PVT6f { display: none; }}
.mega__link_list--link_list_9PVT6f .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_9PVT6f .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_9PVT6f .nav__list-columns,
.mega__link_list--link_list_9PVT6f .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_9PVT6f
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-accessories-link_list_9PVT6f" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/mens-accessories"
>
<span>Accessories</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Accessories menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Accessories</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-hats"
>
Hats
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-backpacks-bags"
>
Backpacks & Bags
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-wallets"
>
Wallets
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-water-bottles"
>
Water Bottles & Coolers
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/fragrances"
>
Fragrances
</a>
</li></ul>
</div></li>
<li id="megaMenu-sale-link_list_9PVT6f" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens"
>
<span>Sale</span>
</a></li>
<li id="megaMenu-hidden-link_list_9PVT6f" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Hidden</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Hidden menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Hidden</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-belts"
>
Belts
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-water-bottles"
>
Water Bottles
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-accessories-towels"
>
Towels
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<button class="nav__item--button-arrow nav__button--next show-on-focus"
neptune-transport="
{
append:'.header-menu-item--womens .nav-item__button-wrap'
}"
neptune-engage='[{
preventDefault: true,
on:click,
targets: [
{
selector:".header-menu-item--womens",
classes:toggle:active,
siblings:classes:remove:active
},
{
selector:.header__search-desktop,
classes:remove:active
},
{
selector:.header,
classes:remove:search-active
},
{
selector:body,
classes:toggle:active-mega
}
]
}]'>
<span class="sr-only">Show womens menu</span>
<span class="ml-1.5 mr-auto icon icon-right mega-menu-icon-right lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div
class="overlay mega-overlay fixed left-0 vh-100 w-full z-40 bg-black-50"
neptune-transport="
{
append:'.header-menu-item--womens:not(.header-menu-item--announcement-bar)'
}
"
></div>
<div
class="nav__item--icon-arrow-megamenu mega-menu block-parent_BXhxP7 w-full clip-path lg:group-hover:visible lg:group-focus:visible lg:group-hover:opacity-100 lg:group-focus:opacity-100 lg:group-focus:pointer-events-auto lg:group-hover:translate-x-0 lg:group-focus:translate-x-0 lg:group-hover:max-h-screen lg:group-focus:max-h-screen lg:group-hover:pointer-events-auto lg:invisible lg:overflow-hidden lg:opacity-0 lg:pointer-events-none w-full absolute top-full left-0"
style="background-color:#ffffff;"
neptune-transport="
{
append:'.header-menu-item--womens:not(.header-menu-item--announcement-bar)'
}
"
neptune-engage="[
{
preventDefault: true,
on: keyup,
which:27,
targets:[
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus: true
}
]
}]" tabindex="0">
<button class="nav__button nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.header-menu-item--womens',
classes:toggle:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>womens</span>
</button>
<div class="mega-menu__container w-full
lg:mt-0">
<div class="mega-menu__list dropdown-parent_BXhxP7 animate lg:p-4 p-4">
<div class="container lg:ml-auto lg:mr-auto flex flex-wrap">
<style data-shopify>
.dropdown-parent_BXhxP7 {
background-color: ;
}
@media (min-width: 1024px) {
.dropdown-parent_BXhxP7 {
background-color: #ffffff;
}
}
</style>
<div class="mega-menu__list-wrap flex flex-wrap items-start justify-center lg:-mx-2 lg:flex-wrap">
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--womens #megaMenu-hidden-link_list_UaM7UW { display: none; }}
@media (max-width: 1023px) {.header-menu-item--womens #megaMenu-hidden-link_list_UaM7UW { display: none; }}
.mega__link_list--link_list_UaM7UW .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_UaM7UW .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_UaM7UW .nav__list-columns,
.mega__link_list--link_list_UaM7UW .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_UaM7UW
lg:hidden block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-womens-clothing-link_list_UaM7UW" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens"
>
<span>All Women's Clothing</span>
</a></li>
<li id="megaMenu-tees-link_list_UaM7UW" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens-tees"
>
<span>Tees </span>
</a></li>
<li id="megaMenu-swim-link_list_UaM7UW" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens-swimwear"
>
<span>Swim</span>
</a></li>
<li id="megaMenu-shorts-link_list_UaM7UW" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens-shorts"
>
<span>Shorts</span>
</a></li>
<li id="megaMenu-pants-link_list_UaM7UW" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens-pants"
>
<span>Pants</span>
</a></li>
<li id="megaMenu-sweatshirts-hoodies-link_list_UaM7UW" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens-sweatshirts-and-hoodies"
>
<span>Sweatshirts & Hoodies</span>
</a></li>
<li id="megaMenu-dresses-skirts-link_list_UaM7UW" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens-skirts"
>
<span>Dresses & Skirts</span>
</a></li>
<li id="megaMenu-womens-sale-link_list_UaM7UW" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens-sale-clothing"
>
<span>Women's Sale</span>
</a></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--womens #megaMenu-hidden-link_list_pea474 { display: none; }}
@media (max-width: 1023px) {.header-menu-item--womens #megaMenu-hidden-link_list_pea474 { display: none; }}
.mega__link_list--link_list_pea474 .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_pea474 .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_pea474 .nav__list-columns,
.mega__link_list--link_list_pea474 .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_pea474
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-womens-clothing-link_list_pea474" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens"
>
<span>All Womens Clothing</span>
</a></li>
<li id="megaMenu-womens-sale-link_list_pea474" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/womens-sale-clothing"
>
<span>Women's Sale</span>
</a></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--womens #megaMenu-hidden-link_list_eCtLTc { display: none; }}
@media (max-width: 1023px) {.header-menu-item--womens #megaMenu-hidden-link_list_eCtLTc { display: none; }}
.mega__link_list--link_list_eCtLTc .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_eCtLTc .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_eCtLTc .nav__list-columns,
.mega__link_list--link_list_eCtLTc .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_eCtLTc
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-tops-link_list_eCtLTc" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/womens-tops"
>
<span>Tops</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Tops menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Tops</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/womens-tees"
>
Tees
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/womens-sweatshirts-and-hoodies"
>
Sweatshirts & Hoodies
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--womens #megaMenu-hidden-link_list_8DpaW7 { display: none; }}
@media (max-width: 1023px) {.header-menu-item--womens #megaMenu-hidden-link_list_8DpaW7 { display: none; }}
.mega__link_list--link_list_8DpaW7 .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_8DpaW7 .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_8DpaW7 .nav__list-columns,
.mega__link_list--link_list_8DpaW7 .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_8DpaW7
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-bottoms-link_list_8DpaW7" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/womens-bottoms"
>
<span>Bottoms</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Bottoms menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Bottoms</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/womens-shorts"
>
Shorts
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/womens-pants"
>
Pants
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/womens-skirts"
>
Dresses & Skirts
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--womens #megaMenu-hidden-link_list_kNVehf { display: none; }}
@media (max-width: 1023px) {.header-menu-item--womens #megaMenu-hidden-link_list_kNVehf { display: none; }}
.mega__link_list--link_list_kNVehf .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_kNVehf .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
.mega__link_list--link_list_kNVehf .nav__list-columns,
.mega__link_list--link_list_kNVehf .nav__list-columns a {
color: #181818;
}
</style>
<div class="mega__link_list mega__link_list--link_list_kNVehf
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-swim-link_list_kNVehf" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/womens-swimwear"
>
<span>Swim</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Swim menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Swim</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/womens-swimwear"
>
Shop All
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<button class="nav__item--button-arrow nav__button--next show-on-focus"
neptune-transport="
{
append:'.header-menu-item--surf .nav-item__button-wrap'
}"
neptune-engage='[{
preventDefault: true,
on:click,
targets: [
{
selector:".header-menu-item--surf",
classes:toggle:active,
siblings:classes:remove:active
},
{
selector:.header__search-desktop,
classes:remove:active
},
{
selector:.header,
classes:remove:search-active
},
{
selector:body,
classes:toggle:active-mega
}
]
}]'>
<span class="sr-only">Show surf menu</span>
<span class="ml-1.5 mr-auto icon icon-right mega-menu-icon-right lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div
class="overlay mega-overlay fixed left-0 vh-100 w-full z-40 bg-black-50"
neptune-transport="
{
append:'.header-menu-item--surf:not(.header-menu-item--announcement-bar)'
}
"
></div>
<div
class="nav__item--icon-arrow-megamenu mega-menu block-parent_hmczy6 w-full clip-path lg:group-hover:visible lg:group-focus:visible lg:group-hover:opacity-100 lg:group-focus:opacity-100 lg:group-focus:pointer-events-auto lg:group-hover:translate-x-0 lg:group-focus:translate-x-0 lg:group-hover:max-h-screen lg:group-focus:max-h-screen lg:group-hover:pointer-events-auto lg:invisible lg:overflow-hidden lg:opacity-0 lg:pointer-events-none w-full absolute top-full left-0"
style="background-color:#ffffff;"
neptune-transport="
{
append:'.header-menu-item--surf:not(.header-menu-item--announcement-bar)'
}
"
neptune-engage="[
{
preventDefault: true,
on: keyup,
which:27,
targets:[
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus: true
}
]
}]" tabindex="0">
<button class="nav__button nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.header-menu-item--surf',
classes:toggle:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>surf</span>
</button>
<div class="mega-menu__container w-full
lg:mt-0">
<div class="mega-menu__list dropdown-parent_hmczy6 animate lg:p-4 p-4">
<div class="container lg:ml-auto lg:mr-auto flex flex-wrap">
<style data-shopify>
.dropdown-parent_hmczy6 {
background-color: ;
}
@media (min-width: 1024px) {
.dropdown-parent_hmczy6 {
background-color: #ffffff;
}
}
</style>
<div class="mega-menu__list-wrap flex flex-wrap items-start justify-center lg:-mx-2 lg:flex-wrap">
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--surf #megaMenu-hidden-link_list_tNc4Gt { display: none; }}
@media (max-width: 1023px) {.header-menu-item--surf #megaMenu-hidden-link_list_tNc4Gt { display: none; }}
.mega__link_list--link_list_tNc4Gt .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_tNc4Gt .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_tNc4Gt
lg:hidden block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-surf-link_list_tNc4Gt" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/surf"
>
<span>All Surf</span>
</a></li>
<li id="megaMenu-boardshorts-link_list_tNc4Gt" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/mens-clothing-boardshorts"
>
<span>Boardshorts</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Boardshorts menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Boardshorts</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-boardshorts"
>
All Boardshorts
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/mens-surf-boardshorts?filter[filter.p.m.filter.outseam]=20%20(Long)%2C21%20(Long)"
>
Long Length (20"-21")
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/mens-surf-boardshorts?filter[filter.p.m.filter.outseam]=17%20(Medium)%2C18%20(Medium)%2C19%20(Medium)"
>
Mid Length (17"-19")
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/mens-surf-boardshorts?filter[filter.p.m.filter.outseam]=15%20(Short)"
>
Short Length (15"-16")
</a>
</li></ul>
</div></li>
<li id="megaMenu-wetsuits-link_list_tNc4Gt" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-surf-wetsuits"
>
<span>Wetsuits</span>
</a></li>
<li id="megaMenu-collections-link_list_tNc4Gt" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Collections</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Collections menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Collections</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-surf-boardshorts-surfsilk"
>
Surfsilk
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts-originals"
>
Originals
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-collections-highline"
>
Highline
</a>
</li></ul>
</div></li>
<li id="megaMenu-expert-guides-link_list_tNc4Gt" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/blogs/expert-guides"
>
<span>Expert Guides</span>
</a></li>
<li id="megaMenu-surf-team-link_list_tNc4Gt" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/blogs/quik-surf-team"
>
<span>Surf Team</span>
</a></li>
<li id="megaMenu-athlete-picks-link_list_tNc4Gt" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/pages/athlete-picks"
>
<span>Athlete Picks</span>
</a></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--surf #megaMenu-hidden-link_list_rdkgkt { display: none; }}
@media (max-width: 1023px) {.header-menu-item--surf #megaMenu-hidden-link_list_rdkgkt { display: none; }}
.mega__link_list--link_list_rdkgkt .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_rdkgkt .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_rdkgkt
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-surf-link_list_rdkgkt" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/surf-mens"
>
<span>All Surf</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">All Surf menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>All Surf</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-surf-boardshorts"
>
Boardshorts
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-clothing-rashguards-surf-tees"
>
Rashguards
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-surf-wetsuits"
>
Wetsuits
</a>
</li></ul>
</div></li>
<li id="megaMenu-hidden-link_list_rdkgkt" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Hidden</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Hidden menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Hidden</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/surf-mens-surf-accessories"
>
Accessories
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--surf #megaMenu-hidden-link_list_Ufrdjn { display: none; }}
@media (max-width: 1023px) {.header-menu-item--surf #megaMenu-hidden-link_list_Ufrdjn { display: none; }}
.mega__link_list--link_list_Ufrdjn .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_Ufrdjn .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_Ufrdjn
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-boardshorts-link_list_Ufrdjn" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/mens-surf-boardshorts"
>
<span>All Boardshorts</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">All Boardshorts menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>All Boardshorts</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-long-boardshorts"
>
Long Length (20"-21")
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-mid-length-boardshorts"
>
Mid Length (17"-19")
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-short-boardshorts"
>
Short Length (15"-16")
</a>
</li></ul>
</div></li>
<li id="megaMenu-hidden-link_list_Ufrdjn" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Hidden</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Hidden menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Hidden</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/surf-boys"
>
Boys Surf
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--surf #megaMenu-hidden-link_list_UVXqkj { display: none; }}
@media (max-width: 1023px) {.header-menu-item--surf #megaMenu-hidden-link_list_UVXqkj { display: none; }}
.mega__link_list--link_list_UVXqkj .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_UVXqkj .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_UVXqkj
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-collections-link_list_UVXqkj" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Collections</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Collections menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Collections</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-surf-boardshorts-surfsilk"
>
Surfsilk
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/surf-mens-boardshorts-originals"
>
Originals
</a>
</li></ul>
</div></li>
<li id="megaMenu-hidden-link_list_UVXqkj" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="#"
>
<span>Hidden</span>
</a></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--surf #megaMenu-hidden-link_list_VccrbB { display: none; }}
@media (max-width: 1023px) {.header-menu-item--surf #megaMenu-hidden-link_list_VccrbB { display: none; }}
.mega__link_list--link_list_VccrbB .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_VccrbB .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_VccrbB
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-hidden-link_list_VccrbB" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Hidden</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Hidden menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Hidden</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/pages/wetsuits-guide"
>
Wetsuit Guide
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/"
>
Wetsuit Fit Guide
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/blogs/expert-guides"
>
Expert Guide
</a>
</li></ul>
</div></li>
<li id="megaMenu-expert-guides-link_list_VccrbB" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/blogs/expert-guides"
>
<span>Expert Guides</span>
</a></li>
<li id="megaMenu-surf-team-link_list_VccrbB" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/blogs/quik-surf-team"
>
<span>Surf Team</span>
</a></li>
<li id="megaMenu-athlete-picks-link_list_VccrbB" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/pages/athlete-picks"
>
<span>Athlete Picks</span>
</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<button class="nav__item--button-arrow nav__button--next show-on-focus"
neptune-transport="
{
append:'.header-menu-item-title--boardshorts .nav-item__button-wrap'
}"
neptune-engage='[{
preventDefault: true,
on:click,
targets: [
{
selector:".header-menu-item-title--boardshorts",
classes:toggle:active,
siblings:classes:remove:active
},
{
selector:.header__search-desktop,
classes:remove:active
},
{
selector:.header,
classes:remove:search-active
},
{
selector:body,
classes:toggle:active-mega
}
]
}]'>
<span class="sr-only">Show boardshorts menu</span>
<span class="ml-1.5 mr-auto icon icon-right mega-menu-icon-right lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div
class="overlay mega-overlay fixed left-0 vh-100 w-full z-40 bg-black-50"
neptune-transport="
{
append:'.header-menu-item-title--boardshorts:not(.header-menu-item--announcement-bar)'
}
"
></div>
<div
class="nav__item--icon-arrow-megamenu mega-menu block-parent_bDzHjD w-full clip-path lg:group-hover:visible lg:group-focus:visible lg:group-hover:opacity-100 lg:group-focus:opacity-100 lg:group-focus:pointer-events-auto lg:group-hover:translate-x-0 lg:group-focus:translate-x-0 lg:group-hover:max-h-screen lg:group-focus:max-h-screen lg:group-hover:pointer-events-auto lg:invisible lg:overflow-hidden lg:opacity-0 lg:pointer-events-none w-full absolute top-full left-0"
style="background-color:#ffffff;"
neptune-transport="
{
append:'.header-menu-item-title--boardshorts:not(.header-menu-item--announcement-bar)'
}
"
neptune-engage="[
{
preventDefault: true,
on: keyup,
which:27,
targets:[
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus: true
}
]
}]" tabindex="0">
<button class="nav__button nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.header-menu-item-title--boardshorts',
classes:toggle:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>boardshorts</span>
</button>
<div class="mega-menu__container w-full
lg:mt-0">
<div class="mega-menu__list dropdown-parent_bDzHjD animate lg:p-4 p-4">
<div class="container lg:ml-auto lg:mr-auto flex flex-wrap">
<style data-shopify>
.dropdown-parent_bDzHjD {
background-color: ;
}
@media (min-width: 1024px) {
.dropdown-parent_bDzHjD {
background-color: #ffffff;
}
}
</style>
<div class="mega-menu__list-wrap flex flex-wrap items-start justify-center lg:-mx-2 lg:flex-wrap">
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_YiqGiy { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_YiqGiy { display: none; }}
.mega__link_list--link_list_YiqGiy .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_YiqGiy .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_YiqGiy
block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-collections-link_list_YiqGiy" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Collections</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Collections menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Collections</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-surf-boardshorts-surfsilk"
>
Surfsilk
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/surf-mens-boardshorts-originals"
>
Originals
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/surf-mens-boardshorts-highline"
>
Highline
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/mens-collections-mercury?filter[filter.p.m.filter.product_type_filter]=Boardshort"
>
Mercury
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_6KwcnL { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_6KwcnL { display: none; }}
.mega__link_list--link_list_6KwcnL .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_6KwcnL .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_6KwcnL
block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-length-outseam-link_list_6KwcnL" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Length (Outseam)</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Length (Outseam) menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Length (Outseam)</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/mens-surf-boardshorts?filter[filter.p.m.filter.outseam]=20%20(Long)%2C21%20(Long)"
>
Long Length (20"-21")
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/mens-surf-boardshorts?filter[filter.p.m.filter.outseam]=17%20(Medium)%2C18%20(Medium)%2C19%20(Medium)"
>
Mid Length (17"-19")
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/mens-surf-boardshorts?filter[filter.p.m.filter.outseam]=15%20(Short)"
>
Short Length (15"-16")
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_dBcjzA { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_dBcjzA { display: none; }}
.mega__link_list--link_list_dBcjzA .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_dBcjzA .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_dBcjzA
block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-fit-link_list_dBcjzA" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Fit</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Fit menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Fit</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.filter.fit]=Straight"
>
Straight
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.filter.fit]=Scallop"
>
Scallop
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.filter.fit]=Arch"
>
Arch
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.filter.fit]=Regular"
>
Regular
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_QpjnRr { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_QpjnRr { display: none; }}
.mega__link_list--link_list_QpjnRr .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_QpjnRr .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_QpjnRr
block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-waist-link_list_QpjnRr" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Waist</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Waist menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Waist</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.filter.waist]=Fixed%20Waist"
>
Fixed Waist
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.filter.waist]=Elastic%20Waist"
>
Elastic Waist
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_BwcNxH { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--boardshorts #megaMenu-hidden-link_list_BwcNxH { display: none; }}
.mega__link_list--link_list_BwcNxH .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_BwcNxH .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_BwcNxH
block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-trending-colors-link_list_BwcNxH" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="#"
>
<span>Trending Colors</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Trending Colors menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Trending Colors</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.c_f.product_detail_NRF_color_group]=BLUE"
>
Blue
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.c_f.product_detail_NRF_color_group]=BLACK"
>
Black
</a>
</li><li>
<a
class="type-nav-list-item block"
href="https://www.quiksilver.com/collections/surf-mens-boardshorts?filter[filter.p.m.c_f.product_detail_NRF_color_group]=RED"
>
Red
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<button class="nav__item--button-arrow nav__button--next show-on-focus"
neptune-transport="
{
append:'.header-menu-item-title--snow .nav-item__button-wrap'
}"
neptune-engage='[{
preventDefault: true,
on:click,
targets: [
{
selector:".header-menu-item-title--snow",
classes:toggle:active,
siblings:classes:remove:active
},
{
selector:.header__search-desktop,
classes:remove:active
},
{
selector:.header,
classes:remove:search-active
},
{
selector:body,
classes:toggle:active-mega
}
]
}]'>
<span class="sr-only">Show Snow menu</span>
<span class="ml-1.5 mr-auto icon icon-right mega-menu-icon-right lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div
class="overlay mega-overlay fixed left-0 vh-100 w-full z-40 bg-black-50"
neptune-transport="
{
append:'.header-menu-item-title--snow:not(.header-menu-item--announcement-bar)'
}
"
></div>
<div
class="nav__item--icon-arrow-megamenu mega-menu block-parent_VaaXwJ w-full clip-path lg:group-hover:visible lg:group-focus:visible lg:group-hover:opacity-100 lg:group-focus:opacity-100 lg:group-focus:pointer-events-auto lg:group-hover:translate-x-0 lg:group-focus:translate-x-0 lg:group-hover:max-h-screen lg:group-focus:max-h-screen lg:group-hover:pointer-events-auto lg:invisible lg:overflow-hidden lg:opacity-0 lg:pointer-events-none w-full absolute top-full left-0"
style="background-color:#ffffff;"
neptune-transport="
{
append:'.header-menu-item-title--snow:not(.header-menu-item--announcement-bar)'
}
"
neptune-engage="[
{
preventDefault: true,
on: keyup,
which:27,
targets:[
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus: true
}
]
}]" tabindex="0">
<button class="nav__button nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.header-menu-item-title--snow',
classes:toggle:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Snow</span>
</button>
<div class="mega-menu__container w-full
lg:mt-0">
<div class="mega-menu__list dropdown-parent_VaaXwJ animate lg:p-4 p-4">
<div class="container lg:ml-auto lg:mr-auto flex flex-wrap">
<style data-shopify>
.dropdown-parent_VaaXwJ {
background-color: ;
}
@media (min-width: 1024px) {
.dropdown-parent_VaaXwJ {
background-color: #ffffff;
}
}
</style>
<div class="mega-menu__list-wrap flex flex-wrap items-start justify-center lg:-mx-2 lg:flex-wrap"></div>
</div>
</div>
</div>
</div>
<button class="nav__item--button-arrow nav__button--next show-on-focus"
neptune-transport="
{
append:'.header-menu-item-title--waterman .nav-item__button-wrap'
}"
neptune-engage='[{
preventDefault: true,
on:click,
targets: [
{
selector:".header-menu-item-title--waterman",
classes:toggle:active,
siblings:classes:remove:active
},
{
selector:.header__search-desktop,
classes:remove:active
},
{
selector:.header,
classes:remove:search-active
},
{
selector:body,
classes:toggle:active-mega
}
]
}]'>
<span class="sr-only">Show waterman menu</span>
<span class="ml-1.5 mr-auto icon icon-right mega-menu-icon-right lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div
class="overlay mega-overlay fixed left-0 vh-100 w-full z-40 bg-black-50"
neptune-transport="
{
append:'.header-menu-item-title--waterman:not(.header-menu-item--announcement-bar)'
}
"
></div>
<div
class="nav__item--icon-arrow-megamenu mega-menu block-parent_jyznb8 w-full clip-path lg:group-hover:visible lg:group-focus:visible lg:group-hover:opacity-100 lg:group-focus:opacity-100 lg:group-focus:pointer-events-auto lg:group-hover:translate-x-0 lg:group-focus:translate-x-0 lg:group-hover:max-h-screen lg:group-focus:max-h-screen lg:group-hover:pointer-events-auto lg:invisible lg:overflow-hidden lg:opacity-0 lg:pointer-events-none w-full absolute top-full left-0"
style="background-color:#ffffff;"
neptune-transport="
{
append:'.header-menu-item-title--waterman:not(.header-menu-item--announcement-bar)'
}
"
neptune-engage="[
{
preventDefault: true,
on: keyup,
which:27,
targets:[
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus: true
}
]
}]" tabindex="0">
<button class="nav__button nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.header-menu-item-title--waterman',
classes:toggle:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>waterman</span>
</button>
<div class="mega-menu__container w-full
lg:mt-0">
<div class="mega-menu__list dropdown-parent_jyznb8 animate lg:p-4 p-4">
<div class="container lg:ml-auto lg:mr-auto flex flex-wrap">
<style data-shopify>
.dropdown-parent_jyznb8 {
background-color: ;
}
@media (min-width: 1024px) {
.dropdown-parent_jyznb8 {
background-color: #ffffff;
}
}
</style>
<div class="mega-menu__list-wrap flex flex-wrap items-start justify-center lg:-mx-2 lg:flex-wrap">
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--waterman #megaMenu-hidden-link_list_zUH4nA { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--waterman #megaMenu-hidden-link_list_zUH4nA { display: none; }}
.mega__link_list--link_list_zUH4nA .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_zUH4nA .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_zUH4nA
lg:hidden block
w-full
lg:w-1/4
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-waterman-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-waterman"
>
<span>All Waterman</span>
</a></li>
<li id="megaMenu-new-arrivals-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-waterman-new-arrivals"
>
<span>New Arrivals</span>
</a></li>
<li id="megaMenu-shirts-polos-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-waterman-shirts-polos"
>
<span>Shirts & Polos</span>
</a></li>
<li id="megaMenu-shorts-amphibians-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/waterman-shorts-amphibians-lp-carousel"
>
<span>Shorts & Amphibians</span>
</a></li>
<li id="megaMenu-tees-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-waterman-tees"
>
<span>Tees</span>
</a></li>
<li id="megaMenu-boardshorts-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-waterman-boardshorts"
>
<span>Boardshorts</span>
</a></li>
<li id="megaMenu-pants-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-waterman-pants"
>
<span>Pants</span>
</a></li>
<li id="megaMenu-rashguards-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-waterman-rashguards-surf-tees"
>
<span>Rashguards</span>
</a></li>
<li id="megaMenu-accessories-link_list_zUH4nA" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/mens-waterman-accessories"
>
<span>Accessories</span>
</a></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item-title--waterman #megaMenu-hidden-link_list_HNRiFG { display: none; }}
@media (max-width: 1023px) {.header-menu-item-title--waterman #megaMenu-hidden-link_list_HNRiFG { display: none; }}
.mega__link_list--link_list_HNRiFG .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_HNRiFG .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_HNRiFG
lg:block hidden
w-full
lg:w-1/4
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-hidden-link_list_HNRiFG" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="#"
>
<span>Hidden</span>
</a></li>
<li id="megaMenu-waterman-link_list_HNRiFG" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/mens-waterman"
>
<span>Waterman</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Waterman menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Waterman</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/mens-waterman"
>
Shop All
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-waterman-new-arrivals"
>
New Arrivals
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-waterman-tees"
>
Tees
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-waterman-shirts-polos"
>
Shirts & Polos
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-waterman-shorts-amphibians"
>
Shorts & Amphibians
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-waterman-boardshorts"
>
Boardshorts
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-waterman-rashguards-surf-tees"
>
Rashguards
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/mens-waterman-accessories"
>
Accessories
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:block hidden ">
<div class="w-full h-full px-4 py-0 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/mens-waterman">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Waterman_Nav_ALL_2x_27a34c46-052b-4f40-b21a-ac70e3d5ca1f_375x.jpg?v=1784073052 375w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_ALL_2x_27a34c46-052b-4f40-b21a-ac70e3d5ca1f_750x.jpg?v=1784073052 750w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_ALL_2x_27a34c46-052b-4f40-b21a-ac70e3d5ca1f_1100x.jpg?v=1784073052 1100w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_ALL_2x_27a34c46-052b-4f40-b21a-ac70e3d5ca1f_1500x.jpg?v=1784073052 1500w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Waterman_Nav_ALL_2x_27a34c46-052b-4f40-b21a-ac70e3d5ca1f_750x.jpg?v=1784073052"
loading="lazy"
alt=""
width="1600"
height="2400.0000000000005"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">All Waterman</h4>
</div>
</a>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:block hidden ">
<div class="w-full h-full px-4 py-0 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/mens-waterman-shirts-polos">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shirts_2x_f666335d-b484-41b2-955e-8b5d9e814405_375x.jpg?v=1784073052 375w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shirts_2x_f666335d-b484-41b2-955e-8b5d9e814405_750x.jpg?v=1784073052 750w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shirts_2x_f666335d-b484-41b2-955e-8b5d9e814405_1100x.jpg?v=1784073052 1100w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shirts_2x_f666335d-b484-41b2-955e-8b5d9e814405_1500x.jpg?v=1784073052 1500w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shirts_2x_f666335d-b484-41b2-955e-8b5d9e814405_750x.jpg?v=1784073052"
loading="lazy"
alt=""
width="1600"
height="2400.0000000000005"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Shirts</h4>
</div>
</a>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:block hidden ">
<div class="w-full h-full px-4 py-0 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/mens-waterman-tees">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Tees_2x_df859437-ce8d-43c9-a315-a99ddd427279_375x.jpg?v=1784073052 375w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Tees_2x_df859437-ce8d-43c9-a315-a99ddd427279_750x.jpg?v=1784073052 750w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Tees_2x_df859437-ce8d-43c9-a315-a99ddd427279_1100x.jpg?v=1784073052 1100w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Tees_2x_df859437-ce8d-43c9-a315-a99ddd427279_1500x.jpg?v=1784073052 1500w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Tees_2x_df859437-ce8d-43c9-a315-a99ddd427279_750x.jpg?v=1784073052"
loading="lazy"
alt=""
width="1600"
height="2400.0000000000005"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Tees</h4>
</div>
</a>
</div>
</div>
<div class="mega__image-text w-full lg:w-2/12 lg:px-2
lg:block hidden ">
<div class="w-full h-full px-4 py-0 lg:py-0">
<a class="flex vertical flex-col lg:flex-col" href="/collections/mens-waterman-shorts-amphibians">
<div class="w-full lg:aspect-w-4 lg:aspect-h-6 aspect-w-4 aspect-h-3 relative">
<img srcset="//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shorts_2x_c7e158fb-6a05-4142-a1dd-4f1b6148e5fb_375x.jpg?v=1784073052 375w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shorts_2x_c7e158fb-6a05-4142-a1dd-4f1b6148e5fb_750x.jpg?v=1784073052 750w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shorts_2x_c7e158fb-6a05-4142-a1dd-4f1b6148e5fb_1100x.jpg?v=1784073052 1100w,//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shorts_2x_c7e158fb-6a05-4142-a1dd-4f1b6148e5fb_1500x.jpg?v=1784073052 1500w,"
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Waterman_Nav_Shorts_2x_c7e158fb-6a05-4142-a1dd-4f1b6148e5fb_750x.jpg?v=1784073052"
loading="lazy"
alt=""
width="1600"
height="2400.0000000000005"
class="block max-w-full object-cover object-center"
>
</div>
<div class="image-text__wrap flex-1">
<h4 class="image-text__title type-nav-item text-left">Shorts</h4>
</div>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<button class="nav__item--button-arrow nav__button--next show-on-focus"
neptune-transport="
{
append:'.header-menu-item--sale .nav-item__button-wrap'
}"
neptune-engage='[{
preventDefault: true,
on:click,
targets: [
{
selector:".header-menu-item--sale",
classes:toggle:active,
siblings:classes:remove:active
},
{
selector:.header__search-desktop,
classes:remove:active
},
{
selector:.header,
classes:remove:search-active
},
{
selector:body,
classes:toggle:active-mega
}
]
}]'>
<span class="sr-only">Show sale menu</span>
<span class="ml-1.5 mr-auto icon icon-right mega-menu-icon-right lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div
class="overlay mega-overlay fixed left-0 vh-100 w-full z-40 bg-black-50"
neptune-transport="
{
append:'.header-menu-item--sale:not(.header-menu-item--announcement-bar)'
}
"
></div>
<div
class="nav__item--icon-arrow-megamenu mega-menu block-parent_rhKBbh w-full clip-path lg:group-hover:visible lg:group-focus:visible lg:group-hover:opacity-100 lg:group-focus:opacity-100 lg:group-focus:pointer-events-auto lg:group-hover:translate-x-0 lg:group-focus:translate-x-0 lg:group-hover:max-h-screen lg:group-focus:max-h-screen lg:group-hover:pointer-events-auto lg:invisible lg:overflow-hidden lg:opacity-0 lg:pointer-events-none w-full absolute top-full left-0"
style="background-color:#ffffff;"
neptune-transport="
{
append:'.header-menu-item--sale:not(.header-menu-item--announcement-bar)'
}
"
neptune-engage="[
{
preventDefault: true,
on: keyup,
which:27,
targets:[
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus: true
}
]
}]" tabindex="0">
<button class="nav__button nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.header-menu-item--sale',
classes:toggle:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>sale</span>
</button>
<div class="mega-menu__container w-full
lg:mt-0">
<div class="mega-menu__list dropdown-parent_rhKBbh animate lg:p-4 p-4">
<div class="container lg:ml-auto lg:mr-auto flex flex-wrap">
<style data-shopify>
.dropdown-parent_rhKBbh {
background-color: ;
}
@media (min-width: 1024px) {
.dropdown-parent_rhKBbh {
background-color: #ffffff;
}
}
</style>
<div class="mega-menu__list-wrap flex flex-wrap items-start justify-center lg:-mx-2 lg:flex-wrap">
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--sale #megaMenu-hidden-link_list_JhdXJM { display: none; }.header-menu-item--sale #megaMenu-shop-all-link_list_JhdXJM { display: none; }}
@media (max-width: 1023px) {.header-menu-item--sale #megaMenu-hidden-link_list_JhdXJM { display: none; }}
.mega__link_list--link_list_JhdXJM .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_JhdXJM .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_JhdXJM
lg:hidden block
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-sale-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale"
>
<span>All Sale</span>
</a></li>
<li id="megaMenu-new-to-sale-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-new-to-sale"
>
<span>New To Sale</span>
</a></li>
<li id="megaMenu-boardshorts-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-boardshorts"
>
<span>Boardshorts</span>
</a></li>
<li id="megaMenu-shirts-polos-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-shirts-polos"
>
<span>Shirts & Polos</span>
</a></li>
<li id="megaMenu-tees-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-tees"
>
<span>Tees</span>
</a></li>
<li id="megaMenu-shorts-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-shorts"
>
<span>Shorts</span>
</a></li>
<li id="megaMenu-sweatshirts-hoodies-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-sweatshirts-hoodies"
>
<span>Sweatshirts & Hoodies</span>
</a></li>
<li id="megaMenu-jackets-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-jackets"
>
<span>Jackets</span>
</a></li>
<li id="megaMenu-rashguards-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-rashguards-surf-tees"
>
<span>Rashguards</span>
</a></li>
<li id="megaMenu-accessories-link_list_JhdXJM" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-accessories"
>
<span>Accessories</span>
</a></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--sale #megaMenu-hidden-link_list_JjHdYU { display: none; }.header-menu-item--sale #megaMenu-shop-all-link_list_JjHdYU { display: none; }}
@media (max-width: 1023px) {.header-menu-item--sale #megaMenu-hidden-link_list_JjHdYU { display: none; }}
.mega__link_list--link_list_JjHdYU .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_JjHdYU .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_JjHdYU
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-all-sale-link_list_JjHdYU" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale"
>
<span>All Sale</span>
</a></li>
<li id="megaMenu-new-to-sale-link_list_JjHdYU" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-new-to-sale"
>
<span>New To Sale</span>
</a></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--sale #megaMenu-hidden-link_list_QXfFR8 { display: none; }}
@media (max-width: 1023px) {.header-menu-item--sale #megaMenu-hidden-link_list_QXfFR8 { display: none; }}
.mega__link_list--link_list_QXfFR8 .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_QXfFR8 .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_QXfFR8
lg:block hidden
w-full
lg:w-1/5
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-sale-tops-link_list_QXfFR8" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/sale-tops"
>
<span>Sale Tops</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Sale Tops menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Sale Tops</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/sale-mens-shirts-polos"
>
Shirts & Polos
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/sale-mens-tees"
>
Tees
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/sale-mens-rashguards-surf-tees"
>
Rashguards
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/sale-mens-sweatshirts-hoodies"
>
Sweatshirts & Hoodies
</a>
</li></ul>
</div></li>
</ul>
</div>
</div>
</div>
<style data-shopify>
@media (min-width: 1024px) {.header-menu-item--sale #megaMenu-hidden-link_list_NbQBJX { display: none; }}
@media (max-width: 1023px) {.header-menu-item--sale #megaMenu-hidden-link_list_NbQBJX { display: none; }}
.mega__link_list--link_list_NbQBJX .nav__list-columns {
background-color: ;
}
@media (min-width: 1024px) {
.mega__link_list--link_list_NbQBJX .nav__list-columns {
background-color: rgba(0,0,0,0);
}
}
</style>
<div class="mega__link_list mega__link_list--link_list_NbQBJX
lg:block hidden
w-full
lg:w-2/12
">
<div class="nav__list-columns nav-type-link_list flex-grow
py-0 px-0 lg:px-4 lg:py-0
border-none border-gray-200
">
<div class="nav__list-column-wrap flex flex-col text-left">
<ul class="nav__list-column-list list-none flex flex-col">
<li id="megaMenu-sale-bottoms-link_list_NbQBJX" class="mega-menu__link flex-fill flex-basis-0 flex-grow mega-menu__link--has-children">
<a
class="type-nav-item block" href="/collections/sale-bottoms"
>
<span>Sale Bottoms</span>
</a><button
class="mega-menu__link--button lg:hidden"
neptune-engage="
[{
preventDefault: true,
on:click,
targets: [
{
classes:toggle:active,
siblings:classes:toggle:active
}
]
}]
"
>
<span class="sr-only">Sale Bottoms menu children</span>
<span class="mr-auto ml-1.5 icon icon-right mega-menu-icon-right__linklist lg:hidden flex items-center justify-center" style="width: 18px;">
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</span>
</button>
<div class="mega-menu__link--list ">
<button class="nav__button--back"
neptune-engage="{
on:click,
targets: [
{
selector:'.mega-menu__link--list',
classes:remove:active,
siblings:classes:remove:active
}
]
}">
<svg
class="icon icon-chevron-down"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
<span>Sale Bottoms</span>
</button>
<ul class="mega-menu__link-list-items list-none m-0 p-0"><li>
<a
class="type-nav-list-item block"
href="/collections/sale-mens-boardshorts"
>
Boardshorts
</a>
</li><li>
<a
class="type-nav-list-item block"
href="/collections/sale-mens-shorts"
>
Shorts & Amphibians
</a>
</li></ul>
</div></li>
<li id="megaMenu-sale-accessories-link_list_NbQBJX" class="mega-menu__link flex-fill flex-basis-0 flex-grow ">
<a
class="type-nav-item block" href="/collections/sale-mens-accessories"
>
<span>Sale Accessories</span>
</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<style data-shopify>
@media screen and (max-width: 1023px){
.mega-menu .mega-menu__link a span:before{
border-bottom: none;
}
.mega-menu__container .nav__list-column-list .mega-menu__link{
position: relative;
overflow: hidden;
}
.header__nav .nav-item__button-wrap.transport-recipient{
position: relative;
}
.header__nav .nav-item__button-wrap.transport-recipient .type-nav-item, .mega-menu__list-wrap .mega-menu__link.mega-menu__link--has-children .type-nav-item{
pointer-events: none;
}
.header__nav .nav-item__button-wrap.transport-recipient .nav__button--next:after{
content: "";
position: absolute;
width: 100%;
height: 100%;
left: 0;
}
.mega-menu__list-wrap .mega-menu__link .mega-menu__link--button::after{
content: "";
position: absolute;
width: 100%;
height: 40px;
left: 0;
top: 0.5rem
}
}
</style>
<style> #shopify-section-mega-menu {z-index: 49; /* Make sure it's higher than other overlapping elements */} </style></div>
<main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1">
<div id="shopify-section-template--21847761223817__gated-collection-modal" class="shopify-section">
<style>[data-active-modal="GatedCollection"] .modal-blocker { display: block; }</style>
<div class="modal-blocker fixed z-50 inset-0 hidden"></div><aside
data-modal="GatedCollection"
class="fixed bg-white z-50 modal modal-center left-1/2 top-1/2 max-w-screen-lg transition-all ease-in-out duration-500"
tabindex="0"
>
<div class="w-auto lg:w-auto h-auto flex lg:flex flex-col lg:flex-col layout-center layout-top lg:layout-center lg:layout-top layout-space-packed py-lg px-lg gap-lg lg:py-lg relative origin origin-center" style="--offset-x:0; --offset-y:0; " >
<div id="shopify-block-Ad0tjbEVuajVTd3d1R__text_nGGbkb" class="shopify-block">
<h2 class="type--section text-left" style="color:#000000; " ><span>quiksilver freedom benefits </span></h2>
</div>
<div id="shopify-block-AUmQyMENoeGJNQVBqQ__form_Xr7Pqe" class="shopify-block">
<form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="✓" />
<!--</form>-->
<div class="w-full lg:w-full h-auto flex lg:flex flex-col lg:flex-col layout-top lg:layout-top layout-space-packed gap-sm relative origin origin-center" style="--offset-x:0; --offset-y:0; " >
<div id="shopify-block-ARWdpRkY4Q0JFVTJKe__input_p6iQgb" class="shopify-block">
<div class="field field--hidden" >
<label class="block" for="ARWdpRkY4Q0JFVTJKe__input_p6iQgb_1" >/collections/mens-clothing-boardshorts-elastic-waist</label>
<input class="" type="hidden" name="return_url" id="ARWdpRkY4Q0JFVTJKe__input_p6iQgb_1" value="/collections/mens-clothing-boardshorts-elastic-waist" ></input></div>
</div>
<div id="shopify-block-AbVp6ZFhHWEoxVkJZb__input_F3Jdmf" class="shopify-block">
<div class="field field--text" >
<label class="hidden" for="AbVp6ZFhHWEoxVkJZb__input_F3Jdmf_1" ><span>Email </span></label>
<input class="" type="text" name="customer[email]" placeholder="Email" required="true" id="AbVp6ZFhHWEoxVkJZb__input_F3Jdmf_1" value="" ></input></div>
</div>
<div id="shopify-block-AajVZMG5MNVc4ZG9wS__input_QPgV8d" class="shopify-block">
<div class="field field--password" >
<label class="hidden" for="AajVZMG5MNVc4ZG9wS__input_QPgV8d_1" ><span>Password </span></label>
<input class="" type="password" name="customer[password]" placeholder="Password" required="true" id="AajVZMG5MNVc4ZG9wS__input_QPgV8d_1" value="" ></input></div>
</div>
<div id="shopify-block-ANDcxa1pVWWtiMHo0N__button_zyVzH4" class="shopify-block">
<button class="button button--primary" onclick="window.localStorage.setItem('memberpdp_redirect', window.location); window.Shopify.recaptchaV3.addToken(this, 'customer_login');" ><span>Sign In </span></button>
</div>
</div>
</form>
</div>
<div id="shopify-block-ANERJNjRQazJKTk00Z__divider_iAr7pU" class="shopify-block">
<div class="divider" ></div>
</div>
<div id="shopify-block-AVjNjbkVZWmhGelY4R__link_7DbLG8" class="shopify-block">
<a class="button button--link py-0 px-0" href="https://www.quiksilver.com/account/login#recover" target="_top" ><span>Forgot Password? </span></a>
</div>
<div id="shopify-block-AVnRPZkNwQldTdmxQQ__text_q9xYNU" class="shopify-block">
<p class="type--paragraph text-left" ><span>Sign in or join now to access exclusive products, limited collections & first dibs on new arrivals! </span></p>
</div>
<div id="shopify-block-Ac2VhNkZhT2xMY0Fsc__link_7Dt8KL" class="shopify-block">
<a class="button button--secondary py-0 px-0" href="https://www.quiksilver.com/account/register" target="_top" ><span>I want to be a member </span></a>
</div>
</div>
</aside>
<script>
window.addEventListener('shopify:section:select', e=>{
if(e.detail.sectionId == 'template--21847761223817__gated-collection-modal'){
modal.open('GatedCollection')
}
});
window.addEventListener('shopify:section:deselect', e=>{
if(e.detail.sectionId == 'template--21847761223817__gated-collection-modal'){
modal.close()
}
});["DOMContentLoaded"].forEach(open_event=>{
document.addEventListener(open_event, ()=>{
if(
false
){
setTimeout(() => {
modal.open('GatedCollection');
}, 100);
}
})
});</script>
<style> @media screen and (max-width: 1023px) {#shopify-section-template--21847761223817__gated-collection-modal .modal-center.active {width: calc(100% - 20px); }} </style></div><div id="shopify-section-template--21847761223817__image_text_overlay_G39jjB" class="shopify-section">
<section class="section-template--21847761223817__image_text_overlay_G39jjB section-image-text-overlay relative flex flex-col flex-wrap items-center justify-center lg:mt-0 lg:mb-0 mt-0 mb-0 lg:h-auto image-height h-auto image-height-mobile block ">
<div class="w-full h-full">
<article class="h-full w-full relative overflow-hidden">
<div
class="block__text h-full w-full z-10 left-0 top-0 flex flex-col lg:items-center lg:justify-center items-center justify-start lg:text-left text-left lg:relative relative "
>
<div
class="block__text_content block__text_content--template--21847761223817__image_text_overlay_G39jjB flex max-h-full lg:w-full w-full lg:pt-0 lg:pb-0 lg:px-0 pt-0 pb-0 px-0 lg:flex-col flex-col lg:gap-0 gap-0 "
style=""
>
<div class="content-item__buttons lg:self-center self-center lg:order-none order-none">
<!-- Buttons -->
</div>
<style>
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--one {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--one:hover, .block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--one:focus {
color:;
border-color: ;
background-color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--two {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--two:hover, .block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--two:focus {
color: ;
border-color: ;
background-color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--three {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--three:hover, .block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--three:focus {
color: ;
border-color: ;
background-color: ;
}
@media (max-width: 1023px) {
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--one {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--one:hover, .block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--one:focus {
color: ;
border-color: ;
background-color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--two {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--two:hover, .block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--two:focus {
color: ;
border-color: ;
background-color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--three {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--three:hover, .block__text_content--template--21847761223817__image_text_overlay_G39jjB .text__button--three:focus {
color: ;
border-color: ;
background-color: ;
}
}
</style>
</div>
</div>
</article>
</div>
</section>
</div><section id="shopify-section-template--21847761223817__collection-meta" class="shopify-section section--frame"><!-- Frame Section: -->
<div class="lg:treatment-none treatment-none
section__wrapper relative relative origin origin-center" >
<main class="container section__container relative" >
<div class="h-auto flex lg:grid lg:grid-cols-4 flex-col lg:flex-row layout-top lg:layout-top layout-space-packed lg:py-md lg:gap-lg section__blocks"
>
<div class="w-auto lg:col-span-4 h-auto flex lg:flex flex-row lg:flex-row layout-bottom layout-space-between py-md gap-md lg:py-lg lg:px-0 lg:gap-lg relative origin origin-center collection-tools-wrapper__container" style="--offset-x:0; --offset-y:0; " >
<div class="w-full lg:w-auto h-auto flex lg:flex flex-col lg:flex-row layout-center layout-top lg:layout-left lg:layout-bottom layout-space-packed relative origin origin-center collection-tools-wrapper__title-wrapper" style="--offset-x:0; --offset-y:0; " neptune-liquid="{topic:Collection}" >
<script type="liquid/template"><div id="shopify-block-AM2hpS2poUXp6bXRqU__text_GWzpan" class="shopify-block">
<h1 class="type--page text-left" ><span>Men's Boardshorts and Swim Shorts </span></h1>
</div>
<div id="shopify-block-ASFVjdFVkQlBabnJUa__text_g79WH3" class="shopify-block">
<p class="text-left" ><span>({{collection.total_products}} results) </span></p>
</div>
</script></div>
<div class="w-auto lg:w-auto h-auto hidden lg:flex flex-row lg:flex-row layout-right layout-middle layout-space-packed lg:gap-md relative origin origin-center collection-tools" style="--offset-x:0; --offset-y:0; " >
<button class="collection-filter-trigger group"
neptune-liquid="{topic:Collection}"
neptune-engage='{
on:click,
targets: [
{
selector: "_self",
"classes":{
"toggle":"active"
},
"attributes": [
{
"att": "aria-expanded",
"toggle":["true", "false"]
}
]
},
{
selector: ".collection-filters",
"classes":{
"toggle":"lg:flex"
},
"attributes": [
{
"att": "aria-hidden",
"toggle":["true", "false"]
}
]
},
{
selector: ".collection-results-wrapper",
"classes":{
"toggle":"lg:col-span-4"
}
}
]
}'>
<script type="liquid/template">
<span class="inline group-active:hidden">Hide Filters</span>
<span class="hidden group-active:inline">Show Filters</span>
{% assign applied_filter_count = 0 %}
{%- for filter in collection.filters.all -%}
{%- for option in filter.options -%}
{% if option.active %}
{% assign applied_filter_count = applied_filter_count | plus: 1 %}
{% endif %}
{% endfor %}
{%- if filter.range != nil and filter.range[0].low != '' or filter.range[0].high != '' %}
{% assign applied_filter_count = applied_filter_count | plus: 1 %}
{% endif %}
{% endfor %}
{% if applied_filter_count > 0 %}
<span class="collection-filter-summary">({{ applied_filter_count }})</span>
{% endif %}
<svg
class="icon inline icon-filter"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-filter"/>
</svg>
<span class="sr-only">filter</span>
</script>
</button>
<div class="w-auto h-auto flex lg:flex flex-row lg:flex-row layout-top layout-space-packed relative origin origin-center collection-sort" style="--offset-x:0; --offset-y:0; " >
<div id="shopify-block-ARUJmTTduc3lyNENJZ__input_PQX9BF" class="shopify-block">
<div class="field field--select" >
<label class="block" for="ARUJmTTduc3lyNENJZ__input_PQX9BF" ><span>Sort By: </span></label>
<select class="" type="select" name="Sort" oninput="Collection.sort(this.value)" id="ARUJmTTduc3lyNENJZ__input_PQX9BF" >
<option class="" value="manual" >Featured
</option>
<option class="" value="created-descending" >Newest
</option>
<option class="" value="title-ascending" >Name, A–Z
</option>
<option class="" value="title-descending" >Name, Z–A
</option>
<option class="" value="price-ascending" >Price, low to high
</option>
<option class="" value="price-descending" >Price, high to low
</option></select></div>
</div>
</div>
</div>
</div>
<div class="w-auto h-auto flex lg:hidden flex-row lg:flex-row layout-top layout-space-packed relative origin origin-center" style="--offset-x:0; --offset-y:0; " >
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="collection-filters__exposed no-scrollbar empty:hidden">
<template>
{%- capture title_map %}Category,
Collection{% endcapture -%}
{%- assign title_map = title_map | split: ',' -%}
{%- for set in collection.filters.all -%}
{%- assign set_found = false -%}
{%- assign set_label = set.label | handle -%}
{%- for title in title_map -%}
{%- assign title_handle = title | handle -%}
{%- if title_handle == set_label -%}
{%- assign set_found = true -%}
{%- endif -%}
{%- endfor -%}
{%- unless set_found %}{% continue %}{% endunless -%}
{% for option in set.options %}
<div class="field">
<label for="filter-{{ set.label }}-{{ option.value }}-">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{% endfor %}
{%- endfor -%}
</template>
</div>
</div>
</div></main></div>
</section><section id="shopify-section-template--21847761223817__products-grid" class="shopify-section section--frame"><!-- Frame Section: -->
<div class="lg:treatment-none treatment-none
section__wrapper relative relative origin origin-center" >
<main class="container section__container relative" >
<div class="h-auto flex lg:grid lg:grid-cols-4 flex-col lg:flex-row layout-top lg:layout-top layout-space-packed lg:py-md lg:gap-lg section__blocks"
>
<div class="w-auto h-auto flex lg:hidden flex-row lg:flex-row layout-top layout-space-packed relative origin origin-center collection-mobile-action-bar" style="background-color:#ffffff; --offset-x:0; --offset-y:0; " >
<div class="w-1/2 h-auto flex lg:flex flex-row lg:flex-row layout-top layout-space-packed relative origin origin-center collection-filter--mobile" style="--offset-x:0; --offset-y:0; " >
<div id="shopify-block-Ad1IyNXg2d1pDeTJpa__button_hiiJUJ" class="shopify-block">
<button class="button button--light" onclick="modal.open('collection-filter')" ><span>Filter </span>
<svg
class="icon trailing icon-filter"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-filter"/>
</svg>
<span class="sr-only">filter</span>
</button>
</div>
</div>
<div class="w-1/2 h-auto flex lg:flex flex-row lg:flex-row layout-top layout-space-packed relative origin origin-center collection-sort--mobile" style="--offset-x:0; --offset-y:0; " >
<div id="shopify-block-AMzZTT1JKcWhFZXF2Z__input_pCkrVa" class="shopify-block">
<div class="field field--select" >
<label class="hidden" for="AMzZTT1JKcWhFZXF2Z__input_pCkrVa" ><span>Sort By: </span></label>
<select class="" type="select" name="Sort" oninput="Collection.sort(this.value)" id="AMzZTT1JKcWhFZXF2Z__input_pCkrVa" >
<option class="" value="manual" >Featured
</option>
<option class="" value="created-descending" >Newest
</option>
<option class="" value="title-ascending" >Title, A–Z
</option>
<option class="" value="title-descending" >Title, Z–A
</option>
<option class="" value="price-ascending" >Price, low to high
</option>
<option class="" value="price-descending" >Price, high to low
</option></select></div>
</div>
</div>
</div>
<div id="shopify-block-AL00zMkI1K2FOVmhGN__collection_mVJ8zH" class="shopify-block"><script src="//www.quiksilver.com/cdn/shop/t/236/assets/collection.js?v=122064478008772172271786644647" defer="defer"></script>
<script>
window.collection = {
params:{},
title: "Men's Boardshorts and Swim Shorts",
handle: "mens-clothing-boardshorts-elastic-waist",
settings: {
...{
limit: 36 || 20,
},
...{"limit":36}
}
};
collection.settings.remote = []
collection.settings.remote_url = '/collections/mens-clothing-boardshorts-elastic-waist?view=feed&page=${page}&limit=${collection.settings.limit}&page_size=${collection.settings.limit}&sort_by=${sort}&${Object.entries(collection.filters.applied).map(set=>`${set[0]}=${set[1].join(",")}`).join("&")}&filter.v.availability=1'
collection.settings.remote = {
config_method: 'GET'
}
collection.settings.paging = 'paginated'
collection.settings.map = {
products:{
from:'products'
},
filters: {
from: 'filters'
},
total_products:'total_products',
pagination: 'pagination'
}
try {
window.collection.initial =
{
"params": [{
"key": "\/collections\/mens-clothing-boardshorts-elastic-waist",
"value": "\/collections\/mens-clothing-boardshorts-elastic-waist"
}],
"filters": [
{
"label": "Size",
"key": "filter.v.option.size",
"options": [
{
"label": "XS",
"value": "XS",
"count": 11,
"active": false
},
{
"label": "S",
"value": "S",
"count": 48,
"active": false
},
{
"label": "M",
"value": "M",
"count": 48,
"active": false
},
{
"label": "L",
"value": "L",
"count": 48,
"active": false
},
{
"label": "XL",
"value": "XL",
"count": 48,
"active": false
},
{
"label": "XXL",
"value": "XXL",
"count": 30,
"active": false
},
{
"label": "2XL",
"value": "2XL",
"count": 15,
"active": false
},
{
"label": "28",
"value": "28",
"count": 1,
"active": false
},
{
"label": "29",
"value": "29",
"count": 1,
"active": false
},
{
"label": "30",
"value": "30",
"count": 1,
"active": false
},
{
"label": "31",
"value": "31",
"count": 1,
"active": false
},
{
"label": "32",
"value": "32",
"count": 1,
"active": false
},
{
"label": "33",
"value": "33",
"count": 1,
"active": false
},
{
"label": "34",
"value": "34",
"count": 1,
"active": false
},
{
"label": "36",
"value": "36",
"count": 1,
"active": false
},
{
"label": "38",
"value": "38",
"count": 1,
"active": false
},
{
"label": "40",
"value": "40",
"count": 1,
"active": false
}
]
},
{
"label": "Fit",
"key": "filter.p.m.filter.fit",
"options": [
{
"label": "Regular",
"value": "Regular",
"count": 17,
"active": false
},
{
"label": "Straight",
"value": "Straight",
"count": 18,
"active": false
}
]
},
{
"label": "Price",
"key": "filter.v.price",
"options": [
]
,"range":[
{
"low": "",
"high": ""
}
]
,"range_max": "69.00"
},
{
"label": "Gender",
"key": "filter.p.m.filter.gender",
"options": [
{
"label": "Mens",
"value": "Mens",
"count": 37,
"active": false
}
]
},
{
"label": "Length",
"key": "filter.p.m.filter.length",
"options": [
{
"label": "15 (Short)",
"value": "15 (Short)",
"count": 4,
"active": false
},
{
"label": "17 (Short)",
"value": "17 (Short)",
"count": 31,
"active": false
},
{
"label": "Medium",
"value": "Medium",
"count": 3,
"active": false
},
{
"label": "Short",
"value": "Short",
"count": 1,
"active": false
}
]
},
{
"label": "Color",
"key": "filter.p.m.c_f.product_detail_NRF_color_group",
"options": [
{
"label": "Beige",
"value": "gid:\/\/shopify\/FilterSettingGroup\/86212745",
"count": 2,
"active": false
},
{
"label": "Black",
"value": "gid:\/\/shopify\/FilterSettingGroup\/86245513",
"count": 7,
"active": false
},
{
"label": "Blue",
"value": "gid:\/\/shopify\/FilterSettingGroup\/86278281",
"count": 15,
"active": false
},
{
"label": "Brown",
"value": "gid:\/\/shopify\/FilterSettingGroup\/86311049",
"count": 2,
"active": false
},
{
"label": "Gray",
"value": "gid:\/\/shopify\/FilterSettingGroup\/77758601",
"count": 4,
"active": false
},
{
"label": "Green",
"value": "gid:\/\/shopify\/FilterSettingGroup\/86343817",
"count": 6,
"active": false
},
{
"label": "Misc",
"value": "Misc",
"count": 2,
"active": false
},
{
"label": "Orange",
"value": "gid:\/\/shopify\/FilterSettingGroup\/77824137",
"count": 1,
"active": false
},
{
"label": "Pink",
"value": "gid:\/\/shopify\/FilterSettingGroup\/86376585",
"count": 1,
"active": false
},
{
"label": "Yellow",
"value": "gid:\/\/shopify\/FilterSettingGroup\/77889673",
"count": 1,
"active": false
}
]
},
{
"label": "Entry",
"key": "filter.p.m.filter.entry",
"options": [
{
"label": "NIL",
"value": "NIL",
"count": 1,
"active": false
}
]
},
{
"label": "Features",
"key": "filter.p.m.filter.features",
"options": [
{
"label": "Side Pocket",
"value": "Side Pocket",
"count": 6,
"active": false
},
{
"label": "UPF Sun Protection",
"value": "UPF Sun Protection",
"count": 1,
"active": false
},
{
"label": "Water Resistant",
"value": "Water Resistant",
"count": 1,
"active": false
}
]
},
{
"label": "Outseam",
"key": "filter.p.m.filter.outseam",
"options": [
{
"label": "17 (Medium)",
"value": "17 (Medium)",
"count": 21,
"active": false
},
{
"label": "15 (Short)",
"value": "15 (Short)",
"count": 4,
"active": false
},
{
"label": "17 (Short)",
"value": "17 (Short)",
"count": 12,
"active": false
}
]
},
{
"label": "Print",
"key": "filter.p.m.filter.print",
"options": [
{
"label": "Print",
"value": "Print",
"count": 14,
"active": false
},
{
"label": "Solid Color",
"value": "Solid Color",
"count": 13,
"active": false
}
]
},
{
"label": "Range",
"key": "filter.p.m.filter.range",
"options": [
{
"label": "43.25-45.25",
"value": "43.25-45.25",
"count": 1,
"active": false
}
]
},
{
"label": "Segment",
"key": "filter.p.m.filter.segment",
"options": [
{
"label": "Surf",
"value": "Surf",
"count": 20,
"active": false
},
{
"label": "Waterman",
"value": "Waterman",
"count": 4,
"active": false
}
]
},
{
"label": "Sleeve Length",
"key": "filter.p.m.filter.sleeve_length",
"options": [
{
"label": "NIL",
"value": "NIL",
"count": 1,
"active": false
}
]
},
{
"label": "Temperature",
"key": "filter.p.m.filter.temperature",
"options": [
{
"label": "Warm",
"value": "Warm",
"count": 8,
"active": false
}
]
},
{
"label": "Thickness",
"key": "filter.p.m.filter.thickness",
"options": [
{
"label": "10mm",
"value": "10mm",
"count": 1,
"active": false
}
]
},
{
"label": "Waist",
"key": "filter.p.m.filter.waist",
"options": [
{
"label": "Elastic Waist",
"value": "Elastic Waist",
"count": 32,
"active": false
}
]
},
{
"label": "Neck",
"key": "filter.p.m.filter.neck",
"options": [
{
"label": "NIL",
"value": "NIL",
"count": 1,
"active": false
}
]
},
{
"label": "Closure",
"key": "filter.p.m.filter.closure",
"options": [
{
"label": "Drawstring",
"value": "Drawstring",
"count": 18,
"active": false
}
]
},
{
"label": "Product Type",
"key": "filter.p.m.filter.product_type_filter",
"options": [
{
"label": "Boardshort",
"value": "Boardshort",
"count": 7,
"active": false
},
{
"label": "Bottom",
"value": "Bottom",
"count": 1,
"active": false
},
{
"label": "Short",
"value": "Short",
"count": 1,
"active": false
},
{
"label": "Swim",
"value": "Swim",
"count": 12,
"active": false
},
{
"label": "Swim Trunk",
"value": "Swim Trunk",
"count": 29,
"active": false
}
]
},
{
"label": "Availability",
"key": "filter.v.availability",
"options": [
{
"label": "In stock",
"value": "1",
"count": 43,
"active": false
},
{
"label": "Out of stock",
"value": "0",
"count": 28,
"active": false
}
]
}
],
"products":[{
"id":8042034790537,
"handle":"everyday-solid-volley-17-qsm35vl087-blk",
"title":"Everyday Solid 17\" Swim Trunks - Black",
"available":true,
"siblings":[],
"tags":["08-26-sos-promo-exclude","25C","26A","26B","26C","Abandon Cart","Athlete Pick","category: All","category: Gift Guide\/Mens\/Gifts Under $50","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/Athlete Picks","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Black","Customer Service Appeasement","features: Side Pocket","fit: Regular","fit: Straight","Free Ship","gender: Mens","length: Short","Loyalty Rewards","material: Recycled","New_O5_Product","outseam: 17 (Medium)","outseam: 17 (Short)","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","range: Everyday","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer"],
"type":"Mens - Swim Trunk",
"price":4400,
"price_min":4400,
"price_max":4400,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-F.jpg?v=1761074968",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 37641834070153,
"featured_image_alt": "Everyday-Solid-17\"-Swim-Trunks-Black-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-B.jpg?v=1761074967",
"alt_image_alt": "Everyday-Solid-17\"-Swim-Trunks-Black-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-F.jpg?v=1761074968","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-B.jpg?v=1761074967","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-FB.jpg?v=1761074968","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-S.jpg?v=1761074968","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-1.jpg?v=1761074968","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_BLK_OM-2.jpg?v=1761074968"]
},
{
"id":8337482481801,
"handle":"everyday-solid-volley-15-qsm15vl012-rvb",
"title":"Everyday Solid 15\" Swim Trunks - Riviera",
"available":true,
"siblings":[{
"handle": "everyday-solid-volley-15-qsm15vl012-bok",
"title": "Everyday Solid 15\" Swim Trunks - Brook Green",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-B.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-FB.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-S.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-1.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_FL-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_FL-B.jpg?v=1767051525"],
"variants": [{"title":"BROOK GREEN \/ S"},{"title":"BROOK GREEN \/ M"},{"title":"BROOK GREEN \/ L"},{"title":"BROOK GREEN \/ XL"},{"title":"BROOK GREEN \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
},{
"handle": "everyday-solid-volley-15-qsm15vl012-hot",
"title": "Everyday Solid 15\" Swim Trunks - Hot Coral",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-F.jpg?v=1767051525",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-B.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-FB.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-S.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-1.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_FL-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_FL-B.jpg?v=1767051525"],
"variants": [{"title":"HOT CORAL \/ S"},{"title":"HOT CORAL \/ M"},{"title":"HOT CORAL \/ L"},{"title":"HOT CORAL \/ XL"},{"title":"HOT CORAL \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
},{
"handle": "everyday-solid-volley-15-qsm15vl012-ple",
"title": "Everyday Solid 15\" Swim Trunks - Pink Lemonade",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-F.jpg?v=1771876503",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-F.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-B.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-S.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-1.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-FB.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_FL-F.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_FL-B.jpg?v=1771876503"],
"variants": [{"title":"PINK LEMONADE \/ S"},{"title":"PINK LEMONADE \/ M"},{"title":"PINK LEMONADE \/ L"},{"title":"PINK LEMONADE \/ XL"},{"title":"PINK LEMONADE \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
}],
"tags":["08-26-sos-promo-exclude","25C","26B","26C","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Yello","Customer Service Appeasement","features: Side Pocket","fit: Regular","fit: Straight","Free Ship","gender: Mens","length: Short","Loyalty Rewards","material: Recycled","New_O5_Product","outseam: 15 (Short)","outseam: 17 (Medium)","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YGroup_QSM15VL012"],
"type":"Mens - Swim Trunk",
"price":4400,
"price_min":4400,
"price_max":4400,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_OM-F.jpg?v=1767051528",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288370499721,
"featured_image_alt": "EVERYDAY-SOLID-VOLLEY-15-RIVIERA-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_OM-B.jpg?v=1767051528",
"alt_image_alt": "EVERYDAY-SOLID-VOLLEY-15-RIVIERA-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_OM-F.jpg?v=1767051528","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_OM-B.jpg?v=1767051528","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_OM-FB.jpg?v=1767051528","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_OM-S.jpg?v=1767051528","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_OM-1.jpg?v=1767051530","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_FL-F.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_RVB_FL-B.jpg?v=1767051529"]
},
{
"id":8337459576969,
"handle":"saltwater-volley-17-qs000278-anh",
"title":"Saltwater 17\" Swim Trunks - Anthracite",
"available":true,
"siblings":[{
"handle": "saltwater-volley-17-qs000278-rvb",
"title": "Saltwater 17\" Swim Trunks - Riviera",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_RVB_OM-F.jpg?v=1767051451",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_RVB_OM-F.jpg?v=1767051451","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_RVB_OM-B.jpg?v=1767051451","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_RVB_OM-FB.jpg?v=1767051451","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_RVB_OM-S.jpg?v=1767051451","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_RVB_OM-1.jpg?v=1767051451","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_RVB_FL-F.jpg?v=1767051451","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_RVB_FL-B.jpg?v=1767051451"],
"variants": [{"title":"RIVIERA \/ S"},{"title":"RIVIERA \/ M"},{"title":"RIVIERA \/ L"},{"title":"RIVIERA \/ XL"},{"title":"RIVIERA \/ XXL"}],
"price": 59.0,
"compare_at_price": 59.0
}],
"tags":["08-26-sos-promo-exclude","26A","26B","26C","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/Griff Colapinto","category: Mens\/Collections\/Griffin Colapinto","category: Mens\/Collections\/New Arrivals","category: Mens\/Collections\/Saltwater","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","features: Side Pocket","fit: Regular","fit: Straight","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","material: Stretch","Mens - Boardshort","outseam: 17 (Medium)","print: Solid Color","product_type: Boardshorts","product_type: Swim Trunks","Promo Exclusion","QSL","SALTWATER VOLLEY 17","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":5900,
"price_min":5900,
"price_max":5900,
"compare_at_price":5900,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_OM-F.jpg?v=1767051385",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288341106825,
"featured_image_alt": "SALTWATER-VOLLEY-17-ANTHRACITE-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_OM-B.jpg?v=1767051385",
"alt_image_alt": "SALTWATER-VOLLEY-17-ANTHRACITE-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_OM-F.jpg?v=1767051385","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_OM-B.jpg?v=1767051385","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_OM-FB.jpg?v=1767051385","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_OM-S.jpg?v=1767051385","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_OM-1.jpg?v=1767051385","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_FL-F.jpg?v=1767051386","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_ANH_FL-B.jpg?v=1767051386"]
},
{
"id":8605448241289,
"handle":"pacifico-talavera-volley-qs000992y-dkd",
"title":"Pacifico Talavera Volley Swim Trunks - Dark Denim",
"available":true,
"siblings":[],
"tags":["08-26-sos-promo-exclude","26C","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Collections\/Pacifico","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","features: Side Pocket","fit: Regular","gender: Mens","length: Medium","length: Short","Loyalty Rewards","material: Recycled","outseam: 17 (Medium)","PACIFICO TALAVERA VOLLEY","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":6900,
"price_min":6900,
"price_max":6900,
"compare_at_price":null,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-F.jpg?v=1780607446",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 40281457033353,
"featured_image_alt": "Pacifico-Talavera-Volley-Swim-Trunks-Dark-Denim-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-B.jpg?v=1780607446",
"alt_image_alt": "Pacifico-Talavera-Volley-Swim-Trunks-Dark-Denim-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-F.jpg?v=1780607446","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-B.jpg?v=1780607446","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-FB.jpg?v=1780607446","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-S_a5563fc0-7f26-4bcd-bd48-747e3b2a29e4.jpg?v=1780607446","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-1.jpg?v=1780607447","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_OM-3.jpg?v=1780607447","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_FL-F.jpg?v=1780607446","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000992Y_DKD_FL-B.jpg?v=1780607446"]
},
{
"id":8650418749577,
"handle":"mix-pack-17wm-qs000842m-fdbl",
"title":"Waterman Mix Pack 17\" Swim Trunks - Federal Blue",
"available":true,
"siblings":[{
"handle": "mix-pack-17wm-qs000842m-dsl",
"title": "Waterman Mix Pack 17\" Swim Trunks - Dark Slate",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000842M_DSL_OM-F.jpg?v=1785518419",
"images":null,
"variants": [{"title":"DARK SLATE \/ XS"},{"title":"DARK SLATE \/ S"},{"title":"DARK SLATE \/ M"},{"title":"DARK SLATE \/ L"},{"title":"DARK SLATE \/ XL"},{"title":"DARK SLATE \/ XXL"}],
"price": 62.0,
"compare_at_price": ""
}],
"tags":["08-26-sos-promo-exclude","263-publish","26C","Abandon Cart","category: All","category: Mens","category: Mens category: Mens\/Waterman","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Mens\/Waterman","category: Mens\/Waterman\/Boardshorts","category: Mens\/Waterman\/Clothing","category: Mens\/Waterman\/New Arrivals","category: Mens\/Waterman\/Surf","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","features: Side Pocket","fit: Regular","gender: Mens","length: Medium","length: Short","Loyalty Rewards","material: Recycled","MENS","MIX PACK 17WM","outseam: 17 (Medium)","print: Print","product_type: Swim Trunks","Promo Eligible","QSL","segment: Surf","segment: Waterman","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer"],
"type":"Mens - Swim Trunk",
"price":6200,
"price_min":6200,
"price_max":6200,
"compare_at_price":null,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-F.jpg?v=1785518422",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 41021027942537,
"featured_image_alt": "Waterman-Mix-Pack-17\"-Swim-Trunks-Federal-Blue-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-B.jpg?v=1785518422",
"alt_image_alt": "Waterman-Mix-Pack-17\"-Swim-Trunks-Federal-Blue-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-F.jpg?v=1785518422","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-B.jpg?v=1785518422","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-FB.jpg?v=1785518422","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-S.jpg?v=1785518422","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-1.jpg?v=1785518422","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-2.jpg?v=1785518422","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_OM-3.jpg?v=1785518422","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_FL-F.jpg?v=1780609142","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_FDBL_FL-B.jpg?v=1780609141"]
},
{
"id":8337482350729,
"handle":"everyday-solid-volley-15-qsm15vl012-bok",
"title":"Everyday Solid 15\" Swim Trunks - Brook Green",
"available":true,
"siblings":[],
"tags":["08-26-sos-promo-exclude","25C","26A","26B","26C","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Yello","Customer Service Appeasement","EVERYDAY SOLID VOLLEY 15","features: Side Pocket","fit: Regular","fit: Straight","Free Ship","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","New_O5_Product","outseam: 15 (Short)","outseam: 17 (Medium)","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YGroup_QSM15VL012","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":4400,
"price_min":4400,
"price_max":4400,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288369778825,
"featured_image_alt": "EVERYDAY-SOLID-VOLLEY-15-BROOK-GREEN-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_OM-B.jpg?v=1767051525",
"alt_image_alt": "EVERYDAY-SOLID-VOLLEY-15-BROOK-GREEN-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_OM-B.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_OM-FB.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_OM-S.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_OM-1.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_FL-F.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_BOK_FL-B.jpg?v=1767051525"]
},
{
"id":8337483563145,
"handle":"everyday-solid-volley-17-qsm35vl087-toe",
"title":"Everyday Solid 17\" Swim Trunks - Total Eclipse",
"available":true,
"siblings":[{
"handle": "everyday-solid-volley-17-qsm35vl087-blk",
"title": "Everyday Solid 17\" Swim Trunks - Black",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_BLK_OM-F.jpg?v=1761074968",
"images":null,
"variants": [{"title":"BLACK \/ S"},{"title":"BLACK \/ M"},{"title":"BLACK \/ L"},{"title":"BLACK \/ XL"},{"title":"BLACK \/ 2XL"}],
"price": 44.0,
"compare_at_price": 44.0
}],
"tags":["08-26-sos-promo-exclude","25C","26A","26B","26C","Abandon Cart","Athlete Pick","category: All","category: Gift Guide\/Mens\/Gifts Under $50","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Clothing\/Shorts and Amphibians\/Hybrid","category: Mens\/Collections\/Athlete Picks","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Black","Customer Service Appeasement","EVERYDAY SOLID VOLLEY 17","features: Side Pocket","fit: Regular","Free Ship","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","New_O5_Product","outseam: 17 (Short)","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","range: Everyday","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":4400,
"price_min":4400,
"price_max":4400,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_OM-F.jpg?v=1767051529",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288370958473,
"featured_image_alt": "EVERYDAY-SOLID-VOLLEY-17-TOTAL-ECLIPSE-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_OM-B.jpg?v=1767051531",
"alt_image_alt": "EVERYDAY-SOLID-VOLLEY-17-TOTAL-ECLIPSE-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_OM-F.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_OM-B.jpg?v=1767051531","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_OM-FB.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_OM-S.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_OM-1.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_FL-F.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_TOE_FL-B.jpg?v=1767051529"]
},
{
"id":8337483432073,
"handle":"everyday-solid-volley-17-qsm35vl087-lpd",
"title":"Everyday Solid 17\" Swim Trunks - Lily Pad",
"available":true,
"siblings":[{
"handle": "everyday-solid-volley-17-qsm35vl087-blk",
"title": "Everyday Solid 17\" Swim Trunks - Black",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_BLK_OM-F.jpg?v=1761074968",
"images":null,
"variants": [{"title":"BLACK \/ S"},{"title":"BLACK \/ M"},{"title":"BLACK \/ L"},{"title":"BLACK \/ XL"},{"title":"BLACK \/ 2XL"}],
"price": 44.0,
"compare_at_price": 44.0
}],
"tags":["08-26-sos-promo-exclude","25C","26A","26B","26C","Abandon Cart","Athlete Pick","category: All","category: Gift Guide\/Mens\/Gifts Under $50","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/Athlete Picks","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Black","Customer Service Appeasement","EVERYDAY SOLID VOLLEY 17","features: Side Pocket","features: Water Resistant","fit: Regular","Free Ship","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","New_O5_Product","outseam: 17 (Medium)","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","range: Everyday","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":4400,
"price_min":4400,
"price_max":4400,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_OM-F.jpg?v=1767051533",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288372170889,
"featured_image_alt": "EVERYDAY-SOLID-VOLLEY-17-LILY-PAD-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_OM-B.jpg?v=1767051532",
"alt_image_alt": "EVERYDAY-SOLID-VOLLEY-17-LILY-PAD-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_OM-F.jpg?v=1767051533","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_OM-B.jpg?v=1767051532","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_OM-FB.jpg?v=1767051532","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_OM-S.jpg?v=1767051533","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_OM-1.jpg?v=1767051533","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_FL-F.jpg?v=1767051533","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_LPD_FL-B.jpg?v=1767051533"]
},
{
"id":8337482383497,
"handle":"everyday-solid-volley-15-qsm15vl012-hot",
"title":"Everyday Solid 15\" Swim Trunks - Hot Coral",
"available":true,
"siblings":[{
"handle": "everyday-solid-volley-15-qsm15vl012-bok",
"title": "Everyday Solid 15\" Swim Trunks - Brook Green",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-B.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-FB.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-S.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-1.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_FL-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_FL-B.jpg?v=1767051525"],
"variants": [{"title":"BROOK GREEN \/ S"},{"title":"BROOK GREEN \/ M"},{"title":"BROOK GREEN \/ L"},{"title":"BROOK GREEN \/ XL"},{"title":"BROOK GREEN \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
},{
"handle": "everyday-solid-volley-15-qsm15vl012-ple",
"title": "Everyday Solid 15\" Swim Trunks - Pink Lemonade",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-F.jpg?v=1771876503",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-F.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-B.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-S.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-1.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_OM-FB.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_FL-F.jpg?v=1771876503","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_PLE_FL-B.jpg?v=1771876503"],
"variants": [{"title":"PINK LEMONADE \/ S"},{"title":"PINK LEMONADE \/ M"},{"title":"PINK LEMONADE \/ L"},{"title":"PINK LEMONADE \/ XL"},{"title":"PINK LEMONADE \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
},{
"handle": "everyday-solid-volley-15-qsm15vl012-rvb",
"title": "Everyday Solid 15\" Swim Trunks - Riviera",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-F.jpg?v=1767051528",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-F.jpg?v=1767051528","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-B.jpg?v=1767051528","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-FB.jpg?v=1767051528","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-S.jpg?v=1767051528","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-1.jpg?v=1767051530","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_FL-F.jpg?v=1767051529","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_FL-B.jpg?v=1767051529"],
"variants": [{"title":"RIVIERA \/ S"},{"title":"RIVIERA \/ M"},{"title":"RIVIERA \/ L"},{"title":"RIVIERA \/ XL"},{"title":"RIVIERA \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
}],
"tags":["08-26-sos-promo-exclude","25C","26A","26B","26C","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Yello","Customer Service Appeasement","EVERYDAY SOLID VOLLEY 15","features: Side Pocket","fit: Regular","fit: Straight","Free Ship","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","New_O5_Product","outseam: 15 (Short)","outseam: 17 (Medium)","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YGroup_QSM15VL012","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":4400,
"price_min":4400,
"price_max":4400,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_OM-F.jpg?v=1767051525",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288370008201,
"featured_image_alt": "EVERYDAY-SOLID-VOLLEY-15-HOT-CORAL-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_OM-B.jpg?v=1767051525",
"alt_image_alt": "EVERYDAY-SOLID-VOLLEY-15-HOT-CORAL-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_OM-F.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_OM-B.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_OM-FB.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_OM-S.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_OM-1.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_FL-F.jpg?v=1767051525","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_HOT_FL-B.jpg?v=1767051525"]
},
{
"id":8337483137161,
"handle":"everyday-solid-volley-17-qsm35vl087-aqu",
"title":"Everyday Solid 17\" Swim Trunks - Aqua",
"available":true,
"siblings":[{
"handle": "everyday-solid-volley-17-qsm35vl087-blk",
"title": "Everyday Solid 17\" Swim Trunks - Black",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_BLK_OM-F.jpg?v=1761074968",
"images":null,
"variants": [{"title":"BLACK \/ S"},{"title":"BLACK \/ M"},{"title":"BLACK \/ L"},{"title":"BLACK \/ XL"},{"title":"BLACK \/ 2XL"}],
"price": 44.0,
"compare_at_price": 44.0
}],
"tags":["08-26-sos-promo-exclude","25C","26A","26B","26C","Abandon Cart","Athlete Pick","category: All","category: Gift Guide\/Mens\/Gifts Under $50","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/Athlete Picks","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Black","Customer Service Appeasement","EVERYDAY SOLID VOLLEY 17","features: Side Pocket","fit: Regular","fit: Straight","Free Ship","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","New_O5_Product","outseam: 17 (Medium)","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","range: Everyday","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":4400,
"price_min":4400,
"price_max":4400,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_OM-F.jpg?v=1767051529",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288371187849,
"featured_image_alt": "EVERYDAY-SOLID-VOLLEY-17-AQUA-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_OM-B.jpg?v=1767051530",
"alt_image_alt": "EVERYDAY-SOLID-VOLLEY-17-AQUA-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_OM-F.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_OM-B.jpg?v=1767051530","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_OM-FB.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_OM-S.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_OM-1.jpg?v=1767051530","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_FL-F.jpg?v=1767051529","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM35VL087_AQU_FL-B.jpg?v=1767051529"]
},
{
"id":8650418552969,
"handle":"mix-pack-17wm-qs000842m-dsl",
"title":"Waterman Mix Pack 17\" Swim Trunks - Dark Slate",
"available":true,
"siblings":[],
"tags":["08-26-sos-promo-exclude","263-publish","26C","Abandon Cart","category: All","category: Mens","category: Mens category: Mens\/Waterman","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Mens\/Waterman","category: Mens\/Waterman\/Boardshorts","category: Mens\/Waterman\/Clothing","category: Mens\/Waterman\/New Arrivals","category: Mens\/Waterman\/Surf","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","features: Side Pocket","fit: Regular","gender: Mens","length: Short","Loyalty Rewards","material: Recycled","MENS","MIX PACK 17WM","print: Print","product_type: Swim Trunks","Promo Eligible","QSL","segment: Surf","segment: Waterman","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer"],
"type":"Mens - Swim Trunk",
"price":6200,
"price_min":6200,
"price_max":6200,
"compare_at_price":null,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-F.jpg?v=1785518419",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 41021027614857,
"featured_image_alt": "Waterman-Mix-Pack-17\"-Swim-Trunks-Dark-Slate-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-B.jpg?v=1785518419",
"alt_image_alt": "Waterman-Mix-Pack-17\"-Swim-Trunks-Dark-Slate-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-F.jpg?v=1785518419","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-B.jpg?v=1785518419","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-FB.jpg?v=1785518420","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-S.jpg?v=1785518419","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-1.jpg?v=1785518420","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-2.jpg?v=1785518420","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_OM-3.jpg?v=1785518420","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_FL-F.jpg?v=1780609116","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_DSL_FL-B.jpg?v=1780609116"]
},
{
"id":8337461313673,
"handle":"saltwater-volley-17-qs000278-rvb",
"title":"Saltwater 17\" Swim Trunks - Riviera",
"available":true,
"siblings":[{
"handle": "saltwater-volley-17-qs000278-anh",
"title": "Saltwater 17\" Swim Trunks - Anthracite",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_ANH_OM-F.jpg?v=1767051385",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_ANH_OM-F.jpg?v=1767051385","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_ANH_OM-B.jpg?v=1767051385","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_ANH_OM-FB.jpg?v=1767051385","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_ANH_OM-S.jpg?v=1767051385","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_ANH_OM-1.jpg?v=1767051385","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_ANH_FL-F.jpg?v=1767051386","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000278_ANH_FL-B.jpg?v=1767051386"],
"variants": [{"title":"ANTHRACITE \/ S"},{"title":"ANTHRACITE \/ M"},{"title":"ANTHRACITE \/ L"},{"title":"ANTHRACITE \/ XL"},{"title":"ANTHRACITE \/ XXL"}],
"price": 59.0,
"compare_at_price": 59.0
}],
"tags":["08-26-sos-promo-exclude","26A","26B","26C","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/New Arrivals","category: Mens\/Collections\/Saltwater","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","features: Side Pocket","fit: Regular","fit: Straight","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","material: Stretch","Mens - Boardshort","outseam: 17 (Medium)","print: Solid Color","product_type: Boardshorts","product_type: Swim Trunks","Promo Exclusion","QSL","SALTWATER VOLLEY 17","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":5900,
"price_min":5900,
"price_max":5900,
"compare_at_price":5900,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_OM-F.jpg?v=1767051451",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288356409481,
"featured_image_alt": "SALTWATER-VOLLEY-17-RIVIERA-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_OM-B.jpg?v=1767051451",
"alt_image_alt": "SALTWATER-VOLLEY-17-RIVIERA-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_OM-F.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_OM-B.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_OM-FB.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_OM-S.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_OM-1.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_FL-F.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_RVB_FL-B.jpg?v=1767051451"]
},
{
"id":8337482416265,
"handle":"everyday-solid-volley-15-qsm15vl012-ple",
"title":"Everyday Solid 15\" Swim Trunks - Pink Lemonade",
"available":true,
"siblings":[{
"handle": "everyday-solid-volley-15-qsm15vl012-bok",
"title": "Everyday Solid 15\" Swim Trunks - Brook Green",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-B.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-FB.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-S.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_OM-1.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_FL-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_BOK_FL-B.jpg?v=1767051525"],
"variants": [{"title":"BROOK GREEN \/ S"},{"title":"BROOK GREEN \/ M"},{"title":"BROOK GREEN \/ L"},{"title":"BROOK GREEN \/ XL"},{"title":"BROOK GREEN \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
},{
"handle": "everyday-solid-volley-15-qsm15vl012-hot",
"title": "Everyday Solid 15\" Swim Trunks - Hot Coral",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-F.jpg?v=1767051525",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-B.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-FB.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-S.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_OM-1.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_FL-F.jpg?v=1767051525","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_HOT_FL-B.jpg?v=1767051525"],
"variants": [{"title":"HOT CORAL \/ S"},{"title":"HOT CORAL \/ M"},{"title":"HOT CORAL \/ L"},{"title":"HOT CORAL \/ XL"},{"title":"HOT CORAL \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
},{
"handle": "everyday-solid-volley-15-qsm15vl012-rvb",
"title": "Everyday Solid 15\" Swim Trunks - Riviera",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-F.jpg?v=1767051528",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-F.jpg?v=1767051528","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-B.jpg?v=1767051528","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-FB.jpg?v=1767051528","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-S.jpg?v=1767051528","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_OM-1.jpg?v=1767051530","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_FL-F.jpg?v=1767051529","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL012_RVB_FL-B.jpg?v=1767051529"],
"variants": [{"title":"RIVIERA \/ S"},{"title":"RIVIERA \/ M"},{"title":"RIVIERA \/ L"},{"title":"RIVIERA \/ XL"},{"title":"RIVIERA \/ XXL"}],
"price": 44.0,
"compare_at_price": 44.0
}],
"tags":["08-26-sos-promo-exclude","25C","26A","26B","26C","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Yello","Customer Service Appeasement","EVERYDAY SOLID VOLLEY 15","features: Side Pocket","fit: Regular","fit: Straight","Free Ship","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","material: Stretch","New_O5_Product","outseam: 15 (Short)","outseam: 17 (Medium)","print: Solid Color","product_type: Swim Trunks","Promo Exclusion","QSL","range: Everyday","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YGroup_QSM15VL012","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":4400,
"price_min":4400,
"price_max":4400,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_OM-F.jpg?v=1771876503",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38715547975817,
"featured_image_alt": "Everyday Solid 15\" Swim Trunks - Pink Lemonade",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_OM-B.jpg?v=1771876503",
"alt_image_alt": "Everyday Solid 15\" Swim Trunks - Pink Lemonade",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_OM-F.jpg?v=1771876503","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_OM-B.jpg?v=1771876503","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_OM-S.jpg?v=1771876503","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_OM-1.jpg?v=1771876503","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_OM-FB.jpg?v=1771876503","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_FL-F.jpg?v=1771876503","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL012_PLE_FL-B.jpg?v=1771876503"]
},
{
"id":8337480548489,
"handle":"surfsilk-street-trunk-18-qsm15bs015-glf",
"title":"Surfsilk Street Trunk Stripe 18\" Boardshorts - Grape Leaf",
"available":true,
"siblings":[{
"handle": "surfsilk-street-trunk-18-qsm15bs015-swy",
"title": "Surfsilk Street Trunk Stripe 18\" Boardshorts - Skyway",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15BS015_SWY_OM-F.jpg?v=1771876112",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15BS015_SWY_OM-F.jpg?v=1771876112","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15BS015_SWY_OM-B.jpg?v=1771876112","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15BS015_SWY_OM-S.jpg?v=1771876112","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15BS015_SWY_OM-1.jpg?v=1771876112","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15BS015_SWY_OM-FB.jpg?v=1771876112","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15BS015_SWY_FL-F.jpg?v=1771876112","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15BS015_SWY_FL-B.jpg?v=1771876112"],
"variants": [{"title":"SKYWAY \/ 28"},{"title":"SKYWAY \/ 29"},{"title":"SKYWAY \/ 30"},{"title":"SKYWAY \/ 31"},{"title":"SKYWAY \/ 32"},{"title":"SKYWAY \/ 33"},{"title":"SKYWAY \/ 34"},{"title":"SKYWAY \/ 36"},{"title":"SKYWAY \/ 38"},{"title":"SKYWAY \/ 40"}],
"price": 66.0,
"compare_at_price": 66.0
}],
"tags":["08-26-sos-promo-exclude","26A","26B","Abandon Cart","BOARD SHORTS","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Collections\/Nature Nomad","category: Mens\/Collections\/Surfsilk","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Mens\/Surf\/Boardshorts\/Surfsilk","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","gender: Mens","Loyalty Rewards","Mens - Boardshort","print: Striped","product_type: Boardshorts","Promo Exclusion","QSL","range: Surfsilk","segment: Surf","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","style: Fixed Waist","SurfSilk","SURFSILK STREET TRUNK 18","VIP Employee Cards","waist: Fixed Waist","Warranty","Welcome Offer","YGroup_QSM15BS015","YOUNG MENS"],
"type":"Mens - Boardshort",
"price":6600,
"price_min":6600,
"price_max":6600,
"compare_at_price":6600,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_OM-F.jpg?v=1767051466",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288359325833,
"featured_image_alt": "SURFSILK-STREET-TRUNK-18-GRAPE-LEAF-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_OM-B.jpg?v=1767051467",
"alt_image_alt": "SURFSILK-STREET-TRUNK-18-GRAPE-LEAF-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_OM-F.jpg?v=1767051466","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_OM-B.jpg?v=1767051467","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_OM-FB.jpg?v=1767051466","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_OM-S.jpg?v=1767051466","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_OM-1.jpg?v=1767051467","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_FL-F.jpg?v=1767051467","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15BS015_GLF_FL-B.jpg?v=1767051466"]
},
{
"id":8650419011721,
"handle":"mix-pack-17wm-qs000842m-mnbm",
"title":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam",
"available":true,
"siblings":[{
"handle": "mix-pack-17wm-qs000842m-dsl",
"title": "Waterman Mix Pack 17\" Swim Trunks - Dark Slate",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000842M_DSL_OM-F.jpg?v=1785518419",
"images":null,
"variants": [{"title":"DARK SLATE \/ XS"},{"title":"DARK SLATE \/ S"},{"title":"DARK SLATE \/ M"},{"title":"DARK SLATE \/ L"},{"title":"DARK SLATE \/ XL"},{"title":"DARK SLATE \/ XXL"}],
"price": 62.0,
"compare_at_price": ""
}],
"tags":["08-26-sos-promo-exclude","263-publish","26C","Abandon Cart","category: All","category: Mens","category: Mens category: Mens\/Waterman","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/New Arrivals","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Mens\/Waterman","category: Mens\/Waterman\/Boardshorts","category: Mens\/Waterman\/Clothing","category: Mens\/Waterman\/New Arrivals","category: Mens\/Waterman\/Surf","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","features: Side Pocket","fit: Regular","gender: Mens","length: Medium","length: Short","Loyalty Rewards","material: Recycled","MENS","MIX PACK 17WM","print: Print","product_type: Swim Trunks","Promo Eligible","QSL","segment: Surf","segment: Waterman","size-chart-mens-apparel","SoS Exclude","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer"],
"type":"Mens - Swim Trunk",
"price":6200,
"price_min":6200,
"price_max":6200,
"compare_at_price":null,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-F.jpg?v=1785518430",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 41021028434057,
"featured_image_alt": "Waterman-Mix-Pack-17\"-Swim-Trunks-Moonbeam-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-B.jpg?v=1785518431",
"alt_image_alt": "Waterman-Mix-Pack-17\"-Swim-Trunks-Moonbeam-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-F.jpg?v=1785518430","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-B.jpg?v=1785518431","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-FB.jpg?v=1785518430","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-S.jpg?v=1785518431","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-1.jpg?v=1785518431","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-2.jpg?v=1785518431","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_OM-3.jpg?v=1785518430","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_FL-F.jpg?v=1780609162","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000842M_MNBM_FL-B.jpg?v=1780609162"]
},
{
"id":8473894256777,
"handle":"mix-pack-17-wm-qs000534m-nal",
"title":"Waterman Mix Pack 17\" Swim Trunks - North Atlantic",
"available":true,
"siblings":[{
"handle": "mix-pack-17-wm-qs000534m-dkd",
"title": "Waterman Mix Pack 17\" Swim Trunks - Dark Denim",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-F_efd3f55f-327e-4925-9191-f1c18d414be8.jpg?v=1778710796",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-F_efd3f55f-327e-4925-9191-f1c18d414be8.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-B_b541159f-e0e6-415d-a03c-7c63fbfbdb0c.jpg?v=1778710797","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-3.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-2_87439712-eff2-4678-8bfd-83a68a30dba7.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-S_ac7fee34-7fe3-411d-be89-b68c17af8d1e.jpg?v=1778710108","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-1_e6e37f29-8e10-48f4-8f46-d36164f6af9a.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-FB_f3dcea72-ba71-4430-a28e-26cb2364c1f2.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_FL-F.jpg?v=1775749360","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_FL-B.jpg?v=1775749360"],
"variants": [{"title":"DARK DENIM \/ S"},{"title":"DARK DENIM \/ M"},{"title":"DARK DENIM \/ L"},{"title":"DARK DENIM \/ XL"},{"title":"DARK DENIM \/ XXL"}],
"price": 42.98,
"compare_at_price": 62.0
},{
"handle": "mix-pack-17-wm-qs000534m-mnbm",
"title": "Waterman Mix Pack 17\" Swim Trunks - Moonbeam",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_OM-F_3b72f759-f171-4274-8a8c-b261b0d6f4f8.jpg?v=1778710158",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_OM-F_3b72f759-f171-4274-8a8c-b261b0d6f4f8.jpg?v=1778710158","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_OM-B_aeaffca4-21da-4505-a0cd-7ac155946bbd.jpg?v=1778710158","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_OM-3.jpg?v=1778710158","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_OM-2_f729cb33-bbef-4ac5-a54d-73fd99c13f39.jpg?v=1778710158","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_OM-S_0fe5c4f7-b97c-4f89-91d7-fafce3f069cd.jpg?v=1778710158","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_OM-1_d93c6411-2264-4397-a160-5ceade3310b3.jpg?v=1778710158","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_OM-FB_6f6fe942-dbcc-41a5-8f65-1911d63e3575.jpg?v=1778710158","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_FL-F.jpg?v=1775749363","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_MNBM_FL-B.jpg?v=1775749363"],
"variants": [{"title":"MOONBEAM \/ S"},{"title":"MOONBEAM \/ M"},{"title":"MOONBEAM \/ L"},{"title":"MOONBEAM \/ XL"},{"title":"MOONBEAM \/ XXL"}],
"price": 48.99,
"compare_at_price": 62.0
},{
"handle": "mix-pack-17-wm-qs000534m-pht",
"title": "Waterman Mix Pack 17\" Swim Trunks - Phantom",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-F_7476ce17-b757-4c78-a2c5-af4f3b18cf04.jpg?v=1778710252",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-F_7476ce17-b757-4c78-a2c5-af4f3b18cf04.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-B_f558cf5c-2fb5-4e0e-b878-ca9dc8237a5f.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-3.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-2_177c469d-23a6-47b1-95bb-74fd03558bfe.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-S_32532692-d22a-4576-9d5f-ad7fcdf34ace.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-1_23608914-e29c-4d57-8ffb-ac0fce8b1a84.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-FB_d63741c4-c1c0-4fb4-b1b3-234e82b39ea2.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_FL-F.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_FL-B.jpg?v=1775749367"],
"variants": [{"title":"PHANTOM \/ S"},{"title":"PHANTOM \/ M"},{"title":"PHANTOM \/ L"},{"title":"PHANTOM \/ XL"},{"title":"PHANTOM \/ XXL"}],
"price": 48.99,
"compare_at_price": 62.0
},{
"handle": "mix-pack-17-wm-qs000534m-swy",
"title": "Waterman Mix Pack 17\" Swim Trunks - Skyway",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-F_1588056c-900b-4f56-a4ae-9c2c8a94f1ff.jpg?v=1778710305",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-F_1588056c-900b-4f56-a4ae-9c2c8a94f1ff.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-1_61af0871-486f-4efd-bac1-ffd1a6acf6ba.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-3.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-S_b9729367-f70c-42b2-96ff-fd16a9bb94b8.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-2_72c63ad2-f492-4458-bbf0-b03652fe4e76.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-FB_910e87bc-ca62-4ddd-9b1a-e5efa68a6e31.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_FL-F.jpg?v=1775749370","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_FL-B.jpg?v=1775749370"],
"variants": [{"title":"SKYWAY \/ S"},{"title":"SKYWAY \/ M"},{"title":"SKYWAY \/ L"},{"title":"SKYWAY \/ XL"},{"title":"SKYWAY \/ XXL"}],
"price": 48.99,
"compare_at_price": 62.0
}],
"tags":["08-26-sos-promo-exclude","26B","BOARD SHORTS","category: Mens","category: Mens category: Mens\/Waterman","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Waterman","category: Mens\/Waterman\/Boardshorts","category: Mens\/Waterman\/New Arrivals","category: Mens\/Waterman\/Surf","category: Sale","category: Sale\/Mens","category: Sale\/Mens\/Boardshorts","category: Sale\/Mens\/New to Sale","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","features: Side Pocket","gender: Mens","JAM VOLLEY","length: Short","material: Recycled","material: Stretch","MENS","MIX PACK 17 WM","outseam: 17 (Short)","print: Print","product_type: Swim Trunks","Promo Eligible","QSL","range: Waterman","segment: Waterman","size-chart-waterman-apparel","SoS Exclude","style: Beach","style: Elastic Waist","style: Graphic Print","waist: Elastic Waist","WOVEN SHORT"],
"type":"Mens - Swim Trunk",
"price":4899,
"price_min":4899,
"price_max":4899,
"compare_at_price":6200,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-F_b70ddc62-0034-4a5f-8c5e-42835f1f87b1.jpg?v=1778710205",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 39883360043145,
"featured_image_alt": "Waterman Mix Pack 17\" Swim Trunks - North Atlantic",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-B_dc96a492-0307-4385-baa8-49d98a67c37d.jpg?v=1778710204",
"alt_image_alt": "Waterman Mix Pack 17\" Swim Trunks - North Atlantic",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-F_b70ddc62-0034-4a5f-8c5e-42835f1f87b1.jpg?v=1778710205","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-B_dc96a492-0307-4385-baa8-49d98a67c37d.jpg?v=1778710204","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-3.jpg?v=1778710205","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-S_b3be9b5f-1389-43ca-99ee-65f294a98817.jpg?v=1778710204","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-2.jpg?v=1778710205","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-1_de61adf0-cc9c-45bc-b29b-4c1462ac90d4.jpg?v=1778710205","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_OM-FB_70ff2bc7-eade-4c16-b7f2-f6aff6457af9.jpg?v=1778710205","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_FL-F.jpg?v=1775749366","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_NAL_FL-B.jpg?v=1775749365"]
},
{
"id":8337461182601,
"handle":"saltwater-volley-17-qs000278-lpd",
"title":"Saltwater 17\" Swim Trunks - Lily Pad",
"available":true,
"siblings":[],
"tags":["08-26-sos-promo","26A","26B","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Collections\/Saltwater","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Sale","category: Sale\/Mens","category: Sale\/Mens\/Boardshorts","category: Sale\/Mens\/Surf","category: Sale\/Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","features: Side Pocket","Final Sale","fit: Regular","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","material: Stretch","Mens - Boardshort","outseam: 17 (Medium)","print: Solid Color","product_type: Boardshorts","product_type: Swim Trunks","Promo Eligible","QSL","SALTWATER VOLLEY 17","segment: Surf","size-chart-mens-apparel","SoS Include","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":3497,
"price_min":3497,
"price_max":3497,
"compare_at_price":5900,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_OM-F.jpg?v=1767051381",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288339599497,
"featured_image_alt": "SALTWATER-VOLLEY-17-LILY-PAD-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_OM-B.jpg?v=1767051380",
"alt_image_alt": "SALTWATER-VOLLEY-17-LILY-PAD-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_OM-F.jpg?v=1767051381","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_OM-B.jpg?v=1767051380","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_OM-FB.jpg?v=1767051380","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_OM-S.jpg?v=1767051380","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_OM-1.jpg?v=1767051380","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_FL-F.jpg?v=1767051380","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000278_LPD_FL-B.jpg?v=1767051380"]
},
{
"id":8337471275145,
"handle":"mix-volley-17-qs000445-bhz",
"title":"Mix Volley 17\" Swim Trunks - Blue Haze",
"available":true,
"siblings":[{
"handle": "mix-volley-17-qs000445-anh",
"title": "Mix Volley 17\" Swim Trunks - Anthracite",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_OM-F.jpg?v=1775749368",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_OM-F.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_OM-B.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_OM-S.jpg?v=1775749367","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_OM-FB.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_OM-1.jpg?v=1775749369","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_OM-2.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_FL-F.jpg?v=1775749369","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_ANH_FL-B.jpg?v=1775749369"],
"variants": [{"title":"ANTHRACITE \/ S"},{"title":"ANTHRACITE \/ M"},{"title":"ANTHRACITE \/ L"},{"title":"ANTHRACITE \/ XL"},{"title":"ANTHRACITE \/ XXL"}],
"price": 43.99,
"compare_at_price": 56.0
},{
"handle": "mix-volley-17-qs000445-aqu",
"title": "Mix Volley 17\" Swim Trunks - Aqua",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_AQU_FL-F.jpg?v=1771876726",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_AQU_FL-F.jpg?v=1771876726","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_AQU_FL-B.jpg?v=1771876726"],
"variants": [{"title":"AQUA \/ S"},{"title":"AQUA \/ M"},{"title":"AQUA \/ L"},{"title":"AQUA \/ XL"},{"title":"AQUA \/ XXL"}],
"price": 32.97,
"compare_at_price": 56.0
},{
"handle": "mix-volley-17-qs000445-blcr",
"title": "Mix Volley 17\" Swim Trunks - Blue Coral",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLCR_OM-F.jpg?v=1780607252",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLCR_OM-F.jpg?v=1780607252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLCR_OM-B.jpg?v=1780607252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLCR_OM-FB.jpg?v=1780607252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLCR_OM-S.jpg?v=1780607252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLCR_OM-1.jpg?v=1780607252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLCR_FL-F.jpg?v=1780607252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLCR_FL-B.jpg?v=1780607252"],
"variants": [{"title":"BLUE CORAL \/ XS"},{"title":"BLUE CORAL \/ S"},{"title":"BLUE CORAL \/ M"},{"title":"BLUE CORAL \/ L"},{"title":"BLUE CORAL \/ XL"},{"title":"BLUE CORAL \/ XXL"}],
"price": 46.99,
"compare_at_price": 59.0
},{
"handle": "mix-volley-17-qs000445-blk",
"title": "Mix Volley 17\" Swim Trunks - Black",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLK_OM-F.jpg?v=1767051445",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLK_OM-F.jpg?v=1767051445","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLK_OM-B.jpg?v=1767051445","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLK_OM-FB.jpg?v=1767051445","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLK_OM-S.jpg?v=1767051445","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLK_OM-1.jpg?v=1767051445","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLK_FL-F.jpg?v=1767051445","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BLK_FL-B.jpg?v=1767051445"],
"variants": [{"title":"BLACK \/ S"},{"title":"BLACK \/ M"},{"title":"BLACK \/ L"},{"title":"BLACK \/ XL"},{"title":"BLACK \/ XXL"}],
"price": 32.97,
"compare_at_price": 56.0
},{
"handle": "mix-volley-17-qs000445-bok",
"title": "Mix Volley 17\" Swim Trunks - Brook Green",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_OM-F.jpg?v=1775749368",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_OM-F.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_OM-B.jpg?v=1775749369","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_OM-S.jpg?v=1775749369","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_OM-FB.jpg?v=1775749369","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_OM-1.jpg?v=1775749369","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_OM-2.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_FL-F.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000445_BOK_FL-B.jpg?v=1775749369"],
"variants": [{"title":"BROOK GREEN \/ S"},{"title":"BROOK GREEN \/ M"},{"title":"BROOK GREEN \/ L"},{"title":"BROOK GREEN \/ XL"},{"title":"BROOK GREEN \/ XXL"}],
"price": 43.99,
"compare_at_price": 56.0
}],
"tags":["08-26-sos-promo","26A","26B","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Clothing\/Shorts and Amphibians\/Hybrid","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Sale","category: Sale\/Mens","category: Sale\/Mens\/Boardshorts","category: Sale\/Mens\/Surf","category: Sale\/Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Customer Service Appeasement","features: Side Pocket","Final Sale","fit: Elastic","gender: Mens","JAM VOLLEY","length: Short","Loyalty Rewards","material: Recycled","MIX VOLLEY 17","product_type: Swim Trunks","Promo Eligible","QSL","segment: Surf","size-chart-mens-apparel","SoS Include","style: Elastic Waist","style: Swim Shirt","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer","YOUNG MENS"],
"type":"Mens - Swim Trunk",
"price":2797,
"price_min":2797,
"price_max":2797,
"compare_at_price":5600,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_OM-F.jpg?v=1767051451",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 38288356180105,
"featured_image_alt": "MIX-VOLLEY-17-BLUE-HAZE-1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_OM-B.jpg?v=1767051451",
"alt_image_alt": "MIX-VOLLEY-17-BLUE-HAZE-2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_OM-F.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_OM-B.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_OM-FB.jpg?v=1767051450","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_OM-S.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_OM-1.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_FL-F.jpg?v=1767051451","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000445_BHZ_FL-B.jpg?v=1767051451"]
},
{
"id":8042034626697,
"handle":"everyday-solid-volley-17-nb-qsm15vl013-hgy",
"title":"Everyday Solid 17\" Swim Trunks - Heather Gray",
"available":true,
"siblings":[{
"handle": "everyday-solid-volley-17-nb-qsm15vl013-blk",
"title": "Everyday Solid 17\" Swim Trunks - Black",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL013_BLK_FL-F_00974832-0696-479f-9af2-f4bcc06ef6cd.jpg?v=1742426256",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL013_BLK_FL-F_00974832-0696-479f-9af2-f4bcc06ef6cd.jpg?v=1742426256","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL013_BLK_FL-B_d484d0eb-d3c2-4134-aa47-76b22492002f.jpg?v=1742426256"],
"variants": [{"title":"BLACK \/ S"},{"title":"BLACK \/ M"},{"title":"BLACK \/ L"},{"title":"BLACK \/ XL"},{"title":"BLACK \/ 2XL"}],
"price": 21.97,
"compare_at_price": 44.0
},{
"handle": "everyday-solid-volley-17-nb-qsm15vl013-ecp",
"title": "Everyday Solid 17\" Swim Trunks - Eclipse",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL013_ECP_FL-F.jpg?v=1742425598",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL013_ECP_FL-F.jpg?v=1742425598","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM15VL013_ECP_FL-B.jpg?v=1742425598"],
"variants": [{"title":"ECLIPSE \/ S"},{"title":"ECLIPSE \/ M"},{"title":"ECLIPSE \/ L"},{"title":"ECLIPSE \/ XL"},{"title":"ECLIPSE \/ 2XL"}],
"price": 21.97,
"compare_at_price": 44.0
},{
"handle": "everyday-solid-volley-17-qsm35vl087-ecp",
"title": "Everyday Solid 17\" Swim Trunks - Eclipse",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_ECP_OM-F.jpg?v=1761074972",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_ECP_OM-F.jpg?v=1761074972","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_ECP_OM-B.jpg?v=1761074972","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_ECP_OM-FB.jpg?v=1761074972","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_ECP_OM-S.jpg?v=1761074972","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_ECP_OM-1.jpg?v=1761074972","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QSM35VL087_ECP_OM-2.jpg?v=1761074972"],
"variants": [{"title":"ECLIPSE \/ S"},{"title":"ECLIPSE \/ M"},{"title":"ECLIPSE \/ L"},{"title":"ECLIPSE \/ XL"},{"title":"ECLIPSE \/ 2XL"}],
"price": 34.99,
"compare_at_price": 44.0
}],
"tags":["08-26-sos-promo","25B","Abandon Cart","category: All","category: Mens","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Surf","category: Mens\/Surf\/Boardshorts","category: Sale","category: Sale\/Mens","category: Sale\/Mens\/Boardshorts","category: Sale\/Mens\/Surf","category: Sale\/Mens\/Surf\/Boardshorts","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","Color: Gray","Customer Service Appeasement","features: Side Pocket","Final Sale","Free Ship","gender: Mens","length: Short","Loyalty Rewards","material: Recycled","New_O5_Product","product_type: Swim Trunks","Promo Eligible","QSL","segment: Surf","size-chart-mens-apparel","style: Elastic Waist","VIP Employee Cards","waist: Elastic Waist","Warranty","Welcome Offer"],
"type":"Mens - Swim Trunk",
"price":2197,
"price_min":2197,
"price_max":2197,
"compare_at_price":4400,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL013_HGY_FL-F.jpg?v=1743192191",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 35219544604809,
"featured_image_alt": "Everyday Solid 17\" Swim Trunks - Heather Gray - 1",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL013_HGY_FL-B.jpg?v=1743192191",
"alt_image_alt": "Everyday Solid 17\" Swim Trunks - Heather Gray - 2",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL013_HGY_FL-F.jpg?v=1743192191","\/\/www.quiksilver.com\/cdn\/shop\/files\/QSM15VL013_HGY_FL-B.jpg?v=1743192191"]
},
{
"id":8473894125705,
"handle":"mix-pack-17-wm-qs000534m-mnbm",
"title":"Waterman Mix Pack 17\" Swim Trunks - Moonbeam",
"available":true,
"siblings":[{
"handle": "mix-pack-17-wm-qs000534m-dkd",
"title": "Waterman Mix Pack 17\" Swim Trunks - Dark Denim",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-F_efd3f55f-327e-4925-9191-f1c18d414be8.jpg?v=1778710796",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-F_efd3f55f-327e-4925-9191-f1c18d414be8.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-B_b541159f-e0e6-415d-a03c-7c63fbfbdb0c.jpg?v=1778710797","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-3.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-2_87439712-eff2-4678-8bfd-83a68a30dba7.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-S_ac7fee34-7fe3-411d-be89-b68c17af8d1e.jpg?v=1778710108","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-1_e6e37f29-8e10-48f4-8f46-d36164f6af9a.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_OM-FB_f3dcea72-ba71-4430-a28e-26cb2364c1f2.jpg?v=1778710796","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_FL-F.jpg?v=1775749360","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_DKD_FL-B.jpg?v=1775749360"],
"variants": [{"title":"DARK DENIM \/ S"},{"title":"DARK DENIM \/ M"},{"title":"DARK DENIM \/ L"},{"title":"DARK DENIM \/ XL"},{"title":"DARK DENIM \/ XXL"}],
"price": 42.98,
"compare_at_price": 62.0
},{
"handle": "mix-pack-17-wm-qs000534m-nal",
"title": "Waterman Mix Pack 17\" Swim Trunks - North Atlantic",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_OM-F_b70ddc62-0034-4a5f-8c5e-42835f1f87b1.jpg?v=1778710205",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_OM-F_b70ddc62-0034-4a5f-8c5e-42835f1f87b1.jpg?v=1778710205","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_OM-B_dc96a492-0307-4385-baa8-49d98a67c37d.jpg?v=1778710204","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_OM-3.jpg?v=1778710205","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_OM-S_b3be9b5f-1389-43ca-99ee-65f294a98817.jpg?v=1778710204","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_OM-2.jpg?v=1778710205","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_OM-1_de61adf0-cc9c-45bc-b29b-4c1462ac90d4.jpg?v=1778710205","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_OM-FB_70ff2bc7-eade-4c16-b7f2-f6aff6457af9.jpg?v=1778710205","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_FL-F.jpg?v=1775749366","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_NAL_FL-B.jpg?v=1775749365"],
"variants": [{"title":"NORTH ATLANTIC \/ S"},{"title":"NORTH ATLANTIC \/ M"},{"title":"NORTH ATLANTIC \/ L"},{"title":"NORTH ATLANTIC \/ XL"},{"title":"NORTH ATLANTIC \/ XXL"}],
"price": 48.99,
"compare_at_price": 62.0
},{
"handle": "mix-pack-17-wm-qs000534m-pht",
"title": "Waterman Mix Pack 17\" Swim Trunks - Phantom",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-F_7476ce17-b757-4c78-a2c5-af4f3b18cf04.jpg?v=1778710252",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-F_7476ce17-b757-4c78-a2c5-af4f3b18cf04.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-B_f558cf5c-2fb5-4e0e-b878-ca9dc8237a5f.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-3.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-2_177c469d-23a6-47b1-95bb-74fd03558bfe.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-S_32532692-d22a-4576-9d5f-ad7fcdf34ace.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-1_23608914-e29c-4d57-8ffb-ac0fce8b1a84.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_OM-FB_d63741c4-c1c0-4fb4-b1b3-234e82b39ea2.jpg?v=1778710252","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_FL-F.jpg?v=1775749368","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_PHT_FL-B.jpg?v=1775749367"],
"variants": [{"title":"PHANTOM \/ S"},{"title":"PHANTOM \/ M"},{"title":"PHANTOM \/ L"},{"title":"PHANTOM \/ XL"},{"title":"PHANTOM \/ XXL"}],
"price": 48.99,
"compare_at_price": 62.0
},{
"handle": "mix-pack-17-wm-qs000534m-swy",
"title": "Waterman Mix Pack 17\" Swim Trunks - Skyway",
"featured_image": "https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-F_1588056c-900b-4f56-a4ae-9c2c8a94f1ff.jpg?v=1778710305",
"images":["https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-F_1588056c-900b-4f56-a4ae-9c2c8a94f1ff.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-1_61af0871-486f-4efd-bac1-ffd1a6acf6ba.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-3.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-S_b9729367-f70c-42b2-96ff-fd16a9bb94b8.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-2_72c63ad2-f492-4458-bbf0-b03652fe4e76.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_OM-FB_910e87bc-ca62-4ddd-9b1a-e5efa68a6e31.jpg?v=1778710305","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_FL-F.jpg?v=1775749370","https:\/\/cdn.shopify.com\/s\/files\/1\/0687\/6856\/3337\/files\/QS000534M_SWY_FL-B.jpg?v=1775749370"],
"variants": [{"title":"SKYWAY \/ S"},{"title":"SKYWAY \/ M"},{"title":"SKYWAY \/ L"},{"title":"SKYWAY \/ XL"},{"title":"SKYWAY \/ XXL"}],
"price": 48.99,
"compare_at_price": 62.0
}],
"tags":["08-26-sos-promo-exclude","26B","category: Mens","category: Mens category: Mens\/Waterman","category: Mens\/Clothing","category: Mens\/Clothing\/Boardshorts","category: Mens\/Clothing\/Boardshorts\/Elastic Waist","category: Mens\/Clothing\/Shorts and Amphibians","category: Mens\/Waterman","category: Mens\/Waterman\/Boardshorts","category: Mens\/Waterman\/New Arrivals","category: Mens\/Waterman\/Surf","category: Sale","category: Sale\/Mens","category: Sale\/Mens\/Boardshorts","category: Sale\/Mens\/New to Sale","category: Surf","category: Surf\/Mens","category: Surf\/Mens\/Boardshorts","gender: Mens","JAM VOLLEY","length: Medium","material: Recycled","material: Stretch","MENS","MIX PACK 17 WM","outseam: 17 (Medium)","print: Print","product_type: Swim Trunks","Promo Eligible","QSL","range: Waterman","segment: Waterman","SoS Exclude","style: Beach","style: Elastic Waist","waist: Elastic Waist"],
"type":"Mens - Swim Trunk",
"price":4899,
"price_min":4899,
"price_max":4899,
"compare_at_price":6200,"featured_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-F_3b72f759-f171-4274-8a8c-b261b0d6f4f8.jpg?v=1778710158",
"featured_image_aspect_ratio": 0.8,
"featured_image_width": 2000,
"featured_image_height": 2500,
"featured_image_id": 39883358634121,
"featured_image_alt": "Waterman Mix Pack 17\" Swim Trunks - Moonbeam",
"alt_image": "\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-B_aeaffca4-21da-4505-a0cd-7ac155946bbd.jpg?v=1778710158",
"alt_image_alt": "Waterman Mix Pack 17\" Swim Trunks - Moonbeam",
"images": ["\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-F_3b72f759-f171-4274-8a8c-b261b0d6f4f8.jpg?v=1778710158","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-B_aeaffca4-21da-4505-a0cd-7ac155946bbd.jpg?v=1778710158","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-3.jpg?v=1778710158","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-2_f729cb33-bbef-4ac5-a54d-73fd99c13f39.jpg?v=1778710158","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-S_0fe5c4f7-b97c-4f89-91d7-fafce3f069cd.jpg?v=1778710158","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-1_d93c6411-2264-4397-a160-5ceade3310b3.jpg?v=1778710158","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_OM-FB_6f6fe942-dbcc-41a5-8f65-1911d63e3575.jpg?v=1778710158","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_FL-F.jpg?v=1775749363","\/\/www.quiksilver.com\/cdn\/shop\/files\/QS000534M_MNBM_FL-B.jpg?v=1775749363"]
}
],
"pagination": {
"limit": 20,
"page_size": 20,
"collection": {"current_offset":0,"current_page":1,"items":49,"page_size":20,"parts":[{"title":1,"is_link":false},{"title":2,"url":"\/collections\/mens-clothing-boardshorts-elastic-waist?page=2","is_link":true},{"title":3,"url":"\/collections\/mens-clothing-boardshorts-elastic-waist?page=3","is_link":true}],"next":{"title":"Next \u0026raquo;","url":"\/collections\/mens-clothing-boardshorts-elastic-waist?page=2","is_link":true},"pages":3},
"pages": 3
},
"total_products": 49
}
} catch(error) {
console.error('error rendering feed snippet', error);
}
document.addEventListener('DOMContentLoaded', function() {
if (location.search && location.search.includes('filter')) return false
window.collection.initial.products = window.collection.initial.products.filter(p=>!!p)
Util.hooks.process('Collection:processData', window.collection.initial).then((data) => {
window.collection.products = data.products;
window.collection.excluded_products = [];
})
window.collection.banners = {
"banners_list": window.collection.initial.banners
}
if (window.collection?.initial?.filters && window.collection?.filters?.all) {
window.collection.filters.all = window.collection.initial.filters
}
Neptune.liquid.load('Collection')
})
window.addEventListener('Collection:productData', function () {
collection.products = collection.products.filter(p=>!!p);
Collection.paginate(collection.page)
})
window.addEventListener('Collection:loaded', function () {
console.log('Collection:loaded', collection)
Neptune.liquid.load('Collection')
})
</script>
</div>
<div class="w-auto lg:col-span-1 h-screen hidden lg:flex flex-col lg:flex-col layout-top layout-space-packed sticky origin origin-top origin-left collection-filters" style="--offset-x:0; --offset-y:0; " >
<div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{% if collection.filters.applied.size > 0 %}
<div class="collection-active-filters">
<div class="collection-active-filter-wrapper flex flex-wrap empty:hidden">
{%- for filter in collection.filters.all -%}
{% if filter.key == 'filter.v.availability' %}{% continue %}{% endif %}
{% assign filter_label = filter.label %}
{%- for option in filter.options -%}
{%- if option.active -%}
<button class="button--chip hover:cursor-pointer flex items-center" onclick="Collection.filter('{{ filter.key }}', '{{ option.value }}')">
<span>{{ filter_label }}: {{ option.label }}</span>
<svg
class="icon icon-x"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">x</span>
</button>
{%- endif -%}
{%- endfor -%}
{%- if filter.range != nil and filter.range[0].low != '' or filter.range[0].high != '' %}
{% assign low = filter.range[0].low | replace: '.00', '' %}
{% assign high = filter.range[0].high | replace: '.00', '' %}
{%- capture filter_value -%}
${% if low == '' %}0{% else %}{{ low }}{% endif %} - {% if high != '' %}${{ high }}{% endif %}
{%- endcapture -%}
<button class="button--chip hover:cursor-pointer flex items-center" onclick="
{% if low != '' %}Collection.filter('{{ filter.key }}.gte', '{{ low }}');{% endif %}
{% if high != '' %}Collection.filter('{{ filter.key }}.lte', '{{ high }}');{% endif %}
">
<span>{{ filter_label }}: {{ filter_value }}</span>
<svg
class="icon icon-x"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">x</span>
</button>
{%- endif -%}
{%- endfor -%}
</div>
<div class="tag-clear-wrapper">
<button onclick="Collection.clear()"><span>Clear all</span></button>
</div>
</div>
{% endif %}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "product-type" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ANVpxK1MvVXBRaE0xc__collection_filters_QwTTae .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "category" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--hierarchy">
{%- for option in set.options -%}
<div class="field filter-item--hierarchy">
<label for="filter-{{ set.label }}-{{ option.value }}-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AeHc5ZUVwQ0Vlc0Z4Q__collection_filters_dqXWGk .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "size" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--grid">
{%- for option in set.options -%}
<button
id="filter-{{ set.label }}-{{ option.value }}-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR"
class="filter-item filter-item--grid{% if collection.filters.applied[set.key] contains option.value %} active{% endif %}"
onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')"
>
<span class="capitalize">{{ option.label }}</span>
</button>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% assign max_count = max_count | times: 4 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AcUhidmJEa0VvNG5ZQ__collection_filters_B3xnYR .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "price" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--hierarchy">
{%- for option in set.options -%}
<div class="field filter-item--hierarchy">
<label for="filter-{{ set.label }}-{{ option.value }}-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7 .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7 .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7 .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-Abmw3bTNiVmJRcVgrb__collection_filters_8kH3x7 .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "color" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--palette">
{% capture color_map %}Beige: #c7b299,
Black: #000000,
Blue: #095a80,
Brown: #543b24,
Green: #2b5f2a,
Orange: #ba6435,
Pink: #e294a7,
Purple: #493664,
Red: #9c3232,
White: #ffffff,
Yellow: #e0c02a,
Gray: #707070,
Miscellaneous: url(//cdn.shopify.com/s/files/1/0687/6856/3337/files/Multi-Rainbow-Square-2.png?v=1754608926),
Violet:#493664,
Multi: url(//cdn.shopify.com/s/files/1/0687/6856/3337/files/Multi-Rainbow-Square-2.png?v=1754608926){% endcapture %}
{% assign color_map = color_map | split: ',' %}
{%- for option in set.options -%}
{%- assign swatch_bg = '' -%}
{%- for color in color_map -%}
{%- assign key = color | split: ':' | first | strip | handle -%}
{%- assign value = color | split: ':' | last | strip -%}
{%- assign option_handle = option.label | handle -%}
{%- if key == option_handle -%}
{%- assign swatch_bg = value -%}
{%- endif -%}
{%- endfor -%}
<div class="filter-items--inner">
<button
id="filter-{{ set.label }}-{{ option.value }}-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4"
class="filter-item filter-item--palette{% if collection.filters.applied[set.key] contains option.value %} active{% endif %}"
style="background: {{ swatch_bg }}"
onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')"
>
<span class="sr-only">{{ option.label }}</span>
</button>
<span class="capitalize filter-item--span">{{ option.label }}</span>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% assign max_count = max_count | times: 6 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4 .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4 .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4 .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AY05UUThGMVR5cVc0W__collection_filters_NpNJR4 .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "fit" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AcEpuRVZZN2kxZGI4W__collection_filters_G3T7tq .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "style" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AK3N1QnZnVTRqYmlRT__collection_filters_eAmiWc .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "outseam" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AcXlQMG9aT0toeno4W__collection_filters_rejf4k" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AcXlQMG9aT0toeno4W__collection_filters_rejf4k">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AcXlQMG9aT0toeno4W__collection_filters_rejf4k" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AcXlQMG9aT0toeno4W__collection_filters_rejf4k" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AcXlQMG9aT0toeno4W__collection_filters_rejf4k"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AcXlQMG9aT0toeno4W__collection_filters_rejf4k"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AcXlQMG9aT0toeno4W__collection_filters_rejf4k" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AcXlQMG9aT0toeno4W__collection_filters_rejf4k" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AcXlQMG9aT0toeno4W__collection_filters_rejf4k .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AcXlQMG9aT0toeno4W__collection_filters_rejf4k .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AcXlQMG9aT0toeno4W__collection_filters_rejf4k .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AcXlQMG9aT0toeno4W__collection_filters_rejf4k .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "length" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ARUczS251NnhVZHR0V__collection_filters_EK4Qci" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-ARUczS251NnhVZHR0V__collection_filters_EK4Qci">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ARUczS251NnhVZHR0V__collection_filters_EK4Qci" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ARUczS251NnhVZHR0V__collection_filters_EK4Qci" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ARUczS251NnhVZHR0V__collection_filters_EK4Qci"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ARUczS251NnhVZHR0V__collection_filters_EK4Qci"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ARUczS251NnhVZHR0V__collection_filters_EK4Qci" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ARUczS251NnhVZHR0V__collection_filters_EK4Qci" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ARUczS251NnhVZHR0V__collection_filters_EK4Qci .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ARUczS251NnhVZHR0V__collection_filters_EK4Qci .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ARUczS251NnhVZHR0V__collection_filters_EK4Qci .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ARUczS251NnhVZHR0V__collection_filters_EK4Qci .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "features" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AZS9ZeGxOTkhKSkh1e__collection_filters_3VEAQr .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "insulation" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ARnYwdzhOVGx3ZlNtT__collection_filters_jTAGeR .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "range" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AR29LVWpScC9JUVVRa__collection_filters_fHLC7J .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "sleeve-length" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ANlpwcWllc05GLzVHQ__collection_filters_rPXDgk .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "temperature" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AVnI5VXpqQlI4MjBpd__collection_filters_r8MDnn .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "thickness" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AUDdJNDVvM1NEcjNsW__collection_filters_NnGfma .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "waist" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AeStiNlJPK2VjbGhkR__collection_filters_mMjm6C .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "waterproofing" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AMjFsY2ZkN1dEWnZSZ__collection_filters_WBYeFd .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "closure" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ATTkvRElqc2hkVzdJM__collection_filters_9HWgMj .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "availability" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6 .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6 .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6 .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AbWpMWHdod0t4TXhqb__collection_filters_wN8NN6 .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
</div>
<div class="w-auto lg:col-span-3 h-auto grid grid-cols-2 lg:grid lg:grid-cols-4 flex-row lg:flex-row layout-top layout-space-packed py-md gap-md lg:py-0 lg:gap-md relative origin origin-center collection-results-wrapper" style="--offset-x:0; --offset-y:0; " neptune-liquid="{topic:Collection}" >
<script type="liquid/template">
<div class="col-span-2 lg:col-span-4 h-auto grid grid-cols-2 lg:grid lg:grid-cols-4 flex-row lg:flex-row layout-top layout-space-packed py-md gap-md lg:py-0 lg:gap-md relative origin origin-center" style="--offset-x:0; --offset-y:0; " >
{% if collection.products.size > 0 and collection.filters.applied.size == 0 %}
<depict-grid-start-beacon
style="display:none;"
data-paginate='
{
"page_size": {{ collection.settings.limit | default: 36 }},
"pages": {{ collection.total_pages | default: 1 }},
"current_page": {% liquid
if collection.page > 0
echo collection.page | minus: 1
else
echo 0
endif
%}
}
'></depict-grid-start-beacon>
{% endif %}
{% for product in collection.products limit: 36 %}
{% assign quickshop = false %}
{% if parent == 'quickshop' %}
{% assign quickshop = true %}
{% endif %}
{%- assign markdown = false -%}
{%- if product.compare_at_price > product.price_max -%}
{%- assign markdown = true -%}
{%- endif -%}
<product-item class="w-auto">
<a
class="product-card group {{ product.type | default: '' | handle }}"
data-depict-product-id="{{ product.id }}"
data-depict-default-image="{{ product.featured_image | split: 'files/' | last | split: '?' | first | prepend: 'files/' }}"
data-depict-hover-image="{{ product.alt_image | split: 'files/' | last | split: '?' | first | prepend: 'files/' }}"
href="{%- unless quickshop -%}
/products/{{- product.handle -}}
{%- else -%}#modal:quickshop:{{- product.handle -}}
{%- endunless -%}"
data-href="/products/{{product.handle}}"
onclick="{% unless quickshop %}event.stopPropagation(); window.history.replaceState({batch:{{loader.pendingBatchIndex}},item:{{forloop.index0}} },document.title){% endunless %}"
neptune-stratosphere="{type:item, select:select_item}"
data-product-images="{% if product.alt_image != blank %}multiple{% else %}duplicate{% endif %}"
style="order: {{ forloop.index0 }}"
>
<div class="product-card__image-wrap">
{% liquid
assign aspect_ratio = "aspect-w-4 aspect-h-5"
assign enable_swipe_images = true
assign enable_swipe_images_arrows = true
assign featured_image = product.imageUrl | default: product.featured_image | remove: '_large'
assign alt_image = product.alt_image | default: product.images[1] | remove: '_large'
assign widths = '360,720,1080,1200,1500,2400,2800,3600' | split: ','
assign aspect = aspect | default: settings.aspect | default: '4x3'
assign aspect_w = aspect | default: settings.aspect_w | split: 'x' | first | times: widths.first
assign aspect_h = aspect | default: settings.aspect_h | split: 'x' | last | times: widths.first
%}
{% if collection and enable_swipe_images %}
<div
tabindex="-1"
class="product-card__image swipe-enabled no-scrollbar"
neptune-uncomment="visible"
>
{% else %}
<div
class="product-card__image"
>
{% endif %}
<div class="product-card__slide {{ aspect_ratio }}">
<img src="{{ featured_image }}"
srcset="{%- liquid
for width in widths
echo featured_image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width:1536px) 273px, (min-width:1280px) 224px, (min-width: 991px) 176px, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.featured_image_alt }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>
{% if alt_image != blank %}
<div class="product-card__slide {{ aspect_ratio }}">
<img src="{{ alt_image }}"
srcset="{%- liquid
for width in widths
echo alt_image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width:1536px) 273px, (min-width:1280px) 224px, (min-width: 991px) 176px, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.alt_image_alt }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>
{% endif %}
{% if collection and enable_swipe_images %}
{% for image in product.images %}
{% unless image contains featured_image or image contains alt_image %}
{% unless animation_slider %}{% endunless %}<div class="product-card__slide {{ aspect_ratio }}">
<img
srcset="{%- liquid
for width in widths
echo image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width: 1024px) 20vw, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.title }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>{% unless animation_slider %}{% endunless %}
{% endunless %}
{% endfor %}
{% endif %}
{% assign badges = productBadges | where: 'type', 'graphic' %}
{% for badge in badges %}
{% if product.tags contains badge.tag %}
{% if badge.icon contains '.' %}
<img class="product-item-image-graphic w-full h-full absolute inset-0" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-graphic w-full h-full inset-0" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% break %}
{% endif %}
{% endfor %}
</div>
{% assign badges = productBadges | where: 'type', 'icon' %}
{% for badge in badges %}
{% if product.tags contains badge.tag %}
{% if badge.width != null %}
{% if badge.icon contains '.' %}
<img class="product-item-image-badge" style="width:{{ badge.width }}" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-badge" style="width:{{ badge.width }}" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% else %}
{% if badge.icon contains '.' %}
<img class="product-item-image-badge" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-badge" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% endif %}
{% break %}
{% endif %}
{% endfor %}
{% assign has_badge = false %}
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank %}
{% assign has_badge = true %}
{% break %}
{% endif %}
{% endfor %}
{% if has_badge %}
<div class="product-card__badges product-card__badges--image-overlay">
<div class="top-left">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'top-left' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="top-right">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'top-right' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="bottom-left">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'bottom-left' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="bottom-right">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'bottom-right' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
</div>
{% endif %}
{% assign badges = productBadges | where: 'type', 'option' %}
{% if badges != blank %}
<div class="product-item__option-badges">
{% for badge in badges %}
{% assign show_badge = false %}
{% if product.tags contains badge.tag %}
{% assign show_badge = true %}
{% endif %}
{% for sibling in product.siblings %}
{% if sibling.tags contains badge.tag %}
{% assign show_badge = true %}
{% endif %}
{% endfor %}
{% if show_badge %}
<span class="product-item__option-badge">{{ badge.label }}</span>
{% endif %}
{% endfor %}
</div>
{% endif %}
<button compare-{{product.handle}} onclick="event.stopPropagation(); this.classList.toggle('active'); Comparison.compare({title:'{{product.title}}',handle:'{{product.handle}}',image:'{{ product.featured_image }}' }); return false;" class="compare-product-item-toggle absolute top-0 right-0 p-3 w-full h-full bg-transparent border-0 group">
<span class="w-5 h-5 block absolute top-3 right-3 border bg-white"></span>
<svg
class="icon compare-product-item-toggle__check absolute top-3 right-3 hidden group-active:block icon-check"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-check"/>
</svg>
<span class="sr-only">check</span>
<span class="sr-only">Compare</span>
</button>
<style>
.compare-product-item-toggle {
display: none;
}
.collection-compare-state .compare-product-item-toggle {
display: block;
}
</style>
<div quick-add-container class="product-card__quick-add-form"></div>
{% if collection and enable_swipe_images and enable_swipe_images_arrows %}
<div class="product-card__arrows">
<button type="button"
aria-label="Previous"
class="product-card__arrow product-card__arrow--prev"
>
<svg
class="icon icon-chevron-left"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-left"/>
</svg>
<span class="sr-only">chevron-left</span>
</button>
<button type="button"
aria-label="Next"
class="product-card__arrow product-card__arrow--next"
>
<svg
class="icon icon-chevron-right"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-right"/>
</svg>
<span class="sr-only">chevron-right</span>
</button>
</div>
{% endif %}
</div>
<div class="product-card__quick-add-trigger">
<button data-handle="{{ product.handle }}" onclick="event.stopPropagation(); QuickAdd.launch(this.dataset.handle, {item:this}); return false;">
<svg
class="icon icon-plus"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-plus"/>
</svg>
<span class="sr-only">plus</span>
<span>Quick Add</span>
</button>
</div>
{% if product.siblings.size > 0 %}
<div class="product-card__sibling-wrapper relative">
<ul class="product-card__sibling-types sibling-types">
{% assign types = product.siblings | map: 'product_type' | uniq %}
{% for type in types %}
{% if type == blank %}{% continue %}{% endif %}
<li class="sibling-type sibling-type--{{ type | split : ' - ' | last | handle }} {% if type == product.type %}active{% endif %}">
<span>{{ type | split : ' - ' | last }}</span>
<svg><use xlink:href="#icon-def-{{ type | split : ' - ' | last | handle }}"/></svg>
</li>
{% endfor %}
{% unless types contains product.type %}
{% assign productType = product.type | handlize %}
<li class="sibling-type sibling-type--{{ productType | split : ' - ' | last | handle }} active">
<span>{{ productType | split : ' - ' | last }}</span>
<svg><use xlink:href="#icon-def-{{ productType | split : ' - ' | last | handle }}"/></svg>
</li>
{% endunless %}
</ul>
</div>
{% endif %}
<div class="product-card__swatches product-card__swatches--swatch flex flex-wrap group">
{%- liquid
assign swatch_styles = 'h-full w-full object-contain'
assign limit = 4
if product.siblings.size > 4
assign limit = 3
endif
-%}
{% assign featured_swatch_src = product.variants[0].option1 | handle %}
{% assign featured_swatch_color = product.variants[0].option1 | handle %}
{% assign featured_swatch_color_value = '' %}
{% if itemSwatchColorMap[featured_swatch_color] %}
{% assign featured_swatch_color_value = itemSwatchColorMap[featured_swatch_color] %}
{% endif %}
<div
role="button"
tabindex="0"
class="product-card__swatch product-card__swatch-featured product-card__swatch--swatch h-8 w-8 active"
data-price="{{ product.price | money }}"
data-compare_price="{% if markdown %}{{ product.compare_at_price | money }}{% endif %}"
data-tooltip="{{ product.title | split : ' - ' | last }}"
data-title="{{ product.title | split: ' - ' | last }}"
data-handle="{{ product.handle }}"
data-images="{% assign images = '' %}{{ featured_image }}{% for image in product.images %}{% unless image == featured_image %}{% if images != '' %},{% endif %}{{ image }}{% assign images = 'added' %}{% endunless %}{% endfor %}"
>
<img class="{{ swatch_styles }}" {{'s'}}rc="https://cdn.shopify.com/s/files/1/0080/6777/6627/t/327/assets/{{ featured_swatch_src | append: '.jpg?crop=center&height=64&width=64' }}" alt="{{ product.title }}" loading="lazy" onerror="if(this.errored){return false;} this.errored = true; if('{{featured_swatch_color_value}}'){_n.sibling(this,'span').style.display = 'block'; this.style.display = 'none';}else{ this.src='{{ product.featured_image | remove: '_600x600' | remove: '_large' }}'}">
<span class="{{ swatch_styles }} product-card__swatch-color" style="background: {{featured_swatch_color_value}}; display: none;"></span>
</div>
{% assign siblings = product.siblings %}
{% for sibling in siblings limit:limit %}
{%- assign sibling_markdown = false -%}
{%- if sibling.compare_at_price > sibling.price -%}
{%- assign sibling_markdown = true -%}
{%- endif -%}
{% if sibling.variants[0].option1 %}
{% assign swatch_src = sibling.variants[0].option1 | handle %}
{% endif %}
{% if sibling.variants[0].option1 %}
{% assign swatch_color = sibling.variants[0].option1 | handle %}
{% else %}
{% assign swatch_color = sibling.title | split: ' - ' | last | handle %}
{% endif %}
{% assign swatch_color_value = '' %}
{% if itemSwatchColorMap[swatch_color] %}
{% assign swatch_color_value = itemSwatchColorMap[swatch_color] %}
{% endif %}
<div
role="button"
tabindex="0"
class="product-card__swatch product-card__swatch-sibling product-card__swatch--swatch h-8 w-8"
data-price="{{ sibling.price | times: 100 | money }}"
data-compare_price="{% if sibling_markdown %}{{ sibling.compare_at_price | times: 100 | money }}{% endif %}"
data-tooltip="{{ sibling.title | split : ' - ' | last }}"
data-title="{{ sibling.title | split: ' - ' | last }}"
data-handle="{{ sibling.handle }}"
data-images="{% assign images = '' %}{{ sibling.featured_image }}{% for image in sibling.images %}{% unless image == sibling.featured_image %}{% if images != '' %},{% endif %}{{ image }}{% assign images = 'added' %}{% endunless %}{% endfor %}"
>
<img class="{{ swatch_styles }}" {{'s'}}rc="https://cdn.shopify.com/s/files/1/0080/6777/6627/t/327/assets/{{ swatch_src | append: '.jpg?crop=center&height=64&width=64' }}" alt="{{ sibling.title }}" loading="lazy" onerror="if(this.errored){ return false;} this.errored = true; if('{{swatch_color_value}}'){_n.sibling(this,'span').style.display = 'block'; this.style.display = 'none'; console.log('passed');}else{ this.src='{{ sibling.featured_image | append: '&width=64' }}'}">
<span class="{{ swatch_styles }} product-card__swatch-color" style="background: {{swatch_color_value}};display: none;"></span>
</div>
{% endfor %}
{% if product.siblings.size > 4 %}
<div class="product-card__swatch-count text-xs">
<span class="text-center">+{{ product.siblings.size | minus: 4 }} More</span>
</div>
{% endif %}
</div>
{%- if product.available == false or product.available == '0' -%}
<span class="product-card__badge product-card__badge--soldout">Sold out</span>
{%- endif -%}
<div class="product-card__meta">
<h3 class="product-card__meta-title type-item type-item-product">
{{ product.title | split: ' - ' | first }}
</h3>
<div class="product-card__meta-prices flex">
<span class="product-card__meta-price {% if markdown %} type-price--sale{% endif %}">
{%- assign price = product.price %}
{%- if product.price_min > 0 and product.price_min < price %}
{% assign price = product.price_min %}
{%- endif %}
{{ price | money }}
</span>
{%- if product.price_max > product.price -%}
<span class="product-card__meta-price">
<span> - </span>
<span>{{ product.price_max | money }}</span>
</span>
{%- endif -%}
<span class="product-card__meta-compare-price type-price-compare" style="{% if markdown == false %}display: none;{% endif %}">
{{ product.compare_at_price | money }}
</span>
<span class="product-card__meta-price product-card__meta-savings" data-format="discount" style="
{%- assign savings = product.compare_at_price | minus: product.price -%}
{%- if savings <= 0 or markdown == false -%}display: none;{%- endif -%}
color: #00b5ff;
">
{% assign savings = product.compare_at_price | minus: product.price %}
{% assign savings_percentage = savings | times: 100.0 | divided_by: product.compare_at_price %}
{% if savings_percentage > 0 %}
{{ savings_percentage | round }}% Off
{% endif %}
</span>
</div>
</div>
{% assign has_badge = false %}
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.type != 'option' and badge.type != 'icon' and badge.type != 'graphic' and badge.item != blank %}
{% assign has_badge = true %}
{% endif %}
{% endfor %}
{% if has_badge %}
<div class="product-card__badges empty:hidden">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.type != 'option' and badge.type != 'icon' and badge.type != 'graphic' and badge.item != blank %}
<div id="badge-{{ badge.tag | handle }}" class="badge product-badge product-badge--item">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.item }}</span>
</div>
{% endif %}
{% endfor %}
</div>
{% endif %}
</a>
</product-item>
{% endfor %}
{% if collection.products.size and collection.filters.applied.size == 0 %}
<depict-grid-end-beacon style="display:none;"></depict-grid-end-beacon>
{% endif %}
</div>
<div class="col-span-2 lg:col-span-4 h-auto flex lg:flex flex-row lg:flex-row layout-top layout-space-packed relative origin origin-center order-last empty-hide" style="--offset-x:0; --offset-y:0; " >
{% if collection.total_products == 0 %}
<div class="collection-results__null">
<h3 class="collection-results__null--title">No results found</h3>
<p class="collection-results__null--description">Sorry, it looks like we don’t have the item you are looking for.</p>
<button
class="button collection-results__null--button"
neptune-engage="{
targets:[
{
attributes:[
{
att:data-return-focus,
set:here
}
]
},
{
selector:html,
attributes:[
{
att:data-active-modal,
set:search
}
]
},
{
selector:.modal-search-form,
methods:reset
}
]
}"
>Try again</button>
</div>
{% endif %}
</div>
<div class="col-span-2 lg:col-span-4 h-auto flex lg:flex flex-row lg:flex-row layout-center layout-top lg:layout-center lg:layout-top layout-space-packed relative origin origin-center order-last empty-hide" style="--offset-x:0; --offset-y:0; " >
{% if collection.pagination.total_pages > 1 %}
{% assign total_pages = collection.pagination.total_pages %}
{% assign current_page = collection.pagination.current_page %}
{% assign begin = pagination.begin %}
{% assign end = pagination.end %}
{% assign middle_start = current_page | minus: 1 %}
{% assign middle_end = current_page | plus: 1 %}
{% assign validate_middle = total_pages | minus: 2 %}
{% assign validate_last = total_pages | minus: 3 %}
<nav class="collection-paginated">
<!-- Show the first page -->
<button
class="page-link{% if current_page == 1 %} disable{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page({{ current_page | minus: 1 }},1); return false;"
>
<svg
class="icon icon-chevron-left"
style=""
width="30"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-left"/>
</svg>
<span class="sr-only">chevron-left</span>
</button>
<div class="collection-paginated__pages">
{% if total_pages > 5 %}
<!-- Show the first page -->
<link rel="preload" href="/collections/mens-clothing-boardshorts-elastic-waist?view=feed&page=1&limit={{ collection.settings.limit }}&page_size={{ collection.settings.limit }}&sort_by={{ collection.sort }}&">
<button
class="page-number{% if current_page == 1 %} active{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page(1,1)"
>
1
</button>
{% if current_page <= 3 %} <!-- Show pages 2, 3, 4, and the last page -->
{% for i in (2..4) %}
<link rel="preload" href="/collections/mens-clothing-boardshorts-elastic-waist?view=feed&page={{ i }}&limit={{ collection.settings.limit }}&page_size={{ collection.settings.limit }}&sort_by={{ collection.sort }}&">
<button
class="page-number{% if current_page == i %} active{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page({{ i }},1)"
>
{{ i }}
</button>
{% endfor %}
<span class="page-ellipsis">...</span>
<!-- Show the last page -->
<link rel="preload" href="/collections/mens-clothing-boardshorts-elastic-waist?view=feed&page={{ total_pages }}&limit={{ collection.settings.limit }}&page_size={{ collection.settings.limit }}&sort_by={{ collection.sort }}&">
<button
class="page-number{% if current_page == total_pages %} active{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page({{ total_pages }},1)"
>
{{ total_pages }}
</button>
{% elsif current_page > 3 and current_page < validate_middle %} <!-- Show ellipsis, middle pages, and ellipsis -->
<span class="page-ellipsis">...</span>
{% for i in (middle_start..middle_end) %}
<link rel="preload" href="/collections/mens-clothing-boardshorts-elastic-waist?view=feed&page={{ i }}&limit={{ collection.settings.limit }}&page_size={{ collection.settings.limit }}&sort_by={{ collection.sort }}&">
<button
class="page-number{% if current_page == i %} active{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page({{ i }},1)"
>
{{ i }}
</button>
{% endfor %}
<span class="page-ellipsis">...</span>
<!-- Show the last page -->
<link rel="preload" href="/collections/mens-clothing-boardshorts-elastic-waist?view=feed&page={{ total_pages }}&limit={{ collection.settings.limit }}&page_size={{ collection.settings.limit }}&sort_by={{ collection.sort }}&">
<button
class="page-number{% if current_page == total_pages %} active{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page({{ total_pages }},1)"
>
{{ total_pages }}
</button>
{% else %}
<!-- Show ellipsis and the last 4 pages -->
<span class="page-ellipsis">...</span>
{% for i in (validate_last..total_pages) %}
<link rel="preload" href="/collections/mens-clothing-boardshorts-elastic-waist?view=feed&page={{ i }}&limit={{ collection.settings.limit }}&page_size={{ collection.settings.limit }}&sort_by={{ collection.sort }}&">
<button
class="page-number{% if current_page == i %} active{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page({{ i }},1)"
>
{{ i }}
</button>
{% endfor %}
{% endif %}
{% else %}
{% for page in collection.pagination.pages %}
<link rel="preload" href="/collections/mens-clothing-boardshorts-elastic-waist?view=feed&page={{ page.number }}&limit={{ collection.settings.limit }}&page_size={{ collection.settings.limit }}&sort_by={{ collection.sort }}&">
<button
class="page-number{% if page.number == current_page %} active{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page({{ page.number}},1)"
>
{{ page.number }}
</button>
{% endfor %}
{% endif %}
</div>
<button
class="page-link{% if current_page == collection.pagination.pages.size %} disable{% endif %}"
onclick="event.preventDefault(); this.blur(); Collection.page({{current_page | plus: 1}},1); return false;"
>
<svg
class="icon icon-chevron-right"
style=""
width="30"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-right"/>
</svg>
<span class="sr-only">chevron-right</span>
</button>
</nav>
{% endif %}
</div>
</script></div>
</div></main></div>
</section><div id="shopify-section-template--21847761223817__collection-filters" class="shopify-section">
<aside
data-modal="collection-filter"
class="fixed bg-white z-50 modal modal-left top-0 left-0 w-full lg:w-1/3 transition-all ease-in-out duration-500"
tabindex="0"
neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}"
>
<div class="w-auto h-auto flex lg:flex flex-col lg:flex-col layout-top layout-space-packed gap-lg relative origin origin-center collection-filters h-full pb-2xl" style="--offset-x:0; --offset-y:0; " >
<div class="w-auto lg:w-full h-auto flex lg:flex flex-row lg:flex-row layout-top lg:layout-top layout-space-packed relative origin origin-center collection-filter-actions" style="--offset-x:0; --offset-y:0; " neptune-liquid="{topic:Collection}" >
<script type="liquid/template"><div id="shopify-block-AZHNhVTZNaHZwci9YL__button_86eiBA" class="shopify-block">
<button class="button button--primary" onclick="modal.close('collection-filter')" ><span>
{% assign applied_filter_count = 0 %}
{%- for filter in collection.filters.all -%}
{%- for option in filter.options -%}
{% if option.active %}
{% assign applied_filter_count = applied_filter_count | plus: 1 %}
{% endif %}
{% endfor %}
{%- if filter.range != nil and filter.range[0].low != '' or filter.range[0].high != '' %}
{% assign applied_filter_count = applied_filter_count | plus: 1 %}
{% endif %}
{% endfor %}
{%- if applied_filter_count > 0 -%}
Apply
{%- else -%}
Close
{%- endif -%}
</span></button>
</div>
</script></div>
<div class="w-auto h-auto flex lg:flex flex-col lg:flex-col layout-top layout-space-packed px-lg relative origin origin-center" style="--offset-x:0; --offset-y:0; " >
<div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{% if collection.filters.applied.size > 0 %}
<div class="collection-active-filters">
<div class="collection-active-filter-wrapper flex flex-wrap empty:hidden">
{%- for filter in collection.filters.all -%}
{% if filter.key == 'filter.v.availability' %}{% continue %}{% endif %}
{% assign filter_label = filter.label %}
{%- for option in filter.options -%}
{%- if option.active -%}
<button class="button--chip hover:cursor-pointer flex items-center" onclick="Collection.filter('{{ filter.key }}', '{{ option.value }}')">
<span>{{ filter_label }}: {{ option.label }}</span>
<svg
class="icon icon-x"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">x</span>
</button>
{%- endif -%}
{%- endfor -%}
{%- if filter.range != nil and filter.range[0].low != '' or filter.range[0].high != '' %}
{% assign low = filter.range[0].low | replace: '.00', '' %}
{% assign high = filter.range[0].high | replace: '.00', '' %}
{%- capture filter_value -%}
${% if low == '' %}0{% else %}{{ low }}{% endif %} - {% if high != '' %}${{ high }}{% endif %}
{%- endcapture -%}
<button class="button--chip hover:cursor-pointer flex items-center" onclick="
{% if low != '' %}Collection.filter('{{ filter.key }}.gte', '{{ low }}');{% endif %}
{% if high != '' %}Collection.filter('{{ filter.key }}.lte', '{{ high }}');{% endif %}
">
<span>{{ filter_label }}: {{ filter_value }}</span>
<svg
class="icon icon-x"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">x</span>
</button>
{%- endif -%}
{%- endfor -%}
</div>
<div class="tag-clear-wrapper">
<button onclick="Collection.clear()"><span>Clear all</span></button>
</div>
</div>
{% endif %}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "product-type" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-Ab05hOWJJOGZNd2xDO__collection_filters_Bcbpgz .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "category" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--hierarchy">
{%- for option in set.options -%}
<div class="field filter-item--hierarchy">
<label for="filter-{{ set.label }}-{{ option.value }}-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ARnRxejkwaG1Pd3RFc__collection_filters_LzJkKg .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "size" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--grid">
{%- for option in set.options -%}
<button
id="filter-{{ set.label }}-{{ option.value }}-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE"
class="filter-item filter-item--grid{% if collection.filters.applied[set.key] contains option.value %} active{% endif %}"
onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')"
>
<span class="capitalize">{{ option.label }}</span>
</button>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% assign max_count = max_count | times: 4 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AeWxpR2VGdXVoa3BqS__collection_filters_gKBaHE .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "price" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--hierarchy">
{%- for option in set.options -%}
<div class="field filter-item--hierarchy">
<label for="filter-{{ set.label }}-{{ option.value }}-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ANTFhNWlkRGFOMm41N__collection_filters_R8J7mJ .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "color" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--palette">
{% capture color_map %}Beige: #c7b299,
Black: #000000,
Blue: #095a80,
Brown: #543b24,
Green: #2b5f2a,
Orange: #ba6435,
Pink: #e294a7,
Purple: #493664,
Red: #9c3232,
White: #ffffff,
Yellow: #e0c02a,
Gray: #707070,
Miscellaneous: url(//cdn.shopify.com/s/files/1/0687/6856/3337/files/Multi-Rainbow-Square-2.png?v=1754608926),
Violet:#493664,
Multi: url(//cdn.shopify.com/s/files/1/0687/6856/3337/files/Multi-Rainbow-Square-2.png?v=1754608926){% endcapture %}
{% assign color_map = color_map | split: ',' %}
{%- for option in set.options -%}
{%- assign swatch_bg = '' -%}
{%- for color in color_map -%}
{%- assign key = color | split: ':' | first | strip | handle -%}
{%- assign value = color | split: ':' | last | strip -%}
{%- assign option_handle = option.label | handle -%}
{%- if key == option_handle -%}
{%- assign swatch_bg = value -%}
{%- endif -%}
{%- endfor -%}
<div class="filter-items--inner">
<button
id="filter-{{ set.label }}-{{ option.value }}-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac"
class="filter-item filter-item--palette{% if collection.filters.applied[set.key] contains option.value %} active{% endif %}"
style="background: {{ swatch_bg }}"
onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')"
>
<span class="sr-only">{{ option.label }}</span>
</button>
<span class="capitalize filter-item--span">{{ option.label }}</span>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% assign max_count = max_count | times: 6 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AaE1JS3pBVVNhOU9ad__collection_filters_dELCac .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "fit" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-Ab09Jbk42R09nTVdOU__collection_filters_AfaVTH .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "style" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ATWxQNFczeFJmT0pQZ__collection_filters_gWnXzd .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "outseam" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AMW8wZWoxNlJ0T2gzZ__collection_filters_bTFpjH .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "length" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--hierarchy">
{%- for option in set.options -%}
<div class="field filter-item--hierarchy">
<label for="filter-{{ set.label }}-{{ option.value }}-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6 .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6 .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6 .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AdFV5ZXV1RzVYVU9RT__collection_filters_wJj4x6 .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "entry" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AVXBZYWFSQXlsQlpTb__collection_filters_XicwXp .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "features" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AQktUUk5lb0tGQ1ltV__collection_filters_FcRqMW .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "insulation" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4 .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4 .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4 .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AYmNpaG1aQ1lER2k5V__collection_filters_ANtMy4 .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "range" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AOFo1bHhNN0ZNMUtCd__collection_filters_7kQRHq .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "sleeve-length" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AcGdYY3F4TUZodHgvW__collection_filters_jeMzmN .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "temperature" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6 .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6 .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6 .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AS3l2S2lELzd2ZjU2c__collection_filters_y9zkG6 .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "thickness" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AcmRKL29mb1ZxS2ZiZ__collection_filters_zXnp9d .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "waterproofing" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AbkFsTWdBc3g3RTRTQ__collection_filters_nAJKKT .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "closure" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-AeU1iOEtnVWJvVVRad__collection_filters_6GbE6E .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
<script defer src="//www.quiksilver.com/cdn/shop/t/236/assets/range-slider.js?v=153818762931871079681786644647"></script><div neptune-liquid="{topic:Collection}" class="contents empty:hidden">
<template>
{%- for set in collection.filters.all -%}
{%- assign filter_title = "availability" %}
{%- assign filter_label = set.label | handle %}
{%- unless filter_label == filter_title %}{% continue %}{% endunless %}
<details id="filter-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6" class="collection-filters__filter-set no-details-marker accordion" open>
<summary class="list-none accordion-title">
<div class="filter-summary flex justify-between">
<span class="filter-summary__title">{{ set.label }}</span>
<div>
<svg
class="icon icon-chevron-down"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-down"/>
</svg>
<span class="sr-only">chevron-down</span>
</div>
</div>
</summary>
<div class="filter-options">
<div class="filter-items--list">
{%- for option in set.options -%}
<div class="field filter-item--checkbox">
<label for="filter-{{ set.label }}-{{ option.value }}-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6">
{% if collection.filters.applied[set.key] contains option.value %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')" checked>
{% else %}
<input type="checkbox" id="filter-{{ set.label }}-{{ option.value }}-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6" onclick="Collection.filter('{{ set.key }}', '{{ option.value }}')">
{% endif %}
<span></span>
<span class="capitalize">{{ option.label }}</span>
</label>
</div>
{%- endfor -%}
</div>
{% if set.range != nil %}
{% assign min = set.key | append: '.gte' %}
{% assign max = set.key | append: '.lte' %}
{% assign min_default_position = 0 %}
{% assign max_default_position = set.range_max | ceil %}
{% assign min_default_value = 0 | times: 100 | money %}
{% assign max_default_value = set.range_max | times: 100 | money %}
<range-slider name="{{ set.label }}">
<input
type="range"
id="filter-{{ set.label }}-min-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6"
value="{% if collection.filters.applied[min][0] %}{{ collection.filters.applied[min][0] }}{% else %}{{ min_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.value, true);
Collection.filter('{{ max }}', this.nextElementSibling.value, true);
"
/>
<input
type="range"
id="filter-{{ set.label }}-max-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6"
value="{% if collection.filters.applied[max][0] %}{{ collection.filters.applied[max][0] }}{% else %}{{ max_default_position }}{% endif %}"
min="0"
max="{{ max_default_position }}"
onchange="
Collection.filter('{{ min }}', this.previousElementSibling.value, true);
Collection.filter('{{ max }}', this.value, true);
"
/>
<label for="filter-{{ set.label }}-min-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6" from>{{ min_default_value }}</label>
<label for="filter-{{ set.label }}-max-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6" to>{{ max_default_value }}</label>
</range-slider>
{% endif %}
{% assign max_count = 5 %}
{% if set.options.size > max_count %}
<button onclick="this.parentNode.classList.toggle('show-all')">
<span class="collection-filters__text-link">
<span class="show-all-toggle">Show</span>
<span class="show-all-toggle--show">
{{ set.options.size | minus: max_count }} more
</span>
<span class="show-all-toggle--hide">
less
</span>
</span>
</button>
<style data-shopify>
#filter-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6 .filter-options:not(.show-all) .filter-item--checkbox:nth-child(n+6),
#filter-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6 .filter-options:not(.show-all) .filter-item--hierarchy:nth-child(n+6),
#filter-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6 .filter-options:not(.show-all) .filter-item--grid:nth-child(n+21),
#filter-ASWpaVW8zQkpIRGdLe__collection_filters_yj9Dn6 .filter-options:not(.show-all) .filter-item--palette:nth-child(n+31) {
display: none;
}
</style>
{% endif %}
</div>
</details>
{%- endfor -%}
</template>
</div>
</div>
</div>
</aside>
<script>
window.addEventListener('shopify:section:select', e=>{
if(e.detail.sectionId == 'template--21847761223817__collection-filters'){
modal.open('collection-filter')
}
});
window.addEventListener('shopify:section:deselect', e=>{
if(e.detail.sectionId == 'template--21847761223817__collection-filters'){
modal.close()
}
});</script>
</div><div id="shopify-section-template--21847761223817__product_recommendations_DedH36" class="shopify-section">
<section class="section-template--21847761223817__product_recommendations_DedH36 product-recommendations recommend-recently-viewed block section-slideshow section-slideshow-collection treatment-none lg:treatment-none Recently Viewed lg:mt-xl lg:mb-xl lg:pl-0 lg:pr-0 lg:py-0 mt-lg mb-lg pl-2 pr-0 py-0" style="background-color: ;">
<a internal-nav-anchor name="Recently Viewed"></a>
<div class="lg:container mx-auto flex flex-col lg:flex-col">
<aside class="product-recommendations__aside lg:pt-0 lg:pb-lg pt-0 pb-base lg:pr-0 pr-base lg:pl-0 pl-base lg:text-center text-center gap-0 flex flex-col w-full product-recommendations__aside-row lg:px-0">
<div class="content-stack flex flex-col gap-0 ">
<div class="content-stack__item content-stack__item--title order-2">
<h2 class="content-stack-text type-treatment-none type--secondary my-0 order-2" style="">Recently Viewed</h2>
</div>
</div>
<style data-shopify>
</style>
</aside>
<div class="product-recommendations__carousel w-full ">
<div class="product-recommendations__carousel-container w-full h-full relative" neptune-liquid="{topic:Recs-template--21847761223817__product_recommendations_DedH36,source:'recentlyViewed',append:[productBadges]}">
<script type="liquid/template">
<div
class="swiper-container h-full"
neptune-swiper="{
mousewheel:{forceToAxis: true},
effect:'slide',
watchOverflow:true,
preloadImages:true,
updateOnImagesReady:true,
loop:{% if products.size >= 4.5 %}true{% else %}false{% endif %},
breakpoints:{
'1':{
spaceBetween: 16,
slidesPerView: 1.5
},
'1025':{
spaceBetween: 16,
slidesPerView: 4.5,
autoHeight: true
}
},
navigation:{
prevEl: '.section-template--21847761223817__product_recommendations_DedH36 .swiper-button-prev-unique',
nextEl: '.section-template--21847761223817__product_recommendations_DedH36 .swiper-button-next-unique'
},
pagination:{
el:'.section-template--21847761223817__product_recommendations_DedH36 .pagination'
type: bullets,
clickable: true
}
}"
>
<div class="swiper-wrapper h-full items-stretch">
{% for product in products limit: 8 %}
{% assign quickshop = false %}
{% if parent == 'quickshop' %}
{% assign quickshop = true %}
{% endif %}
{%- assign markdown = false -%}
{%- if product.compare_at_price > product.price_max -%}
{%- assign markdown = true -%}
{%- endif -%}
<product-item class="swiper-slide swiper-slide__card lg:w-1/4 w-1/1">
<a
class="product-card group {{ product.type | default: '' | handle }}"
data-depict-product-id="{{ product.id }}"
data-depict-default-image="{{ product.featured_image | split: 'files/' | last | split: '?' | first | prepend: 'files/' }}"
data-depict-hover-image="{{ product.alt_image | split: 'files/' | last | split: '?' | first | prepend: 'files/' }}"
href="{%- unless quickshop -%}
/products/{{- product.handle -}}
{%- else -%}#modal:quickshop:{{- product.handle -}}
{%- endunless -%}"
data-href="/products/{{product.handle}}"
onclick="{% unless quickshop %}event.stopPropagation(); window.history.replaceState({batch:{{loader.pendingBatchIndex}},item:{{forloop.index0}} },document.title){% endunless %}"
neptune-stratosphere="{type:item, select:select_item}"
data-product-images="{% if product.alt_image != blank %}multiple{% else %}duplicate{% endif %}"
style="order: {{ forloop.index0 }}"
>
<div class="product-card__image-wrap">
{% liquid
assign aspect_ratio = "aspect-w-4 aspect-h-5"
assign enable_swipe_images = true
assign enable_swipe_images_arrows = true
assign featured_image = product.imageUrl | default: product.featured_image | remove: '_large'
assign alt_image = product.alt_image | default: product.images[1] | remove: '_large'
assign widths = '360,720,1080,1200,1500,2400,2800,3600' | split: ','
assign aspect = aspect | default: settings.aspect | default: '4x3'
assign aspect_w = aspect | default: settings.aspect_w | split: 'x' | first | times: widths.first
assign aspect_h = aspect | default: settings.aspect_h | split: 'x' | last | times: widths.first
%}
{% if collection and enable_swipe_images %}
<div
tabindex="-1"
class="product-card__image swipe-enabled no-scrollbar"
neptune-uncomment="visible"
>
{% else %}
<div
class="product-card__image"
>
{% endif %}
<div class="product-card__slide {{ aspect_ratio }}">
<img src="{{ featured_image }}"
srcset="{%- liquid
for width in widths
echo featured_image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width:1536px) 273px, (min-width:1280px) 224px, (min-width: 991px) 176px, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.featured_image_alt }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>
{% if alt_image != blank %}
<div class="product-card__slide {{ aspect_ratio }}">
<img src="{{ alt_image }}"
srcset="{%- liquid
for width in widths
echo alt_image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width:1536px) 273px, (min-width:1280px) 224px, (min-width: 991px) 176px, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.alt_image_alt }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>
{% endif %}
{% if collection and enable_swipe_images %}
{% for image in product.images %}
{% unless image contains featured_image or image contains alt_image %}
{% unless animation_slider %}{% endunless %}<div class="product-card__slide {{ aspect_ratio }}">
<img
srcset="{%- liquid
for width in widths
echo image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width: 1024px) 20vw, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.title }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>{% unless animation_slider %}{% endunless %}
{% endunless %}
{% endfor %}
{% endif %}
{% assign badges = productBadges | where: 'type', 'graphic' %}
{% for badge in badges %}
{% if product.tags contains badge.tag %}
{% if badge.icon contains '.' %}
<img class="product-item-image-graphic w-full h-full absolute inset-0" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-graphic w-full h-full inset-0" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% break %}
{% endif %}
{% endfor %}
</div>
{% assign badges = productBadges | where: 'type', 'icon' %}
{% for badge in badges %}
{% if product.tags contains badge.tag %}
{% if badge.width != null %}
{% if badge.icon contains '.' %}
<img class="product-item-image-badge" style="width:{{ badge.width }}" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-badge" style="width:{{ badge.width }}" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% else %}
{% if badge.icon contains '.' %}
<img class="product-item-image-badge" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-badge" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% endif %}
{% break %}
{% endif %}
{% endfor %}
{% assign has_badge = false %}
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank %}
{% assign has_badge = true %}
{% break %}
{% endif %}
{% endfor %}
{% if has_badge %}
<div class="product-card__badges product-card__badges--image-overlay">
<div class="top-left">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'top-left' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="top-right">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'top-right' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="bottom-left">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'bottom-left' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="bottom-right">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'bottom-right' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
</div>
{% endif %}
{% assign badges = productBadges | where: 'type', 'option' %}
{% if badges != blank %}
<div class="product-item__option-badges">
{% for badge in badges %}
{% assign show_badge = false %}
{% if product.tags contains badge.tag %}
{% assign show_badge = true %}
{% endif %}
{% for sibling in product.siblings %}
{% if sibling.tags contains badge.tag %}
{% assign show_badge = true %}
{% endif %}
{% endfor %}
{% if show_badge %}
<span class="product-item__option-badge">{{ badge.label }}</span>
{% endif %}
{% endfor %}
</div>
{% endif %}
<button compare-{{product.handle}} onclick="event.stopPropagation(); this.classList.toggle('active'); Comparison.compare({title:'{{product.title}}',handle:'{{product.handle}}',image:'{{ product.featured_image }}' }); return false;" class="compare-product-item-toggle absolute top-0 right-0 p-3 w-full h-full bg-transparent border-0 group">
<span class="w-5 h-5 block absolute top-3 right-3 border bg-white"></span>
<svg
class="icon compare-product-item-toggle__check absolute top-3 right-3 hidden group-active:block icon-check"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-check"/>
</svg>
<span class="sr-only">check</span>
<span class="sr-only">Compare</span>
</button>
<style>
.compare-product-item-toggle {
display: none;
}
.collection-compare-state .compare-product-item-toggle {
display: block;
}
</style>
<div quick-add-container class="product-card__quick-add-form"></div>
{% if collection and enable_swipe_images and enable_swipe_images_arrows %}
<div class="product-card__arrows">
<button type="button"
aria-label="Previous"
class="product-card__arrow product-card__arrow--prev"
>
<svg
class="icon icon-chevron-left"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-left"/>
</svg>
<span class="sr-only">chevron-left</span>
</button>
<button type="button"
aria-label="Next"
class="product-card__arrow product-card__arrow--next"
>
<svg
class="icon icon-chevron-right"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-right"/>
</svg>
<span class="sr-only">chevron-right</span>
</button>
</div>
{% endif %}
</div>
<div class="product-card__quick-add-trigger">
<button data-handle="{{ product.handle }}" onclick="event.stopPropagation(); QuickAdd.launch(this.dataset.handle, {item:this}); return false;">
<svg
class="icon icon-plus"
style=""
width="14"
height="14"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-plus"/>
</svg>
<span class="sr-only">plus</span>
<span>Quick Add</span>
</button>
</div>
{% if product.siblings.size > 0 %}
<div class="product-card__sibling-wrapper relative">
<ul class="product-card__sibling-types sibling-types">
{% assign types = product.siblings | map: 'product_type' | uniq %}
{% for type in types %}
{% if type == blank %}{% continue %}{% endif %}
<li class="sibling-type sibling-type--{{ type | split : ' - ' | last | handle }} {% if type == product.type %}active{% endif %}">
<span>{{ type | split : ' - ' | last }}</span>
<svg><use xlink:href="#icon-def-{{ type | split : ' - ' | last | handle }}"/></svg>
</li>
{% endfor %}
{% unless types contains product.type %}
{% assign productType = product.type | handlize %}
<li class="sibling-type sibling-type--{{ productType | split : ' - ' | last | handle }} active">
<span>{{ productType | split : ' - ' | last }}</span>
<svg><use xlink:href="#icon-def-{{ productType | split : ' - ' | last | handle }}"/></svg>
</li>
{% endunless %}
</ul>
</div>
{% endif %}
<div class="product-card__swatches product-card__swatches--swatch flex flex-wrap group">
{%- liquid
assign swatch_styles = 'h-full w-full object-contain'
assign limit = 4
if product.siblings.size > 4
assign limit = 3
endif
-%}
{% assign featured_swatch_src = product.variants[0].option1 | handle %}
{% assign featured_swatch_color = product.variants[0].option1 | handle %}
{% assign featured_swatch_color_value = '' %}
{% if itemSwatchColorMap[featured_swatch_color] %}
{% assign featured_swatch_color_value = itemSwatchColorMap[featured_swatch_color] %}
{% endif %}
<div
role="button"
tabindex="0"
class="product-card__swatch product-card__swatch-featured product-card__swatch--swatch h-8 w-8 active"
data-price="{{ product.price | money }}"
data-compare_price="{% if markdown %}{{ product.compare_at_price | money }}{% endif %}"
data-tooltip="{{ product.title | split : ' - ' | last }}"
data-title="{{ product.title | split: ' - ' | last }}"
data-handle="{{ product.handle }}"
data-images="{% assign images = '' %}{{ featured_image }}{% for image in product.images %}{% unless image == featured_image %}{% if images != '' %},{% endif %}{{ image }}{% assign images = 'added' %}{% endunless %}{% endfor %}"
>
<img class="{{ swatch_styles }}" {{'s'}}rc="https://cdn.shopify.com/s/files/1/0080/6777/6627/t/327/assets/{{ featured_swatch_src | append: '.jpg?crop=center&height=64&width=64' }}" alt="{{ product.title }}" loading="lazy" onerror="if(this.errored){return false;} this.errored = true; if('{{featured_swatch_color_value}}'){_n.sibling(this,'span').style.display = 'block'; this.style.display = 'none';}else{ this.src='{{ product.featured_image | remove: '_600x600' | remove: '_large' }}'}">
<span class="{{ swatch_styles }} product-card__swatch-color" style="background: {{featured_swatch_color_value}}; display: none;"></span>
</div>
{% assign siblings = product.siblings %}
{% for sibling in siblings limit:limit %}
{%- assign sibling_markdown = false -%}
{%- if sibling.compare_at_price > sibling.price -%}
{%- assign sibling_markdown = true -%}
{%- endif -%}
{% if sibling.variants[0].option1 %}
{% assign swatch_src = sibling.variants[0].option1 | handle %}
{% endif %}
{% if sibling.variants[0].option1 %}
{% assign swatch_color = sibling.variants[0].option1 | handle %}
{% else %}
{% assign swatch_color = sibling.title | split: ' - ' | last | handle %}
{% endif %}
{% assign swatch_color_value = '' %}
{% if itemSwatchColorMap[swatch_color] %}
{% assign swatch_color_value = itemSwatchColorMap[swatch_color] %}
{% endif %}
<div
role="button"
tabindex="0"
class="product-card__swatch product-card__swatch-sibling product-card__swatch--swatch h-8 w-8"
data-price="{{ sibling.price | times: 100 | money }}"
data-compare_price="{% if sibling_markdown %}{{ sibling.compare_at_price | times: 100 | money }}{% endif %}"
data-tooltip="{{ sibling.title | split : ' - ' | last }}"
data-title="{{ sibling.title | split: ' - ' | last }}"
data-handle="{{ sibling.handle }}"
data-images="{% assign images = '' %}{{ sibling.featured_image }}{% for image in sibling.images %}{% unless image == sibling.featured_image %}{% if images != '' %},{% endif %}{{ image }}{% assign images = 'added' %}{% endunless %}{% endfor %}"
>
<img class="{{ swatch_styles }}" {{'s'}}rc="https://cdn.shopify.com/s/files/1/0080/6777/6627/t/327/assets/{{ swatch_src | append: '.jpg?crop=center&height=64&width=64' }}" alt="{{ sibling.title }}" loading="lazy" onerror="if(this.errored){ return false;} this.errored = true; if('{{swatch_color_value}}'){_n.sibling(this,'span').style.display = 'block'; this.style.display = 'none'; console.log('passed');}else{ this.src='{{ sibling.featured_image | append: '&width=64' }}'}">
<span class="{{ swatch_styles }} product-card__swatch-color" style="background: {{swatch_color_value}};display: none;"></span>
</div>
{% endfor %}
{% if product.siblings.size > 4 %}
<div class="product-card__swatch-count text-xs">
<span class="text-center">+{{ product.siblings.size | minus: 4 }} More</span>
</div>
{% endif %}
</div>
{%- if product.available == false or product.available == '0' -%}
<span class="product-card__badge product-card__badge--soldout">Sold out</span>
{%- endif -%}
<div class="product-card__meta">
<h3 class="product-card__meta-title type-item type-item-product">
{{ product.title | split: ' - ' | first }}
</h3>
<div class="product-card__meta-prices flex">
<span class="product-card__meta-price {% if markdown %} type-price--sale{% endif %}">
{%- assign price = product.price %}
{%- if product.price_min > 0 and product.price_min < price %}
{% assign price = product.price_min %}
{%- endif %}
{{ price | money }}
</span>
{%- if product.price_max > product.price -%}
<span class="product-card__meta-price">
<span> - </span>
<span>{{ product.price_max | money }}</span>
</span>
{%- endif -%}
<span class="product-card__meta-compare-price type-price-compare" style="{% if markdown == false %}display: none;{% endif %}">
{{ product.compare_at_price | money }}
</span>
<span class="product-card__meta-price product-card__meta-savings" data-format="discount" style="
{%- assign savings = product.compare_at_price | minus: product.price -%}
{%- if savings <= 0 or markdown == false -%}display: none;{%- endif -%}
color: #00b5ff;
">
{% assign savings = product.compare_at_price | minus: product.price %}
{% assign savings_percentage = savings | times: 100.0 | divided_by: product.compare_at_price %}
{% if savings_percentage > 0 %}
{{ savings_percentage | round }}% Off
{% endif %}
</span>
</div>
</div>
{% assign has_badge = false %}
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.type != 'option' and badge.type != 'icon' and badge.type != 'graphic' and badge.item != blank %}
{% assign has_badge = true %}
{% endif %}
{% endfor %}
{% if has_badge %}
<div class="product-card__badges empty:hidden">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.type != 'option' and badge.type != 'icon' and badge.type != 'graphic' and badge.item != blank %}
<div id="badge-{{ badge.tag | handle }}" class="badge product-badge product-badge--item">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.item }}</span>
</div>
{% endif %}
{% endfor %}
</div>
{% endif %}
</a>
</product-item>
{% endfor %}
</div>
</div>
<div class="product-recommendations__pagination pagination--bullets flex items-center">
<div class="pagination"></div>
</div>
{% capture slider_size %}4.5{% endcapture %}
{% assign slider_size = slider_size | plus: 0 %}
{% capture slider_size_mobile %}1.5{% endcapture %}
{% assign slider_size_mobile = slider_size_mobile | plus: 0 %}
{% if products.size < slider_size %}
{% assign display_classes = ' lg:hidden' %}
{% endif %}
{% if products.size < slider_size_mobile %}
{% assign display_classes = display_classes | append: ' hidden' %}
{% endif %}
<button class="top-1/2 transform -translate-y-1/2 absolute left-1 {{ display_classes }} hidden lg:block lg:hidden swiper-prev swiper-button-prev-unique btn-control" tabindex="0">
<svg
class="icon icon-chevron-left"
style=""
width="30"
height="30"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-left"/>
</svg>
<span class="sr-only">chevron-left</span>
</button>
<button class="top-1/2 transform -translate-y-1/2 absolute right-1 {{ display_classes }} hidden lg:block lg:hidden swiper-next swiper-button-next-unique btn-control" tabindex="0">
<svg
class="icon icon-chevron-right"
style=""
width="30"
height="30"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-right"/>
</svg>
<span class="sr-only">chevron-right</span>
</button>
</div>
</script>
</div>
</div>
</section>
<style data-shopify>
#shopify-section-template--21847761223817__product_recommendations_DedH36:has(.product-recommendations):not(:has(.product-card)) {
display: none;
}
.section-template--21847761223817__product_recommendations_DedH36.product-recommendations .product-recommendations__button-set a {
}
.section-slideshow-multiple .productitem--extra {
padding-left: 1rem;
padding-right: 1rem;
}
.section-slideshow-multiple .productitem--wrap {
height: 100%;
}
.section-slideshow-collection .swiper-button-disabled {
opacity: .5;
}
</style>
<script>
(function(){
let rv = {products:[]}
try{
rv = JSON.parse(sessionStorage.getItem('recentlyViewed'));
} catch(err) {}
if(!rv)
rv = {products:[]}
window.recentlyViewed = rv;
if (rv.products.length <= 2) {
document.querySelectorAll('.recommend-recently-viewed').forEach(function(sec) { sec.style.display = 'none'; })
}
})()
</script>
</div><section id="shopify-section-template--21847761223817__frame_eG4EqF" class="shopify-section section--frame"><!-- Frame Section: -->
<div class="lg:treatment-none treatment-none
section__wrapper relative relative origin origin-center" >
<main class="container container--tight section__container relative" >
<div class="h-auto flex lg:flex flex-col lg:flex-row layout-center layout-top layout-space-packed py-0 px-0 gap-0 lg:py-0 lg:px-0 lg:gap-0 section__blocks"
>
<div class="w-full lg:w-full h-auto lg:border-0 flex lg:flex flex-col lg:flex-row layout-center layout-top layout-space-packed py-0 px-0 gap-0 lg:py-2xl lg:px-0 lg:gap-0 relative origin origin-center" style="--offset-x:0; --offset-y:0; " >
<div class="text-center"><h2>Men’s Elastic Swimming & Volley Shorts</h2>
<p>Easy on, easy off. Elastic swim shorts are made for low-effort days and quick transitions. The pull-on fit keeps things simple, with a drawcord to adjust when you need it.</p>
<p>The Mix Volley leads here. Straight fit, lightweight feel, and quick-drying fabric that holds up from early surf to whatever comes after. No extras, just what's worked since 1969.</p>
<p>If you want more structure or a more technical build, take a look at the full <a href="https://www.quiksilver.com/collections/mens-clothing-boardshorts">boardshorts collection</a>, including Surfsilk, Highline, Mercury, and Originals. For something that works in and out of the water, explore <a href="https://www.quiksilver.com/collections/mens-clothing-shorts-amphibians-hybrid">hybrid shorts</a>. Add a <a href="https://www.quiksilver.com/collections/mens-clothing-rashguards-surf-tees">rash guard</a> for extra coverage when the sun’s up.</p></div>
</div>
</div></main></div>
</section><section id="shopify-section-template--21847761223817__frames_wb6t4c" class="shopify-section section--frame"><!-- Frame Section: -->
<div class="lg:treatment-none treatment-none
section__wrapper relative relative origin origin-center" >
<main class="container container--tight section__container relative" >
<div class="h-auto flex lg:flex flex-col lg:flex-row layout-center layout-top layout-space-packed py-0 px-0 gap-0 lg:py-0 lg:px-0 lg:gap-0 section__blocks"
>
<div class="w-auto lg:col-span-4 h-auto max-lg:border-0 lg:border-0 flex lg:flex flex-row lg:flex-row layout-top layout-space-packed py-0 px-0 gap-0 relative origin origin-center" style="--offset-x:0; --offset-y:0; " >
<div id="related-pages-root"></div>
<script>
const updateArrows = (wrapper, leftBtn, rightBtn) => {
const isAtRightEnd = Math.abs(wrapper.scrollLeft + wrapper.clientWidth - wrapper.scrollWidth) < 2;
rightBtn.classList.toggle('hide', isAtRightEnd);
leftBtn.classList.toggle('hide', wrapper.scrollLeft <= 0);
};
const renderRelatedPages = (relatedPagesData) => {
if (!relatedPagesData || relatedPagesData.length === 0) return;
const container = document.getElementById('related-pages-root');
const html = `
<div class="related-pages constrained">
<div class="related-pages-wrapper">
<div class="related-pages-links">
${relatedPagesData.map(function(page) {
return `<a href="${page.url}">${page.title}</a>`;
}).join('')}
</div>
</div>
<div class="related-pages-controls">
<button type="button" class="related-pages-chevron chevron-left hide">
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.0592 12.364L8.10938 7.41421L9.52359 6L15.8876 12.364L9.52359 18.7279L8.10938 17.3137L13.0592 12.364Z" fill="currentColor"/>
</svg>
</button>
<button type="button" class="related-pages-chevron chevron-right">
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.0592 12.364L8.10938 7.41421L9.52359 6L15.8876 12.364L9.52359 18.7279L8.10938 17.3137L13.0592 12.364Z" fill="currentColor"/>
</svg>
</button>
</div>
</div>
`;
container.innerHTML = html;
const wrapper = container.querySelector('.related-pages-wrapper');
const leftBtn = container.querySelector('.chevron-left');
const rightBtn = container.querySelector('.chevron-right');
wrapper.addEventListener('scroll', function() {
setTimeout(() => updateArrows(wrapper, leftBtn, rightBtn), 200);
});
leftBtn?.addEventListener('click', function() {
wrapper.scrollLeft -= 300;
setTimeout(() => updateArrows(wrapper, leftBtn, rightBtn), 400);
});
rightBtn?.addEventListener('click', function() {
wrapper.scrollLeft += 300;
setTimeout(() => updateArrows(wrapper, leftBtn, rightBtn), 400);
});
};
(async () => {
try {
const response = await fetch('https://api.dlp.adeptmind.ai/interlinks', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
customer: 'quiksilver', // Change this as per the site ('quiksilver' or 'billabong')
category: "mens-clothing-boardshorts-elastic-waist"
})
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const data = await response.json();
renderRelatedPages(data);
} catch (err) {
console.error('Failed to load related pages:', err);
}
})();
</script>
<style>
.hide {
display: none !important;
}
.related-pages {
margin: 0 auto 2rem auto;
display: grid;
align-items: center;
isolation: isolate;
}
.related-pages-wrapper {
grid-area: 1/1/-1/-1;
width: 98%;
justify-self: center;
overflow-x: auto;
scrollbar-width: none;
-ms-overflow-style: none;
scroll-behavior: smooth;
}
.related-pages-links {
display: flex;
text-transform: capitalize;
gap: 16px;
}
.related-pages-links a {
height: fit-content;
color: #333132;
font-size: 14px;
padding: 8px 24px;
border: 1px solid #ddd;
white-space: nowrap;
border-radius: 4px;
transition: all 0.5s;
text-decoration: none;
font-family: "soleil", Helvetica, Arial, sans-serif;
}
.related-pages-chevron.chevron-left {
transform: rotate(180deg);
}
.related-pages-links a:hover {
background-color: #f1f1f1;
}
.related-pages-title {
margin-bottom: 16px;
font-style: normal;
font-size: 28px;
line-height: 32px;
color: #0e1111;
margin-bottom: 32px;
}
.related-pages-controls {
z-index: 1;
grid-area: 1/1/-1/-1;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
}
.related-pages-chevron {
width: 48px;
height: 48px;
border-radius: 9999px;
display: grid;
place-items: center;
cursor: pointer;
background: #fff;
box-shadow: 2px 4px 11px 0px #00000026;
position: absolute;
}
.related-pages-chevron.chevron-right {
right: 0px;
}
@media only screen and (max-width: 900px) {
.related-pages {
padding: 0;
}
.related-pages-wrapper {
width: 100%;
}
.related-pages-links {
padding: 0 1rem;
}
.related-pages-controls {
display: none;
}
}
</style>
</div>
</div></main></div>
</section>
</main>
<div id="shopify-section-search-modal" class="shopify-section">
<div data-modal="search" class="search-modal clip-path lg:fixed absolute top-0 right-0 z-50 modal-top animate w-screen transition-transform ease-in-out duration-300" tabindex="0" neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}">
<section class="search-header w-full animate z-30 flex flex-row">
<form action="/search" method="get" role="search" class="modal-search-form flex relative mx-auto w-full group">
<label for="modalSearchInput" class="invisible hidden">
Search
</label>
<input
type="search"
name="q"
required
id="modalSearchInput"
value=""
placeholder="Search"
class="search-modal__input focus:border-0 focus:outline-none shadow-none ui-autocomplete-input w-full px-10"
autocomplete="off"
autocorrect="off"
autocapitalize="off"
aria-label="Search"
aria-autocomplete="list"
onkeydown="if ( window.searchLoading != true ){ window.searchLoading = true; Neptune.liquid.load('SearchResults'); } this.typingTimer = this.typingTimer || {}; clearTimeout(this.typingTimer);"
onkeyup="if (event.which!=27) { clearTimeout(this.typingTimer); this.typingTimer = setTimeout(()=>{ Neptune.liquid.load('SearchSuggest','url:/search/suggest.json?q=' + this.value + '&resources[options][fields]=title,product_type,variants.sku&resources[limit]=6&resources[limit_scope]=each'); window.searchLoading = false; _n.qs('.search-results').classList.remove('hidden');},500) }"
neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}"
>
<input type="submit" value="go" class="sr-only">
<button class="search-modal__input--search h-full border-none cursor-pointer text-center absolute animate left-0 top-0">
<span class="icon text-black flex flex-col justify-center items-center mha" style="max-width: 38px;">
<svg
class="icon search-modal__icon icon-search"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-search"/>
</svg>
<span class="sr-only">Search</span>
</span>
</button>
<button class="search-modal__input--close absolute top-0 right-0" neptune-engage="{preventDefault:true,targets:[
{selector:html,attributes:[{att:data-active-modal,set:_remove}]},
{selector:.search-results,classes:add:hidden}
]}">
<svg
class="icon search-modal__icon icon-x-circle"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x-circle"/>
</svg>
<span class="sr-only">Close</span>
</button>
</form>
<div class="search-results no-scrollbar absolute hidden bg-white left-0 h-main lg:h-auto overflow-y-scroll max-h-main right-0 smooth-scroll top-full w-full clip-path">
<div class="search-results__container container mx-auto flex lg:flex-row flex-col lg:px-16">
<div neptune-liquid="SearchResults">
<script type="liquid/template">
{% if searchLoading %}
<div class="search-results__loader py-4 max-h-screen flex items-center justify-center w-full {% if resources %}absolute z-10 inset-0 bg-white bg-opacity-50{% else %}h-56{% endif %}">
<svg class="animate-spin -ml-1 mr-3 h-5 w-5 text-dark" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
</svg>
</div>
{% endif %}
</script>
</div>
<div class="search-suggestions lg:w-1/4 w-full order-1 lg:flex-grow lg:sticky top-0" neptune-liquid="{topic:SearchSuggest}">
<script type="liquid/template">
<div class="search-suggestions__container px-12 lg:px-10 text-sm">
{% assign url = "https://www.quiksilver.com/search/suggest.json?resources[type]=query,product,article,collection,page&resources[options][fields]=title,product_type,variants.sku&resources[limit]=6&resources[limit_scope]=each" %}
{%- if resources.results.products.size > 0 -%}
<{{'script'}}>Neptune.liquid.load('SearchResults', Neptune.liquid.topics.SearchSuggest.data)</{{'script'}}>
{%- endif -%}
{% if resources.results['queries'].size > 0 %}
<h3 class="type--subline font-medium lg:mt-0 lg:mb-2">Suggestions</h3>
<ul class="search-suggestions__list lg:mb-4">
{%- for item in resources.results['queries'] -%}
<li class="mt-2">
<a tabindex="0"
class="type-nav-list-item block"
href="{{ item.url }}"
onmouseover="Neptune.liquid.load('SearchResults',`url:{{ url }}&q={{ item.text }}`)"
onfocus="Neptune.liquid.load('SearchResults',`url:{{ url }}&q={{ item.text }}`)"
>
{{ item.styled_text }}
</a>
</li>
{%- endfor -%}
</ul>
{%- endif -%}
{%- assign types = 'collections,articles,pages' | split: ',' -%}
{%- assign collection_exclusion_list = "" | split: ',' -%}
{%- for type in types -%}
{% if resources.results[type].size > 0 %}
<h3 class="type--subline font-medium lg:mt-0 lg:mb-2">{{ type | capitalize }}</h3>
<ul class="search-suggestions__list lg:mb-4">
{%- for item in resources.results[type] -%}
{%- assign skip = false -%}
{%- case type -%}
{% when 'collections' %}
{%- for exclusion in collection_exclusion_list -%}
{%- if exclusion == item.handle %}{% assign skip = true %}{% endif -%}
{%- endfor -%}
{%- endcase -%}
{%- if skip %}{% continue %}{% endif -%}
<li class="mt-2">
<a class="type-nav-list-item block" tabindex="0" href="{{ item.url }}">{{ item.title }}</a>
</li>
{%- endfor -%}
</ul>
{%- endif -%}
{%- endfor -%}
</div>
</script>
</div>
<div class="search-suggestions--results lg:w-3/4 w-full lg:order-2 order-1 lg:sticky top-0" neptune-liquid="{topic:SearchResults, map:{resources:{from:resources},products:{from:resources.results.products,each:{title:title,price:price|*100,compare_at_price:compare_at_price_max|*100,featured_image:image,handle:handle,id:uid}}}}">
<script type="liquid/template">
{% if products.size > 0 %}
<div class="instanst-search__results grid grid-cols-2 lg:grid-cols-3 items-stretch p-2 lg:px-8 lg:pb-6" neptune-stratosphere="{type:list,load:view_item_list}">
<{{'script'}} type="g/tag">
{
item_list_id: search-modal,
item_list_name: "Search Modal",
items: []
}
</{{'script'}}>
{% for product in products %}
{% assign quickshop = false %}
{% if parent == 'quickshop' %}
{% assign quickshop = true %}
{% endif %}
{%- assign markdown = false -%}
{%- if product.compare_at_price > product.price_max -%}
{%- assign markdown = true -%}
{%- endif -%}
<product-item class="">
<a
class="product-card group {{ product.type | default: '' | handle }}"
data-depict-product-id="{{ product.id }}"
data-depict-default-image="{{ product.featured_image | split: 'files/' | last | split: '?' | first | prepend: 'files/' }}"
data-depict-hover-image="{{ product.alt_image | split: 'files/' | last | split: '?' | first | prepend: 'files/' }}"
href="{%- unless quickshop -%}
/products/{{- product.handle -}}
{%- else -%}#modal:quickshop:{{- product.handle -}}
{%- endunless -%}"
data-href="/products/{{product.handle}}"
onclick="{% unless quickshop %}event.stopPropagation(); window.history.replaceState({batch:{{loader.pendingBatchIndex}},item:{{forloop.index0}} },document.title){% endunless %}"
neptune-stratosphere="{type:item, select:select_item}"
data-product-images="{% if product.alt_image != blank %}multiple{% else %}duplicate{% endif %}"
style="order: {{ forloop.index0 }}"
>
<div class="product-card__image-wrap">
{% liquid
assign aspect_ratio = "aspect-w-4 aspect-h-5"
assign enable_swipe_images = true
assign enable_swipe_images_arrows = true
assign featured_image = product.imageUrl | default: product.featured_image | remove: '_large'
assign alt_image = product.alt_image | default: product.images[1] | remove: '_large'
assign widths = '360,720,1080,1200,1500,2400,2800,3600' | split: ','
assign aspect = aspect | default: settings.aspect | default: '4x3'
assign aspect_w = aspect | default: settings.aspect_w | split: 'x' | first | times: widths.first
assign aspect_h = aspect | default: settings.aspect_h | split: 'x' | last | times: widths.first
%}
{% if collection and enable_swipe_images %}
<div
tabindex="-1"
class="product-card__image swipe-enabled no-scrollbar"
neptune-uncomment="visible"
>
{% else %}
<div
class="product-card__image"
>
{% endif %}
<div class="product-card__slide {{ aspect_ratio }}">
<img src="{{ featured_image }}"
srcset="{%- liquid
for width in widths
echo featured_image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width:1536px) 273px, (min-width:1280px) 224px, (min-width: 991px) 176px, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.featured_image_alt }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>
{% if alt_image != blank %}
<div class="product-card__slide {{ aspect_ratio }}">
<img src="{{ alt_image }}"
srcset="{%- liquid
for width in widths
echo alt_image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width:1536px) 273px, (min-width:1280px) 224px, (min-width: 991px) 176px, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.alt_image_alt }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>
{% endif %}
{% if collection and enable_swipe_images %}
{% for image in product.images %}
{% unless image contains featured_image or image contains alt_image %}
{% unless animation_slider %}{% endunless %}<div class="product-card__slide {{ aspect_ratio }}">
<img
srcset="{%- liquid
for width in widths
echo image | append: '&width=' | append: width | append: ' ' | append: width | append: 'w,'
endfor
-%}"
sizes="(min-width: 1024px) 20vw, (max-width: 1023px)50vw"
loading="lazy"
alt="{{ product.title }}"
neptune-engage='{
"event":"load",
"trigger":"_self",
"targets":[{
"selector":"_self",
"classes":{
"add":"media-loaded"
}
}]
}'
>
</div>{% unless animation_slider %}{% endunless %}
{% endunless %}
{% endfor %}
{% endif %}
{% assign badges = productBadges | where: 'type', 'graphic' %}
{% for badge in badges %}
{% if product.tags contains badge.tag %}
{% if badge.icon contains '.' %}
<img class="product-item-image-graphic w-full h-full absolute inset-0" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-graphic w-full h-full inset-0" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% break %}
{% endif %}
{% endfor %}
</div>
{% assign badges = productBadges | where: 'type', 'icon' %}
{% for badge in badges %}
{% if product.tags contains badge.tag %}
{% if badge.width != null %}
{% if badge.icon contains '.' %}
<img class="product-item-image-badge" style="width:{{ badge.width }}" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-badge" style="width:{{ badge.width }}" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% else %}
{% if badge.icon contains '.' %}
<img class="product-item-image-badge" src="//www.quiksilver.com/cdn/shop/files/{{ badge.icon }}" alt="{{ tag }}">
{% else %}
<svg class="product-item-image-badge" fill="none" stroke="currentColor"><use xlink:href="#icon-def-{{ badge.icon }}"/></svg>
{% endif %}
{% endif %}
{% break %}
{% endif %}
{% endfor %}
{% assign has_badge = false %}
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank %}
{% assign has_badge = true %}
{% break %}
{% endif %}
{% endfor %}
{% if has_badge %}
<div class="product-card__badges product-card__badges--image-overlay">
<div class="top-left">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'top-left' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="top-right">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'top-right' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="bottom-left">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'bottom-left' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
<div class="bottom-right">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.product_image_badge != blank and badge.badge_direction == 'bottom-right' %}
<div id="badge-overlay-{{ badge.tag | handle }}" class="badge product-badge">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.product_image_badge }}</span>
</div>
{% endif %}
{% endfor %}
</div>
</div>
{% endif %}
{% assign badges = productBadges | where: 'type', 'option' %}
{% if badges != blank %}
<div class="product-item__option-badges">
{% for badge in badges %}
{% assign show_badge = false %}
{% if product.tags contains badge.tag %}
{% assign show_badge = true %}
{% endif %}
{% for sibling in product.siblings %}
{% if sibling.tags contains badge.tag %}
{% assign show_badge = true %}
{% endif %}
{% endfor %}
{% if show_badge %}
<span class="product-item__option-badge">{{ badge.label }}</span>
{% endif %}
{% endfor %}
</div>
{% endif %}
<button compare-{{product.handle}} onclick="event.stopPropagation(); this.classList.toggle('active'); Comparison.compare({title:'{{product.title}}',handle:'{{product.handle}}',image:'{{ product.featured_image }}' }); return false;" class="compare-product-item-toggle absolute top-0 right-0 p-3 w-full h-full bg-transparent border-0 group">
<span class="w-5 h-5 block absolute top-3 right-3 border bg-white"></span>
<svg
class="icon compare-product-item-toggle__check absolute top-3 right-3 hidden group-active:block icon-check"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-check"/>
</svg>
<span class="sr-only">check</span>
<span class="sr-only">Compare</span>
</button>
<style>
.compare-product-item-toggle {
display: none;
}
.collection-compare-state .compare-product-item-toggle {
display: block;
}
</style>
<div quick-add-container class="product-card__quick-add-form"></div>
{% if collection and enable_swipe_images and enable_swipe_images_arrows %}
<div class="product-card__arrows">
<button type="button"
aria-label="Previous"
class="product-card__arrow product-card__arrow--prev"
>
<svg
class="icon icon-chevron-left"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-left"/>
</svg>
<span class="sr-only">chevron-left</span>
</button>
<button type="button"
aria-label="Next"
class="product-card__arrow product-card__arrow--next"
>
<svg
class="icon icon-chevron-right"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-chevron-right"/>
</svg>
<span class="sr-only">chevron-right</span>
</button>
</div>
{% endif %}
</div>
{% if product.siblings.size > 0 %}
<div class="product-card__sibling-wrapper relative">
<ul class="product-card__sibling-types sibling-types">
{% assign types = product.siblings | map: 'product_type' | uniq %}
{% for type in types %}
{% if type == blank %}{% continue %}{% endif %}
<li class="sibling-type sibling-type--{{ type | split : ' - ' | last | handle }} {% if type == product.type %}active{% endif %}">
<span>{{ type | split : ' - ' | last }}</span>
<svg><use xlink:href="#icon-def-{{ type | split : ' - ' | last | handle }}"/></svg>
</li>
{% endfor %}
{% unless types contains product.type %}
{% assign productType = product.type | handlize %}
<li class="sibling-type sibling-type--{{ productType | split : ' - ' | last | handle }} active">
<span>{{ productType | split : ' - ' | last }}</span>
<svg><use xlink:href="#icon-def-{{ productType | split : ' - ' | last | handle }}"/></svg>
</li>
{% endunless %}
</ul>
</div>
{% endif %}
<div class="product-card__swatches product-card__swatches--swatch flex flex-wrap group">
{%- liquid
assign swatch_styles = 'h-full w-full object-contain'
assign limit = 4
if product.siblings.size > 4
assign limit = 3
endif
-%}
{% assign featured_swatch_src = product.variants[0].option1 | handle %}
{% assign featured_swatch_color = product.variants[0].option1 | handle %}
{% assign featured_swatch_color_value = '' %}
{% if itemSwatchColorMap[featured_swatch_color] %}
{% assign featured_swatch_color_value = itemSwatchColorMap[featured_swatch_color] %}
{% endif %}
<div
role="button"
tabindex="0"
class="product-card__swatch product-card__swatch-featured product-card__swatch--swatch h-8 w-8 active"
data-price="{{ product.price | money }}"
data-compare_price="{% if markdown %}{{ product.compare_at_price | money }}{% endif %}"
data-tooltip="{{ product.title | split : ' - ' | last }}"
data-title="{{ product.title | split: ' - ' | last }}"
data-handle="{{ product.handle }}"
data-images="{% assign images = '' %}{{ featured_image }}{% for image in product.images %}{% unless image == featured_image %}{% if images != '' %},{% endif %}{{ image }}{% assign images = 'added' %}{% endunless %}{% endfor %}"
>
<img class="{{ swatch_styles }}" {{'s'}}rc="https://cdn.shopify.com/s/files/1/0080/6777/6627/t/327/assets/{{ featured_swatch_src | append: '.jpg?crop=center&height=64&width=64' }}" alt="{{ product.title }}" loading="lazy" onerror="if(this.errored){return false;} this.errored = true; if('{{featured_swatch_color_value}}'){_n.sibling(this,'span').style.display = 'block'; this.style.display = 'none';}else{ this.src='{{ product.featured_image | remove: '_600x600' | remove: '_large' }}'}">
<span class="{{ swatch_styles }} product-card__swatch-color" style="background: {{featured_swatch_color_value}}; display: none;"></span>
</div>
{% assign siblings = product.siblings %}
{% for sibling in siblings limit:limit %}
{%- assign sibling_markdown = false -%}
{%- if sibling.compare_at_price > sibling.price -%}
{%- assign sibling_markdown = true -%}
{%- endif -%}
{% if sibling.variants[0].option1 %}
{% assign swatch_src = sibling.variants[0].option1 | handle %}
{% endif %}
{% if sibling.variants[0].option1 %}
{% assign swatch_color = sibling.variants[0].option1 | handle %}
{% else %}
{% assign swatch_color = sibling.title | split: ' - ' | last | handle %}
{% endif %}
{% assign swatch_color_value = '' %}
{% if itemSwatchColorMap[swatch_color] %}
{% assign swatch_color_value = itemSwatchColorMap[swatch_color] %}
{% endif %}
<div
role="button"
tabindex="0"
class="product-card__swatch product-card__swatch-sibling product-card__swatch--swatch h-8 w-8"
data-price="{{ sibling.price | times: 100 | money }}"
data-compare_price="{% if sibling_markdown %}{{ sibling.compare_at_price | times: 100 | money }}{% endif %}"
data-tooltip="{{ sibling.title | split : ' - ' | last }}"
data-title="{{ sibling.title | split: ' - ' | last }}"
data-handle="{{ sibling.handle }}"
data-images="{% assign images = '' %}{{ sibling.featured_image }}{% for image in sibling.images %}{% unless image == sibling.featured_image %}{% if images != '' %},{% endif %}{{ image }}{% assign images = 'added' %}{% endunless %}{% endfor %}"
>
<img class="{{ swatch_styles }}" {{'s'}}rc="https://cdn.shopify.com/s/files/1/0080/6777/6627/t/327/assets/{{ swatch_src | append: '.jpg?crop=center&height=64&width=64' }}" alt="{{ sibling.title }}" loading="lazy" onerror="if(this.errored){ return false;} this.errored = true; if('{{swatch_color_value}}'){_n.sibling(this,'span').style.display = 'block'; this.style.display = 'none'; console.log('passed');}else{ this.src='{{ sibling.featured_image | append: '&width=64' }}'}">
<span class="{{ swatch_styles }} product-card__swatch-color" style="background: {{swatch_color_value}};display: none;"></span>
</div>
{% endfor %}
{% if product.siblings.size > 4 %}
<div class="product-card__swatch-count text-xs">
<span class="text-center">+{{ product.siblings.size | minus: 4 }} More</span>
</div>
{% endif %}
</div>
{%- if product.available == false or product.available == '0' -%}
<span class="product-card__badge product-card__badge--soldout">Sold out</span>
{%- endif -%}
<div class="product-card__meta">
<h3 class="product-card__meta-title type-item type-item-product">
{{ product.title | split: ' - ' | first }}
</h3>
<div class="product-card__meta-prices flex">
<span class="product-card__meta-price {% if markdown %} type-price--sale{% endif %}">
{%- assign price = product.price %}
{%- if product.price_min > 0 and product.price_min < price %}
{% assign price = product.price_min %}
{%- endif %}
{{ price | money }}
</span>
{%- if product.price_max > product.price -%}
<span class="product-card__meta-price">
<span> - </span>
<span>{{ product.price_max | money }}</span>
</span>
{%- endif -%}
<span class="product-card__meta-compare-price type-price-compare" style="{% if markdown == false %}display: none;{% endif %}">
{{ product.compare_at_price | money }}
</span>
<span class="product-card__meta-price product-card__meta-savings" data-format="discount" style="
{%- assign savings = product.compare_at_price | minus: product.price -%}
{%- if savings <= 0 or markdown == false -%}display: none;{%- endif -%}
color: #00b5ff;
">
{% assign savings = product.compare_at_price | minus: product.price %}
{% assign savings_percentage = savings | times: 100.0 | divided_by: product.compare_at_price %}
{% if savings_percentage > 0 %}
{{ savings_percentage | round }}% Off
{% endif %}
</span>
</div>
</div>
{% assign has_badge = false %}
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.type != 'option' and badge.type != 'icon' and badge.type != 'graphic' and badge.item != blank %}
{% assign has_badge = true %}
{% endif %}
{% endfor %}
{% if has_badge %}
<div class="product-card__badges empty:hidden">
{% for badge in productBadges | where: 'type', 'text' %}
{% if product.tags contains badge.tag and badge.type != 'option' and badge.type != 'icon' and badge.type != 'graphic' and badge.item != blank %}
<div id="badge-{{ badge.tag | handle }}" class="badge product-badge product-badge--item">
<span style="color:{{ badge.color }};background-color:{{ badge.bg_color }};">{{ badge.item }}</span>
</div>
{% endif %}
{% endfor %}
</div>
{% endif %}
</a>
</product-item>
{% endfor %}
</div>
{% endif %}
</script>
</div>
</div>
</div>
</section>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const searchForm = document.querySelector('.modal-search-form');
if (searchForm) {
searchForm.addEventListener('submit', function(e) {
const searchInput = this.querySelector('input[name="q"]');
if (searchInput) {
const searchTerm = searchInput.value.toLowerCase().trim()
}
}
});
}
});
</script>
</div>
<div id="shopify-section-cart-modal" class="shopify-section"><div data-modal="cart" class="cart-modal fixed top-0 right-0 z-50 w-full h-full transition-transform duration-300 ease-in-out modal-right animate lg:w-1/3 bg-white" tabindex="0" neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}">
<section class="cart relative flex flex-col h-full" aria-live="polite" neptune-liquid="{topic:Cart, source:cart, append:[Shopify, productBadges]}">
<script type="liquid/template">
<header class="cart__header">
<article class="cart__header clip-path flex items-center justify-between">
<h2 class="cart__header--title type--subline">
{% if item_count == 0 %}
Your cart
{% else %}
{{ item_count }} Item{% unless item_count == 1 %}s{% endunless %}
{% endif %}
</h2>
<div class="cart__close">
<button class="flex items-center justify-center bg-transparent cursor-pointer" neptune-engage="[{
'targets':[{
'selector':'html',
'attributes':[{
'att':'data-active-modal',
'set':'_remove'
}]
},
{
'selector':'[data-return-focus]',
'attributes':[{
'att':'data-return-focus',
'set':'_remove'
}],
'focus':true
}]
}]">
<svg
class="icon icon-x"
style=""
width="12"
height="12"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">Close</span>
</button>
</div>
</article>
</header>
{% for offer in offers.all %}
{% if offer.settings.position == 'cart-header' %}
<div class="cart__offer-message--header">
{% if offer.settings.success != blank and offer.settings.eligible %}
<article class="cart__offer-message cart__offer-message--success clip-path">
<span class="message">
{{ offer.settings.success }}
</span>
</article>
{% endif %}
{% if offer.settings.eligible == false and offer.settings.approach != blank %}
<article class="cart__offer-message cart__offer-message--approach clip-path">
{% assign progress = total_price | divided_by: offer.settings.threshold_cents %}
{% assign balance = offer.settings.threshold_cents | minus: total_price | money %}
{% assign balance = balance | prepend: '<span class="cart__offer-balance">' | append: '</span>' %}
{% unless progress >= 1 %}
<p class="approach__title">
{{ offer.settings.approach | replace: "{{ balance }}", balance }}
</p>
<div class="approach__bar relative w-full progress-bar">
<span class="approach__bar-fill absolute inset-0 origin-left bg-primary progress" style=" transform: scaleX({{ progress }})"></span>
</div>
{% endunless %}
</article>
{% endif %}
</div>
{% elsif offer.settings.position == 'cart-footer' %}
<div class="cart__offer-message--footer">
{% if offer.settings.success != blank and offer.settings.eligible %}
<article class="cart__offer-message cart__offer-message--success clip-path">
<span class="message">
{{ offer.settings.success }}
</span>
</article>
{% endif %}
{% if offer.settings.eligible == false and offer.settings.approach != blank %}
<article class="cart__offer-message cart__offer-message--approach clip-path">
{% assign progress = total_price | divided_by: offer.settings.threshold_cents %}
{% assign balance = offer.settings.threshold_cents | minus: total_price | money %}
{% assign balance = balance | prepend: '<span class="cart__offer-balance">' | append: '</span>' %}
{% unless progress >= 1 %}
<p class="approach__title">
{{ offer.settings.approach | replace: "{{ balance }}", balance }}
</p>
<div class="approach__bar relative w-full progress-bar">
<span class="approach__bar-fill absolute inset-0 origin-left bg-primary progress" style=" transform: scaleX({{ progress }})"></span>
</div>
{% endunless %}
</article>
{% endif %}
</div>
{% endif %}
{% endfor %}
<main class="relative flex-grow h-full overflow-y-scroll cart-body smooth-scroll overscroll-contain">
{% for item in items %}
{% unless item.properties._bundle == 'component' %}
<article tabindex="0" class="cart-item" data-cart-item-index="{{forloop.index0}}">
<div class="cart-item__container w-full flex group relative">
<div class="cart-item__img w-1/4">
<a {{'h'}}ref="{{ item.url }}" class="product-item__image-wrapper block aspect-h-1 aspect-w-1">
{% if item.properties._image %}
<img {{'s'}}rc="{{ item.properties._image | image_url: width: 200 }}" alt="{{ item.product_title }}" class="object-contain bg-white w-full h-full">
{% else %}
<img {{'s'}}rc="{{ item.image | image_url: width: 200 }}" alt="{{ item.product_title }}" class="object-contain bg-white w-full h-full">
{% endif %}
</a>
</div>
<div class="cart-item__details cart__item_details">
<a {{'h'}}ref="{{ item.url }}" class="cart-item__details-link w-full no-underline">
<h2 class="cart-item__title">
{{ item.title | split: '-' | first }}
</h2>
{% for option in item.options_with_values %}
{% unless option.name == "Title" %}
<p class="cart-item__option">{{ option.name }}: {{ option.value }}</p>
{% endunless %}
{% endfor %}
{% if item.properties.style %}
<p class="cart-item__option">Style: {{ item.properties.style | split: '_' | first }}</p>
{% endif %}
{% for badge in productBadges | where: 'type', 'text' %}
{% assign itemTags = item.properties._tags | default: item.properties.tags %}
{% for tag in itemTags %}
{% if tag == badge.tag and badge.cart %}
<span class="badge product-badge product-badge--cart text-xs" style="color:{{ badge.color }}">
{{ badge.cart | newline_to_br }}
</span>
{% break %}
{% endif %}
{% endfor %}
{% endfor %}
</a>
<div class="cart-item__bottom-details flex items-center justify-between">
{% unless item.properties._offer != blank %}
<div data-cart-item-tools class="flex items-center mt-auto">
<div class="flex items-center field field-plus-minus field-plus-minus-light">
<button class=""
onclick="Util.debounce(() => Neptune.cart.changeItem({{forloop.index0}},{{item.quantity | minus: 1}}), 300)()">-</button>
<input class="" type="number"
oninput="Util.debounce(() => Neptune.cart.changeItem({{forloop.index0}},this.value), 300)()" value="{{item.quantity}}"></input>
<button class=""
onclick="Util.debounce(() => Neptune.cart.changeItem({{forloop.index0}},{{item.quantity | plus: 1}}), 300)()">+</button>
</div>
</div>
{% endunless %}
{% assign price = item.final_price %}
</div>
<div class="cart-item__wishlist">
{% assign product = item %}
<button
class="button button--wishlist {% for _item in wishlist.lists[0].items %}{% if _item.product.handle == product.handle and _item.variant.id == variant.id %}active{% endif %}{% endfor %} {% unless variant %}x-disabled{% endunless %} "
data-wishlist-product="{{ product.id }}"
onclick="event.preventDefault(); event.stopPropagation();
Wishlist.items.toggle({
listID: 0,
product: {
id:{{ product.id }},
handle:'{{ product.handle }}'
},
{% if product.variants[0].id or variant_id %}
variant:{
id:{% if product.variants[0].id %}{{ product.variants[0].id }}{% else %}{{ variant_id }}{% endif %}
}
{% endif %}
});
this.classList.toggle('active'); return false;"
>
<svg
class="icon wish icon-heart"
style=""
width="20"
height="20"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-heart"/>
</svg>
<span class="sr-only">heart</span>
<svg
class="icon wish wish--active icon-heart-filled"
style=""
width="20"
height="20"
fill="#000000"
stroke="#000000"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-heart-filled"/>
</svg>
<span class="sr-only">heart-filled</span>
<span class="hidden">Wishlist</span>
</button>
</div>
</div>
<div class="cart-item__end-details flex flex-col items-end justify-end ml-auto">
<button class="cart-item__remove border-none bg-white text-gray-400 cursor-pointer hover:text-black transition-all ease-linear" onclick="Neptune.cart.remove({{forloop.index0}})">
<svg
class="icon icon-x"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">Remove</span>
</button>
<p class="type-price cart-item__price whitespace-nowrap">
{{ price | money }}
<span class="type-price cart-item__price cart-item__price--sale block whitespace-nowrap" style="color: #00b5ff">{% assign cart_savings = item.properties.compare_at | minus: price %}
{% assign cart_savings_percentage = cart_savings | times: 100.0 | divided_by: item.properties.compare_at %}
{% if cart_savings > 0 %}
{{ cart_savings_percentage | round }}% Off
{% endif %}</span>
</p>
</div>
</div>
{% if item.error %}
<span class="cart-item__error">
{{ item.error }}
</span>
{% endif %}
</article>
{% endunless %}
{% else %}
<div class="flex items-center justify-center h-full">
<div class="cart__empty">
<p class="cart__empty-text">Your cart is empty</p>
<button class="cart__empty-button button button--primary" neptune-engage="[{
'targets':[{
'selector':'html',
'attributes':[{
'att':'data-active-modal',
'set':'_remove'
}]
},
{
'selector':'[data-return-focus]',
'attributes':[{
'att':'data-return-focus',
'set':'_remove'
}],
'focus':true
}]
}]">
Continue shopping
</button>
</div>
</div>
{% endfor %}
{% assign eligible_offers = offers.eligible %}
{% for offer in eligible_offers %}
{% assign offerIndex = forloop.index0 %}
{% if offer.products.size > 0 and offer.all_in_cart == false %}
{% case offer.display_type %}
{% when 'carousel' %}
<article class="bg-white cart-offers cart-offers__carousel">
{% if offer.prompt != blank %}
<p class="cart-offers__prompt">{{ offer.prompt | newline_to_br }}</p>
{% endif %}
<div neptune-swiper="
{
mousewheel: {
forceToAxis: true,
thresholdDelta: 3
},
centeredSlides: true,
breakpoints: {
1: {
slidesPerView:1.1,
spaceBetween:10
},
1024: {
slidesPerView:1.1,
spaceBetween:10
}
},
loop:true
}" class="swiper-container">
<div class="swiper-wrapper">
{% for product in offer.products %}
{% assign productIndex = forloop.index0 %}
{% if product.in_cart %}{% continue %}{% endif %}
<div for="{{ offer.title | handle }}-{{ product.handle }}"
class="cart-offers__{{ offer.product_selection }} cart-offers__slide swiper-slide group active:border-pop"
>
<div class="offer-item flex">
<div class="offer-item__image-outer w-1/4">
<div class="offer-item__image-wrapper product-item__image-wrapper relative aspect-h-1 aspect-w-1">
<img {{'s'}}rc="{{ product.featured_image | image_url: width: 200 }}" alt="{{ product.title }}" class="offer-item__image product-item__image object-contain bg-white w-full h-full">
</div>
<div class="offer-item__check">
<svg
class="icon icon-check"
style=""
width="20"
height="20"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-check"/>
</svg>
<span class="sr-only">check</span>
</div>
</div>
<div class="offer-item__details w-full">
{% assign offerTitle = product.title %}
<div class="offer-item__meta product-item__meta">
<h5 class="offer-item__title product-item__title">{{ product.title | split: "-" | first }}</h5>
<p class="offer-item__type product-item__type">{{ product.title | split: "-" | last }}</p>
<span class="offer-item__price product-item__price type-price">
{% assign discount_amount = 0 %}
{% if offer.discount %}
{% assign discount_amount = offer.discount | times: 0.01 | times: product.price %}
{% endif %}
{{ product.price | minus: discount_amount | money }}
</span>
</div>
<div class="w-full offer-item__action">
{% if product.variants.size > 1 %}
<div class="field field--select mb-0">
<select class="variant w-full" onchange="var addBtn = this.closest('.offer-item__action').querySelector('.offer-item__button--add'); if (addBtn) { addBtn.disabled = false; } CartOffers.select({{ offerIndex }}, {{ productIndex }}, true); if(_n.qs('#{{ offer.title | handle }}-{{ product.handle }}')) {_n.qs('#{{ offer.title | handle }}-{{ product.handle }}').checked = true};">
<option value="" disabled selected>Please select...</option>
{% for variant in product.variants %}
{% if variant.available or variant.inventory_quantity > 0 %}
<option value="{{ variant.id }}">{{ variant.title }}</option>
{% endif %}
{% endfor %}
</select>
</div>
{% else %}
<input type="hidden" class="variant" value="{{product.variants[0].id}}">
{% endif %}
{% if offer.display_type == 'carousel' %}
{{ '<button' }}
class="offer-item__button--add button button--primary flex-grow"
onclick="Neptune.cart.add({ id: _n.qs('.variant', this.parentNode).value, quantity: 1, properties: {_offer: '{{ offer.title }}'} });{% if offer.dismiss_on_atc %} CartOffers.complete('{{ offer.title }}');{% endif %} return false;"
{% liquid
if product.variants.size > 1
echo ' disabled'
endif
%}
{{'>'}}Add</button>
{% endif %}
</div>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</article>
{% when 'takeover' %}
<article class="absolute min-h-full h-auto w-full top-0 left-0 cart-offers cart-offers__takeover bg-gray-50">
{% if offer.prompt != blank %}
<p class="cart-offers__prompt">{{ offer.prompt | newline_to_br }}</p>
{% endif %}
{% for product in offer.products %}
{% assign productIndex = forloop.index0 %}
{% if product.in_cart %}{% continue %}{% endif %}
{% unless offer.product_selection == 'all' %}
{% if offer.products.size == 1 %}
<input checked type="{{ offer.product_selection }}" id="{{ offer.title | handle }}-{{ product.handle }}" class="hidden" name="{{ offer.title | handle }}" onchange="
CartOffers.select({{ offerIndex }}, {{ productIndex }}, this.checked)">
{% else %}
<input type="{{ offer.product_selection }}" id="{{ offer.title | handle }}-{{ product.handle }}" class="hidden" name="{{ offer.title | handle }}" onchange="
CartOffers.select({{ offerIndex }}, {{ productIndex }}, this.checked)">
{% endif %}
{% endunless %}
<label for="{{ offer.title | handle }}-{{ product.handle }}" class="takeover__item offer-item-{{ offer.product_selection }} group flex flex-col">
<div class="offer-item flex">
<div class="offer-item__image-outer w-1/4">
<div class="offer-item__image-wrapper product-item__image-wrapper relative aspect-h-1 aspect-w-1">
<img {{'s'}}rc="{{ product.featured_image | image_url: width: 200 }}" alt="{{ product.title }}" class="offer-item__image product-item__image object-contain bg-white w-full h-full">
</div>
<div class="offer-item__check">
<svg
class="icon icon-check"
style=""
width="20"
height="20"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-check"/>
</svg>
<span class="sr-only">check</span>
</div>
</div>
<div class="offer-item__details w-full">
{% assign offerTitle = product.title %}
<div class="offer-item__meta product-item__meta">
<h5 class="offer-item__title product-item__title">{{ product.title | split: "-" | first }}</h5>
<p class="offer-item__type product-item__type">{{ product.title | split: "-" | last }}</p>
<span class="offer-item__price product-item__price type-price">
{% assign discount_amount = 0 %}
{% if offer.discount %}
{% assign discount_amount = offer.discount | times: 0.01 | times: product.price %}
{% endif %}
{{ product.price | minus: discount_amount | money }}
</span>
</div>
<div class="w-full offer-item__action">
{% if product.variants.size > 1 %}
<div class="field field--select mb-0">
<select class="variant w-full" onchange="var addBtn = this.closest('.offer-item__action').querySelector('.offer-item__button--add'); if (addBtn) { addBtn.disabled = false; } CartOffers.select({{ offerIndex }}, {{ productIndex }}, true); if(_n.qs('#{{ offer.title | handle }}-{{ product.handle }}')) {_n.qs('#{{ offer.title | handle }}-{{ product.handle }}').checked = true};">
<option value="" disabled selected>Please select...</option>
{% for variant in product.variants %}
{% if variant.available or variant.inventory_quantity > 0 %}
<option value="{{ variant.id }}">{{ variant.title }}</option>
{% endif %}
{% endfor %}
</select>
</div>
{% else %}
<input type="hidden" class="variant" value="{{product.variants[0].id}}">
{% endif %}
{% if offer.display_type == 'carousel' %}
{{ '<button' }}
class="offer-item__button--add button button--primary flex-grow"
onclick="Neptune.cart.add({ id: _n.qs('.variant', this.parentNode).value, quantity: 1, properties: {_offer: '{{ offer.title }}'} });{% if offer.dismiss_on_atc %} CartOffers.complete('{{ offer.title }}');{% endif %} return false;"
{% liquid
if product.variants.size > 1
echo ' disabled'
endif
%}
{{'>'}}Add</button>
{% endif %}
</div>
</div>
</div>
</label>
{% endfor %}
<div class="cart-offers__button-set w-full">
<button id="addOffer" class="cart-offers__select-button button button--primary w-full {% unless offer.products.size == 1 %}pointer-events-none opacity-50{% endunless %}" onclick="var selected_variants = _n.qsa('.cart-offers .offer-item-all .variant, .cart-offers input:checked + label .variant').map(el=>{
if (el.value == false) el.classList.add('error')
return {
id:el.value,
quantity:1,
properties:{_gift:'{{ offer.title }}'}
}
}); if (selected_variants.some(v => v.id == false)) { return _n.qs('.cart-offers .variant.error').scrollIntoViewIfNeeded(); } Neptune.cart.add(selected_variants); CartOffers.complete('{{ offer.title }}'); return false;">
<span>Select</span>
</button>
<button class="button button--link w-full" onclick="CartOffers.complete('{{ offer.title }}')">
No, thanks
</button>
</div>
</article>
{% break %}
{% endcase %}
{% endif %}
{% endfor %}
<aside class="block-carousel_xjjkLf relative flex flex-col flex-wrap items-center justify-center lg:mt-0 lg:mb-0 mt-0 mb-0 lg:h-auto image-height h-auto image-height">
<div
class="swiper-container w-full "
neptune-swiper
data-swiper-mousewheel='{ "forceToAxis": true}'
data-swiper-update-on-images-ready="true"
data-swiper-effect="slide"
data-swiper-watch-overflow="true"
data-swiper-preload-images="true",
data-swiper-observer="true",
data-swiper-observe-parents="true",
data-swiper-observe-slide-children="true",
data-swiper-update-on-images-ready="true",
data-swiper-keyboard='{
"enabled": true
}'
data-swiper-loop="false"
data-swiper-navigation='{
"nextEl": ".block-carousel_xjjkLf .swiper-button-next-unique",
"prevEl": ".block-carousel_xjjkLf .swiper-button-prev-unique"
}'
data-swiper-pagination='{
"el": ".block-carousel_xjjkLf .pagination",
"bulletElement": "button",
"clickable": true
}'
data-swiper-breakpoints='{
"1": {
},
"1025": {
}
}'
>
<div class="swiper-wrapper h-full items-stretch">
<article class="swiper-slide block-promo_8F8Awj h-full w-full flex flex-col" style="background-color: ;" neptune-stratosphere="{type:solo,view:view_promotion,select:select_promotion}">
<a class="block w-full h-full" href="/collections/sale">
<div
class="block__text h-full w-full z-10 left-0 top-0 flex flex-col lg:items-center lg:justify-center items-center justify-center lg:text-center text-center lg:relative relative lg:py-0 py-8 lg:px-4 px-8 "
>
<div
class="block__text_content block__text_content--promo_8F8Awj flex max-h-full lg:w-full w-full lg:pt-xl lg:pb-xl lg:px-lg pt-base pb-base px-xs lg:flex-row flex-row lg:gap-base gap-base "
style=""
>
<div class="content-item__image flex flex-1 w-full lg:order-none order-none lg:self-center self-center lg:justify-center justify-center">
<div class="block w-full content-item__image--img" alt="Final Wave">
<img id="Image-32026525696137-0"
srcset=""
sizes="100vw"
src="//www.quiksilver.com/cdn/shop/files/Cart_Banner_b36a57ba-466c-403f-a1e7-49545d4c7cc3_750x.jpg?v=1786469469"
loading="lazy"
alt=""
width="200"
height="200.0"
class="block w-full max-w-full"
onload="this.classList.add('media-loaded');"
>
</div>
<style>
.block__text_content--promo_8F8Awj .content-item__image .content-item__image--img, .block__text_content--promo_8F8Awj .content-item__image .content-item__image--svg {
width: 100%;
}
</style>
</div>
<div class="content-item__buttons flex-1 w-full lg:self-center self-center lg:order-none order-none">
<!-- Buttons -->
<div
class="content-item__button-caption block__copy relative mt-0 mb-base type--paragraph"
>
<p>Take an Additional 10% Off on Sale Styles at Checkout </p><p>*Price as marked and exclusions apply</p>
</div>
<div class="flex flex-row flex-wrap gap-2 lg:justify-center justify-center">
<button onclick="window.location.href='/collections/sale'" class="text__button--one min-h-0 button lg:button--link max-lg:button--link lg:self-center self-center">
SHOP NOW
</button>
</div>
</div>
<style>
.block__text_content--promo_8F8Awj .text__button--one {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--promo_8F8Awj .text__button--one:hover, .block__text_content--promo_8F8Awj .text__button--one:focus {
color:;
border-color: ;
background-color: ;
}
.block__text_content--promo_8F8Awj .text__button--two {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--promo_8F8Awj .text__button--two:hover, .block__text_content--promo_8F8Awj .text__button--two:focus {
color: ;
border-color: ;
background-color: ;
}
.block__text_content--promo_8F8Awj .text__button--three {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--promo_8F8Awj .text__button--three:hover, .block__text_content--promo_8F8Awj .text__button--three:focus {
color: ;
border-color: ;
background-color: ;
}
@media (max-width: 1023px) {
.block__text_content--promo_8F8Awj .text__button--one {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--promo_8F8Awj .text__button--one:hover, .block__text_content--promo_8F8Awj .text__button--one:focus {
color: ;
border-color: ;
background-color: ;
}
.block__text_content--promo_8F8Awj .text__button--two {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--promo_8F8Awj .text__button--two:hover, .block__text_content--promo_8F8Awj .text__button--two:focus {
color: ;
border-color: ;
background-color: ;
}
.block__text_content--promo_8F8Awj .text__button--three {
background-color: ;
border-color: ;
color: ;
}
.block__text_content--promo_8F8Awj .text__button--three:hover, .block__text_content--promo_8F8Awj .text__button--three:focus {
color: ;
border-color: ;
background-color: ;
}
}
</style>
</div>
</div>
</a>
</article>
</div>
</div>
</aside>
</main>
<footer class="cart__footer cart-footer {% if items.size == 0 %}hidden{% endif %}">
<article tabindex="0" class="cart-footer__summary-container flex flex-col justify-start items-center">
<div class="w-full">
<p class="cart-footer__summary">
{% if item_count == 0 %}
Your cart
{% else %}
<span class="summary-count">{{ item_count }} Item{% unless item_count == 1 %}s{% endunless %}</span>
{% endif %}
</p>
<p class="cart-footer__taxes-shipping">Taxes and shipping calculated at checkout</p>
</div>
<div class="flex items-center justify-between w-full">
<p class="cart-footer__subtotal type-price">Subtotal</p>
<p class="cart-footer__price type-price" data-cart-subtotal="{{ items_subtotal_price }}">
{{ items_subtotal_price | money }}
</p>
</div>
</article>
<div class="cart-footer__button-wrap">
<button neptune-permanent="checkout" name="checkout" onclick="document.location='/checkout'" class="cart-footer__button clip-path w-full button button--primary">Checkout</button>
</div>
<div class="cart-footer__continue-shopping-wrap">
<button class="cart-footer__continue-shopping button button--link" neptune-engage="[{
'targets':[{
'selector':'html',
'attributes':[{
'att':'data-active-modal',
'set':'_remove'
}]
},
{
'selector':'[data-return-focus]',
'attributes':[{
'att':'data-return-focus',
'set':'_remove'
}],
'focus':true
}]
}]">
Continue shopping
</button>
</div>
</footer>
<svg width="0" height="0">
<clipPath id="cartFooterClipPath" clipPathUnits="objectBoundingBox">
<path d="M0.002,0 C0,0.029,0,0.062,0.002,0.1 C0.002,0.116,0.002,0.133,0.001,0.149 C0,0.181,0,0.219,0.002,0.252 C0.004,0.279,0.004,0.306,0.003,0.339 C0.002,0.393,0.004,0.445,0.005,0.497 C0.005,0.516,0.006,0.536,0.006,0.555 C0.007,0.569,0.007,0.581,0.007,0.593 C0.008,0.606,0.008,0.618,0.008,0.631 C0.008,0.686,0.009,0.745,0.012,0.794 C0.013,0.804,0.013,0.817,0.013,0.832 C0.013,0.841,0.013,0.85,0.013,0.859 C0.014,0.886,0.015,0.908,0.016,0.935 C0.017,0.962,0.02,0.978,0.023,0.984 C0.026,0.986,0.028,0.988,0.031,0.99 C0.035,0.995,0.04,1,0.045,1 C0.057,1,0.068,0.995,0.08,0.984 C0.091,0.973,0.101,0.967,0.112,0.967 C0.12,0.967,0.128,0.962,0.136,0.957 L0.136,0.957 C0.14,0.955,0.144,0.953,0.149,0.95 C0.159,0.945,0.169,0.94,0.178,0.94 C0.202,0.935,0.225,0.924,0.248,0.908 L0.248,0.908 C0.26,0.897,0.273,0.886,0.285,0.908 C0.288,0.912,0.29,0.91,0.292,0.909 C0.293,0.908,0.294,0.908,0.295,0.908 C0.308,0.905,0.322,0.901,0.336,0.897 C0.35,0.893,0.365,0.889,0.378,0.886 H0.419 C0.43,0.886,0.44,0.886,0.45,0.885 C0.471,0.884,0.492,0.883,0.512,0.886 C0.529,0.886,0.545,0.886,0.561,0.892 L0.562,0.892 C0.573,0.897,0.583,0.902,0.594,0.897 C0.603,0.892,0.613,0.897,0.623,0.902 C0.628,0.904,0.634,0.907,0.64,0.909 C0.651,0.914,0.663,0.919,0.675,0.919 H0.678 C0.703,0.94,0.729,0.94,0.754,0.94 C0.771,0.94,0.788,0.94,0.805,0.957 C0.813,0.965,0.821,0.964,0.828,0.963 C0.831,0.962,0.834,0.962,0.836,0.962 H0.929 C0.938,0.962,0.947,0.957,0.954,0.946 C0.958,0.938,0.963,0.936,0.967,0.934 C0.969,0.932,0.971,0.931,0.974,0.93 C0.978,0.924,0.982,0.908,0.984,0.875 C0.987,0.848,0.989,0.816,0.989,0.783 C0.99,0.74,0.991,0.696,0.993,0.658 C0.993,0.654,0.993,0.649,0.993,0.644 C0.993,0.636,0.994,0.627,0.993,0.621 C0.993,0.563,0.994,0.508,0.995,0.452 C0.996,0.402,0.997,0.352,0.997,0.301 C0.997,0.268,0.997,0.241,0.997,0.208 C0.999,0.162,0.999,0.113,1,0.063 C1,0.043,1,0.023,1,0.002 C1,0.002,1,0.001,1,0 H0.002 M0.278,0.702 C0.279,0.707,0.28,0.707,0.281,0.707 C0.281,0.707,0.281,0.702,0.281,0.702 C0.28,0.696,0.279,0.696,0.279,0.696 C0.279,0.696,0.278,0.696,0.278,0.702 M0.452,0.534 H0.454 C0.455,0.528,0.455,0.523,0.454,0.512 H0.452 C0.452,0.518,0.452,0.528,0.452,0.534 M0.189,0.621 L0.188,0.615 V0.626 L0.189,0.621"></path>
</clipPath>
</svg>
</script>
</section>
</div>
<script>
window.SliderCart = {};
window.SliderCart.settings = {"show_cart_item_style":true,"label_cart_item_style":"Style","enable_continue_shopping":true,"text_continue_shopping":"Continue shopping","style_button":"button button--link"};
window.SliderCart.blocks = [
{
"type": "offer",
"today": "2026-08-23","settings": {"position":"cart-header","display_type":"takeover","product_selection":"radio","dismiss_on_atc":false,"automatic":false,"inclusion_liquid":"true","exclusion_liquid":"false","title":"Free shipping","data_source":"shopify","product":"","collection":"","threshold_cents":9900,"threshold_quantity":0,"tag_requirement":"Free Ship","discount":0,"combineable":true,"start_date":"","end_date":"","approach":"You are {{ balance }} away from free shipping.","success":"Congrats, you've got free shipping","prompt":""}
}
];
</script>
</div>
<div id="shopify-section-geolocation" class="shopify-section">
<script>
const geolocation = {
services:{
geoip:'https://get.geojs.io/v1/ip/country.json',
flag:'https://flagcdn.com/216x162',
},
location:{ /* tbd */ },
sites: [{"name":"Quiksilver US","current":true,"code":"US","countries":"US","url":null,"redirect":false,"welcome":false},{"name":"Canada","current":false,"code":"IND","countries":"","url":null,"redirect":false,"welcome":false},{"name":"","current":false,"code":"AU","countries":"","url":null,"redirect":false,"welcome":false},{"name":"","current":false,"code":"","countries":"","url":null,"redirect":false,"welcome":false},{"name":"","current":false,"code":"","countries":"","url":null,"redirect":false,"welcome":false},{"name":"","current":false,"code":"","countries":"","url":null,"redirect":false,"welcome":false},{"name":"Quiksilver CA","current":false,"code":"CA","countries":"CA","url":"https:\/\/ca.quiksilver.com","redirect":false,"welcome":false}],
available_countries: [
{
name:"Canada",
iso_code:"CA",
currency:{
name:"Canadian Dollar",
iso_code:"CAD",
symbol:"$"
}
},
{
name:"United States",
iso_code:"US",
currency:{
name:"United States Dollar",
iso_code:"USD",
symbol:"$"
}
}
],
country: {
name:"United States",
iso_code:"US",
currency:{
name:"United States Dollar",
iso_code:"USD",
symbol:"$"
}
},
available_languages: [
{
name:"English",
iso_code:"en",
endonym_name:"English"
}
],
language: {"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}},
settings: {
storage: 'local',
show_mobile: true,
show_desktop: true
}
}
window.geolocation = geolocation;
</script>
<script src="//www.quiksilver.com/cdn/shop/t/236/assets/geolocation.js?v=2953018963623665661786644647" defer="defer"></script>
<style>
.cart-item__wishlist{display:none!important;}
</style>
<aside
data-modal="geolocation"
class="fixed bg-white z-50 modal modal-center left-1/2 top-1/2 max-w-screen-lg transition-all ease-in-out duration-500"
tabindex="0"
neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}"
>
<section class="geolocation">
<form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><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="/collections/mens-clothing-boardshorts-elastic-waist" />
<header class="geolocation__header">
<p></p>
</header>
<main>
<article class="geolocation__site-list">
<ul>
<li>
<div class="geolocation__site-list-item" onclick="window.location=''">
<img src="https://flagcdn.com/216x162/us.png" class="geolocation__site-list-flag">
<span class="geolocation__site-list-name">
Quiksilver US
</span>
</div>
</li>
<li>
<div class="geolocation__site-list-item" onclick="window.location=''">
<img src="https://flagcdn.com/216x162/ind.png" class="geolocation__site-list-flag">
<span class="geolocation__site-list-name">
Canada
</span>
</div>
</li>
<li>
<div class="geolocation__site-list-item" onclick="window.location=''">
<img src="https://flagcdn.com/216x162/au.png" class="geolocation__site-list-flag">
<span class="geolocation__site-list-name">
</span>
</div>
</li>
<li>
<div class="geolocation__site-list-item" onclick="window.location=''">
<img src="https://flagcdn.com/216x162/.png" class="geolocation__site-list-flag">
<span class="geolocation__site-list-name">
</span>
</div>
</li>
<li>
<div class="geolocation__site-list-item" onclick="window.location=''">
<img src="https://flagcdn.com/216x162/.png" class="geolocation__site-list-flag">
<span class="geolocation__site-list-name">
</span>
</div>
</li>
<li>
<div class="geolocation__site-list-item" onclick="window.location=''">
<img src="https://flagcdn.com/216x162/.png" class="geolocation__site-list-flag">
<span class="geolocation__site-list-name">
</span>
</div>
</li>
<li>
<div class="geolocation__site-list-item" onclick="window.location='https://ca.quiksilver.com'">
<img src="https://flagcdn.com/216x162/ca.png" class="geolocation__site-list-flag">
<span class="geolocation__site-list-name">
Quiksilver CA
</span>
</div>
</li>
</ul>
</article>
<article class="geolocation__settings">
<div class="field">
<select name="country_code" id="country_code" class="field__select">
<option value="CA" >
Canada (CAD $)
</option>
<option value="US" selected>
United States (USD $)
</option>
</select>
</div>
</article>
</main>
<footer class="geolocation__footer">
<button type="submit" class="button button--secondary">
Change Settings
</button>
</footer>
</form>
</section>
</aside>
</div>
<div id="shopify-section-product-badges" class="shopify-section">
<script>
window.productBadges = [];
productBadges.push({"title":"Athlete Pick PDP","tag":"category: Mens\/Collections\/Athlete Picks","start":"","end":"","item":"","product_image_badge":"","badge_direction":"top-left","product":"\u003ca href=\"https:\/\/www.quiksilver.com\/pages\/athlete-picks\"\u003e⚡SEE ALL ATHLETE PICKS \u003cu\u003eHERE\u003c\/u\u003e\u003c\/a\u003e","sibling":"","sibling_icon":"","cart":"","checkout":null,"email":"","color":"#455da6","bg_color":"rgba(0,0,0,0)"});productBadges.push({"title":"Final Sale","tag":"Final Sale","start":"","end":"","item":"Final Sale","product_image_badge":"","badge_direction":"top-left","product":"Final Sale - No Returns Allowed","sibling":"","sibling_icon":"","cart":"Final Sale - No Returns Allowed","checkout":"Final Sale - No Returns Allowed","email":"","color":"#ac1a2f","bg_color":"rgba(0,0,0,0)"});productBadges.push({"title":"Sale","tag":"category: Sale","start":"","end":"","item":"","product_image_badge":"","badge_direction":"top-left","product":"All Sale Styles Up To 50% Off ⚡","sibling":"","sibling_icon":"","cart":"Extra 10% Off Applied ⚡","checkout":null,"email":"","color":"#ac1a2f","bg_color":"rgba(0,0,0,0)"});
function parseBadgeLine(line) {
const parts = line.split('>>>').map(part => part.trim());
return {
tag: parts[0],
icon: parts[1],
width: parts[2] || null
};
}
productBadges = productBadges.map(b => {b.type='text'; return b;})
.concat(
["MemberExclusive \u003e\u003e\u003e QUIK_PLP_BADGE_EXCLUSIVE.png\u003e\u003e\u003e90px","\ncategory: Sale\/Mens\/New to Sale\u003e\u003e\u003enew-to-sale-badge.png\u003e\u003e\u003e50px","\ncategory: Sale\u003e\u003e\u003eQUIK_RX_PLP_BADGE-SALE.png\u003e\u003e\u003e90px","\ncategory: Mens\/Collections\/Athlete Picks\u003e\u003e\u003eathlete-pick-badge.png\u003e\u003e\u003e50px","\ncategory: Mens\/Collections\/Best Sellers \u003e\u003e\u003eQUIK_RX_PLP_BADGE-BEST_SELLER.png\u003e\u003e\u003e90px","\ncategory: Mens\/Collections\/New Arrivals \u003e\u003e\u003eQUIK_RX_PLP_BADGE-NEW.png\u003e\u003e\u003e90px"].map(l => {
const badge = parseBadgeLine(l);
return { type: 'icon', tag: badge.tag, icon: badge.icon, width: badge.width };
})
);
productBadges = productBadges.concat(
[].map(l => {
const badge = parseBadgeLine(l);
return { type: 'graphic', tag: badge.tag, icon: badge.icon, width: badge.width };
})
);
productBadges = productBadges.concat(
[].map(l => {
const badge = parseBadgeLine(l);
return { type: 'option', tag: badge.tag, label: badge.icon, width: badge.width };
})
);
//console.log('productBadges', productBadges);
sessionStorage.setItem('productBadges', JSON.stringify(productBadges));
</script>
</div>
<div id="shopify-section-countdown-timer" class="shopify-section"><script countdown-config type="application/json">{"complete_message":""}</script>
</div>
<div data-modal="quick-add" class="modal modal-bottom fixed bottom-0 bg-white z-50 w-screen duration-300 pb-16 user-select-none" tabindex="0" neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}">
<div quick-add-container class="max-h-40v overflow-y-scroll no-scrollbar">
<div quick-add neptune-liquid={topic:QuickAdd} class="quick-add invisible active:visible transition-opacity">
<script type="liquid/template">
<div class="quick-add__product-info">
<div>
<h3 class="quick-add__title m-0 p-0 leading-none">{{ product.title | split: ' - ' | first }}</h3>
<h4 class="quick-add__subtitle m-0 p-0 leading-none">{{ product.title | split: ' - ' | last }}</h4>
<div class="quick-add__product-price">
<span>{{ product.price | money }}</span>
{% if product.compare_at_price > product.price %}
<span class="quick-add__meta-compare-price type-price-compare">{{ product.compare_at_price | money }}</span>
{% endif %}
</div>
</div>
<button class="button button--icon" onclick="modal.close()">
<svg
class="icon icon-x"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-x"/>
</svg>
<span class="sr-only">x</span>
</button>
</div>
<div class="quick-add__siblings">
<div class="product-card__sibling-wrapper relative">
<ul class="product-card__sibling-types sibling-types">
{% if product.siblings.size > 0 %}
{% assign types = product.siblings | map: 'product_type' | uniq %}
{% for type in types %}
{% if type == blank %}{% continue %}{% endif %}
<li class="sibling-type sibling-type--{{ type | split : ' - ' | last | handle }} {% if type == product.type %}active{% endif %}">
<span>{{ type | split : ' - ' | last }}</span>
<svg><use xlink:href="#icon-def-{{ type | split : ' - ' | last | handle }}"/></svg>
</li>
{% endfor %}
{% unless types contains product.type %}
{% assign productType = product.type | handlize %}
<li class="sibling-type sibling-type--{{ productType | split : ' - ' | last }} active">
<span>{{ productType | split : ' - ' | last }}</span>
<svg><use xlink:href="#icon-def-{{ productType | split : ' - ' | last }}"/></svg>
</li>
{% endunless %}
{% endif %}
</ul>
</div>
{% if product.siblings.size > 0 %}
<div class="product-card__swatches product-card__swatches--swatch flex flex-wrap group">
{%- assign swatch_styles = 'h-full w-full object-contain' -%}
{% assign featured_swatch_src = product.variants[0].option1 | handlize %}
<div onclick="this.classList.add('active'); _n.siblings(this).forEach(s=>s.classList.remove('active')); QuickAdd.launch('{{product.handle}}', {permanent:true}); return false;" class="product-card__swatch product-card__swatch-featured product-card__swatch--swatch h-8 w-8 active" data-tooltip="{{ product.title | split : ' - ' | last }}" data-images="{{ product.featured_image}},{{ product.featured_image}}" data-title="{{ product.title | split: ' - ' | last }}" data-handle="{{ product.handle }}">
<img class="{{ swatch_styles }}" {{'s'}}rc="https://cdn.shopify.com/s/files/1/0080/6777/6627/t/327/assets/{{ featured_swatch_src | append: '.jpg?crop=center&height=64&width=64' }}" alt="{{ product.title }}" loading="lazy" onerror="if(this.errored){return false;} this.errored = true; this.src='{{ product.featured_image | remove: '_600x600' | append: '&crop=region&crop_height=64&crop_left=968&crop_top=1218&crop_width=64' }}'">
</div>
{% assign siblings = product.siblings %}
{% for sibling in siblings %}
{% if sibling.variants[0].option1 %}
{% assign swatch_src = sibling.variants[0].option1 | handle %}
{% endif %}
<div onclick="this.classList.add('active'); _n.siblings(this).forEach(s=>s.classList.remove('active')); QuickAdd.launch('{{sibling.handle}}', {permanent:true}); return false;" class="product-card__swatch product-card__swatch-sibling product-card__swatch--swatch h-8 w-8" data-tooltip="{{ sibling.title | split : ' - ' | last }}" data-images="{{ sibling.featured_image}},{{ sibling.featured_image}}" data-title="{{ sibling.title | split: ' - ' | last }}" data-handle="{{ sibling.handle }}">
<img class="{{ swatch_styles }}" {{'s'}}rc="https://cdn.shopify.com/s/files/1/0080/6777/6627/t/327/assets/{{ swatch_src | append: '.jpg?crop=center&height=64&width=64' }}" alt="{{ sibling.title }}" loading="lazy" onerror="if(this.errored){return false;} this.errored = true; this.src='{{ sibling.featured_image | append: '&crop=region&crop_height=64&crop_left=968&crop_top=1218&crop_width=64' }}'">
</div>
{% endfor %}
</div>
{% endif %}
</div>
<div class="quick-add__product-images no-scrollbar flex overflow-x-scroll overscroll-contain smooth-scroll">
{% for image in product.images %}
<img src="{{ image }}">
{% endfor %}
</div>
<div class="variant-selector quick-add__variant-selector">
{% for option in product.options %}
{% assign oi = forloop.index0 %}
{% if option.values.size < 2 and oi == 0 %}{% continue %}{% endif %}
<fieldset class="variant-selector__option">
<div class="variant-selector__option-label">
{% unless option.selected_value %}
select
{% endunless %}
<span>{{ option.name }}</span>
{% if option.selected_value %}
<span>:</span>
<span>{{ option.selected_value }}</span>
{% endif %}
</div>
<div class="variant-selector__values">
{% for value in option.values %}
{% assign checked = '' %}
{% if value.selected and option.values.size > 1 %}{% assign checked = 'checked' %}{% endif %}
{% assign disabled = '' %}
{% if value.availability.progressive.available == false %}{% assign disabled = 'disabled' %}{% endif %}
<div class="variant-selector__value {% if value.availability.progressive.available == false %}variant-selector__value--disabled{% endif %}" onclick="event.stopPropagation();">
<input type="radio" name="quickadd-{{ option.name | handle }}" id="quickadd_{{ option.name | handle }}_{{ value.value }}" onchange="QuickAdd.filter({{oi}},'{{value.value}}', true);" {{checked}} {{disabled}} class="hidden">
<label for="quickadd_{{ option.name | handle }}_{{ value.value }}">{{ value.value }}</label>
</div>
{% endfor %}
</div>
</fieldset>
{% endfor %}
</div>
</script>
</div>
</div>
</div>
<div id="shopify-section-promotional-columns" class="shopify-section"><style data-shopify>
.promo-banner-promotional-columns {
background-color: ;
color: ;
padding: 60px 20px;
font-family: var(--font-body-family), sans-serif;
}
.promo-banner__container {
display: flex;
flex-direction: column;
gap: 40px;
max-width: 1000px;
margin: 0 auto;
justify-content: center;
}
.promo-banner__column {
flex: 1;
max-width: 350px;
}
@media (max-width: 767px) {
.promo-banner__column:last-child {
padding-top: 40px;
border-top: 1px solid ;
}
}
.promo-banner__heading {
font-size: 1.25rem;
font-weight: 700;
margin-top: 0;
margin-bottom: 12px;
color: ;
letter-spacing: 0.5px;
}
.promo-banner__text {
font-size: 0.9rem;
line-height: 1.5;
margin-bottom: 15px;
color: ;
}
.promo-banner__link {
color: ;
text-decoration: underline;
font-size: 0.9rem;
font-weight: 600;
text-underline-offset: 4px;
transition: opacity 0.2s ease;
}
.promo-banner__link:hover {
opacity: 0.8;
}
.promo-banner__qr-text {
font-size: 0.85rem;
margin-bottom: 12px;
color: ;
}
.promo-banner__qr-image {
max-width: 80px;
height: auto;
display: block;
padding: 4px;
}
/* Responsive Visibility Classes */
.hide-on-mobile-promotional-columns {
display: none;
}
.hide-on-desktop-promotional-columns {
display: block;
}
@media (min-width: 768px) {
.promo-banner__container {
flex-direction: row;
gap: 100px;
justify-content: center;
}
.hide-on-mobile-promotional-columns {
display: block;
}
.hide-on-desktop-promotional-columns {
display: none;
}
}
</style>
</div>
<div id="shopify-section-footer" class="shopify-section"><footer class="footer-section" data-section-id="footer" data-section-type="footer-section">
<style data-shopify>
:root {
--footer-bg-color: #181818;
--footer-color: #ffffff;
--footer-credits-bg-color: #181818;
--footer-credits--color: #ffffff;
}
.footer-section, .footer {
background-color: var(--footer-bg-color);
color: var(--footer-color);
}
.footer-section a, .footer-section p, .footer-section .font-subheading {
color: var(--footer-color);
}
.footer__credits {
background-color: var(--footer-credits-bg-color);
color: var(--footer-credits--color);
}
.footer__credits a, .footer__credits p, .footer__credits .font-subheading {
color: var(--footer-credits--color);
}
</style>
<div id="footer-wrapper" class="mx-auto">
<div id="footer" class="footer row flex lg:flex-row flex-col flex-wrap ">
<div class="w-full flex lg:flex-row flex-col lg:text-left text-left justify-center">
<section class="footer-company w-full lg:w-2/5 m-0 flex flex-col lg:order-none order-none ">
<div class="footer-company--newsletter flex flex-col w-full">
<p class="text-sm"><a href="https://www.quiksilver.com/pages/freedom-benefits">Sign up to get all the latest news and exclusive offers.</a></p>
<div class="klaviyo-form-Wfa2iH"></div>
</div>
</section>
<div class="footer-menu flex flex-col lg:w-1/5 lg:order-none order-none ">
<ul class="footer-menu__list list-none" >
<li class="menu-list__item flex-auto flex-basis-0">
<div class="group w-full footer-menu" n:open=" '_remove' | lg: 'true' ">
<div
neptune-engage="{on:click, targets: {selector:_parent, classes:toggle:active}}"
class="menu-list__item--title flex lg:cursor-default cursor-pointer items-center justify-between w-full accordion-title"
>
<span class="block font-subheading type-nav-item">Support</span>
<span class="w-md text-right text-currentColor icon-plus lg:hidden opacity-0 group-active:opacity-100">
<svg
class="icon icon-minus"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-minus"/>
</svg>
<span class="sr-only">minus</span>
</span>
<span class="text-right text-currentColor icon-minus lg:hidden opacity-100 group-active:opacity-0 group-active:hidden">
<svg
class="icon icon-plus"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-plus"/>
</svg>
<span class="sr-only">plus</span>
</span>
</div>
<ul class="list-none m-0 p-0 max-h-0 lg:max-h-full group-active:max-h-full overflow-hidden"><li class="menu-list__child flex-auto flex-basis-0 p-0">
<a class="menu-list__child--link type-nav-list-item" href="/pages/shipping" >
Shipping
</a>
</li><li class="menu-list__child flex-auto flex-basis-0 p-0">
<a class="menu-list__child--link type-nav-list-item" href="https://returns.quiksilver.com/#/" >
Returns
</a>
</li><li class="menu-list__child flex-auto flex-basis-0 p-0">
<a class="menu-list__child--link type-nav-list-item" href="/pages/contact" >
Contact Us
</a>
</li><li class="menu-list__child flex-auto flex-basis-0 p-0">
<a class="menu-list__child--link type-nav-list-item" href="/pages/return-policy" >
Return Policy
</a>
</li></ul>
</div>
</li>
</ul>
</div>
<div class="footer-menu flex flex-col lg:w-1/5 lg:order-none order-none ">
<ul class="footer-menu__list list-none" >
<li class="menu-list__item flex-auto flex-basis-0">
<div class="group w-full footer-menu" n:open=" '_remove' | lg: 'true' ">
<div
neptune-engage="{on:click, targets: {selector:_parent, classes:toggle:active}}"
class="menu-list__item--title flex lg:cursor-default cursor-pointer items-center justify-between w-full accordion-title"
>
<span class="block font-subheading type-nav-item">Teams & History</span>
<span class="w-md text-right text-currentColor icon-plus lg:hidden opacity-0 group-active:opacity-100">
<svg
class="icon icon-minus"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-minus"/>
</svg>
<span class="sr-only">minus</span>
</span>
<span class="text-right text-currentColor icon-minus lg:hidden opacity-100 group-active:opacity-0 group-active:hidden">
<svg
class="icon icon-plus"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-plus"/>
</svg>
<span class="sr-only">plus</span>
</span>
</div>
<ul class="list-none m-0 p-0 max-h-0 lg:max-h-full group-active:max-h-full overflow-hidden"><li class="menu-list__child flex-auto flex-basis-0 p-0">
<a class="menu-list__child--link type-nav-list-item" href="/blogs/quik-surf-team" >
Surf Team
</a>
</li><li class="menu-list__child flex-auto flex-basis-0 p-0">
<a class="menu-list__child--link type-nav-list-item" href="/blogs/quik-snow-team" >
Snow Team
</a>
</li><li class="menu-list__child flex-auto flex-basis-0 p-0">
<a class="menu-list__child--link type-nav-list-item" href="/blogs/quik-team" >
All Athletes
</a>
</li><li class="menu-list__child flex-auto flex-basis-0 p-0">
<a class="menu-list__child--link type-nav-list-item" href="/pages/quiksilver-history" >
Quiksilver History
</a>
</li></ul>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="footer__credits">
<div class="flex content-between w-full max-lg:flex-col">
<div id="socialFooter" class="flex">
<ul id="social-icons" class="list-none flex flex-row items-center m-0 p-0">
<li>
<a href="https://www.instagram.com/quiksilver/" class="link block" style="text-decoration: none;" target="_blank">
<svg
class="icon icon-instagram"
style=""
width="24"
height="24"
fill="currentColor"
stroke="currentColor"
stroke-width="0"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-instagram"/>
</svg>
<span class="sr-only">Instagram</span>
</a>
</li>
<li>
<a href="https://www.facebook.com/quiksilver/" class="link block" style="text-decoration: none;" target="_blank">
<svg
class="icon icon-facebook"
style=""
width="24"
height="24"
fill="currentColor"
stroke="currentColor"
stroke-width="0"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-facebook"/>
</svg>
<span class="sr-only">Facebook</span>
</a>
</li>
</ul>
</div>
</div>
<div id="bottom-footer" class="footer-copy sub-footer lg:flex-row flex-col flex-wrap items-center lg:items-start text-left justify-center lg:justify-start">
<div class="footer-copy__wrapper flex lg:flex-row flex-col lg:justify-between">
<p>
<a class="inline-block white p-0" href="/">© 2026 Quiksilver</a>. All Rights Reserved.
</p>
<ul class="list-none m-0 p-0 flex lg:flex-row flex-col items-start lg:justify-end">
<li>
<a class="block" href="/pages/privacy-policy">Privacy Policy</a>
</li>
<li>
<a class="block" href="/pages/terms-of-use">Terms of Use</a>
</li>
<li>
<a class="block" href="/pages/accessibility-statement">Accessibility Statement</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<style data-shopify>
.icon-wrap .icon {
max-width: 100%;
height: auto;
}
@media (max-width: 1023px) {
.footer-menu.active .list-none {
max-height: 100%;
padding-bottom: 30px;
}
}
</style>
</footer>
</div>
<ul hidden>
<li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li>
</ul>
<div class="modal-overlay bg-black bg-opacity-80 fixed inset-0 pointer-none pointer z-40 transition-opacity ease-in-out duration-300"
neptune-engage="{
on:click,
targets:[
{
selector:body
attributes:[{
att:data-active-modal
set:_remove
}]
},
{
selector:html
attributes:[{
att:data-active-modal
set:_remove
}]
},
{
selector:.main-content,
classes:remove:z-overide
},
{
selector:.site-header,
classes:add:z-5
},
{
selector:.header__nav,
classes:remove:active
},
{
selector:.modal,
classes:remove:active
},
{
selector:html,
attributes:[{
att:data-active-modal-mobile,
set:_remove
}]
},
{
selector:'[data-return-focus]'
attributes:[{
att:data-return-focus
set:_remove
}]
focus:true
},
{selector:.search-results,classes:add:hidden}
]
}"
onclick="_n.qs('[collapse-banner]').innerHTML = ''; modal.close();"
></div>
<aside data-modal="login" class="fixed bg-white z-50 modal modal-account inset-0 w-screen max-w-md p-8 mx-auto h-min flex justify-center items-center overflow-hidden top-1/2 transform -translate-y-1/2 transition-opacity ease-in-out duration-300 focus:outline-none focus:shadow-none" >
<div id="modal-login" class="account-form__wrapper">
<button class="absolute top-4 right-4" onclick="modal.close()">
<svg
class="icon icon-close"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-close"/>
</svg>
<span class="sr-only">close</span>
</button>
<form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" class="account-form"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="✓" />
<input type="hidden" name="return_to" value="/collections/mens-clothing-boardshorts-elastic-waist">
<h2 class="account-form__title type--secondary">Login</h2>
<div class="relative field">
<label for="CustomerEmail" class="form--label">
Email
</label>
<input type="email"
name="customer[email]"
id="CustomerlEmail"
placeholder="Email address"
class=" form--input w-full"
spellcheck="false"
autocomplete="off"
autocapitalize="off"
autofocus>
</div>
<div class="relative field">
<label for="CustomerPassword" class="form--label">
Password
</label>
<input type="password"
placeholder="Password"
name="customer[password]"
id="CustomerPassword"
class=" form--input w-full">
</div>
<input type="submit" class="button button--primary w-full" value="Sign In">
</form>
<div class="flex items-center gap-4 mt-8 flex-wrap">
<a class="button button--link cursor-pointer" onclick="event.preventDefault(); modal.open('register');">
Create account
</a>
<a href="/account/login#recover" class="button button--link cursor-pointer">
Forgot your password?
</a>
</div>
</div>
</aside>
<aside data-modal="register" class="fixed bg-white z-50 modal modal-account inset-0 w-screen h-[100svh] max-w-md p-8 mx-auto lg:h-min flex justify-center items-center overflow-hidden top-1/2 transform -translate-y-1/2 transition-opacity ease-in-out duration-300 focus:outline-none focus:shadow-none" >
<div id="modal-register" class="account-form__wrapper" data-login-form>
<button class="absolute top-4 right-4" onclick="modal.close()">
<svg
class="icon icon-close"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-close"/>
</svg>
<span class="sr-only">close</span>
</button>
<form method="post" action="/account" id="create_customer" accept-charset="UTF-8" data-login-with-shop-sign-up="true" class="account-form"><input type="hidden" name="form_type" value="create_customer" /><input type="hidden" name="utf8" value="✓" />
<input type="hidden" name="return_to" value="/collections/mens-clothing-boardshorts-elastic-waist">
<h2 class="account-form__title type--secondary">Create Account</h2>
<p class="type-subline type-subline--sm"></p>
<div class="field relative">
<label for="FirstName" class="form--label">
First Name *
</label>
<input type="text"
name="customer[first_name]"
class="w-full form--input"
id="FirstName"
placeholder="First Name"
autofocus
required
>
</div>
<div class="field relative">
<label for="LastName" class="form--label">
Last Name *
</label>
<input type="text"
name="customer[last_name]"
class="w-full form--input"
id="LastName"
placeholder="Last Name"
required
>
</div>
<div class="field relative">
<label for="Email" class="form--label">
Email *
</label>
<input type="email"
name="customer[email]"
id="Email"
class="w-full form--input "
placeholder="Email"
value=""
spellcheck="false"
autocomplete="off"
autocapitalize="off"
required>
</div>
<div class="field relative">
<label for="CreatePassword" class="form--label">
Password *
</label>
<input type="password"
name="customer[password]"
id="CreatePassword"
class="w-full form--input "
placeholder="Password"
required>
</div>
<div class="field relative">
<label for="create_an_account_sign_up_agreement">
<input type="checkbox" id="create_an_account_sign_up_agreement" name="customer[accepts_marketing]">
<span class="">
<svg
class="icon icon-plus"
style=""
width="16"
height="16"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-plus"/>
</svg>
<span class="sr-only">plus</span>
</span>
<span class="capitalize">
Sign up for our newsletter
</span>
</label>
</div>
<input type="submit" value="Create" class="button button--primary w-full">
</form>
<a class="button button--link mt-4 cursor-pointer" onclick="event.preventDefault(); modal.open('login');">Back To Login</a>
</div>
</aside>
<aside data-modal="quickshop" class="quickshop fixed z-50 w-11/12 max-w-screen-xl max-h-[100svh] overflow-y-scroll bg-white modal modal-center left-1/2 top-1/2 focus:outline-none focus:shadow-none" tabindex="0" neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}">
<article quickshop class="quickshop__wrapper relative product-essentials-wrapper"></article>
<button close class="quickshop__close btn-control" onclick="modal.close()">
<svg
class="icon icon-close"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-close"/>
</svg>
<span class="sr-only">close</span>
</button></aside>
<script>
window.modalShortMethods = window.modalShortMethods || []
window.modalShortMethods.push({
"name": "quickshop",
"before": function(data) {
_n.qs("[quickshop]").innerHTML = "";
Neptune.periscope.load(
_n.qs("[quickshop]"),
"/products/" + data + "?sections=product-essentials"
)
}
})
document.addEventListener("periscope:loaded", function() {
Neptune.swiper.init()
});
</script>
<style>
.product-item__quickshop {
display: block!important;
}
</style>
<aside data-modal="collection" class="quick-collection fixed z-50 w-11/12 max-w-screen-xl max-h-screen overflow-y-scroll bg-white modal modal-center left-1/2 top-1/2 focus:outline-none focus:shadow-none" tabindex="0" neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:body,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}">
<article quick-collection class="quick-collection__wrapper"></article>
<button close class="quick-collection__close absolute z-10 p-5 text-white transition-all transform bg-gray-800 bg-opacity-50 top-3 right-3 hover:bg-white hover:text-black user-select-none" onclick="modal.close()">
<svg
class="icon icon-close"
style=""
width="24"
height="24"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-close"/>
</svg>
<span class="sr-only">close</span>
</button></aside>
<script>
window.modalShortMethods = window.modalShortMethods || []
window.modalShortMethods.push({
"name": "collection",
"before": function(data) {
let url = "/collections/" + data + "?view=quickshop"
if (data.includes('+') && !data.includes('/')) url = "collections/all/" + data + "?view=quickshop&products_by_handle=true"
_n.qs("[quick-collection]").innerHTML = "";
Neptune.periscope.view(
_n.qs("[quick-collection]"),
url
)
_n.qs('body').setAttribute('quick-collection-active', true)
}
})
</script>
<svg class="hidden icon-library" xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="icon-def-custom-cart" viewBox="0 0 19.21 26.2">
<path d="M0.531548 24.5L1.66041 6.06201H16.9842L18.1131 24.5H0.531548Z" stroke="currentColor"/>
<path d="M4.76025 10.3223V5.95869H4.76449C4.76167 5.89293 4.76025 5.8268 4.76025 5.76035C4.76025 3.24083 6.80272 1.19836 9.32224 1.19836C11.8418 1.19836 13.8842 3.24083 13.8842 5.76035C13.8842 5.8268 13.8828 5.89293 13.88 5.95869H13.8842V10.3223" stroke="currentColor"/>
</symbol>
<symbol id="icon-def-account" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" >
<path d="M20.8001 24C19.8736 19.4355 15.8381 16 11.0002 16C6.16224 16 2.12674 19.4355 1.2002 24" stroke="currentColor"/>
<path d="M17.1819 7.1C17.1819 10.4689 14.4509 13.2 11.0819 13.2C7.713 13.2 4.98193 10.4689 4.98193 7.1C4.98193 3.73106 7.713 1 11.0819 1C14.4509 1 17.1819 3.73106 17.1819 7.1Z" stroke="currentColor"/>
</symbol><symbol id="icon-def-account-circle" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" >
<path xmlns="http://www.w3.org/2000/svg" d="M4.3163 18.4384C4.92462 17.0052 6.34492 16 8 16H14C15.6551 16 17.0754 17.0052 17.6837 18.4384M15 8.5C15 10.7091 13.2091 12.5 11 12.5C8.79086 12.5 7 10.7091 7 8.5C7 6.29086 8.79086 4.5 11 4.5C13.2091 4.5 15 6.29086 15 8.5ZM21 11C21 16.5228 16.5228 21 11 21C5.47715 21 1 16.5228 1 11C1 5.47715 5.47715 1 11 1C16.5228 1 21 5.47715 21 11Z"/>
</symbol>
<symbol id="icon-def-award" viewBox="0 0 24 24"><circle cx="12" cy="8" r="7"></circle><polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"></polyline></symbol>
<symbol id="icon-def-alert-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></symbol>
<symbol id="icon-def-alert-triangle" viewBox="0 0 24 24"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></symbol>
<symbol id="icon-def-arrow-down-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><polyline points="8 12 12 16 16 12"></polyline><line x1="12" y1="8" x2="12" y2="16"></line></symbol>
<symbol id="icon-def-bar-chart" viewBox="0 0 24 24"><line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line></symbol>
<symbol id="icon-def-bluetooth" viewBox="0 0 24 24"><polyline points="6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5"></polyline></symbol>
<symbol id="icon-def-check" viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"></polyline></symbol>
<symbol id="icon-def-close" viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></symbol>
<symbol id="icon-def-arrow-down-left" viewBox="0 0 24 24"><line x1="17" y1="7" x2="7" y2="17"></line><polyline points="17 17 7 17 7 7"></polyline></symbol>
<symbol id="icon-def-arrow-down-right" viewBox="0 0 24 24"><line x1="7" y1="7" x2="17" y2="17"></line><polyline points="17 7 17 17 7 17"></polyline></symbol>
<symbol id="icon-def-arrow-down" viewBox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"></line><polyline points="19 12 12 19 5 12"></polyline></symbol>
<symbol id="icon-def-arrow-left-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><polyline points="12 8 8 12 12 16"></polyline><line x1="16" y1="12" x2="8" y2="12"></line></symbol>
<symbol id="icon-def-arrow-left" viewBox="0 0 24 24"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></symbol>
<symbol id="icon-def-arrow-right-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></symbol>
<symbol id="icon-def-arrow-right" viewBox="0 0 24 24"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></symbol>
<symbol id="icon-def-arrow-up-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><polyline points="16 12 12 8 8 12"></polyline><line x1="12" y1="16" x2="12" y2="8"></line></symbol>
<symbol id="icon-def-arrow-up-left" viewBox="0 0 24 24"><line x1="17" y1="17" x2="7" y2="7"></line><polyline points="7 17 7 7 17 7"></polyline></symbol>
<symbol id="icon-def-arrow-up-right" viewBox="0 0 24 24"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></symbol>
<symbol id="icon-def-arrow-up" viewBox="0 0 24 24"><line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline></symbol>
<symbol id="icon-def-arrows-width" viewBox="0 0 24 24"><polyline points="15 3 21 3 21 9" style="transform:rotate(45deg);"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" y1="3" x2="14" y2="10"></line><line x1="3" y1="21" x2="10" y2="14"></line></symbol>
<symbol id="icon-def-check" viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"></polyline></symbol>
<symbol id="icon-def-chevron-down" viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"></polyline></symbol>
<symbol id="icon-def-chevron-left" viewBox="0 0 24 24"><polyline points="15 18 9 12 15 6"></polyline></symbol>
<symbol id="icon-def-chevron-right" viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"></polyline></symbol>
<symbol id="icon-def-chevron-up" viewBox="0 0 24 24"><polyline points="18 15 12 9 6 15"></polyline></symbol>
<symbol id="icon-def-dollar-sign" viewBox="0 0 24 24"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></symbol>
<symbol id="icon-def-email" viewBox="0 0 24 24"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></symbol>
<symbol id="icon-def-facebook" viewBox="0 0 30 30"><path d="M14.9708,0C6.7039,0,0,6.7039,0,14.9708s6.7039,14.9708,14.9708,14.9708c.088,0,.1754-.0018,.2632-.0034v-11.6541h-3.2164v-3.7484h3.2164v-2.7584c0-3.199,1.9529-4.9401,4.8065-4.9401,1.3665,0,2.5411,.1019,2.8835,.1473v3.3434h-1.9677c-1.5524,0-1.8531,.7379-1.8531,1.8204v2.3874h3.7121l-.4838,3.7484h-3.2283v11.0791c6.2576-1.7939,10.8384-7.5589,10.8384-14.3923C29.9415,6.7039,23.2376,0,14.9708,0Z"/></symbol>
<symbol id="icon-def-eye" viewBox="0 0 24 24"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></symbol>
<symbol id="icon-def-headphones" viewBox="0 0 24 24"><path d="M3 18v-6a9 9 0 0 1 18 0v6"></path><path d="M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"></path></symbol>
<symbol id="icon-def-heart" viewBox="0 0 24 24"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></symbol>
<symbol id="icon-def-heart-filled" viewBox="0 0 24 24"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></symbol>
<symbol id="icon-def-instagram" viewBox="0 0 30 30"><path d="M15,12.1289c-1.5857,0-2.8711,1.2854-2.8711,2.8711s1.2854,2.8711,2.8711,2.8711,2.8711-1.2854,2.8711-2.8711-1.2854-2.8711-2.8711-2.8711ZM15,0C6.717,0,0,6.717,0,15s6.717,15,15,15,15-6.717,15-15S23.283,0,15,0Zm8.5615,18.5511h-.0002c-.0417,.9169-.1874,1.5429-.4003,2.0908-.4474,1.157-1.3621,2.0717-2.519,2.5191-.5477,.2128-1.174,.3584-2.0906,.4003-.9185,.0419-1.2119,.0519-3.5511,.0519s-2.6326-.0101-3.5513-.0519c-.9167-.0419-1.5428-.1875-2.0906-.4003-.575-.2163-1.0954-.5553-1.5257-.9936-.4381-.4301-.777-.9507-.9933-1.5255-.2129-.5477-.3586-1.1739-.4003-2.0906-.0424-.9188-.0522-1.2122-.0522-3.5513s.0098-2.6326,.0519-3.5511c.0417-.9169,.1873-1.5429,.4001-2.0909,.2162-.5746,.5555-1.0954,.9938-1.5255,.4301-.4384,.9507-.7773,1.5255-.9936,.5479-.213,1.1739-.3585,2.0908-.4003,.9185-.0419,1.2119-.0519,3.5511-.0519s2.6326,.0101,3.5511,.0522c.9169,.0416,1.5429,.1872,2.0909,.3998,.5747,.2163,1.0954,.5555,1.5257,.9938,.4381,.4303,.7773,.9507,.9933,1.5255,.2131,.548,.3586,1.174,.4006,2.0909,.0419,.9185,.0517,1.2119,.0517,3.5511s-.0098,2.6326-.0519,3.5511Zm-1.8472-8.631h.0001c-.138-.3739-.3582-.7124-.6443-.9903-.278-.2861-.6161-.5063-.9904-.6443-.3035-.1179-.7595-.2582-1.5992-.2964-.9084-.0414-1.1808-.0504-3.4807-.0504s-2.5724,.0087-3.4806,.05c-.8398,.0385-1.296,.1788-1.5992,.2966-.3743,.138-.7128,.3582-.9904,.6443-.2861,.2779-.5063,.6161-.6445,.9904-.1179,.3035-.2582,.7597-.2964,1.5994-.0414,.9082-.0504,1.1806-.0504,3.4807s.0089,2.5721,.0504,3.4806c.0381,.8398,.1785,1.2957,.2964,1.5992,.1382,.3742,.3582,.7125,.6443,.9904,.2778,.2861,.6161,.5063,.9904,.6443,.3035,.1181,.7596,.2584,1.5994,.2966,.9082,.0414,1.1804,.0501,3.4803,.0501s2.5726-.0087,3.4807-.0501c.8397-.0383,1.2959-.1785,1.5994-.2966,.7512-.2898,1.3449-.8835,1.6346-1.6347,.1179-.3035,.2582-.7594,.2966-1.5992,.0414-.9084,.05-1.1808,.05-3.4806s-.0087-2.5724-.05-3.4807c-.0382-.8397-.1785-1.2959-.2966-1.5994Zm-6.7144,9.5028c-2.4429,0-4.4232-1.98-4.4232-4.4229s1.9803-4.4229,4.4232-4.4229,4.4229,1.98,4.4229,4.4229-1.9803,4.4229-4.4229,4.4229Zm4.5978-7.9871c-.5708,0-1.0336-.4628-1.0336-1.0336s.4628-1.0336,1.0336-1.0336,1.0336,.4628,1.0336,1.0336c-.0002,.5708-.4628,1.0336-1.0336,1.0336Z"/></symbol>
<symbol id="icon-def-logout" viewBox="0 0 24 24"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line></symbol>
<symbol id="icon-def-lock" viewBox="0 0 24 24"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></symbol>
<symbol id="plus-icon" viewBox="0 0 24 24">
<path d="M12 2C11.45 2 11 2.45 11 3V9H5C4.45 9 4 9.45 4 10C4 10.55 4.45 11 5 11H11V17C11 17.55 11.45 18 12 18C12.55 18 13 17.55 13 17V11H19C19.55 11 20 10.55 20 10C20 9.45 19.55 9 19 9H13V3C13 2.45 12.55 2 12 2Z"/>
</symbol>
<symbol id="icon-def-layout" viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></symbol>
<symbol id="icon-def-map-pin" viewBox="0 0 24 24"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></symbol>
<symbol id="icon-def-mail" viewBox="0 0 24 24"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></symbol>
<symbol id="icon-def-menu" viewBox="0 0 24 24"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></symbol>
<symbol id="icon-def-message-square" viewBox="0 0 24 24"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></symbol>
<symbol id="icon-def-move" viewBox="0 0 24 24"><polyline points="5 9 2 12 5 15"></polyline><polyline points="9 5 12 2 15 5"></polyline><polyline points="15 19 12 22 9 19"></polyline><polyline points="19 9 22 12 19 15"></polyline><line x1="2" y1="12" x2="22" y2="12"></line><line x1="12" y1="2" x2="12" y2="22"></line></symbol>
<symbol id="icon-def-minus" viewBox="0 0 24 24"><line x1="5" y1="12" x2="19" y2="12"></line></symbol>
<symbol id="icon-def-new" viewBox="0 0 49.65 27.77"><path d="m49.06,9.59c-.3-.99-1.03-1.8-2.26-2.44-.7-.29-1.15-.69-1.51-1.15-.27-.25-.54-.61-.9-.81-1.06-.69-2.29-1.27-3.44-1.91-.26-.15-.7-.29-1.05-.38-2.09-.54-4.18-1.19-6.43-1.51-1.47-.25-3.03-.44-4.51-.7-.69-.13-1.39-.25-2.17-.33C24.54.17,22.39,0,20.07.06c-.34.02-.6.03-.86-.01-1.82-.18-3.52.26-5.32.35-.52.02-1.11.1-1.63.18,0,.05-.08.06-.17.06-2.3.58-4.51,1.21-6.26,2.29-.25.17-.59.34-.92.52-1.09.53-2.01,1.2-2.66,1.97-1.06,1.21-1.78,2.51-1.97,3.89-.2,1.22-.23,2.44-.26,3.66.13.89.08,1.79.2,2.58.5,1.62,1.26,3.17,2.45,4.65,1.18,1.37,2.44,2.69,4.38,3.71,2.91,1.56,6.15,2.84,9.96,3.46,1.56.3,3.21.49,4.83.36,1.71-.13,3.43-.31,5.14-.5,1.11-.1,2.31-.26,3.42-.47,1.02-.2,2.05-.41,2.98-.66,1.78-.5,3.57-1.01,5.17-1.71,1.69-.71,3.29-1.52,4.8-2.33,1.43-.8,2.67-1.76,3.75-2.76.33-.33.74-.72.98-1.1,1.05-1.58,1.48-3.34,1.58-5.09.03-1.22-.19-2.37-.59-3.51ZM3.31,17.67c-.09-.1-.18-.2-.27-.3-.94-1.75-1.28-3.59-1.11-5.45.05-.69.11-1.33.17-2.02-.03-.69.11-1.43.68-2.09-.07.37-.05.74-.21,1.12-.42,2.08-.25,4.08.1,6.07.12.73.5,1.46.7,2.19,0,.16.19.31-.06.48ZM42.23,5.03c-.09-.05-.17-.05-.17-.05-.09-.05-.09-.15-.18-.2.18.1.35.09.36.25ZM19.68.97c.69.02,1.38,0,2.07.01,2.67.09,5.26.29,7.86.65,1.39.2,2.77.4,4.08.71,2,.44,3.91.93,5.83,1.43.39.12.7.26.96.47-1.25-.11-2.37-.47-3.55-.67-1.13-.16-2.17-.43-3.3-.64-.78-.12-1.56-.3-2.34-.37-.78-.07-1.47-.25-2.17-.38-.17-.05-.35-.09-.52-.14-1.99-.23-3.9-.62-5.97-.73-1.12-.11-2.34-.32-3.54-.26.17,0,.43-.07.6-.08ZM5.15,5.17c-.17.11-.25.17-.42.28.17-.11.25-.22.42-.28Zm42.88,10.28c-.31.86-.79,1.62-1.35,2.44-.32.44-.91.83-1.58,1.18-.58.4-1.08.79-1.67,1.19-.83.62-1.67,1.19-2.77,1.6-.51.23-1.09.53-1.6.81-.67.4-1.43.7-2.28.9-.6.13-1.27.37-1.87.56-1.78.5-3.65,1.06-5.71,1.26-2.14.2-4.2.45-6.33.71-1.8.19-3.53.05-5.26-.19-2.25-.32-4.26-.97-6.27-1.67-.53-.24-1.05-.48-1.58-.77-.27-.2-.53-.4-.72-.6-.37-.62-1-1.17-1.54-1.73-.63-.61-1.09-1.27-1.38-1.95-.67-1.56-1.17-3.12-1.59-4.69-.21-.73-.15-1.53-.27-2.26-.05-1.05-.1-2.16.2-3.29.15-.43.39-.81.55-1.24.24-.43.57-.82.98-1.15,1.58-1.29,3.51-2.38,5.88-3.07,1.7-.45,3.49-.84,5.38-.93,3.43-.21,6.88-.1,10.17.44,1.65.3,3.29.49,4.94.78.69.07,1.39.25,2.08.43.35.09.7.23,1.13.27,2.17.33,4,.98,6.01,1.53.96.27,1.92.6,2.71,1.04.53.29.97.59,1.42.89.26.15.53.4.8.55.62.34.98.7,1.17,1.16.1.31.29.67.39.99.33,1.62.49,3.2-.04,4.81Zm-28.53,2.25c-.22-.12-.49-.18-.81-.18h-.27v-.04c.03-.07.04-.15.04-.23,0-.05,0-.09,0-.12,0-.04-.01-.15-.02-.35-.05-.51-.07-.92-.07-1.26,0-.14.01-.27.02-.41.02-.14.02-.29.02-.44,0-.21-.02-.42-.05-.62-.03-.21-.05-.43-.05-.65,0-.19,0-.45,0-.77-.03-.49-.04-.98-.05-1.47,0-.11-.01-.21-.02-.31-.01-.1-.02-.2-.02-.28,0-.09,0-.18.02-.29.02-.11.08-.22.19-.34,0,0,0,0,.02,0,.02,0,.05,0,.1.02.05,0,.11,0,.18,0,.04,0,.11,0,.22,0,.1-.01.24-.09.4-.24l.05-.14v-.08s0-.31,0-.31c0-.08-.02-.19-.05-.32-.04-.13-.17-.2-.39-.2h-.07c-.96,0-1.89.02-2.77.05-.47.05-.77.29-.9.73-.07.26-.11.52-.12.78,0,.09.03.18.08.27.12.21.33.32.63.32.38,0,.57-.18.57-.55v-.05c.19.33.28.62.28.85-.02.35-.03.66-.03.92s-.04.52-.11.8c-.06.23-.09.48-.09.73,0,.11,0,.23.02.35.01.12.02.21.02.28-.57-.88-.91-1.49-1.01-1.83-.07-.26-.18-.49-.33-.69-.22-.29-.4-.6-.52-.93-.12-.33-.29-.65-.49-.95-.06-.08-.12-.16-.16-.25-.09-.17-.22-.34-.38-.49-.15-.16-.38-.24-.68-.26-1.29,0-2.01.06-2.14.19-.14.12-.2.27-.2.43.02.1.04.19.05.28.01.18.05.37.12.56.08.19.24.34.5.47.15.07.22.2.22.37,0,.15-.04.3-.12.46-.13.28-.2.57-.2.86,0,.19.04.37.11.54.23.41.34.78.34,1.09,0,.09,0,.18-.02.28-.02.09-.02.2-.02.33.03,1.3.04,2.2.04,2.72,0,.03-.01.06-.04.09-.02.04-.03.05-.04.05-.07.03-.16.05-.27.05-.64.03-.96.33-.96.91,0,.67.42,1.01,1.26,1.01.76-.03,1.65-.17,2.66-.41.17-.05.3-.16.39-.33.11-.21.17-.37.17-.48,0-.08-.04-.18-.12-.28-.13-.16-.29-.27-.48-.31-.39-.02-.61-.21-.65-.55-.03-.17-.07-.34-.12-.51-.07-.21-.1-.39-.1-.52,0-.09.02-.19.05-.28.07-.22.1-.46.11-.7,0-.06,0-.12.02-.19v-.39c0-.1.01-.2.04-.3.07-.24.11-.47.11-.7,0-.28-.06-.65-.17-1.09-.08-.33-.12-.5-.12-.52l.09.36c.07.36.18.71.33,1.05.15.33.36.73.62,1.2.15.29.26.49.34.61.14.18.23.39.28.63.03.17.11.33.25.48.04.05.08.11.12.19.04.07.09.14.13.21.12.21.19.36.19.45-.01.09-.02.18-.02.27,0,.59.29,1.08.88,1.45.44.26.89.39,1.34.39.41,0,.82-.04,1.23-.12l.24-.04c.38-.08.56-.31.56-.7,0-.1-.02-.21-.06-.32-.04-.11-.14-.22-.3-.3Zm19.11-8.8c-.16-.48-.44-.73-.84-.73-.19,0-.38.05-.55.15-.17.1-.28.15-.32.15h.02c-.12-.04-.24-.06-.36-.06-.29,0-.54.16-.75.48-.02.03-.04.05-.06.07-.13.17-.2.33-.2.49,0,.07.02.17.06.3.05.13.19.27.42.42.16.1.24.15.24.16-.07.62-.17,1.26-.3,1.91,0,.06-.06.37-.19.91-.12.54-.19.9-.2,1.09,0,.18-.05.44-.16.77-.01,0-.03-.09-.05-.26-.04-.34-.09-.65-.17-.92-.16-.64-.28-1.54-.38-2.7v-.03c0-.11.02-.25.06-.41.05-.16.08-.34.08-.55,0-.12-.01-.27-.03-.42-.04-.15-.13-.3-.26-.46-.12-.16-.23-.33-.31-.52-.11-.27-.27-.4-.49-.41-.17,0-.32.07-.45.2-.43.36-.66.77-.69,1.24-.09,1.57-.21,2.67-.35,3.29-.08.34-.12.74-.12,1.18,0,.47-.06.81-.19,1.02l-.09-.43c-.19-.64-.31-1.17-.36-1.6-.02-.2-.11-.69-.26-1.47-.15-.78-.23-1.2-.23-1.25,0-.01,0-.04.02-.09.01-.05.02-.08.02-.09,0,0,0,0-.02,0,0,0,.05-.02.18-.03.13-.02.3-.13.5-.34.17-.2.25-.42.25-.66-.04-.6-.45-.91-1.25-.91-.14,0-.26.01-.37.03h-.46c-.31,0-.54.01-.67.05-.36.13-.54.4-.54.8,0,.08,0,.16.02.23.04.17.2.36.46.57.11.09.21.16.3.21.14.07.24.34.3.79.17.85.36,1.85.58,2.98.34,1.78.54,2.9.6,3.37.03.29.07.57.12.86.11.58.5.88,1.16.88.45,0,.67-.22.67-.67.01-.56.15-1.92.42-4.07.08-.51.18-1.02.3-1.54.19.64.35,1.83.48,3.56.04.62.08,1.05.12,1.28.04.17.06.32.06.44v.05c0,.4.18.7.56.91.18.11.35.16.52.16.1,0,.21-.02.31-.07.49-.29.76-.68.78-1.2,0-.73.09-1.67.28-2.83.07-.43.13-.85.19-1.28.16-1.25.33-2.33.52-3.23.02-.17.05-.29.1-.37.05-.08.14-.13.29-.15.55-.03.83-.24.83-.62,0-.16-.07-.36-.2-.59,0,0,0-.01,0-.03Zm-11.77,1.69c0,.11.06.43.17.95l.1.59c.07.53.39.8.95.8.35,0,.61-.06.77-.17.16-.12.24-.33.24-.64,0-.45-.04-.9-.11-1.34-.05-.41-.1-.76-.16-1.05-.03-.17-.05-.34-.07-.52-.04-.14-.14-.28-.3-.41-.25-.21-.5-.32-.75-.32-.06,0-.12.01-.2.03-.11.06-.22.1-.31.11h-1.1c-1.55,0-3.17.07-4.88.18-.27.04-.54.08-.8.13-.3.06-.47.27-.51.62.24.35.56.52.95.52.12,0,.25-.02.38-.05.1-.03.19-.04.27-.04.24,0,.36.15.36.45,0,.08-.01.18-.03.28-.01.07-.02.14-.02.21,0,.1.01.2.03.3.02.21.05.41.09.58.05.24.07.49.07.73,0,.09-.02.26-.05.5-.03.24-.04.5-.04.77.04.18.06.38.06.59v.12c-.1.28-.15.6-.15.96l.02.41c0,.18-.02.35-.06.52-.04.17-.05.33-.05.5,0,.19.02.39.07.59,0,.05,0,.1,0,.15,0,0-.03,0-.09,0-.36.04-.69.13-1,.29-.19.14-.28.39-.28.75,0,.16.12.29.36.4.11.05.65.09,1.59.11.36,0,.7.02,1.01.05.18.02.35.03.53.03.21,0,.43-.02.65-.05.3-.07.55-.1.75-.1s.41.06.66.17h.18c.07-.02.11-.03.13-.05h0c.47-.05.76-.07.88-.07h.36c.67,0,1.05-.33,1.15-.99.08-.62.15-1.25.22-1.88.05-.32.08-.59.08-.8,0-.23-.06-.46-.17-.69-.14-.22-.4-.4-.79-.55-.21,0-.4.13-.55.38-.1.15-.23.63-.39,1.45-.07.36-.15.71-.23,1.05-.04.12-.11.21-.23.27-.11.06-.23.09-.36.09-.49-.05-.89-.07-1.17-.07-.25,0-.49.03-.73.09-.08.02-.16.03-.23.03-.04,0-.1,0-.19-.02-.33-.06-.5-.21-.5-.44,0-.05,0-.09,0-.14,0-.05,0-.12,0-.2-.02-.22-.03-.43-.03-.62,0-.56.09-1.11.27-1.65.07-.19.18-.28.34-.28.09,0,.29.04.62.13v1.15c.02.28.12.5.33.68.17.15.38.23.61.23.2,0,.37-.06.51-.17.14-.11.22-.23.23-.35.02-.2.05-.39.1-.59.08-.3.12-.54.12-.72,0-.19-.04-.37-.11-.55v-2.1c-.03-.1-.07-.19-.13-.25s-.16-.23-.3-.5l-.21-.27h-.34s-.2.12-.2.12c-.11.14-.18.35-.2.64-.02.24-.06.42-.12.55-.14.4-.23.61-.27.62l-.31.08c-.22.07-.43.1-.62.1-.14,0-.22-.01-.27-.04.03-.08.04-.2.04-.34,0-.23-.06-.38-.17-.44.06-.16.1-.5.12-1.02.03-.7.06-1.07.1-1.1.02-.01.05-.02.11-.02l.27.02h.23c1.82.03,2.74.07,2.77.09,0,.06-.01.14-.03.22-.02.08-.02.16-.02.25Z"/></symbol>
<symbol id="icon-def-package" viewBox="0 0 24 24"><line x1="16.5" y1="9.4" x2="7.5" y2="4.21"></line><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></symbol>
<symbol id="icon-def-pause-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><line x1="10" y1="15" x2="10" y2="9"></line><line x1="14" y1="15" x2="14" y2="9"></line></symbol>
<symbol id="icon-def-phone" viewBox="0 0 24 24"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></symbol>
<symbol id="icon-def-pinterest" viewBox="0 0 56.693 56.693"><g><path d="M28.348,5.158c-13.599,0-24.625,11.023-24.625,24.625c0,10.082,6.063,18.744,14.739,22.553 c-0.069-1.721-0.012-3.783,0.429-5.654c0.473-2,3.168-13.418,3.168-13.418s-0.787-1.572-0.787-3.896 c0-3.648,2.115-6.373,4.749-6.373c2.24,0,3.322,1.682,3.322,3.695c0,2.252-1.437,5.619-2.175,8.738 c-0.616,2.613,1.31,4.744,3.887,4.744c4.665,0,7.808-5.992,7.808-13.092c0-5.397-3.635-9.437-10.246-9.437 c-7.47,0-12.123,5.57-12.123,11.792c0,2.146,0.633,3.658,1.624,4.83c0.455,0.537,0.519,0.754,0.354,1.371 c-0.118,0.453-0.389,1.545-0.501,1.977c-0.164,0.625-0.669,0.848-1.233,0.617c-3.44-1.404-5.043-5.172-5.043-9.408 c0-6.994,5.899-15.382,17.599-15.382c9.4,0,15.588,6.804,15.588,14.107c0,9.658-5.369,16.875-13.285,16.875 c-2.659,0-5.16-1.438-6.016-3.068c0,0-1.43,5.674-1.732,6.768c-0.522,1.9-1.545,3.797-2.479,5.275 c2.215,0.654,4.554,1.01,6.979,1.01c13.598,0,24.623-11.023,24.623-24.623C52.971,16.181,41.945,5.158,28.348,5.158z"/></g></symbol>
<symbol id="icon-def-play" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></symbol>
<symbol id="icon-def-play-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><polygon points="10 8 16 12 10 16 10 8"></polygon></symbol>
<symbol id="icon-def-plus" viewBox="0 0 24 24"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></symbol>
<symbol id="icon-def-sale" viewBox="0 0 49.65 27.77"><path d="m28.73,1.96c.12,0,.25-.02.38-.05.1-.03.19-.04.27-.04.24,0,.36.15.36.45,0,.08-.01.18-.03.28-.01.07-.02.14-.02.21,0,.1.01.2.03.3.02.21.05.41.09.58.05.24.07.49.07.73,0,.09-.02.26-.05.5-.03.24-.04.5-.04.77.04.18.06.38.06.59v.12c-.1.28-.15.6-.15.96l.02.41c0,.18-.02.35-.06.52-.04.17-.05.33-.05.5,0,.19.02.39.07.59,0,.05,0,.1,0,.15,0,0-.03,0-.09,0-.36.04-.69.13-1,.29-.19.14-.28.39-.28.75,0,.16.12.29.36.4.11.05.65.09,1.59.11.36,0,.7.02,1.01.05.18.02.35.03.53.03.21,0,.43-.02.65-.05.3-.07.55-.1.75-.1s.41.06.66.17h.18c.07-.02.11-.03.13-.05h0c.47-.05.76-.07.88-.07h.36c.67,0,1.05-.33,1.15-.99.08-.62.15-1.25.22-1.88.05-.32.08-.59.08-.8,0-.23-.06-.46-.17-.69-.14-.22-.4-.4-.79-.55-.21,0-.4.13-.55.38-.1.15-.23.63-.39,1.45-.07.36-.15.71-.23,1.05-.04.12-.11.21-.23.27-.11.06-.23.09-.36.09-.49-.05-.89-.07-1.17-.07-.25,0-.49.03-.73.09-.08.02-.16.03-.23.03-.04,0-.1,0-.19-.02-.33-.06-.5-.21-.5-.44,0-.05,0-.09,0-.14,0-.05,0-.12,0-.2-.02-.22-.03-.43-.03-.62,0-.56.09-1.11.27-1.65.07-.19.18-.28.34-.28.09,0,.29.04.62.13v1.15c.02.28.12.5.33.68.17.15.38.23.61.23.2,0,.37-.06.51-.17.14-.11.22-.23.23-.35.02-.2.05-.39.1-.59.08-.3.12-.54.12-.72,0-.19-.04-.37-.11-.55v-2.1c-.03-.1-.07-.19-.13-.25s-.16-.23-.3-.5l-.21-.27h-.34s-.2.12-.2.12c-.11.14-.18.35-.2.64-.02.24-.06.42-.12.55-.14.4-.23.61-.27.62l-.31.08c-.22.07-.43.1-.62.1-.14,0-.22-.01-.27-.04.03-.08.04-.2.04-.34,0-.23-.06-.38-.17-.44.06-.16.1-.5.12-1.02.03-.7.06-1.07.1-1.1.02-.01.05-.02.11-.02l.27.02h.23c1.82.03,2.74.07,2.77.09,0,.06-.01.14-.03.22-.02.08-.02.16-.02.25,0,.11.06.43.17.95l.1.59c.07.53.39.8.95.8.35,0,.61-.06.77-.17.16-.12.24-.33.24-.64,0-.45-.04-.9-.11-1.34-.05-.41-.1-.76-.16-1.05-.03-.17-.05-.34-.07-.52-.04-.14-.14-.28-.3-.41-.25-.21-.5-.32-.75-.32-.06,0-.12.01-.2.03-.11.06-.22.1-.31.11h-1.1c-1.55,0-3.17.07-4.88.18-.27.04-.54.08-.8.13-.3.06-.47.27-.51.62.24.35.56.52.95.52ZM9.53,10.99l1.01-.02c.28,0,.56.02.84.06.22.03.43.05.64.05.9,0,1.35-.21,1.37-.64,0-.25-.1-.45-.29-.61-.35-.18-.7-.28-1.04-.28.11-.78.23-1.17.34-1.17.09,0,.19,0,.3.02.26.02.51.02.77.02h.45c.09-.02.17-.02.25-.02.23,0,.41.05.53.14.12.09.22.33.27.7v.11c0,.08-.07.12-.23.12-.41.06-.72.2-.92.42-.14.15-.2.29-.2.43,0,.12.05.24.15.35.1.11.22.2.34.27.26.09.57.14.95.14.83.04,1.66.05,2.5.05.16-.01.32-.06.46-.14.15-.08.26-.19.34-.32.07-.09.1-.19.12-.3.03.09.03.18.08.27.09.19.23.32.42.39.73.18,1.4.27,2,.27.42-.02.82-.06,1.2-.13.67-.11,1.79-.18,3.36-.19.19,0,.37,0,.55,0,.34-.01.66-.11.95-.3.3-.19.46-.44.5-.75.06-1.17.1-2.39.14-3.66,0-.06,0-.14-.02-.22-.02-.09-.05-.18-.11-.29-.06-.11-.14-.17-.24-.2-.1-.02-.18-.03-.24-.03-.2,0-.4.05-.59.16-.24.15-.4.34-.48.55-.11.35-.18.91-.19,1.68,0,.2,0,.4-.02.59-.03.36-.22.55-.59.55-.12,0-.24.01-.34.02-.1,0-.46.01-1.08.02-.41,0-.66-.02-.77-.05-.1-.03-.15-.1-.16-.2-.21-2.21-.34-3.92-.38-5.12-.01-.38-.03-.77-.05-1.16,0-.27.05-.46.16-.59.11-.11.28-.17.48-.18.89-.04,1.45-.19,1.7-.46.1-.1.15-.2.15-.31,0-.14-.03-.23-.09-.27,0-.09-.07-.13-.21-.13-.24-.17-.44-.26-.6-.26-2.9,0-4.48.02-4.73.03-.62.06-.93.3-.93.73,0,.11.05.26.16.43.07.02.11.03.11.03.45.1.73.17.84.22.11.04.24.06.37.06.07,0,.15-.01.23-.04.07-.04.12-.05.15-.05.04,0,.08.01.1.03.09.08.17.18.26.31.12.13.19.25.21.37.02.14.02.28.02.43,0,.22-.02.45-.05.69-.05.31-.07.65-.07,1,0,.33.02.68.06,1.05,0,.06,0,.13,0,.2,0,.09,0,.18-.02.29-.01.1-.02.21-.02.32,0,.14.01.27.04.4.05.24.08.49.08.76,0,.32-.04.66-.12,1.02-.03.1-.07.19-.12.27-.05.07-.13.15-.24.23-.11.12-.17.18-.2.18-.01,0-.03-.01-.07-.03-.11-.06-.25-.09-.43-.09-.75,0-1.15.27-1.23.78-.05-.12-.12-.25-.22-.37-.15-.17-.31-.26-.49-.26-.13,0-.27.03-.41.09-.1.05-.22.08-.37.08-.26,0-.41-.2-.47-.6-.04-.24-.12-.6-.25-1.08-.41-1.67-.73-2.91-.96-3.73-.12-.41-.24-.86-.37-1.37-.13-.39-.2-.71-.2-.98,0-.05,0-.1,0-.16,0-.06,0-.13,0-.2,0-.12-.02-.26-.05-.41-.17-.68-.44-1.02-.81-1.02-.2,0-.37.08-.49.24-.33.49-.59.89-.77,1.21-.12.19-.19.39-.19.58v.14c0,.1-.05.28-.14.55-.12.36-.23.83-.3,1.4-.13.76-.21,1.15-.23,1.18-.12.15-.22.33-.29.54l-.09.45c-.05.31-.2.81-.45,1.5-.15.4-.29.81-.41,1.23-.1.38-.24.56-.43.56-.06,0-.13-.01-.23-.03l-.13-.02c-.08,0-.17.01-.26.03-.46.12-.69.39-.69.8s.26.61.79.62Zm4.01-7.77c.35,1.03.59,1.96.73,2.78.06.29.12.58.18.86l.02.09h-1.88c.54-2.12.85-3.37.95-3.73Zm-9.34,7.89c.23,0,.45-.02.67-.04.25-.02.51-.03.77-.04.76-.03,1.41-.37,1.94-1.01.3-.33.52-.66.66-.99.14-.33.21-.63.21-.88,0-.24-.05-.52-.16-.84h0s0-.2,0-.2c0-.8-.43-1.46-1.28-2-.16-.08-.34-.12-.52-.12h-.07s-.1,0-.16,0c-.06,0-.12,0-.19,0-.09,0-.22-.02-.38-.05-.55-.09-1.09-.19-1.64-.3l-.16-.03c-.31-.05-.58-.13-.83-.25-.33-.19-.66-.43-.98-.71h-.02c-.08-.08-.14-.13-.16-.16-.02-.04-.02-.09-.02-.13,0-.33.09-.57.27-.72.13-.11.26-.23.38-.36.35-.39.72-.58,1.1-.58.08,0,.15.01.2.03.34.15.66.22.94.23.27,0,.45.04.53.12.1.08.2.16.31.24.14.09.26.19.35.29.1.1.16.24.19.42.03.18.08.39.15.62.06.2.14.35.25.45.06.05.13.08.23.09.21.06.43.09.64.09.15,0,.3-.03.45-.08.15-.05.26-.17.34-.35.08-.19.12-.35.12-.5-.01-.35-.04-.7-.09-1.03-.04-.33-.05-.52-.05-.56v-.04c0-.11-.02-.23-.05-.34-.06-.12-.12-.24-.18-.34-.07-.1-.12-.24-.16-.4-.04-.16-.13-.27-.27-.32-.14-.05-.26-.08-.38-.08l-.53-.02c-.27-.02-.45-.03-.55-.03-.26,0-.5.04-.73.12-.02.01-.04.02-.05.02-.23-.13-.48-.2-.74-.2-.16,0-.41.04-.77.13h0c-.6.14-1.17.32-1.7.56-.62.3-1.08.83-1.37,1.59-.11.29-.16.58-.16.88,0,.24.04.51.12.8.05.19.12.4.22.61.1.21.28.39.55.52.43.22.88.42,1.34.61.46.19.95.32,1.45.38.54.08,1.07.29,1.58.63.29.19.51.49.65.89.01.03.02.06.02.1,0,.06,0,.09,0,.09-.36.44-.72.78-1.09,1.02-.27.14-.59.22-.95.24-.34.05-.58.07-.72.07-.4,0-.73-.11-.99-.33-.09-.06-.19-.1-.3-.12l-.03-.02s-.08-.03-.16-.07c-.04-.02-.07-.04-.11-.09-.15-.21-.28-.43-.41-.66-.11-.18-.22-.36-.34-.55-.05-.07-.28-.31-.69-.72-.01-.01-.03-.02-.05-.02-.03,0-.06.01-.08.03l-.26.49c-.16.3-.24.5-.24.59,0,.07,0,.12.02.16.02.04.03.26.05.66.02.4.04.8.06,1.21.05.66.23,1.04.55,1.16.11.04.23.06.34.06.08,0,.16-.01.22-.04.29-.1.57-.22.84-.35l.13-.06.13.05c.28.12.57.23.85.32.29.09.63.14,1.01.14Zm39.19-.39c-.7-.4-1.4-.4-2.1-.1-.8.4-1.5.8-2.3,1.2-.8.5-1.5,1-2.2,1.5-.9.6-1.7,1.2-2.7,1.6s-1.3,1.6-2.2,2.2c-.4.3-.8.4-1.3.3-.5-.2-1-.5-1.4-.8-.4-.3-.8-.7-1.2-1.1-.5-.4-1.3-.4-1.8,0-.2.2-.5.4-.7.6-.5.4-.9.9-1.4,1.3s-.8.4-1.3.1c-.2-.1-.3-.3-.3-.3-.6-.4-1.2-.4-1.7.1l-1.5,1.5c-.2.2-.4.3-.6.4-.1,0-.4-.1-.4-.2-.1-.2-.2-.5-.2-.7-.2-.7-.3-1.4-.4-2.1-.1-.4-.4-.7-.6-.9-.4-.1-.8.1-1.1.4-.2.2-.3.4-.5.6-1.2,1.4-2.4,2.8-3.6,4.2-.1.2-.3.4-.5.5-.2.2-.5.2-.7.2-.1-.1-.3-.3-.3-.4-.1-.8-.2-1.6-.3-2.4,0-.8,0-1.7-.1-2.6,0-.4-.2-.8-.4-1.1-.3-.5-1.2-.6-1.5-.1-.3.4-.6.9-.9,1.4-.3.4-.6.7-1.1.9-.5.1-.9.4-1.1.8-.6,1.2-1.2,2.3-1.8,3.4-.3.5-.4,1.2-.6,1.8v.5c0,.4.7.8,1.1.6.4-.2.7-.5.9-.8.8-1.4,1.5-2.8,2.3-4.2.2-.3.5-.7.8-.9.1-.1.4,0,.4.1.4.7.3,1.4.3,2.1,0,.9.3,1.8.8,2.5.5.7,1.1.8,1.9.4.6-.3,1.1-.7,1.5-1.2.8-.9,1.5-1.9,2.3-2.8.2-.2.4-.4.7-.6.1,0,.4,0,.4.1.1.5.2.9.2,1.4,0,.7.2,1.3.6,1.8.2.2.7.4.9.3.4-.2.9-.4,1.2-.7.6-.5,1.1-1.1,1.7-1.7.3-.3.7-.4,1.2-.1,1,.7,1.9.4,2.8-.3.3-.3.6-.5.9-.8.3-.2.6-.5.9-.7s.6-.2.9,0c.4.2.7.5,1,.7.5.4,1.1.7,1.7.9,1,.2,1.9,0,2.7-.6.3-.3.6-.7,1-1,.3-.3.6-.6.9-.8,1.7-1.1,3.4-2.3,5-3.7.6-.5,1.3-.9,2-1.2.5-.2,1-.2,1.4.1.1.1.3.2.4.3.4.2.7-.1.7-.4.1-.6-.2-1.1-.7-1.5Z"/></symbol>
<symbol id="icon-def-search" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></symbol>
<symbol id="icon-def-shield" viewBox="0 0 24 24"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></symbol>
<symbol id="icon-def-shopping-cart" viewBox="0 0 19.21 26.2">
<path d="M0.531548 24.5L1.66041 6.06201H16.9842L18.1131 24.5H0.531548Z" stroke="currentColor"/>
<path d="M4.76025 10.3223V5.95869H4.76449C4.76167 5.89293 4.76025 5.8268 4.76025 5.76035C4.76025 3.24083 6.80272 1.19836 9.32224 1.19836C11.8418 1.19836 13.8842 3.24083 13.8842 5.76035C13.8842 5.8268 13.8828 5.89293 13.88 5.95869H13.8842V10.3223" stroke="currentColor"/>
</symbol>
<symbol id="icon-def-shopping-bag" viewBox="0 0 24 24"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"></path><line x1="3" y1="6" x2="21" y2="6"></line><path d="M16 10a4 4 0 0 1-8 0"></path></symbol>
<symbol id="icon-def-shopping-cart-2" viewBox="0 0 24 24"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path></symbol>
<symbol id="icon-def-shuffle" viewBox="0 0 24 24"><polyline points="16 3 21 3 21 8"></polyline><line x1="4" y1="20" x2="21" y2="3"></line><polyline points="21 16 21 21 16 21"></polyline><line x1="15" y1="15" x2="21" y2="21"></line><line x1="4" y1="4" x2="9" y2="9"></line></symbol>
<symbol id="icon-def-smartphone" viewBox="0 0 24 24"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></symbol>
<symbol id="icon-def-sort" viewBox="0 0 24 24"><path d="M7.2073,11.8436a1.0034,1.0034,0,0,0-1.4146,0L1.55,16.0859A1,1,0,0,0,2.9644,17.5L5.5,14.9647V22.45a1,1,0,0,0,2,0V14.9647L10.0356,17.5A1,1,0,0,0,11.45,16.0859ZM22.4492,6.5a1,1,0,0,0-1.414,0L18.5,9.0355V1.55a1,1,0,0,0-2,0V9.0355L13.9648,6.5a1,1,0,1,0-1.414,1.4141l4.2413,4.2418a1.0016,1.0016,0,0,0,1.4158,0l4.2413-4.2418A1,1,0,0,0,22.4492,6.5Z" transform="translate(-1.2573 -0.5503)"/></symbol>
<symbol id="icon-def-tablet" viewBox="0 0 24 24"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></symbol>
<symbol id="icon-def-snapchat" viewBox="0 0 512 512"><path d="M256,0c141.29,0 256,114.71 256,256c0,141.29 -114.71,256 -256,256c-141.29,0 -256,-114.71 -256,-256c0,-141.29 114.71,-256 256,-256Zm111.318,382.077c2.368,0 3.776,-1.057 4.436,-3.315c0.766,-2.603 1.323,-5.078 1.873,-7.598c1.512,-6.924 2.494,-10.226 5.028,-10.615c31.018,-4.793 39.885,-11.316 41.852,-15.916c0.286,-0.654 0.448,-1.327 0.488,-1.994c0.096,-1.783 -1.161,-3.352 -2.922,-3.643c-47.685,-7.858 -69.042,-56.561 -69.928,-58.628c-0.023,-0.061 -0.052,-0.116 -0.079,-0.173c-2.916,-5.915 -3.488,-11.044 -1.701,-15.248c3.268,-7.707 13.934,-11.092 21.003,-13.336c1.735,-0.549 3.373,-1.07 4.654,-1.573c12.365,-4.885 14.885,-9.849 14.823,-13.15c-0.067,-3.507 -3.203,-6.863 -7.991,-8.559l-0.102,-0.042c-1.686,-0.703 -3.717,-1.09 -5.72,-1.09c-1.311,0 -3.238,0.17 -4.972,0.98c-5.919,2.772 -11.313,4.268 -16.005,4.448l-0.007,0c-6.175,-0.236 -8.909,-2.869 -9.25,-3.216c0.159,-2.918 0.35,-5.966 0.547,-9.102l0.059,-0.979c1.422,-22.518 3.185,-50.542 -3.946,-66.535c-21.38,-47.936 -66.791,-51.666 -80.201,-51.666l-0.792,0.004c0,0 -5.522,0.059 -5.865,0.059c-13.378,0 -58.692,3.722 -80.06,51.633c-7.13,15.983 -5.371,43.984 -3.951,66.519c0.22,3.477 0.435,6.845 0.608,10.071c-0.363,0.376 -3.336,3.238 -10.148,3.238c-4.93,0 -10.642,-1.504 -16.981,-4.474c-1.09,-0.509 -2.386,-0.77 -3.857,-0.77c-5.368,0 -12.004,3.461 -12.949,8.427c-0.553,2.915 0.62,8.632 14.711,14.204c1.292,0.51 2.93,1.027 4.657,1.573c7.063,2.24 17.732,5.629 21.002,13.337c1.785,4.207 1.214,9.339 -1.703,15.251c-0.027,0.057 -0.053,0.112 -0.077,0.169c-0.888,2.069 -22.262,50.786 -69.927,58.635c-1.759,0.287 -3.02,1.86 -2.919,3.639c0.037,0.658 0.196,1.321 0.477,1.984c1.979,4.634 10.853,11.165 41.86,15.953c2.661,0.409 3.644,4.313 5.03,10.66c0.538,2.467 1.097,5.017 1.869,7.649c0.889,3.039 2.936,3.447 4.825,3.447c1.807,0 4.186,-0.464 6.943,-1.003c4.536,-0.887 10.75,-2.103 18.627,-2.103c4.373,0 8.898,0.382 13.443,1.134c9.316,1.551 17.222,7.141 25.601,13.06c12.133,8.58 24.681,17.45 44.231,17.45c0.557,0 1.114,-0.024 1.647,-0.065l0.002,0c0.836,0.04 1.671,0.065 2.522,0.065c19.555,0 32.101,-8.87 44.259,-17.468c8.363,-5.912 16.264,-11.491 25.57,-13.042c4.547,-0.752 9.075,-1.134 13.449,-1.134c7.491,0 13.379,0.946 18.63,1.973c2.961,0.581 5.297,0.875 6.941,0.875l0.386,0Z"/></symbol>
<symbol id="icon-def-sliders" viewBox="0 0 24 24"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line></symbol>
<symbol id="icon-def-filter" viewBox="0 0 24 24"><line x1="4" y1="21" x2="4" y2="14"></line><line x1="4" y1="10" x2="4" y2="3"></line><line x1="12" y1="21" x2="12" y2="12"></line><line x1="12" y1="8" x2="12" y2="3"></line><line x1="20" y1="21" x2="20" y2="16"></line><line x1="20" y1="12" x2="20" y2="3"></line><line x1="1" y1="14" x2="7" y2="14"></line><line x1="9" y1="8" x2="15" y2="8"></line><line x1="17" y1="16" x2="23" y2="16"></line></symbol>
<symbol id="icon-def-star" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></symbol>
<symbol id="icon-def-drawn-star-1" viewBox="0 0 23 19">
<path xmlns="http://www.w3.org/2000/svg" d="M8.86064 19.9608C8.57086 19.8832 8.33285 19.6123 8.3139 19.2967C8.22425 18.8585 8.32777 18.4722 8.21223 18.1306C8.18821 16.6748 8.26078 15.2449 8.23676 13.789C8.22475 13.0611 7.89014 12.7644 7.31058 12.6091C6.73103 12.4538 6.05488 12.2727 5.44944 12.214C3.97467 11.9223 2.57755 11.3409 1.18042 10.7595C0.987236 10.7077 0.916526 10.5852 0.845815 10.4628C0.678512 10.3144 0.518144 9.75381 0.666501 9.58651C1.28581 8.8207 1.97583 8.17737 3.04528 8.04982C4.11473 7.92227 5.08759 7.76883 6.15705 7.64128C6.5693 7.64822 6.91084 7.53268 7.34898 7.44302C8.00618 7.30853 8.23218 6.85145 8.19429 6.22013C8.1185 4.9575 8.04271 3.69486 7.55467 2.42528C7.50984 2.20622 7.46501 1.98715 7.32359 1.7422C7.16322 1.18159 7.38923 0.724511 8.07231 0.493432C8.6588 0.236471 9.11588 0.462474 9.30213 0.92649C9.34696 1.14556 9.48838 1.3905 9.53321 1.60957C10.0143 3.2914 11.1337 4.52308 12.253 5.75476C12.9222 6.34818 13.5984 6.52936 14.4747 6.35004C15.4993 6.00342 16.498 5.7534 17.4968 5.50337C17.8383 5.38783 18.2316 5.07911 18.5024 4.84109C18.7733 4.60308 19.07 4.26847 19.3408 4.03046C20.1016 3.5096 20.6363 3.44583 21.1571 4.20656C21.3952 4.47739 21.6073 4.84481 21.8453 5.11564C21.9867 5.36059 21.8573 5.84355 21.6124 5.98498C21.3674 6.1264 21.2191 6.2937 21 6.33853C20.1237 6.51784 19.4596 7.06458 18.8403 7.83039C18.5436 8.16499 18.221 8.59619 17.9243 8.9308C17.0082 10.0312 17.0272 10.3469 18.2501 11.1922C19.2798 11.9857 20.3612 12.5861 21.3909 13.3796C21.6548 13.5539 21.9187 13.7281 22.1567 13.9989C22.4206 14.1732 22.4396 14.4888 22.3361 14.8752C22.2584 15.165 21.8651 15.4737 21.6719 15.4219C21.2597 15.415 20.8474 15.4081 20.4352 15.4011C18.8638 15.0836 17.2924 14.7661 15.6952 14.5452C15.1156 14.3899 14.6068 14.3571 14.0014 14.2984C13.8082 14.2466 13.5632 14.388 13.4149 14.5553C12.9957 14.9607 12.6731 15.3919 12.4471 15.8489C11.7501 16.9045 11.0532 17.9601 10.3303 19.1123C10.1561 19.3762 9.98186 19.6401 9.71103 19.8781C9.65927 20.0713 9.12454 20.135 8.86064 19.9608ZM10.2518 9.35964C10.3415 9.79778 10.3087 10.3066 10.3983 10.7448C10.4432 10.9638 10.7071 11.1381 10.8744 11.2864C11.428 11.5383 12.1042 11.7195 12.7355 11.6816C13.3668 11.6437 13.9085 11.1677 14.1604 10.614C14.1862 10.5174 14.238 10.3242 14.1673 10.2017C13.8137 9.58936 13.3118 9.14429 12.6874 8.76993C12.5909 8.74405 12.3977 8.69229 12.1786 8.73712C11.7405 8.82677 11.2057 8.89055 10.8383 9.10268C10.671 8.95432 10.4968 9.21822 10.2518 9.35964ZM6.32757 10.4822C7.10031 10.6893 7.22278 10.6186 7.97658 10.51C8.19564 10.4651 8.36988 10.2012 8.32505 9.98217C8.28023 9.7631 7.99045 9.68546 7.82315 9.5371C7.72655 9.51122 7.62996 9.48533 7.62996 9.48533C7.09523 9.54911 6.56051 9.61289 5.9999 9.77325C5.9033 9.74737 5.82566 10.0372 5.79978 10.1337C5.79978 10.1337 5.87049 10.2562 5.96708 10.2821C5.96708 10.2821 6.16027 10.3339 6.32757 10.4822ZM10.4653 13.9721C10.4843 14.2877 10.5291 14.5068 10.5739 14.7259C10.5739 14.7259 10.7412 14.8742 10.7671 14.7776C11.2052 14.688 11.5537 14.1602 11.3416 13.7927C11.2709 13.6703 11.0777 13.6185 10.9811 13.5926C10.8586 13.6633 10.7103 13.8306 10.4653 13.9721ZM15.9804 7.68525C15.7613 7.73008 15.5423 7.77491 15.3939 7.94221C15.2714 8.01292 15.2197 8.20611 15.2904 8.32858C15.3611 8.45105 15.5284 8.59941 15.6509 8.5287C15.9665 8.50975 16.2374 8.27174 16.315 7.98196C16.315 7.98196 16.1477 7.83361 15.9804 7.68525ZM15.8852 11.9044C15.8593 12.001 15.8334 12.0976 15.93 12.1234C16.0266 12.1493 16.2198 12.2011 16.3164 12.227L16.4647 12.0597C16.394 11.9372 16.2974 11.9113 16.1042 11.8595C16.1301 11.7629 16.0076 11.8337 15.8852 11.9044Z" fill="black"/>
</symbol>
<symbol id="icon-def-drawn-star-2" viewBox="0 0 23 19">
<path d="M14.0696 18.2016C13.8057 18.0274 13.6384 17.879 13.4711 17.7307C13.1623 17.3374 12.9761 16.8733 12.764 16.5059C12.3656 15.6745 11.7481 14.8879 11.1048 14.1979C10.6288 13.6562 10.0751 13.4043 9.41789 13.5388C8.22596 13.7371 7.03403 13.9353 6.16977 14.8425C5.75058 15.2479 5.28657 15.4341 4.65525 15.472C4.02393 15.5099 3.36673 15.6444 2.73541 15.6823C2.10409 15.7202 1.52453 15.5649 0.874268 15.2871C0.610372 15.1129 0.598365 14.385 0.843314 14.2435C1.21074 14.0314 1.55227 13.9159 1.89381 13.8003C2.69937 13.4985 3.54976 13.4158 4.45191 13.1399C5.13499 12.9088 5.67666 12.4328 6.14761 11.8343C6.64444 11.1392 6.60654 10.5079 6.03392 9.94035C5.1267 9.07609 4.29018 8.33431 3.20872 7.73395C2.75164 7.50795 2.41703 7.21124 2.08242 6.91452C1.81853 6.74029 1.70299 6.39874 1.58745 6.0572C1.4012 5.59319 1.77555 4.9688 2.18781 4.97574C3.03819 4.89301 3.76611 4.881 4.59061 4.89487C5.92396 4.94156 7.25731 4.98825 8.68725 5.06082C8.90632 5.01599 9.19609 5.09363 9.41516 5.0488C9.7567 4.93326 10.0982 4.81773 10.2466 4.65042C10.5951 4.12263 10.9436 3.59484 11.1954 3.04116C11.5957 2.32019 12.0218 1.50262 12.4479 0.685049C12.6222 0.421153 13.0603 0.331495 13.2535 0.383259C13.5433 0.460905 13.8072 0.635143 13.9227 0.976685C13.9675 1.19575 14.0124 1.41482 14.0572 1.63389C14.0692 2.3618 14.0812 3.08971 14.2157 3.74691C14.3104 5.32521 14.4518 5.57016 16.1198 5.91356C17.4721 6.2759 18.9469 6.56754 20.2992 6.92989C20.7821 7.0593 21.2651 7.18871 21.6515 7.29223C21.9412 7.36988 22.1793 7.64071 22.4432 7.81495C22.7778 8.11166 22.8157 8.74298 22.5189 9.07759C22.0739 9.5795 21.5581 9.95893 20.9975 10.1193C19.8245 10.6332 18.5808 11.0247 17.3889 11.2229C16.6351 11.3315 15.9779 11.466 15.3655 11.8196C15.1206 11.961 14.9204 12.3215 14.9394 12.6371C15.1118 13.9257 15.3549 15.3367 15.5272 16.6252C15.5721 16.8442 15.7135 17.0892 15.6358 17.379C15.5841 17.5722 15.5064 17.8619 15.2874 17.9068C14.8492 17.9964 14.4111 18.0861 14.0696 18.2016ZM9.83571 8.88848C9.53206 9.63534 9.59584 10.1701 10.027 10.4927C10.6962 11.0861 11.4242 11.0741 12.1849 10.5532C12.3074 10.4825 12.4557 10.3152 12.4816 10.2186C12.6438 9.22681 12.6836 8.30571 12.3111 7.37768C12.1697 7.13273 11.9765 7.08097 11.6867 7.00332C11.2744 6.99638 10.8363 7.08604 10.6362 7.44653C10.2618 8.07091 10.0099 8.62459 9.83571 8.88848ZM17.5927 7.75761C17.0839 7.72479 16.3818 7.64021 15.6539 7.65222C15.1451 7.61941 14.8225 8.05061 14.6931 8.53357C14.486 9.30631 14.9621 9.84797 15.7158 9.73937C16.618 9.46346 17.5201 9.18755 18.4223 8.91164C18.5448 8.84093 18.6931 8.67363 18.6224 8.55116C18.6483 8.45456 18.5069 8.20961 18.4103 8.18373C18.1464 8.00949 17.9532 7.95773 17.5927 7.75761ZM8.14373 7.08926C7.56418 6.93397 6.95874 6.87527 6.27565 7.10635C6.15318 7.17706 6.10142 7.37024 6.07553 7.46684C6.42909 8.07921 6.86029 8.40181 7.56232 8.48639C7.65891 8.51227 7.90386 8.37084 8.02633 8.30013C8.29716 8.06212 8.37481 7.77234 8.35587 7.45668C8.38175 7.36009 8.21444 7.21173 8.14373 7.08926Z" fill="black"/>
</symbol>
<symbol id="icon-def-drawn-star-3" viewBox="0 0 23 19">
<path xmlns="http://www.w3.org/2000/svg" d="M19.8509 4.46321C20.1107 4.61321 20.1473 4.74981 20.1473 4.74981C20.2705 4.93642 20.4437 5.03642 20.4669 5.39622C20.4035 5.70603 20.1169 6.00244 19.9303 6.12565C19.7937 6.16225 19.6071 6.28546 19.5205 6.23546C17.9215 6.00507 16.7518 6.8309 15.742 7.97994C15.692 8.06654 15.5554 8.10315 15.642 8.15315C15.6286 8.37635 15.4786 8.63616 15.6018 8.82276C16.0447 9.65577 16.5741 10.5388 17.2535 11.162C17.6365 11.4986 18.0561 11.9718 18.4391 12.3084C18.649 12.545 18.6588 13.128 18.5088 13.3878C18.3088 13.7342 17.849 13.9306 17.4525 13.8172C16.3999 13.4405 15.2973 13.1503 14.2447 12.7735C13.675 12.5601 13.0188 12.2967 12.4492 12.0833C11.6198 11.7199 10.9368 11.9029 10.227 12.5323C9.13056 13.6313 8.08415 14.6438 6.98774 15.7428C6.75114 15.9526 6.60113 16.2124 6.36453 16.4222C6.17793 16.5455 5.90473 16.6187 5.71812 16.7419C5.30832 16.8517 4.6655 16.3651 4.77889 15.9687C5.00569 15.1758 5.19588 14.2464 5.50928 13.5036C5.83607 12.5376 6.16287 11.5715 6.53966 10.5189C6.70306 10.0359 6.50665 9.57609 5.98704 9.27609C5.38082 8.92609 4.7746 8.57609 4.13178 8.08949C3.22915 7.45289 2.27652 6.90289 1.4239 6.17968C1.07749 5.97968 0.831073 5.60648 0.621266 5.36988C0.324855 5.08327 0.451652 4.46366 0.774857 4.30385C1.60787 3.86103 2.47748 3.55481 3.54351 3.7084C4.60954 3.86199 5.76217 4.06558 6.82819 4.21917C6.96479 4.18257 7.138 4.28257 7.2746 4.24597C7.72101 4.27276 8.09421 4.02635 8.20761 3.62994C8.38441 2.92372 8.5612 2.2175 8.60139 1.54789C8.61479 1.32468 8.67819 1.01488 8.77819 0.841674C8.87819 0.668469 9.11479 0.458659 9.25139 0.422056C9.438 0.298851 9.74781 0.36225 9.97101 0.375647C10.4174 0.402442 10.7638 0.602442 10.8736 1.01225C11.0566 1.69526 11.2397 2.37828 11.4227 3.06129C11.6191 3.5211 11.9155 3.8077 12.3985 3.9711C13.5877 4.31129 14.8038 4.20507 16.0064 4.32206C16.2296 4.33546 16.5028 4.26225 16.6894 4.13905C17.8456 3.53642 18.9349 4.04981 19.8509 4.46321ZM11.1717 6.49597C10.5655 6.14597 9.96909 6.37898 9.71909 6.81199C9.46909 7.24501 9.35569 7.64142 9.27889 8.17443C9.2655 8.39763 9.5119 8.77084 9.77171 8.92084C10.2547 9.08424 10.6511 9.19763 11.1975 9.05122C12.0172 8.83161 12.4172 8.13879 11.9243 7.39238C11.6779 7.01917 11.2949 6.68257 11.1717 6.49597ZM5.688 6.79404C5.8612 6.89404 6.25761 7.00744 6.51742 7.15744C6.91383 7.27084 7.37364 7.07443 7.43704 6.76462C7.50043 6.45481 7.20402 6.16821 6.84422 6.19142C6.53441 6.12802 6.1746 6.15122 5.95139 6.13782C5.72819 6.12443 5.35498 6.37084 5.39159 6.50744C5.44159 6.42084 5.56479 6.60744 5.688 6.79404ZM13.727 6.47013L13.7636 6.60674C13.8502 6.65674 13.8502 6.65674 13.9868 6.62013C14.0868 6.44693 14.0868 6.44693 13.9136 6.34693C13.827 6.29693 13.777 6.38353 13.727 6.47013ZM8.45832 11.3957C8.54492 11.4457 8.59492 11.3591 8.68152 11.4091C8.73152 11.3225 8.78152 11.2359 8.78152 11.2359C8.74492 11.0993 8.57171 10.9993 8.47171 11.1725C8.42171 11.2591 8.50832 11.3091 8.45832 11.3957ZM13.9224 9.93161C13.8358 9.88161 13.7858 9.96821 13.6992 9.91821L13.7358 10.0548C13.8224 10.1048 13.8724 10.0182 13.959 10.0682C14.009 9.98161 13.9224 9.93161 13.9224 9.93161Z" fill="black"/>
</symbol>
<symbol id="icon-def-drawn-star-4" viewBox="0 0 23 19">
<path xmlns="http://www.w3.org/2000/svg" d="M17.0934 7.66197C17.2166 7.84857 17.3898 7.94857 17.4264 8.08517C17.5728 8.63158 17.446 9.2512 17.0228 9.58421C16.6862 9.96722 16.2264 10.1636 15.8532 10.41C15.43 10.7431 15.0068 11.0761 14.5336 11.4957C14.1104 11.8287 13.9104 12.1751 13.747 12.6581C13.2934 14.2438 13.113 15.7562 13.8254 17.3222C13.862 17.4588 13.9852 17.6454 14.0218 17.782C14.5111 19.3347 14.1879 19.4945 13.1914 20.4203C12.9048 20.7167 12.162 20.4033 12.0522 19.9935C12.0156 19.8569 11.979 19.7203 11.9924 19.4971C12.1094 18.2945 11.4934 17.3615 10.6907 16.5516C10.5175 16.4516 10.4809 16.315 10.3077 16.215C9.41849 15.3552 8.97209 15.3284 8.03907 15.9445C7.24266 16.5239 6.44625 17.1033 5.69984 17.5961C5.32664 17.8425 5.00343 18.0024 4.63023 18.2488C4.07042 18.6184 3.291 18.1684 3.33119 17.4988C3.39459 17.189 3.37138 16.8291 3.43478 16.5193C3.71157 15.6399 4.03837 14.6739 4.31517 13.7945C4.52856 13.2249 4.65535 12.6052 4.91875 11.949C5.08215 11.466 4.88574 11.0062 4.50273 10.6696C3.52689 9.75979 2.55106 8.84999 1.33862 8.14999C1.07882 7.99999 0.869011 7.76338 0.659204 7.52678C0.535999 7.34017 0.339587 6.88037 0.489587 6.62056C0.639587 6.36075 0.876191 6.15094 1.236 6.12774C1.59581 6.10453 1.90561 6.16793 2.21542 6.23133C3.09485 6.50812 3.83767 6.82152 4.71709 7.09831C5.2001 7.26171 5.81972 7.38851 6.35273 7.4653C6.66254 7.5287 6.98574 7.3689 7.18574 7.02249C7.88574 5.81005 8.72234 4.56101 9.42234 3.34857C9.87234 2.56915 10.3223 1.78973 10.7223 1.09691C10.8223 0.923702 11.0589 0.713897 11.1589 0.540692C11.4455 0.244282 12.2018 0.334473 12.3982 0.794281C12.8776 1.7639 12.9972 2.75671 13.0668 3.83614C13.0766 4.41915 12.9998 4.95216 13.0097 5.53517C13.0329 5.89498 13.0061 6.34139 13.0293 6.7012C13.0391 7.28421 13.4221 7.62082 13.9185 7.56101C14.8113 7.6146 15.7041 7.66819 16.5604 7.58517C16.697 7.54857 17.0068 7.61197 17.0934 7.66197ZM11.1659 10.1287C10.9927 10.0287 10.9061 9.9787 10.6829 9.9653C10.0132 9.92511 9.20702 9.92152 8.53741 9.88133C8.091 9.85453 7.66779 10.1875 7.60439 10.4974C7.491 10.8938 7.5142 11.2536 7.76061 11.6268C7.97042 11.8634 8.18023 12.1 8.44003 12.25C8.82305 12.5866 9.26946 12.6134 9.72926 12.417C10.1025 12.1706 10.4757 11.9241 10.8989 11.5911C11.0855 11.4679 11.1489 11.1581 11.2489 10.9849C11.4855 10.7751 11.3391 10.2287 11.1659 10.1287ZM9.94459 5.84402C9.84459 6.01723 9.63119 6.58684 9.50439 7.20646C9.45439 7.29306 9.5776 7.47966 9.6142 7.61626C10.2204 7.96626 11.0034 7.61005 10.9936 7.02704C11.0204 6.58062 10.9606 6.08422 10.8508 5.67441C10.8142 5.53781 10.641 5.4378 10.6044 5.3012C10.6178 5.07799 10.2946 5.23781 9.94459 5.84402ZM7.03382 13.2856C6.86061 13.1856 6.5008 13.2088 6.4008 13.382C6.2008 13.7284 6.13741 14.0383 6.19721 14.5347C6.18382 14.7579 6.58023 14.8713 6.76683 14.7481C6.95343 14.6249 7.14004 14.5016 7.29004 14.2418C7.52664 14.032 7.41683 13.6222 7.03382 13.2856ZM11.6211 13.7402C11.4113 13.5036 11.2747 13.5402 11.1747 13.7134C10.8881 14.0098 10.8747 14.233 11.0845 14.4696C11.1711 14.5196 11.3443 14.6196 11.4809 14.583C11.6175 14.5464 11.7175 14.3732 11.7675 14.2866C11.7809 14.0634 11.6577 13.8768 11.6211 13.7402Z" fill="black"/>
</symbol>
<symbol id="icon-def-drawn-star-5" viewBox="0 0 23 19">
<path xmlns="http://www.w3.org/2000/svg" d="M17.3999 13.0442C17.3551 13.2633 17.4069 13.4565 17.3361 13.5789C17.0533 14.0688 16.5255 14.4173 15.9908 14.3535C15.4819 14.3864 15.0179 14.2001 14.5798 14.1105C14.0451 14.0467 13.5103 13.9829 12.879 13.945C12.3443 13.8812 11.9579 13.9848 11.5008 14.2108C10.0589 15.0112 8.86187 15.9531 8.25829 17.5643C8.18758 17.6867 8.14275 17.9058 8.07204 18.0283C7.3201 19.4721 6.97857 19.3566 5.61933 19.3066C5.20708 19.3136 4.90344 18.5667 5.11557 18.1993C5.18628 18.0768 5.25698 17.9544 5.42429 17.806C6.3574 17.0383 6.58154 15.943 6.58662 14.8028C6.53485 14.6096 6.60556 14.4872 6.5538 14.294C6.53299 13.0572 6.23629 12.7226 5.14095 12.4985C4.16809 12.345 3.19523 12.1916 2.31896 12.0123C1.88082 11.9226 1.53928 11.8071 1.10115 11.7174C0.443947 11.583 0.21101 10.7136 0.71292 10.2686C0.976815 10.0943 1.21483 9.82349 1.47873 9.64925C2.2963 9.22313 3.21046 8.77112 4.02803 8.345C4.5817 8.09311 5.10949 7.74464 5.75976 7.46687C6.21684 7.24087 6.40309 6.77686 6.37027 6.26801C6.32358 4.93466 6.2769 3.60131 5.91455 2.24902C5.8369 1.95924 5.85585 1.64358 5.8748 1.32792C5.91963 1.10885 6.10588 0.644835 6.39565 0.56719C6.68543 0.489544 7.00109 0.50849 7.27193 0.746504C7.54276 0.984518 7.717 1.24841 7.89123 1.51231C8.31736 2.32988 8.62101 3.07674 9.04713 3.89431C9.27313 4.35139 9.62161 4.87918 9.9442 5.31038C10.1184 5.57427 10.46 5.68981 10.8463 5.58629C12.1986 5.22394 13.6734 4.9323 15.0257 4.56996C15.895 4.33702 16.7644 4.10408 17.5371 3.89703C17.7303 3.84526 18.046 3.86421 18.2391 3.81245C18.6514 3.80551 19.1224 4.40401 18.9361 4.86803C18.5895 5.89265 17.972 6.67926 17.258 7.49176C16.8527 7.91094 16.4215 8.23354 16.0162 8.65273C15.7781 8.92356 15.4435 9.22027 15.2055 9.4911C14.8002 9.91029 14.833 10.4191 15.2263 10.7279C15.8198 11.3971 16.4132 12.0663 17.0773 12.613C17.1998 12.6837 17.374 12.9476 17.3999 13.0442ZM11.4643 10.5971C11.4125 10.4039 11.3867 10.3073 11.2383 10.14C10.7932 9.6381 10.2257 9.06548 9.78061 8.56357C9.4839 8.22896 8.94917 8.16518 8.68528 8.33942C8.32479 8.53954 8.08678 8.81037 7.99712 9.24851C7.97817 9.56417 7.95922 9.87983 8.03687 10.1696C8.06968 10.6785 8.3664 11.0131 8.83041 11.1993C9.26855 11.289 9.70668 11.3786 10.2414 11.4424C10.4605 11.4872 10.7244 11.313 10.9176 11.2612C11.2332 11.2802 11.5161 10.7903 11.4643 10.5971ZM13.6304 6.70379C13.4373 6.75555 12.8836 7.00743 12.3558 7.35591C12.2592 7.38179 12.2144 7.60086 12.1437 7.72333C12.3248 8.39948 13.1304 8.70127 13.5357 8.28208C13.8703 7.98537 14.179 7.59207 14.3912 7.22464C14.4619 7.10217 14.4101 6.90898 14.4808 6.78651C14.6481 6.63815 14.3066 6.52261 13.6304 6.70379ZM6.31021 9.90757C6.25845 9.71438 5.98762 9.47637 5.79443 9.52813C5.40806 9.63166 5.14417 9.8059 4.83544 10.1992C4.66814 10.3476 4.86826 10.7081 5.08732 10.7529C5.30639 10.7977 5.52546 10.8425 5.81524 10.7649C6.1309 10.7838 6.34303 10.4164 6.31021 9.90757ZM9.23251 13.4727C9.25146 13.157 9.12899 13.0863 8.9358 13.1381C8.52355 13.145 8.35624 13.2934 8.3373 13.609C8.36318 13.7056 8.41494 13.8988 8.53742 13.9695C8.65989 14.0402 8.85308 13.9885 8.94967 13.9626C9.11697 13.8142 9.1618 13.5952 9.23251 13.4727Z" fill="black"/>
</symbol>
<symbol id="icon-def-star-half" viewBox="0 0 24 24"><path d="M22.24,9.21A.27.27,0,0,0,22,9l-6.78-1-3-6.14a.25.25,0,0,0-.44,0l-3,6.14L2,9a.27.27,0,0,0-.2.17.26.26,0,0,0,.07.26l4.9,4.78L5.57,21a.27.27,0,0,0,.1.24.24.24,0,0,0,.27,0L12,18.07l6.06,3.19.12,0a.23.23,0,0,0,.15-.05.27.27,0,0,0,.1-.24l-1.16-6.75,4.9-4.78A.26.26,0,0,0,22.24,9.21ZM16.83,14a.27.27,0,0,0-.08.22l1.1,6.38-5.73-3a.27.27,0,0,0-.12,0h0V2.64l0-.05,2.87,5.8a.22.22,0,0,0,.18.14l6.41.93Z" /></symbol>
<symbol id="icon-def-truck" viewBox="0 0 24 24"><rect x="1" y="3" width="15" height="13"></rect><polygon points="16 8 20 8 23 11 23 16 16 16 16 8"></polygon><circle cx="5.5" cy="18.5" r="2.5"></circle><circle cx="18.5" cy="18.5" r="2.5"></circle></symbol>
<symbol id="icon-def-twitter" viewBox="0 0 30 30"><path d="M15,0C6.7213,0,0,6.7213,0,15s6.7213,15,15,15,15-6.7213,15-15S23.2787,0,15,0Zm7.6175,12.247c.0075,.1497,.0075,.3069,.0075,.4641,0,4.7667-3.6294,10.267-10.267,10.267-1.958,.0049-3.8749-.5621-5.5151-1.6313,.2854,.0363,.5729,.0538,.8605,.0524,1.6246,.0027,3.2031-.5402,4.4825-1.5416-1.5436-.0278-2.898-1.0361-3.3674-2.5069,.2242,.045,.4523,.0676,.681,.0674,.321,.0002,.6406-.0426,.9503-.1272-1.6538-.3368-2.896-1.7885-2.896-3.5396v-.0449c.4996,.2792,1.0593,.4332,1.6314,.449-1.5866-1.0555-2.0782-3.1631-1.1225-4.8118,1.7809,2.1852,4.4376,3.6219,7.4383,3.7716-.0668-.2692-.0995-.5458-.0973-.8231,.002-1.994,1.6201-3.6089,3.6141-3.6069,.9949,.001,1.9454,.4125,2.6269,1.1374,.8071-.1608,1.5814-.4568,2.2899-.8755-.2678,.837-.8319,1.5475-1.5865,1.998,.7151-.0865,1.4136-.2782,2.0729-.5687-.486,.7252-1.0966,1.3586-1.8035,1.8708Z"/></symbol>
<symbol id="icon-def-x-circle" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></symbol>
<symbol id="icon-def-x" viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></symbol>
<symbol id="icon-def-youtube" viewBox="0 0 24 24"><path d="m10.5,14.25l3.9-2.25-3.9-2.25v4.5ZM12,0C5.38,0,0,5.38,0,12s5.38,12,12,12,12-5.38,12-12S18.62,0,12,0Zm7.19,15.61c-.17.65-.68,1.15-1.33,1.33-1.17.31-5.86.31-5.86.31,0,0-4.69,0-5.86-.31-.65-.17-1.15-.68-1.33-1.33-.31-1.17-.31-3.61-.31-3.61,0,0,0-2.44.31-3.61.17-.65.68-1.15,1.33-1.33,1.17-.31,5.86-.31,5.86-.31,0,0,4.69,0,5.86.31.65.17,1.15.68,1.33,1.33.31,1.17.31,3.61.31,3.61,0,0,0,2.44-.31,3.61Z"/></symbol>
<symbol id="icon-def-zoom-in" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></symbol>
<symbol id="icon-def-zoom-out" viewBox="0 0 24 24"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line></symbol>
<symbol id="icon-def-afterpay" viewBox="0 0 114 114">
<circle cx="57" cy="57" r="57" fill="#B2FCE4" stroke="none"></circle>
<path d="m88.718 38.468-21.63-12.134c-6.348-3.562-14.285.889-14.285 8.018v1.245c0 1.124.619 2.165 1.62 2.725l4.084 2.291c1.2.675 2.695-.167 2.695-1.512v-3.096c0-1.548 1.722-2.516 3.1-1.742l18.734 10.514a1.98 1.98 0 0 1 0 3.478L64.301 58.768c-1.377.774-3.099-.194-3.099-1.742V55.38c0-7.13-7.936-11.586-14.29-8.019l-21.63 12.135a9.132 9.132 0 0 0 0 16.037l21.63 12.134c6.349 3.562 14.29-.889 14.29-8.018v-1.245c0-1.124-.619-2.16-1.62-2.725L55.5 73.382c-1.2-.675-2.696.167-2.696 1.511v3.097c0 1.548-1.722 2.516-3.099 1.742L30.969 69.219a1.985 1.985 0 0 1 0-3.484l18.735-10.513c1.377-.774 3.1.193 3.1 1.742v1.647c0 7.13 7.935 11.586 14.284 8.018l21.63-12.134c6.35-3.552 6.35-12.464 0-16.026Z" fill="#000"></path>
</symbol>
<symbol id="icon-def-klarna" viewBox="0 0 100 40.4494">
<defs><style>
.klarna-svg { fill: black; stroke: none; }
.cls-1{fill:#ffb3c7; stroke:none;}
</style></defs>
<g id="Lager_2" data-name="Lager 2" >
<g id="Layer_1" data-name="Layer 1">
<rect class="cls-1" width="100" height="40.4494" rx="11.7384"/>
<path class="klarna-svg" d="M80.0772,17.7235a6.194,6.194,0,1,0,0,10.2373v.75h3.5145V16.9727H80.0772Zm-3.1964,8.1388a3.0243,3.0243,0,1,1,3.1849-3.02A3.1059,3.1059,0,0,1,76.8808,25.8623Z"/>
<rect class="klarna-svg" x="28.2027" y="11.7416" width="3.678" height="16.9694"/>
<path class="klarna-svg" d="M64.1542,16.6569a4.2694,4.2694,0,0,0-3.62,1.6383V16.9733h-3.5V28.711h3.5421V22.5424a2.4754,2.4754,0,0,1,2.6383-2.6591c1.5447,0,2.4325.9228,2.4325,2.6348V28.711h3.5107V21.2464C69.1577,18.5146,66.9857,16.6569,64.1542,16.6569Z"/>
<path class="klarna-svg" d="M43,17.7235a6.194,6.194,0,1,0,0,10.2373v.75h3.5145V16.9727H43Zm-3.1965,8.1388a3.0243,3.0243,0,1,1,3.1845-3.02A3.1058,3.1058,0,0,1,39.8034,25.8623Z"/>
<path class="klarna-svg" d="M51.9513,18.5017V16.9728H48.353V28.7111h3.606v-5.48c0-1.8491,2.0042-2.843,3.3949-2.843.014,0,.0276.0014.0417.0015V16.9735A4.3821,4.3821,0,0,0,51.9513,18.5017Z"/>
<path class="klarna-svg" d="M87.323,24.5476a2.2059,2.2059,0,1,0,2.206,2.2059A2.2057,2.2057,0,0,0,87.323,24.5476Z"/>
<path class="klarna-svg" d="M25.6675,11.7384H21.8558a9.7488,9.7488,0,0,1-3.9412,7.8678l-1.51,1.131,5.8513,7.9792h4.8106l-5.3837-7.342A13.5049,13.5049,0,0,0,25.6675,11.7384Z"/>
<rect class="klarna-svg" x="12.1204" y="11.7384" width="3.8185" height="16.9773"/>
</g>
</g>
</symbol>
</defs>
</svg>
<script>
window.addEventListener('DOMContentLoaded', (e) => {
_n.qsa('use')
.filter((use) => !_n.exists(use.href.baseVal))
.forEach((use) => use.parentNode.remove());
});
</script>
<svg class="hidden logos" xmlns="http://www.w3.org/2000/svg">
<defs>
<symbol id="logo-def-primary" viewBox="0 0 399 211" fill="none">
<path fill-rule="evenodd" clip-rule="evenodd" d="M151.966 1.42933C143.132 3.34633 133.413 6.63734 126.74 9.97234C115.864 15.4083 104.983 24.9583 77.7046 53.0103C49.5016 82.0133 40.3256 90.3703 30.8606 95.6753C23.7716 99.6483 11.0776 103.879 6.18464 103.898C4.08164 103.907 1.78464 104.279 1.08064 104.726C0.0646436 105.371 -0.141356 114.825 0.0806437 150.547L0.360642 195.556L3.34364 199.86C7.20464 205.429 12.0916 208.599 18.7706 209.866C22.2856 210.533 88.5856 210.883 211.234 210.883H398.334L384.361 196.883L370.388 182.883H276.585C179.538 182.883 169.468 182.536 156.361 178.738C147.655 176.215 134.205 169.195 127.793 163.826C109.834 148.79 100.33 122.665 102.907 95.4233C105.351 69.5903 121.064 47.2563 145.361 35.0813C153.179 31.1633 158.908 29.2943 169.45 27.2233C180.96 24.9623 197.058 26.3383 210.806 30.7603L220.252 33.7973L204.431 17.9533C189.094 2.59434 188.44 2.07533 183.069 0.996334C175.629 -0.497666 159.837 -0.277667 151.966 1.42933ZM218.249 51.1483C212.409 53.4653 208.336 57.3033 168.179 98.3303L127.997 139.383L130.309 143.383C133.866 149.537 143.4 157.088 152.279 160.785C167.172 166.984 164.645 166.847 263.805 166.866L354.25 166.883L296.924 110.133C265.395 78.9203 238.432 52.7533 237.005 51.9833C233.533 50.1093 222.145 49.6023 218.249 51.1483ZM223.922 69.0563C221.792 69.8443 217.007 74.1703 189.131 100.509C184.729 104.669 181.879 108.103 182.284 108.759C182.732 109.484 186.951 109.878 194.17 109.869L205.361 109.855L211.861 104.259C215.436 101.181 219.657 97.8493 221.242 96.8543C226.465 93.5753 226.861 94.5703 226.861 110.99C226.861 124.176 227.051 125.883 228.514 125.883C229.424 125.883 234.107 122.283 238.921 117.883L247.674 109.883H258.267C267.227 109.883 268.861 109.641 268.861 108.313C268.861 106.309 231.329 69.5853 228.456 68.7793C227.273 68.4473 225.233 68.5713 223.922 69.0563Z" fill="black"/>
</symbol>
</defs>
</svg>
<aside
data-modal="lightbox"
class="fixed bg-white z-50 modal modal-contained inset-0 w-screen h-[100dvh] max-w-screen-lg mx-auto lg:h-4/5 overflow-hidden top-1/2 transform -translate-y-1/2 transition-all ease-in-out duration-500"
tabindex="0"
neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}"
>
<div neptune-liquid="topic:lightbox" class="w-full h-full relative" style="user-select:none;">
<script type="liquid/template">
<div class="w-full h-full relative flex items-center justify-center" neptune-cursor="{selector: '.custom-cursor'}">
<img loading="lazy" onload="this.classList.remove('o-0')" {{'s'}}rc="{{ image }}" class="lightbox__image o-0 absolute max-w-none pointer-events-none user-select-none" style="transform: scale(1)" neptune-draggable />
<div class="lightbox__map absolute pointer-events-none bottom-2 left-2 lg:bottom-4 lg:left-4 z-5 w-1/4 lg:w-40 overflow-hidden border">
<img {{'s'}}rc="{{ image }}" class="relative" />
<div class="absolute top-0 left-0 w-full h-full">
<div class="border border-black absolute w-full h-full" style="transform: scale(0.2)" neptune-draggable neptune-draggable-reverse ></div>
</div>
</div>
<div class="absolute top-2 right-2 lg:top-4 lg:right-4">
<button class="btn-control" onclick="modal.close()">
<svg
class="icon icon-close"
style=""
width="20"
height="20"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-close"/>
</svg>
<span class="sr-only">close</span>
</button>
</div>
<div class="custom-cursor w-px h-px pointer-events-none">
<div class="custom-cursor top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 bg-black bg-opacity-10 near-black p-3 rounded-full z-20 absolute">
<svg
class="icon icon-move"
style=""
width="20"
height="20"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-move"/>
</svg>
<span class="sr-only">move</span>
</div>
</div>
</div>
</script>
</div>
</aside>
<aside
data-modal="PaymentModal"
class="fixed bg-white z-50 modal modal-center left-1/2 top-1/2 max-w-screen-lg transition-all ease-in-out duration-500"
tabindex="0"
neptune-engage="{
on:keyup,
which: 27,
targets:[{
selector:html,
attributes:[{
att:data-active-modal,
set:_remove
}]
},
{
selector:'[data-return-focus]',
attributes:[{
att:data-return-focus,
set:_remove
}],
focus:true
}]
}"
>
<div neptune-liquid="topic:PaymentModal" class="relative" style="user-select:none;">
<script type="liquid/template">
<a href="{{ link }}" target="_blank">
<img loading="lazy" onload="this.classList.remove('o-0')" {{'s'}}rc="{{ image }}"
class="object-contain w-full h-full transition-all pointer-events-none o-0 max-w-none user-select-none" />
</a>
<div class="absolute top-2 right-2 lg:top-4 lg:right-4">
<button class="p-3 bg-black rounded-full cursor-pointer bg-opacity-10 near-black" onclick="modal.close()">
<svg
class="icon icon-close"
style=""
width="20"
height="20"
fill="none"
stroke="currentColor"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-close"/>
</svg>
<span class="sr-only">close</span>
</button>
</div>
</script>
</div>
</aside>
<script type="text/javascript" id="5f059fdb2936">
(function () {
var merchantConfig = {
csp: false
};
var siteId = "5f059fdb2936";
function t(t,n){for(var e=t.split(""),r=0;r<e.length;++r)e[r]=String.fromCharCode(e[r].charCodeAt(0)+n);return e.join("")}function n(n){return t(n,-S).replace(/%SN%/g,siteId)}function e(){var t="no"+"op"+"fn",n="g"+"a",e="n"+"ame";return window[n]&&window[n][e]===t}function r(){return!(!navigator.brave||"function"!=typeof navigator.brave.isBrave)}function o(){return document.currentScript&&document.currentScript.src}function i(t){try{B.ex=t,e()&&-1===B.ex.indexOf(R.uB)&&(B.ex+=R.uB),r()&&-1===B.ex.indexOf(R.uBr)&&(B.ex+=R.uBr),o()&&-1===B.ex.indexOf(R.nIL)&&(B.ex+=R.nIL),window.ftr__snp_cwc||(B.ex+=R.s),F(B)}catch(t){}}function c(t,n){function e(o){try{o.blockedURI===t&&(n(),document.removeEventListener(r,e))}catch(t){document.removeEventListener(r,e)}}var r="securitypolicyviolation";document.addEventListener(r,e),setTimeout(function(){document.removeEventListener(r,e)},2*60*1e3)}function a(t,n,e,r){var o=!1;t="https://"+t,c(t,function(){r(!0),o=!0});var i=document.createElement("script");i.onerror=function(){if(!o)try{r(!1),o=!0}catch(t){}},i.onload=e,i.type="text/javascript",i.id="ftr__script",i.async=!0,i.src=t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(i,a)}function u(t,n,e,r){var o=!1,i=new XMLHttpRequest;if(c("https:"+t,function(){e(new Error("CSP Violation"),!0),o=!0}),"withCredentials"in i)i.open("GET",t,!0);else{if("undefined"==typeof XDomainRequest)return;i=new XDomainRequest,i.open("GET",t)}Object.keys(r).forEach(function(t){i.setRequestHeader(t,r[t])}),i.onload=function(){"function"==typeof n&&n(i)},i.onerror=function(t){if("function"==typeof e&&!o)try{e(t,!1),o=!0}catch(t){}},i.onprogress=function(){},i.ontimeout=function(){"function"==typeof e&&e("tim"+"eo"+"ut",!1)},setTimeout(function(){i.send()},0)}function d(t,siteId,n){function e(t){var n=t.toString(16);return n.length%2?"0"+n:n}function r(t){if(t<=0)return"";for(var n="0123456789abcdef",e="",r=0;r<t;r++)e+=n[Math.floor(Math.random()*n.length)];return e}function o(t){for(var n="",r=0;r<t.length;r++)n+=e(t.charCodeAt(r));return n}function i(t){for(var n=t.split(""),e=0;e<n.length;++e)n[e]=String.fromCharCode(255^n[e].charCodeAt(0));return n.join("")}n=n?"1":"0";var c=[];return c.push(t),c.push(siteId),c.push(n),function(t){var n=40,e="";return t.length<n/2&&(e=","+r(n/2-t.length-1)),o(i(t+e))}(c.join(","))}function f(){function t(){C&&(Q(R.dUAL),setTimeout(s,E,R.dUAL))}function n(t,n){i(n?R.uAS+R.uF+R.cP:R.uAS+R.uF)}window.ftr__fdad(t,n)}function s(t){try{var n=t===R.uDF?q:C;if(!n)return;a(n,void 0,function(){try{X(),i(t+R.uS)}catch(t){}},function(n){try{X(),B.td=1*new Date-B.ts,i(n?t+R.uF+R.cP:t+R.uF),t===R.uDF&&f()}catch(t){i(R.eUoe)}})}catch(n){i(t+R.eTlu)}}var h="22g6otrwjeq6qsu1forxgiurqw1qhw2vwdwxv",v="fort",w="erTo",l="ken";window.ftr__config={m:merchantConfig,s:"15",si:siteId};var m=!1,p=v+w+l,g=10,_={write:function(t,n,e,r){void 0===r&&(r=!0);var o,i;if(e?(o=new Date,o.setTime(o.getTime()+24*e*60*60*1e3),i="; expires="+o.toGMTString()):i="",!r)return void(document.cookie=escape(t)+"="+escape(n)+i+"; path=/");for(var c=1,a=document.domain.split("."),u=g,d=!0;d&&a.length>=c&&u>0;){var f=a.slice(-c).join(".");document.cookie=escape(t)+"="+escape(n)+i+"; path=/; domain="+f;var s=_.read(t);null!=s&&s==n||(f="."+f,document.cookie=escape(t)+"="+escape(n)+i+"; path=/; domain="+f),d=-1===document.cookie.indexOf(t+"="+n),c++,u--}},read:function(t){var n=null;try{for(var e=escape(t)+"=",r=document.cookie.split(";"),o=32,i=0;i<r.length;i++){for(var c=r[i];c.charCodeAt(0)===o;)c=c.substring(1,c.length);0===c.indexOf(e)&&(n=unescape(c.substring(e.length,c.length)))}}finally{return n}}},y=window.ftr__config.s;y+="ck";var T=function(t){if(document.head){var n=function(){var n=document.createElement("link");return n.setAttribute("rel","pre"+"con"+"nect"),n.setAttribute("cros"+"sori"+"gin","anonymous"),n.onload=function(){document.head.removeChild(n)},n.onerror=function(t){document.head.removeChild(n)},n.setAttribute("href",t),document.head.appendChild(n),n}();setTimeout(function(){document.head.removeChild(n)},3e3)}},S=3,x=n(h||"22g6otrwjeq6qsu1forxgiurqw1qhw2vwdwxv"),A=t("[0Uhtxhvw0LG",-S),L=t("[0Fruuhodwlrq0LG",-S),k=t("Li0Qrqh0Pdwfk",-S),C,U="fgq71iruwhu1frp",q=n("(VQ(1"+U+"2vq2(VQ(2vfulsw1mv"),D=n("(VQ(1"+U+"2vqV2(VQ(2vfulsw1mv"),E=10;window.ftr__startScriptLoad=1*new Date;var b=function(t){var n="ft"+"r:tok"+"enR"+"eady";window.ftr__tt&&clearTimeout(window.ftr__tt),window.ftr__tt=setTimeout(function(){try{delete window.ftr__tt,t+="_tt";var e=document.createEvent("Event");e.initEvent(n,!1,!1),e.detail=t,document.dispatchEvent(e)}catch(t){}},1e3)},F=function(t){var n=function(t){return t||""},e=n(t.id)+"_"+n(t.ts)+"_"+n(t.td)+"_"+n(t.ex)+"_"+n(y);_.write(p,e,400,!0),b(e),window.ftr__gt=e},I=function(){var t=_.read(p)||"",n=t.split("_"),e=function(t){return n[t]||void 0};return{id:e(0),ts:e(1),td:e(2),ex:e(3),vr:e(4)}},V=function(){for(var t={},n="fgu",e=[],r=0;r<256;r++)e[r]=(r<16?"0":"")+r.toString(16);var o=function(t,n,r,o,i){var c=i?"-":"";return e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]+c+e[255&n]+e[n>>8&255]+c+e[n>>16&15|64]+e[n>>24&255]+c+e[63&r|128]+e[r>>8&255]+c+e[r>>16&255]+e[r>>24&255]+e[255&o]+e[o>>8&255]+e[o>>16&255]+e[o>>24&255]},i=function(){if(window.Uint32Array&&window.crypto&&window.crypto.getRandomValues){var t=new window.Uint32Array(4);return window.crypto.getRandomValues(t),{d0:t[0],d1:t[1],d2:t[2],d3:t[3]}}return{d0:4294967296*Math.random()>>>0,d1:4294967296*Math.random()>>>0,d2:4294967296*Math.random()>>>0,d3:4294967296*Math.random()>>>0}},c=function(){var t="",n=function(t,n){for(var e="",r=t;r>0;--r)e+=n.charAt(1e3*Math.random()%n.length);return e};return t+=n(2,"0123456789"),t+=n(1,"123456789"),t+=n(8,"0123456789")};return t.safeGenerateNoDash=function(){try{var t=i();return o(t.d0,t.d1,t.d2,t.d3,!1)}catch(t){try{return n+c()}catch(t){}}},t.isValidNumericalToken=function(t){return t&&t.toString().length<=11&&t.length>=9&&parseInt(t,10).toString().length<=11&&parseInt(t,10).toString().length>=9},t.isValidUUIDToken=function(t){return t&&32===t.toString().length&&/^[a-z0-9]+$/.test(t)},t.isValidFGUToken=function(t){return 0==t.indexOf(n)&&t.length>=12},t}(),R={uDF:"UDF",dUAL:"dUAL",uAS:"UAS",mLd:"1",eTlu:"2",eUoe:"3",uS:"4",uF:"9",tmos:["T5","T10","T15","T30","T60"],tmosSecs:[5,10,15,30,60],bIR:"43",uB:"u",uBr:"b",cP:"c",nIL:"i",s:"s"};try{var B=I();try{B.id&&(V.isValidNumericalToken(B.id)||V.isValidUUIDToken(B.id)||V.isValidFGUToken(B.id))?window.ftr__ncd=!1:(B.id=V.safeGenerateNoDash(),window.ftr__ncd=!0),B.ts=window.ftr__startScriptLoad,F(B),window.ftr__snp_cwc=!!_.read(p),window.ftr__snp_cwc||(q=D);for(var G="for"+"ter"+".co"+"m",M="ht"+"tps://c"+"dn9."+G,O="ht"+"tps://"+B.id+"-"+siteId+".cd"+"n."+G,j="http"+"s://cd"+"n3."+G,N=[M,O,j],H=0;H<N.length;H++)T(N[H]);var P=new Array(R.tmosSecs.length),Q=function(t){for(var n=0;n<R.tmosSecs.length;n++)P[n]=setTimeout(i,1e3*R.tmosSecs[n],t+R.tmos[n])},X=function(){for(var t=0;t<R.tmosSecs.length;t++)clearTimeout(P[t])};window.ftr__fdad=function(n,e){if(!m){m=!0;var r={};r[k]=d(window.ftr__config.s,siteId,window.ftr__config.m.csp),u(x,function(e){try{var r=e.getAllResponseHeaders().toLowerCase();if(r.indexOf(L.toLowerCase())>=0){var o=e.getResponseHeader(L);window.ftr__altd2=t(atob(o),-S-1)}if(r.indexOf(A.toLowerCase())<0)return;var i=e.getResponseHeader(A),c=t(atob(i),-S-1);if(c){var a=c.split(":");if(a&&2===a.length){for(var u=a[0],d=a[1],f="",s=0,h=0;s<20;++s)f+=s%3>0&&h<12?siteId.charAt(h++):B.id.charAt(s);var v=d.split(",");if(v.length>1){var w=v[0],l=v[1];C=u+"/"+w+"."+f+"."+l}}}n()}catch(t){}},function(t,n){e&&e(t,n)},r)}},Q(R.uDF),setTimeout(s,E,R.uDF)}catch(t){i(R.mLd)}}catch(t){}})();
</script>
<script>
console.log(Array.from(document.querySelectorAll('img[src*="image.src"]')).map(el=>el.closest('[neptune-liquid]')))
</script>
<style> .product-card__badges--image-overlay .product-badge span {padding: 0 0.3rem; font-weight: 600;} .product-card__badges--image-overlay .product-badge.top-left {top: 0.4rem;} .cart-carousel__arrows {padding: 0 10px;} .announcement-bar__menu-left .tab-link {color: transparent;} .tab-link--quiksilver {background: no-repeat center/100% url(https://cdn.shopify.com/s/files/1/0746/4838/7900/files/quik-wordmark.png?v=1701795607); width: 100px; margin: 1px 0 0 1.75rem;} .tab-link--roxy {background: no-repeat center/100% url(https://cdn.shopify.com/s/files/1/0746/4838/7900/files/roxy-wordmark.png?v=1701795757); width: 56px; margin: 0 0 0 0.75rem; opacity: 0.5;} .tab-link--roxy:hover {opacity: 1;} .sizes-table-row,.sizes-table-header,.sizes-table-cell {white-space: nowrap;} .sizes-table-headline {text-align: center;} [data-modal="size-chart"] {overflow-x: auto;} .sizes-table-container {overflow-x: scroll;} .pp-title-description {text-align: center;} .pp-digit-label.pp-seconds-label {padding-right: 0; padding-left: 4px;} .pp-digit-label.pp-days-label {padding-right: 10px;} @media screen and (max-width: 1023px) {.cart-carousel__arrows {padding: 0 5px; } .tab-link--quiksilver {margin: 1px 0 0 1rem; } .sizes-table-container {margin-top: -0.5rem; }} .announcement__slide--button:not(.geo-modal__inputs .field--select):after {display: none;} .modal-open,.no-scroll,[data-active-modal-mobile],[data-active-modal] {overflow: auto;} </style>
<div id="shopify-block-AcUN4MUhVZ3JoamdUc__15713456532672536259" class="shopify-block shopify-app-block"><script id="authentic-global-vars">
window.authenticPopupSettings = {"css_selectors":"","css_selectors_product":""};
window.authenticBrands = {"data":[{"id":64,"name":"Quiksilver O5","brand_url":"https://www.quiksilver.com/","brand_logo_url":"https://storage.googleapis.com/authentic-storage-bucket/1771971960212_upscaled-1745434213096_Quiksilver_PDP_Modal.jpg"},{"id":57,"name":"Reebok","brand_url":"https://reebok.com","brand_logo_url":"https://storage.googleapis.com/authentic-storage-bucket/1737159199118_480x400_evergreen-landscape.jpg"},{"id":58,"name":"Champion","brand_url":"https://www.champion.com/","brand_logo_url":"https://storage.googleapis.com/authentic-storage-bucket/1771971826932_upscaled-1738078453036_Champion_PDP_Modal.jpg"},{"id":60,"name":"Roxy","brand_url":"https://www.roxy.com/","brand_logo_url":"https://storage.googleapis.com/authentic-storage-bucket/1782336136201_Roxy_PDP_Modal.png"},{"id":33,"name":"DC Shoes","brand_url":"https://www.dcshoes.com","brand_logo_url":"https://storage.googleapis.com/authentic-storage-bucket/1771970863906_1719411275509_DC_edited.png"}]};
window.shopName = "Quiksilver";
window.shopPayModalSettings = {"data":{"title":"Save With Authentic Membership","description":"Log in or sign up to activate 10% off and free shipping","logo_src":"https://storage.googleapis.com/authentic-storage-bucket/authentic-rounded.png"}};
window.authenticSubProductId = "gid:\/\/shopify\/Product\/8097932247177";
window.additionalPaymentButtonSelectors = "";
window.additionalPaymentButtonSelectorsProduct = "";
</script>
<script src="https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-theme-bridge.js"></script>
<script async src="https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/ua-parser.min.js"></script>
<script async src="https://cdn.shopify.com/extensions/01a0165b-a884-7290-b594-69ed6f6d8894/authentic-membership-1312/assets/authentic-analytics.js"></script>
</div><div id="shopify-block-AaFBMOWdKK2xZa0lYN__12090905205488370668" class="shopify-block shopify-app-block">
<link rel='stylesheet' href='https://cdn.shopify.com/extensions/019ffd96-26ae-78a6-af84-6bfa37af005a/expertvoice-58/assets/expertvoice.css'>
<!-- BEGIN app snippet: ev-price-banner-functions --><script>
/*
* Best-effort: capture ev_referral to sessionStorage if present.
* Some themes/scripts overwrite the URL (e.g. adding variant), which strips ev_referral
* before our activate script runs. If this inline runs first, sessionStorage preserves it.
* Timing depends on block placement and theme; stores that don't modify the URL
* will have ev_referral in the URL when the activate script runs - no fallback needed.
*/
(function () {
var m = location.search.match(/[?&]ev_referral=([^&\s#]+)/);
if (m) try { sessionStorage.setItem('EV.ev_referral', m[1]); } catch (e) {}
})();
/*
* If-else block is needed here to prevent multiple inclusions of the files.
*/
if (window.expertvoiceSharedLoaded) {
// Already detected load, skipping...
} else {
/*
* Set window.expertvoiceSharedLoaded to true to prevent multiple
* inclusions of of files.
*/
window.expertvoiceSharedLoaded = true;
/*
* Set liquid variables to be used in the scripts.
*/
window.ExpertVoiceLiquidVariables = {
// Shopify store name is used to get ExpertVoice Prices from the API.
shopifyStoreName: 'quiksilver-us-o5.myshopify.com',
// Product ID is used to get ExpertVoice Prices from the API.
productId: '',
// Locale ISO code is used to get ExpertVoice Prices from the API.
localeIsoCode: 'en',
// Locale country code is used to get ExpertVoice Prices from the API.
localeCountryCode: 'US',
// Shop currency code is used for currency formatting in preview mode.
shopCurrencyCode: 'USD',
availableCountries: ["Canada","United States"],
availableLanguages: [{"shop_locale":{"locale":"en","enabled":true,"primary":true,"published":true}}],
};
/*
* Load script a given script.
*/
function loadExpertVoiceScript(src) {
return new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = src;
script.onload = resolve;
script.onerror = reject;
document.head.appendChild(script);
});
}
/*
* Load scripts sequentially and check dependencies.
*/
async function loadAndInitializeExpertVoice() {
try {
await loadExpertVoiceScript('https://cdn.shopify.com/extensions/019ffd96-26ae-78a6-af84-6bfa37af005a/expertvoice-58/assets/expertvoice-extension-env.js');
await loadExpertVoiceScript('https://cdn.shopify.com/extensions/019ffd96-26ae-78a6-af84-6bfa37af005a/expertvoice-58/assets/expertvoice-toggle-price-block.js');
await loadExpertVoiceScript('https://cdn.shopify.com/extensions/019ffd96-26ae-78a6-af84-6bfa37af005a/expertvoice-58/assets/expertvoice-activate-discount.js');
// Initialize when DOM is loaded
document.addEventListener('DOMContentLoaded', function () {
checkEVDependencies();
});
// Also initialize if page is already loaded
if (document.readyState === 'complete' || document.readyState === 'interactive') {
checkEVDependencies();
}
} catch (error) {
console.error('ExpertVoice: Error loading scripts:', error);
}
}
loadAndInitializeExpertVoice();
}
</script>
<!-- END app snippet -->
<!-- BEGIN app snippet: expertvoice-embed-block --><div
class='expertvoice-block light-theme'
id='expertvoice-block'
data-currency-formatting='symbol_only'
style='display: none'
>
<div class='expertvoice-logo'>
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.70474 15.9999L14.7327 7.6339C15.3037 7.10477 14.8993 6.19998 14.0917 6.19998H11.5862C11.3605 6.19998 11.2145 5.97917 11.317 5.79286L13.4024 2H3.51078C2.67642 2 2 2.62681 2 3.40002V9C2 9.77321 2.67642 10.4 3.51078 10.4H8.29071C8.51633 10.4 8.66236 10.6208 8.55991 10.8071L5.70474 15.9999Z" fill="#FC693B"/>
</svg>
</div>
<div class='expertvoice-active-discount-details expertvoice-details' style='display: none'>
<p class='expertvoice-title'>Your ExpertVoice deal.</p>
<div class='expertvoice-price-group'>
<p class='expertvoice-price'>$[Deal Price]</p>
<p class='expertvoice-original-price'>$[Original Price]</p>
<p class='expertvoice-description'>Discount applied at checkout.</p>
</div>
</div>
<div class='expertvoice-on-sale-details expertvoice-details' style='display: none'>
<p class='expertvoice-description'>On sale now — lower than your ExpertVoice discount.</p>
</div>
<div class='expertvoice-ineligible-details expertvoice-details' style='display: none'>
<p class='expertvoice-description'>Not eligible for ExpertVoice discount.</p>
</div>
<div class='expertvoice-fallback-details expertvoice-details' style='display: none'>
<p class='expertvoice-description'>You’ll see your ExpertVoice discount at checkout.</p>
</div>
</div>
<!-- END app snippet -->
<script>
window.expertVoiceGlobalGivenSelector = ``;
</script>
</div><div id="shopify-block-ARmdBZTc5UE1PeWNOL__14928883602818719019" class="shopify-block shopify-app-block">
<link rel="preconnect" href="https://api.loopreturns.com" crossorigin>
<link rel="dns-prefetch" href="https://api.loopreturns.com">
<div
id='loop-storefront-data'
data-order-protection-feature='true'
data-is-b2b=''
data-customer-tags=''
>
</div>
</div><div id="shopify-block-ATEE3ZkFQcUtzdnBXZ__6990797075511561578" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: nosto-tagging -->
<div class="nosto_market" style="display:none">
<span class="id">47299264649</span>
<span class="locale">en</span>
<span class="b2b">false</span>
</div>
<div class="nosto_shopify_shop" style="display: none">
<span class="id">68768563337</span>
</div>
<div class="nosto_page_type" style="display:none">category</div>
<div class="nosto_category" translate="no" style="display:none">
<span class="category_string">Men's Boardshorts and Swim Shorts</span>
<span class="id">301714768009</span>
</div>
<div class="nosto_cart" style="display:none">
</div>
<!-- END app snippet -->
</div><div id="shopify-block-AR2FMSW9nNERWcU9kV__6174324309569838175" class="shopify-block shopify-app-block">
<div class="smile-shopify-init"
data-channel-key="channel_6oDe9d49zE0u4hJqFHEoB44N"
></div>
</div><script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
</body>
<!-- v2.0 -->
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 179
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 179 слишком много. Проведите оптимизацию сайта!
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 10.
Показать первые 100 внутренних ссылок
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| / |
<span class="logo-link--span">
<svg class="logo " style="" width="130" height="40" fill="none" stroke="currentColor" stroke-width="0" stroke-linecap="round" stroke-linejoin="round">
<use xlink:href="#logo-def-primary"></use>
</svg>
</span>
<span class="sr-only">Quiksilver Logo</span>
|
|
Анализировать url |
| /collections/mens-collections-new-arrivals |
<span class="link__text">New</span>
|
|
Анализировать url |
| /pages/get-it-now |
<span class="link__text">Trending</span>
|
|
Анализировать url |
| /collections/mens |
<span class="link__text">Men's</span>
|
|
Анализировать url |
| /collections/surf |
<span class="link__text">Surf</span>
|
|
Анализировать url |
| /collections/mens-waterman |
<span class="link__text">Waterman</span>
|
|
Анализировать url |
| /collections/womens |
<span class="link__text">Women's</span>
|
|
Анализировать url |
| /collections/boys-clothing |
<span class="link__text">Boys</span>
|
|
Анализировать url |
| /collections/mens-snow |
<span class="link__text">Snow</span>
|
|
Анализировать url |
| /collections/sale |
<span class="link__text">Sale</span>
|
|
Анализировать url |
| /pages/freedom-benefits |
<span class="link__text">Rewards</span>
|
|
Анализировать url |
| /pages/swym-share-wishlist |
<div class="tools__button tools__wishlist empty:hidden" neptune-liquid="{topic:Wishlist,source:wishlist}">
<template>
{%- if lists[0].items.size > 0 -%}
<svg class="icon wish icon-heart-filled" style="" width="20" height="20" fill="#000000" stroke="#000000" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
<use xlink:href="#icon-def-heart-filled"></use>
</svg>
<span class="sr-only">heart-filled</span>
<span class="link__text">Wishlist</span>
{%- endif -%}
</template>
</div>
|
|
Анализировать url |
| /pages/swym-share-wishlist |
<script type="liquid/template">
{%- if lists[0].items.size > 0 -%}
<svg
class="icon wish icon-heart-filled"
style=""
width="20"
height="20"
fill="#000000"
stroke="#000000"
stroke-width="1"
stroke-linecap="round"
stroke-linejoin="round"
>
<use xlink:href="#icon-def-heart-filled"/>
</svg>
<span class="sr-only">heart-filled</span>
{%- endif -%}
</script>
|
|
Анализировать url |
| /collections/mens-collections-new-arrivals |
<span>New Arrivals</span>
|
|
Анализировать url |
| /collections/young-guns |
<span>Young Guns</span>
|
|
Анализировать url |
| /collections/mens-hawaii-collection |
<span>Hawaii</span>
|
|
Анализировать url |
| /collections/saltwater |
<span>Saltwater</span>
|
|
Анализировать url |
| /collections/mens-collections-mercury |
<span>Mercury</span>
|
|
Анализировать url |
| /collections/mens-collections-best-sellers |
<span>Best Sellers</span>
|
|
Анализировать url |
| /pages/athlete-picks |
<span>Athlete Picks</span>
|
|
Анализировать url |
| /pages/young-guns |
Young Guns Movie
|
|
Анализировать url |
| /pages/stab-high |
Stab High
|
|
Анализировать url |
| /blogs/news/watch-king-of-the-groms-2026 |
King Of The Groms
|
|
Анализировать url |
| /pages/scored |
Scored
|
|
Анализировать url |
| /pages/washed |
Washed
|
|
Анализировать url |
| /pages/get-it-now |
Get It Now
|
|
Анализировать url |
| /collections/mens-collections-new-arrivals |
New Arrivals
|
|
Анализировать url |
| /collections/mens-collections-mercury |
Mercury
|
|
Анализировать url |
| /collections/young-guns |
Young Guns
|
|
Анализировать url |
| /collections/mens-hawaii-collection |
Hawaii
|
|
Анализировать url |
| /collections/saltwater |
Saltwater
|
|
Анализировать url |
| /collections/faherty-x-quiksilver-collection |
Faherty x Quiksilver
|
|
Анализировать url |
| /collections/pacifico |
Pacifico Collection
|
|
Анализировать url |
| /collections/mens-collections-best-sellers |
Best Sellers
|
|
Анализировать url |
| /pages/athlete-picks |
Athlete Picks
|
|
Анализировать url |
| /pages/young-guns |
Young Guns Movie
|
|
Анализировать url |
| /blogs/news/watch-king-of-the-groms-2026 |
King Of The Groms
|
|
Анализировать url |
| /pages/washed |
Washed Movie
|
|
Анализировать url |
| /pages/get-it-now |
Get It Now
|
|
Анализировать url |
| /collections/mens-clothing |
<span>All Men's Clothing</span>
|
|
Анализировать url |
| /collections/mens-clothing-tees |
<span>Tees & Tanks</span>
|
|
Анализировать url |
| /collections/mens-clothing-shirts-polos |
<span>Shirts & Polos</span>
|
|
Анализировать url |
| /collections/mens-clothing-boardshorts |
<span>Boardshorts</span>
|
|
Анализировать url |
| /collections/mens-clothing-shorts-amphibians |
<span>Shorts & Amphibians</span>
|
|
Анализировать url |
| /collections/mens-clothing-pants |
<span>Pants</span>
|
|
Анализировать url |
| /collections/mens-clothing-sweatshirts-hoodies |
<span>Sweatshirts & Hoodies</span>
|
|
Анализировать url |
| /collections/mens-clothing-jackets |
<span>Jackets</span>
|
|
Анализировать url |
| /collections/mens-accessories |
<span>Accessories</span>
|
|
Анализировать url |
| /collections/mens-accessories-hats |
Hats
|
|
Анализировать url |
| /collections/mens-accessories-backpacks-bags |
Backpacks & Wallets
|
|
Анализировать url |
| /collections/mens-accessories-wallets |
Wallets
|
|
Анализировать url |
| /collections/mens-accessories-water-bottles |
Water Bottles & Coolers
|
|
Анализировать url |
| /collections/fragrances |
Fragrances
|
|
Анализировать url |
| /collections/sale |
<span>Sale</span>
|
|
Анализировать url |
| /collections/mens-clothing |
<span>All Mens Clothing</span>
|
|
Анализировать url |
| /collections/mens-tops |
<span>Tops</span>
|
|
Анализировать url |
| /collections/mens-clothing-tees |
Tees
|
|
Анализировать url |
| /collections/mens-clothing-shirts-polos |
Shirts & Polos
|
|
Анализировать url |
| /collections/mens-clothing-sweatshirts-hoodies |
Sweatshirts & Hoodies
|
|
Анализировать url |
| /collections/mens-clothing-jackets |
Jackets
|
|
Анализировать url |
| /collections/mens-bottoms |
<span>Bottoms</span>
|
|
Анализировать url |
| /collections/mens-clothing-shorts-amphibians |
Shorts & Amphibians
|
|
Анализировать url |
| /collections/mens-clothing-pants |
Pants
|
|
Анализировать url |
| /collections/surf-mens |
<span>Surf</span>
|
|
Анализировать url |
| /collections/mens-surf-wetsuits |
Wetsuits
|
|
Анализировать url |
| /collections/mens-clothing-boardshorts |
Boardshorts
|
|
Анализировать url |
| /collections/mens-clothing-rashguards-surf-tees |
Rashguards
|
|
Анализировать url |
| /collections/life-vests |
Life Vests
|
|
Анализировать url |
| /collections/surf-mens |
Shop All
|
|
Анализировать url |
| /collections/mens-snow |
<span>Snow</span>
|
|
Анализировать url |
| /collections/mens-snow |
Shop All
|
|
Анализировать url |
| /collections/mens-accessories |
<span>Accessories</span>
|
|
Анализировать url |
| /collections/mens-accessories-hats |
Hats
|
|
Анализировать url |
| /collections/mens-accessories-backpacks-bags |
Backpacks & Bags
|
|
Анализировать url |
| /collections/mens-accessories-wallets |
Wallets
|
|
Анализировать url |
| /collections/mens-accessories-water-bottles |
Water Bottles & Coolers
|
|
Анализировать url |
| /collections/fragrances |
Fragrances
|
|
Анализировать url |
| /collections/sale-mens |
<span>Sale</span>
|
|
Анализировать url |
| /collections/mens-accessories-belts |
Belts
|
|
Анализировать url |
| /collections/mens-accessories-water-bottles |
Water Bottles
|
|
Анализировать url |
| /collections/mens-accessories-towels |
Towels
|
|
Анализировать url |
| /collections/womens |
<span>All Women's Clothing</span>
|
|
Анализировать url |
| /collections/womens-tees |
<span>Tees </span>
|
|
Анализировать url |
| /collections/womens-swimwear |
<span>Swim</span>
|
|
Анализировать url |
| /collections/womens-shorts |
<span>Shorts</span>
|
|
Анализировать url |
| /collections/womens-pants |
<span>Pants</span>
|
|
Анализировать url |
| /collections/womens-sweatshirts-and-hoodies |
<span>Sweatshirts & Hoodies</span>
|
|
Анализировать url |
| /collections/womens-skirts |
<span>Dresses & Skirts</span>
|
|
Анализировать url |
| /collections/womens-sale-clothing |
<span>Women's Sale</span>
|
|
Анализировать url |
| /collections/womens |
<span>All Womens Clothing</span>
|
|
Анализировать url |
| /collections/womens-sale-clothing |
<span>Women's Sale</span>
|
|
Анализировать url |
| /collections/womens-tops |
<span>Tops</span>
|
|
Анализировать url |
| /collections/womens-tees |
Tees
|
|
Анализировать url |
| /collections/womens-sweatshirts-and-hoodies |
Sweatshirts & Hoodies
|
|
Анализировать url |
| /collections/womens-bottoms |
<span>Bottoms</span>
|
|
Анализировать url |
| /collections/womens-shorts |
Shorts
|
|
Анализировать url |
| /collections/womens-pants |
Pants
|
|
Анализировать url |
| /collections/womens-skirts |
Dresses & Skirts
|
|
Анализировать url |
| /collections/womens-swimwear |
<span>Swim</span>
|
|
Анализировать url |
| /collections/womens-swimwear |
Shop All
|
|
Анализировать url |
Внешние ссылки
Кол-во: 32
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 32 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| quiksilver.com |
SIGN UP
|
Анализировать url |
| quiksilver.com |
SIGN UP
|
Анализировать url |
| quiksilver.com |
<svg class="icon inline tools__icon icon-account" style="" width="24" height="20" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
<use xlink:href="#icon-def-account"></use>
</svg>
<span class="sr-only">Log in</span>
Log in
|
Анализировать url |
| quiksilver.com |
<div class="flex">
<svg class="icon tools__icon icon-account" style="" width="24" height="20" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
<use xlink:href="#icon-def-account"></use>
</svg>
<span class="sr-only">Log in</span>
</div>
|
Анализировать url |
| quiksilver.com |
Scored Movie
|
Анализировать url |
| quiksilver.com |
Long Length (20"-21")
|
Анализировать url |
| quiksilver.com |
Mid Length (17"-19")
|
Анализировать url |
| quiksilver.com |
Short Length (15"-16")
|
Анализировать url |
| quiksilver.com |
Originals
|
Анализировать url |
| quiksilver.com |
Wetsuit Guide
|
Анализировать url |
| quiksilver.com |
Mercury
|
Анализировать url |
| quiksilver.com |
Long Length (20"-21")
|
Анализировать url |
| quiksilver.com |
Mid Length (17"-19")
|
Анализировать url |
| quiksilver.com |
Short Length (15"-16")
|
Анализировать url |
| quiksilver.com |
Straight
|
Анализировать url |
| quiksilver.com |
Scallop
|
Анализировать url |
| quiksilver.com |
Arch
|
Анализировать url |
| quiksilver.com |
Regular
|
Анализировать url |
| quiksilver.com |
Fixed Waist
|
Анализировать url |
| quiksilver.com |
Elastic Waist
|
Анализировать url |
| quiksilver.com |
Blue
|
Анализировать url |
| quiksilver.com |
Black
|
Анализировать url |
| quiksilver.com |
Red
|
Анализировать url |
| quiksilver.com |
<span>Forgot Password? </span>
|
Анализировать url |
| quiksilver.com |
<span>I want to be a member </span>
|
Анализировать url |
| quiksilver.com |
boardshorts collection
|
Анализировать url |
| quiksilver.com |
hybrid shorts
|
Анализировать url |
| quiksilver.com |
rash guard
|
Анализировать url |
| quiksilver.com |
Sign up to get all the latest news and exclusive offers.
|
Анализировать url |
| returns.quiksilver.com |
Returns
|
Анализировать url |
| instagram.com |
<svg class="icon icon-instagram" style="" width="24" height="24" fill="currentColor" stroke="currentColor" stroke-width="0" stroke-linecap="round" stroke-linejoin="round">
<use xlink:href="#icon-def-instagram"></use>
</svg>
<span class="sr-only">Instagram</span>
|
|
| facebook.com |
<svg class="icon icon-facebook" style="" width="24" height="24" fill="currentColor" stroke="currentColor" stroke-width="0" stroke-linecap="round" stroke-linejoin="round">
<use xlink:href="#icon-def-facebook"></use>
</svg>
<span class="sr-only">Facebook</span>
|
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Сайт surf.quiksilver.com не совсем готов к продвижению (процент готовности лишь 44%). Для попадания в ТОПы поисковых систем нужно:
Исправьте ошибки в мета-тегах.
Исправьте ошибки оптимизации.
Исправьте ошибки индексации.
Поделитесь с друзьями: