Анализ сайта twinings.com
Основное Готовность: 75%
Домен
twinings.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
http://twinings.com
301 MovedPermanently
https://twinings.co.uk/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 04.10.2026 22:45:22.
Сервер поддерживает HTTP/3 (QUIC) — новейший протокол.
Включён HSTS (Strict-Transport-Security) — защита от подмены на http.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,89сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,89сек оптимальна.
Объем документа
803Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 803Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 73
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 73 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | //twinings.co.uk/cdn/shop/t/172/assets/base.css?v=34251421359333247851785229033 |
| stylesheet | https://twinings.co.uk/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css | |
| stylesheet | //twinings.co.uk/cdn/shop/t/172/compiled_assets/styles.css?v=1931130234520955031785229084 | |
| stylesheet | text/css | //twinings.co.uk/cdn/shop/t/172/assets/overflow-list.css?v=13500019909476584571772550122 |
| stylesheet | https://fonts.cdnfonts.com/css/noto-serif-gurmukhi | |
| stylesheet | https://fonts.cdnfonts.com/css/open-dyslexic | |
| stylesheet | https://widget.reviews.io/rating-snippet/dist.css | |
| js | text/javascript | https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js |
| js | /cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js | |
| js | //twinings.co.uk/cdn/shop/t/172/assets/view-transitions.js?v=7106414069516106341772550122 | |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/popover-polyfill.js?v=119029313658895111201772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/overflow-list.js?v=46858356770684902511772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/quick-add.js?v=8173316780029216301772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/cart-discount.js?v=107077853990124422021772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/dialog.js?v=150888536568694194021772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/variant-picker.js?v=177886063604495755331772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/product-card.js?v=28695665944407642501772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/product-form.js?v=87407172394809519131772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/fly-to-cart.js?v=48483246440248933081772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/accordion-custom.js?v=97588419883090888471772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/media.js?v=37825095869491791421772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/product-price.js?v=164492227269745550161772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/product-sku.js?v=121804655373531320511772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/product-title-truncation.js?v=81744426891537421781772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/product-inventory.js?v=81520546963552472391772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/show-more.js?v=94563802205717136101772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/slideshow.js?v=17868446697736367161772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/layered-slideshow.js?v=30135417790894624731772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/anchored-popover.js?v=95953304814728754461772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/floating-panel.js?v=151277338116891310371772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/video-background.js?v=25237992823806706551772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/component-quantity-selector.js?v=67906657287482036641772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/media-gallery.js?v=14624021005636302161772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/rte-formatter.js?v=40306132146590816021772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/volume-pricing.js?v=15442793518842484731772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/price-per-item.js?v=144512917617120124431772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/volume-pricing-info.js?v=94479640769665442661772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/localization.js?v=15585934801240115691772550122 |
| js | //twinings.co.uk/cdn/shop/t/172/assets/auto-close-details.js?v=58350291535404441581772550122 | |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/gift-message.js?v=114337780792240926791778842946 |
| js | /checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=23036102 | |
| js | https://shop.app/checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=23036102&shop_id=53367439558 | |
| js | module | //twinings.co.uk/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js |
| js | //twinings.co.uk/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js | |
| js | //twinings.co.uk/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-bf1cdb70.js?v=20250812 | |
| js | //cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-5059b83f.js | |
| js | https://static.klaviyo.com/onsite/js/T3w7Sx/klaviyo.js?company_id=T3w7Sx | |
| js | text/javascript | https://cdn.zigpoll.com/zigpoll-shopify-embed.js?shop=twinings-uk.myshopify.com |
| js | text/javascript | https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-selleasy.js |
| js | text/javascript | https://cdn.shopify.com/extensions/01a02559-ca16-7f3a-8247-c97a3d2ee398/forms-2515/assets/shopify-forms-loader.js |
| js | text/javascript | https://cdn.shopify.com/extensions/01a02352-dc78-7a38-946e-872be196424c/pushowl-322/assets/pushowl-shopify.js |
| js | https://twinings.co.uk/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.8.4.min.js | |
| js | module | https://cdn.shopify.com/storefront/web-components/account.js |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/header-drawer.js?v=121243031541024704371772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/header-menu.js?v=97820922056036071501781519267 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/cart-icon.js?v=157241182139685326961772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/cart-drawer.js?v=34004441742206350331772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/component-cart-items.js?v=16199507049899445991772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/component-cart-quantity-selector.js?v=105130809908858639751772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/volume-pricing-info.js?v=94479640769665442661772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/component-cart-items.js?v=16199507049899445991772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/component-cart-quantity-selector.js?v=105130809908858639751772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/volume-pricing-info.js?v=94479640769665442661772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/header.js?v=36718054510661947891772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/dialog.js?v=150888536568694194021772550122 |
| js | module | //twinings.co.uk/cdn/shop/t/172/assets/predictive-search.js?v=149240552485540508541772550122 |
| js | module | https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-upsell.js |
| js | module | https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-upsell-components.esm.js |
| js | text/javascript | https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-utils.js |
| js | https://subscription-admin.appstle.com/assets/js/appstle-subscription.min.js?shop=twinings-uk.myshopify.com&v=1781260251301 | |
| js | https://widget.reviews.io/rating-snippet/dist.js | |
| js | https://cdn.shopify.com/extensions/019f1dcd-2e41-759b-8190-d404bf58416d/reviews-co-uk-product-and-merchant-review-collection-59/assets/reviewsio-preview.js | |
| js | module | https://cdn.shopify.com/storefront/standard-actions.js |
Серверные заголовки
Кол-во: 24
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 24шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Date | Sun, 23 Aug 2026 08:22:42 GMT |
| x-download-options | noopen |
| X-Request-ID | 6ba086cd-490b-41cc-aa69-b6947d495645-1787473362 |
| x-permitted-cross-domain-policies | none |
| Link | <https://cdn.shopify.com>; rel="preconnect", <https://cdn.shopify.com>; rel="preconnect"; crossorigin, <https://cdn-ukwest.onetrust.com>; rel="preconnect", <https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js>; as="script"; rel="preload", <//twinings.co.uk/cdn/shop/t/172/assets/base.css?v=34251421359333247851785229033>; as="style"; rel="preload", <//twinings.co.uk/cdn/shop/t/172/assets/overflow-list.css?v=13500019909476584571772550122>; as="style"; rel="preload", <https://twinings.co.uk/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css>; as="style"; rel="preload"; crossorigin, <//twinings.co.uk/cdn/shop/t/172/compiled_assets/styles.css?v=1931130234520955031785229084>; as="style"; rel="preload" |
| Set-Cookie | localization=GB; path=/; expires=Mon, 23 Aug 2027 08:22:42 GMT |
| nel | {"report_to":"cf-nel","success_fraction":0.01,"max_age":604800} |
| shopify-complexity-score | 390 |
| shopify-complexity-score-v2 | 39 |
| 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=46;desc="gc:4", db;dur=11, asn;desc="200044", edge;desc="HEL", country;desc="RU", theme;desc="149149286598", pageType;desc="index", servedBy;desc="ccbz", requestID;desc="6ba086cd-490b-41cc-aa69-b6947d495645-1787473362", _y;desc="c9a1d65f-03c9-4380-9f49-9a056fba0206", _s;desc="da63f224-0086-4ae0-aefe-82d75622a88b", _cmp;desc="3.AMPS_RU_f_f_wzf6MoQxRRKEFdeA1fs8NA", compressionLevel;desc="5", 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=i8ouG0WnOKw2n%2BYRNpb%2BZkze%2FWO85vM9dGhf2fnah8uX0pzipvp0BaUx2BZTXZlwjbh89KtMWgJDNhjD8DrMbN4VEU77j%2Br1anR%2BL77bxOMjarLJlJll7kggmltCcpYm"}]} |
| X-Content-Type-Options | nosniff |
| ETag | W/"page_cache:53367439558:IndexController:18b1980b479e8368cfb97c40aa6ceb64:b33631c1907dc930127d1439c480dcc3" |
| cf-ray | a2f8b603e98c96f0-HEL |
CMS
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
Сайт работает на CMS PrestaShop.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Cloudflare.
Мета-теги Готовность: 48%
Title
Buy Twinings Tea, Wellbeing Drinks, Gifts and Teaware Today
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо уменьшить число символов в title (текущее значение: 63, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Shop over 200 teas from around the world. Find gifts for all occasions, teaware, accessories and confectionery, as well as recipes, expert advice and more.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо уменьшить число символов в description (текущее значение: 155, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://twinings.co.uk/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width,initial-scale=1
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 5
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:site_name | Twinings |
| og:url | https://twinings.co.uk/ |
| og:title | Buy Twinings Tea, Wellbeing Drinks, Gifts and Teaware Today |
| og:type | website |
| og:description | Shop over 200 teas from around the world. Find gifts for all occasions, teaware, accessories and confectionery, as well as recipes, expert advice and more. |
Все мета-теги
Кол-во: 19
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 19шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width,initial-scale=1 |
| name | view-transition | same-origin |
| name | theme-color | |
| name | twitter:card | summary_large_image |
| name | twitter:title | Buy Twinings Tea, Wellbeing Drinks, Gifts and Teaware Today |
| name | twitter:description | Shop over 200 teas from around the world. Find gifts for all occasions, teaware, accessories and confectionery, as well as recipes, expert advice and more. |
| name | description | Shop over 200 teas from around the world. Find gifts for all occasions, teaware, accessories and confectionery, as well as recipes, expert advice and more. |
| name | google-site-verification | 0DgRExKBtWNA3s2OFptjJovBDGgtCAtvf40o_kmLDU0 |
| name | google-site-verification | pVUp89wYWWDu9UySKbaHaIrsyDWaADspGN3I_9pbWVM |
| name | shopify-digital-wallet | /53367439558/digital_wallets/dialog |
| name | shopify-checkout-api-token | c4d4300b106f94d52c7bea7d7fb0bf13 |
| name | shopify-y | c9a1d65f-03c9-4380-9f49-9a056fba0206 |
| name | shopify-s | da63f224-0086-4ae0-aefe-82d75622a88b |
| name | new-cookie-storage-activated | f |
| property | og:site_name | Twinings |
| property | og:url | https://twinings.co.uk/ |
| property | og:title | Buy Twinings Tea, Wellbeing Drinks, Gifts and Teaware Today |
| property | og:type | website |
| property | og:description | Shop over 200 teas from around the world. Find gifts for all occasions, teaware, accessories and confectionery, as well as recipes, expert advice and more. |
Оптимизация Готовность: 77%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в одном экземпляре).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Среднее число слов в абзаце 7 слишком мало. Сделайте контент более читаемым!
Слова из title 5 встречаются в тексте достаточно.
Абзацев с текстом 24 достаточно.
Кол-во знаков контента 5953 на странице оптимально.
Кол-во слов 932 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 4. Это хорошо.
На странице присутствуют заголовки <h3> 4.
Тошнота
4,47
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
2,25%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота не дотягивает до нормы 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| twinings | 20 | 2,15% |
| superblends | 18 | 1,93% |
| envelopes | 17 | 1,82% |
| collection | 12 | 1,29% |
| wellbeing | 10 | 1,07% |
| sparkling | 10 | 1,07% |
| drinks | 9 | 0,97% |
| teaware | 9 | 0,97% |
| herbal | 8 | 0,86% |
| discovery | 7 | 0,75% |
| syrups | 6 | 0,64% |
| chocolate | 6 | 0,64% |
| health | 6 | 0,64% |
| confectionery | 6 | 0,64% |
| content | 5 | 0,54% |
| gifting | 5 | 0,54% |
| policy | 5 | 0,54% |
| selection | 4 | 0,43% |
| blends | 4 | 0,43% |
| breakfast | 4 | 0,43% |
Индексация Готовность: 0%
Индексирование
Есть ошибки
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 295 слишком много. Проведите ревизию и оптимизацию ссылок сайта.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 822860 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://twinings.com/robots.txt
301 MovedPermanently
https://twinings.co.uk/
200 OK
Показать содержимое robots.txt
<!doctype html>
<html
lang="en"
>
<head>
<!-- OneTrust Cookies Consent Notice start for twinings.co.uk -->
<script src="https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="5eda5519-420f-4dfa-8160-0238f34e7b3b"></script>
<script type="text/javascript">
function OptanonWrapper() {}
</script>
<!-- OneTrust Cookies Consent Notice end for twinings.co.uk -->
<script>
// Add integration between OneTrust and Shopify privact API.
(function () {
'use strict';
var n = function () {
var n;
return (
!('string' != typeof window.OnetrustActiveGroups || null == (n = window.Shopify) || !n.customerPrivacy) &&
(t(), (window.OptanonWrapper = t), !0)
);
},
t = function () {
var n = window,
t = n.OnetrustActiveGroups,
r = n.Shopify,
i = {
analytics: !!t.includes('C0002'),
marketing: !!t.includes('C0004'),
};
r.customerPrivacy.setTrackingConsent(i, function () {});
};
!(function () {
n();
var t = 0,
r = setInterval(function () {
(n() || t > 100) && clearInterval(r), t++;
}, 100);
})();
})();
</script>
<!-- Preload (OneTrust) -->
<link rel="preload" href="https://cdn-ukwest.onetrust.com/consent/5eda5519-420f-4dfa-8160-0238f34e7b3b/OtAutoBlock.js" as="script">
<link rel="preload" href="https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js">
<link
rel="icon"
type="image/png"
href="//twinings.co.uk/cdn/shop/files/favicon-196x196.png?crop=center&height=32&v=1623755225&width=32"
>
<script>
window.dataLayer = window.dataLayer || [];
function subscribeCookieListener(dataLayer) {
// Step to process information already existing in the datalayer
dataLayer.forEach(processDatalayerEvent)
// Set-up a "listener"
const originalPush = dataLayer.push;
dataLayer.push = function() {
originalPush.apply(dataLayer, arguments);
Array.from(arguments).forEach(processDatalayerEvent);
};
}
subscribeCookieListener(window.dataLayer);
function processDatalayerEvent(event){
if(event.event === "bre.cookie"){
Shopify.analytics.publish("bre.cookie",event);
}
}
</script>
<script type="text/plain" class="optanon-category-C0004">
!function(e,n,t,i,r,o){function s(e){if("number"!=typeof e)return e;var n=new Date;return new Date(n.getTime()+1e3*e)}var a=4e3,c="xnpe_async_hide";function p(e){return e.reduce((function(e,n){return e[n]=function(){e._.push([n.toString(),arguments])},e}),{_:[]})}function m(e,n,t){var i=t.createElement(n);i.src=e;var r=t.getElementsByTagName(n)[0];return r.parentNode.insertBefore(i,r),i}function u(e){return"[object Date]"===Object.prototype.toString.call(e)}o.target=o.target||"https://api.exponea.com",o.file_path=o.file_path||o.target+"/js/exponea.min.js",r[n]=p(["anonymize","initialize","identify","getSegments","update","track","trackLink","trackEnhancedEcommerce","getHtml","showHtml","showBanner","showWebLayer","ping","getAbTest","loadDependency","getRecommendation","reloadWebLayers","_preInitialize","_initializeConfig"]),r[n].notifications=p(["isAvailable","isSubscribed","subscribe","unsubscribe"]),r[n].segments=p(["subscribe"]),r[n]["snippetVersion"]="v2.7.0",function(e,n,t){e[n]["_"+t]={},e[n]["_"+t].nowFn=Date.now,e[n]["_"+t].snippetStartTime=e[n]["_"+t].nowFn()}(r,n,"performance"),function(e,n,t,i,r,o){e[r]={sdk:e[i],sdkObjectName:i,skipExperiments:!!t.new_experiments,sign:t.token+"/"+(o.exec(n.cookie)||["","new"])[1],path:t.target}}(r,e,o,n,i,RegExp("__exponea_etc__"+"=([\\w-]+)")),function(e,n,t){m(e.file_path,n,t)}(o,t,e),function(e,n,t,i,r,o,p){if(e.new_experiments){!0===e.new_experiments&&(e.new_experiments={});var l,f=e.new_experiments.hide_class||c,_=e.new_experiments.timeout||a,g=encodeURIComponent(o.location.href.split("#")[0]);e.cookies&&e.cookies.expires&&("number"==typeof e.cookies.expires||u(e.cookies.expires)?l=s(e.cookies.expires):e.cookies.expires.tracking&&("number"==typeof e.cookies.expires.tracking||u(e.cookies.expires.tracking))&&(l=s(e.cookies.expires.tracking))),l&&l<new Date&&(l=void 0);var d=e.target+"/webxp/"+n+"/"+o[t].sign+"/modifications.min.js?http-referer="+g+"&timeout="+_+"ms"+(l?"&cookie-expires="+Math.floor(l.getTime()/1e3):"");"sync"===e.new_experiments.mode&&o.localStorage.getItem("__exponea__sync_modifications__")?function(e,n,t,i,r){t[r][n]="<"+n+' src="'+e+'"></'+n+">",i.writeln(t[r][n]),i.writeln("<"+n+">!"+r+".init && document.writeln("+r+"."+n+'.replace("/'+n+'/", "/'+n+'-async/").replace("><", " async><"))</'+n+">")}(d,n,o,p,t):function(e,n,t,i,r,o,s,a){o.documentElement.classList.add(e);var c=m(t,i,o);function p(){r[a].init||m(t.replace("/"+i+"/","/"+i+"-async/"),i,o)}function u(){o.documentElement.classList.remove(e)}c.onload=p,c.onerror=p,r.setTimeout(u,n),r[s]._revealPage=u}(f,_,d,n,o,p,r,t)}}(o,t,i,0,n,r,e),function(e,n,t){var i;e[n]._initializeConfig(t),(null===(i=t.experimental)||void 0===i?void 0:i.non_personalized_weblayers)&&e[n]._preInitialize(t),e[n].start=function(i){i&&Object.keys(i).forEach((function(e){return t[e]=i[e]})),e[n].initialize(t)}}(r,n,o)}(document,"exponea","script","webxpClient",window,{
target: "https://bre-api.twinings.co.uk",
token: "a028fc60-935b-11ee-90ee-1ad7e5529018",
data_layer: true,
experimental: {
non_personalized_weblayers: true
},
// replace with current customer ID or leave commented out for an anonymous customer
// customer: window.currentUserId,
track: {
visits: true,
},
});
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
var cookie = undefined;
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
cookie = c.substring(name.length, c.length);
break;
}
}
cookie = decodeURIComponent(cookie);
cookie = cookie.split('?')[0];
return cookie;
}
var customer = {};
var cart_id = getCookie('cart'); //default Shopify cookie name is "cart"
if (cart_id) customer.cart_id = cart_id;
var breCookie = getCookie('__exponea_etc__'); // read Bloomreach cookie
exponea.start(
{
customer: customer,
customer_ids: { // PASS COOKIE TO BLOOMREACH
cookie: breCookie,
registered: customer.email|| customer.id// Add hard identifier
},
track: {
visits: true,
default_properties: { domain: "twinings-uk.myshopify.com" }
}
}
)
</script>
<meta charset="utf-8">
<meta
http-equiv="X-UA-Compatible"
content="IE=edge"
>
<meta
name="viewport"
content="width=device-width,initial-scale=1"
>
<meta
name="view-transition"
content="same-origin"
>
<meta
name="theme-color"
content=""
>
<meta
property="og:site_name"
content="Twinings"
>
<meta
property="og:url"
content="https://twinings.co.uk/"
>
<meta
property="og:title"
content="Buy Twinings Tea, Wellbeing Drinks, Gifts and Teaware Today"
>
<meta
property="og:type"
content="website"
>
<meta
property="og:description"
content="Shop over 200 teas from around the world. Find gifts for all occasions, teaware, accessories and confectionery, as well as recipes, expert advice and more."
><meta
name="twitter:card"
content="summary_large_image"
>
<meta
name="twitter:title"
content="Buy Twinings Tea, Wellbeing Drinks, Gifts and Teaware Today"
>
<meta
name="twitter:description"
content="Shop over 200 teas from around the world. Find gifts for all occasions, teaware, accessories and confectionery, as well as recipes, expert advice and more."
>
<title>
Buy Twinings Tea, Wellbeing Drinks, Gifts and Teaware Today
</title>
<link
rel="canonical"
href="https://twinings.co.uk/"
>
<meta
name="description"
content="Shop over 200 teas from around the world. Find gifts for all occasions, teaware, accessories and confectionery, as well as recipes, expert advice and more."
>
<link href="//twinings.co.uk/cdn/shop/t/172/assets/overflow-list.css?v=13500019909476584571772550122" as="style" rel="preload">
<link href="//twinings.co.uk/cdn/shop/t/172/assets/base.css?v=34251421359333247851785229033" rel="stylesheet" type="text/css" media="all" />
<link
rel="preload"
as="font"
href="//twinings.co.uk/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2"
type="font/woff2"
crossorigin
fetchpriority="low"
><link
rel="preload"
as="font"
href="//twinings.co.uk/cdn/fonts/dm_serif_text/dmseriftext_n4.9b44cd71847531f863145b4a08382f54a13aa00b.woff2"
type="font/woff2"
crossorigin
fetchpriority="low"
><link
rel="preload"
as="font"
href="//twinings.co.uk/cdn/fonts/dm_serif_display/dmserifdisplay_n4.d2fb62d84e79a0e0554bcf26e5e3d5bd86318b17.woff2"
type="font/woff2"
crossorigin
fetchpriority="low"
><link
rel="preload"
as="font"
href="//twinings.co.uk/cdn/fonts/dm_serif_display/dmserifdisplay_n4.d2fb62d84e79a0e0554bcf26e5e3d5bd86318b17.woff2"
type="font/woff2"
crossorigin
fetchpriority="low"
>
<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
<script type="importmap">
{
"imports": {
"@theme/overflow-list": "//twinings.co.uk/cdn/shop/t/172/assets/overflow-list.js?v=46858356770684902511772550122",
"@theme/product-title": "//twinings.co.uk/cdn/shop/t/172/assets/product-title-truncation.js?v=81744426891537421781772550122",
"@theme/component": "//twinings.co.uk/cdn/shop/t/172/assets/component.js?v=184240237101443119871772550122",
"@theme/dialog": "//twinings.co.uk/cdn/shop/t/172/assets/dialog.js?v=150888536568694194021772550122",
"@theme/events": "//twinings.co.uk/cdn/shop/t/172/assets/events.js?v=1118589085892804011772550122",
"@theme/focus": "//twinings.co.uk/cdn/shop/t/172/assets/focus.js?v=60436577539430446401772550122",
"@theme/morph": "//twinings.co.uk/cdn/shop/t/172/assets/morph.js?v=102085577784545683451772550122",
"@theme/paginated-list": "//twinings.co.uk/cdn/shop/t/172/assets/paginated-list.js?v=95298315036233333871772550122",
"@theme/performance": "//twinings.co.uk/cdn/shop/t/172/assets/performance.js?v=171015751390534793081772550122",
"@theme/product-form": "//twinings.co.uk/cdn/shop/t/172/assets/product-form.js?v=87407172394809519131772550122",
"@theme/recently-viewed-products": "//twinings.co.uk/cdn/shop/t/172/assets/recently-viewed-products.js?v=94729125001750262651772550122",
"@theme/scrolling": "//twinings.co.uk/cdn/shop/t/172/assets/scrolling.js?v=162288454571026455011772550122",
"@theme/section-renderer": "//twinings.co.uk/cdn/shop/t/172/assets/section-renderer.js?v=152586934315572818121772550122",
"@theme/section-hydration": "//twinings.co.uk/cdn/shop/t/172/assets/section-hydration.js?v=108434990705342316311772550122",
"@theme/money-formatting": "//twinings.co.uk/cdn/shop/t/172/assets/money-formatting.js?v=182191346160333327151772550122",
"@theme/utilities": "//twinings.co.uk/cdn/shop/t/172/assets/utilities.js?v=28506172887375975941772550122",
"@theme/variant-picker": "//twinings.co.uk/cdn/shop/t/172/assets/variant-picker.js?v=177886063604495755331772550122",
"@theme/media-gallery": "//twinings.co.uk/cdn/shop/t/172/assets/media-gallery.js?v=14624021005636302161772550122",
"@theme/quick-add": "//twinings.co.uk/cdn/shop/t/172/assets/quick-add.js?v=8173316780029216301772550122",
"@theme/paginated-list-aspect-ratio": "//twinings.co.uk/cdn/shop/t/172/assets/paginated-list-aspect-ratio.js?v=25254270272143792451772550122",
"@theme/popover-polyfill": "//twinings.co.uk/cdn/shop/t/172/assets/popover-polyfill.js?v=119029313658895111201772550122",
"@theme/component-quantity-selector": "//twinings.co.uk/cdn/shop/t/172/assets/component-quantity-selector.js?v=67906657287482036641772550122",
"@theme/comparison-slider": "//twinings.co.uk/cdn/shop/t/172/assets/comparison-slider.js?v=106705562947035711941772550122",
"@theme/sticky-add-to-cart": "//twinings.co.uk/cdn/shop/t/172/assets/sticky-add-to-cart.js?v=48956925339276737091772550122",
"@theme/fly-to-cart": "//twinings.co.uk/cdn/shop/t/172/assets/fly-to-cart.js?v=48483246440248933081772550122"
}
}
</script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/view-transitions.js?v=7106414069516106341772550122"
async
></script>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/utilities.js?v=28506172887375975941772550122"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/component.js?v=184240237101443119871772550122"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/section-renderer.js?v=152586934315572818121772550122"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/section-hydration.js?v=108434990705342316311772550122"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/morph.js?v=102085577784545683451772550122"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/focus.js?v=60436577539430446401772550122"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/recently-viewed-products.js?v=94729125001750262651772550122"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/scrolling.js?v=162288454571026455011772550122"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//twinings.co.uk/cdn/shop/t/172/assets/events.js?v=1118589085892804011772550122"
fetchpriority="low"
>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/popover-polyfill.js?v=119029313658895111201772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/overflow-list.js?v=46858356770684902511772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/quick-add.js?v=8173316780029216301772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/cart-discount.js?v=107077853990124422021772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/dialog.js?v=150888536568694194021772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/variant-picker.js?v=177886063604495755331772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/product-card.js?v=28695665944407642501772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/product-form.js?v=87407172394809519131772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/fly-to-cart.js?v=48483246440248933081772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/accordion-custom.js?v=97588419883090888471772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/media.js?v=37825095869491791421772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/product-price.js?v=164492227269745550161772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/product-sku.js?v=121804655373531320511772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/product-title-truncation.js?v=81744426891537421781772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/product-inventory.js?v=81520546963552472391772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/show-more.js?v=94563802205717136101772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/slideshow.js?v=17868446697736367161772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/layered-slideshow.js?v=30135417790894624731772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/anchored-popover.js?v=95953304814728754461772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/floating-panel.js?v=151277338116891310371772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/video-background.js?v=25237992823806706551772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/component-quantity-selector.js?v=67906657287482036641772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/media-gallery.js?v=14624021005636302161772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/rte-formatter.js?v=40306132146590816021772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/volume-pricing.js?v=15442793518842484731772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/price-per-item.js?v=144512917617120124431772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/volume-pricing-info.js?v=94479640769665442661772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/localization.js?v=15585934801240115691772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/auto-close-details.js?v=58350291535404441581772550122"
defer="defer"
></script>
<script>
const Theme = {
translations: {
placeholder_image: `Placeholder image`,
added: `Added`,
recipient_form_fields_visible: `Recipient form fields are now visible`,
recipient_form_fields_hidden: `Recipient form fields are now hidden`,
recipient_form_error: `There was an error with the form submission`,
items_added_to_cart_one: `1 item added to cart`,
items_added_to_cart_other: `{{ count }} items added to cart`,
},
routes: {
cart_add_url: '/cart/add.js',
cart_change_url: '/cart/change',
cart_update_url: '/cart/update',
cart_url: '/cart',
predictive_search_url: '/search/suggest',
search_url: '/search',
},
template: {
name: 'index',
},
};
</script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/gift-message.js?v=114337780792240926791778842946"
type="module"
fetchpriority="low"
></script>
<style data-shopify>
@font-face {
font-family: "DM Sans";
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//twinings.co.uk/cdn/fonts/dm_sans/dmsans_n4.ec80bd4dd7e1a334c969c265873491ae56018d72.woff2") format("woff2"),
url("//twinings.co.uk/cdn/fonts/dm_sans/dmsans_n4.87bdd914d8a61247b911147ae68e754d695c58a6.woff") format("woff");
}
@font-face {
font-family: "DM Sans";
font-weight: 700;
font-style: normal;
font-display: swap;
src: url("//twinings.co.uk/cdn/fonts/dm_sans/dmsans_n7.97e21d81502002291ea1de8aefb79170c6946ce5.woff2") format("woff2"),
url("//twinings.co.uk/cdn/fonts/dm_sans/dmsans_n7.af5c214f5116410ca1d53a2090665620e78e2e1b.woff") format("woff");
}
@font-face {
font-family: "DM Sans";
font-weight: 400;
font-style: italic;
font-display: swap;
src: url("//twinings.co.uk/cdn/fonts/dm_sans/dmsans_i4.b8fe05e69ee95d5a53155c346957d8cbf5081c1a.woff2") format("woff2"),
url("//twinings.co.uk/cdn/fonts/dm_sans/dmsans_i4.403fe28ee2ea63e142575c0aa47684d65f8c23a0.woff") format("woff");
}
@font-face {
font-family: "DM Sans";
font-weight: 700;
font-style: italic;
font-display: swap;
src: url("//twinings.co.uk/cdn/fonts/dm_sans/dmsans_i7.52b57f7d7342eb7255084623d98ab83fd96e7f9b.woff2") format("woff2"),
url("//twinings.co.uk/cdn/fonts/dm_sans/dmsans_i7.d5e14ef18a1d4a8ce78a4187580b4eb1759c2eda.woff") format("woff");
}
@font-face {
font-family: "DM Serif Text";
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//twinings.co.uk/cdn/fonts/dm_serif_text/dmseriftext_n4.9b44cd71847531f863145b4a08382f54a13aa00b.woff2") format("woff2"),
url("//twinings.co.uk/cdn/fonts/dm_serif_text/dmseriftext_n4.c4ba520d9eb678ccfe1acb3dcce65b0cf2c739fa.woff") format("woff");
}
@font-face {
font-family: "DM Serif Text";
font-weight: 400;
font-style: italic;
font-display: swap;
src: url("//twinings.co.uk/cdn/fonts/dm_serif_text/dmseriftext_i4.edc7a23c2d0e0cb5cfa4e34d5e6635278b32f15f.woff2") format("woff2"),
url("//twinings.co.uk/cdn/fonts/dm_serif_text/dmseriftext_i4.37caa823fbdc6316b8470d0eaac505a6b5ee0d47.woff") format("woff");
}
@font-face {
font-family: "DM Serif Display";
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//twinings.co.uk/cdn/fonts/dm_serif_display/dmserifdisplay_n4.d2fb62d84e79a0e0554bcf26e5e3d5bd86318b17.woff2") format("woff2"),
url("//twinings.co.uk/cdn/fonts/dm_serif_display/dmserifdisplay_n4.776a8bf9adeb2bdfa35851c8b8f6488e4bd0da4e.woff") format("woff");
}
@font-face {
font-family: "DM Serif Display";
font-weight: 400;
font-style: italic;
font-display: swap;
src: url("//twinings.co.uk/cdn/fonts/dm_serif_display/dmserifdisplay_i4.ded609b7af419cfaa3d7b74c93adb618780a44d2.woff2") format("woff2"),
url("//twinings.co.uk/cdn/fonts/dm_serif_display/dmserifdisplay_i4.542e1a9c39cbb3bbdcdb001c5b0ff5ce62f13c92.woff") format("woff");
}
:root {
/* Page Layout */
--sidebar-width: 25rem;
--narrow-content-width: 36rem;
--normal-content-width: 42rem;
--wide-content-width: 46rem;
--narrow-page-width: 90rem;
--normal-page-width: 120rem;
--wide-page-width: 150rem;
/* Section Heights */
--section-height-small: 15rem;
--section-height-medium: 25rem;
--section-height-large: 35rem;
@media screen and (min-width: 40em) {
--section-height-small: 40svh;
--section-height-medium: 55svh;
--section-height-large: 70svh;
}
@media screen and (min-width: 60em) {
--section-height-small: 50svh;
--section-height-medium: 65svh;
--section-height-large: 80svh;
}
/* Letter spacing */
--letter-spacing-sm: 0.06em;
--letter-spacing-md: 0.13em;
/* Font families */
--font-body--family: "DM Sans", sans-serif;
--font-body--style: normal;
--font-body--weight: 400;
--font-subheading--family: "DM Serif Text", serif;
--font-subheading--style: normal;
--font-subheading--weight: 400;
--font-heading--family: "DM Serif Display", serif;
--font-heading--style: normal;
--font-heading--weight: 400;
--font-accent--family: "DM Serif Display", serif;
--font-accent--style: normal;
--font-accent--weight: 400;
/* Margin sizes */
--font-heading--spacing: 0.25em;
--font-h1--spacing: var(--font-heading--spacing);
--font-h2--spacing: var(--font-heading--spacing);
--font-h3--spacing: var(--font-heading--spacing);
--font-h4--spacing: var(--font-heading--spacing);
--font-h5--spacing: var(--font-heading--spacing);
--font-h6--spacing: var(--font-heading--spacing);
--font-paragraph--spacing: 0.5em;
/* Heading colors */
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/** Z-Index / Layering */
--layer-section-background: -2;
--layer-lowest: -1;
--layer-base: 0;
--layer-flat: 1;
--layer-raised: 2;
--layer-heightened: 4;
--layer-sticky: 8;
--layer-window-overlay: 10;
--layer-header-menu: 12;
--layer-overlay: 16;
--layer-menu-drawer: 18;
--layer-temporary: 20;
/* Max-width / Measure */
--max-width--body-normal: 32.5em;
--max-width--body-narrow: 22.75em;
--max-width--heading-normal: 32.5em;
--max-width--heading-narrow: 19.5em;
--max-width--display-normal: 13em;
--max-width--display-narrow: 9.75em;
--max-width--display-tight: 3.25em;
/* Letter-spacing / Tracking */
--letter-spacing--display-tight: -0.03em;
--letter-spacing--display-normal: 0em;
--letter-spacing--display-loose: 0.03em;
--letter-spacing--heading-tight: -0.03em;
--letter-spacing--heading-normal: 0em;
--letter-spacing--heading-loose: 0.03em;
--letter-spacing--body-tight: -0.03em;
--letter-spacing--body-normal: 0em;
--letter-spacing--body-loose: 0.03em;
/* Line height / Leading */
--line-height: 1;
--line-height--display-tight: 1;
--line-height--display-normal: 1.1;
--line-height--display-loose: 1.2;
--line-height--heading-tight: 1.15;
--line-height--heading-normal: 1.25;
--line-height--heading-loose: 1.35;
--line-height--body-tight: 1.2;
--line-height--body-normal: 1.4;
--line-height--body-loose: 1.6;
/* Typography presets */
--font-size--paragraph: 0.875rem;--font-size--h1: clamp(3.0rem, 5.6vw, 3.5rem);--font-size--h2: clamp(1.75rem, 4.8vw, 3.0rem);--font-size--h3: 1.5rem;--font-size--h4: 1.25rem;--font-size--h5: 1.0rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-loose);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-normal);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-normal);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-loose);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose);
/* Hardcoded font sizes */
--font-size--3xs: 0.625rem;
--font-size--2xs: 0.75rem;
--font-size--xs: 0.8125rem;
--font-size--sm: 0.875rem;
--font-size--md: 1rem;
--font-size--lg: 1.125rem;
--font-size--xl: 1.25rem;
--font-size--2xl: 1.5rem;
--font-size--3xl: 2rem;
--font-size--4xl: 2.5rem;
--font-size--5xl: 3rem;
--font-size--6xl: 3.5rem;
/* Menu font sizes */
--menu-font-sm--size: 0.875rem;
--menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14));
--menu-font-md--size: 1rem;
--menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16));
--menu-font-lg--size: 1.125rem;
--menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18));
--menu-font-xl--size: 1.25rem;
--menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20));
--menu-font-2xl--size: 1.75rem;
--menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28));
/* Colors */
--color-error: #8B0000;
--color-success: #006400;
--color-white: #FFFFFF;
--color-white-rgb: 255 255 255;
--color-black: #000000;
--color-instock: #3ED660;
--color-lowstock: #EE9441;
--color-outofstock: #C8C8C8;
/* Opacity */
--opacity-5: 0.05;
--opacity-8: 0.08;
--opacity-10: 0.1;
--opacity-15: 0.15;
--opacity-20: 0.2;
--opacity-25: 0.25;
--opacity-30: 0.3;
--opacity-40: 0.4;
--opacity-50: 0.5;
--opacity-60: 0.6;
--opacity-70: 0.7;
--opacity-80: 0.8;
--opacity-85: 0.85;
--opacity-90: 0.9;
--opacity-subdued-text: var(--opacity-70);
--shadow-button: 0 2px 3px rgb(0 0 0 / 20%);
--gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent);
/* Spacing */
--margin-3xs: 0.125rem;
--margin-2xs: 0.3rem;
--margin-xs: 0.5rem;
--margin-sm: 0.7rem;
--margin-md: 0.8rem;
--margin-lg: 1rem;
--margin-xl: 1.25rem;
--margin-2xl: 1.5rem;
--margin-3xl: 1.75rem;
--margin-4xl: 2rem;
--margin-5xl: 3rem;
--margin-6xl: 5rem;
--scroll-margin: 50px;
--padding-3xs: 0.125rem;
--padding-2xs: 0.25rem;
--padding-xs: 0.5rem;
--padding-sm: 0.7rem;
--padding-md: 0.8rem;
--padding-lg: 1rem;
--padding-xl: 1.25rem;
--padding-2xl: 1.5rem;
--padding-3xl: 1.75rem;
--padding-4xl: 2rem;
--padding-5xl: 3rem;
--padding-6xl: 4rem;
--gap-3xs: 0.125rem;
--gap-2xs: 0.3rem;
--gap-xs: 0.5rem;
--gap-sm: 0.7rem;
--gap-md: 0.9rem;
--gap-lg: 1rem;
--gap-xl: 1.25rem;
--gap-2xl: 2rem;
--gap-3xl: 3rem;
--spacing-scale-sm: 0.6;
--spacing-scale-md: 0.7;
--spacing-scale-default: 1.0;
/* Checkout buttons gap */
--checkout-button-gap: 10px;
/* Borders */
--style-border-width: 1px;
--style-border-radius-xs: 0.2rem;
--style-border-radius-sm: 0.6rem;
--style-border-radius-md: 0.8rem;
--style-border-radius-50: 50%;
--style-border-radius-lg: 1rem;
--style-border-radius-pills: 40px;
--style-border-radius-inputs: 4px;
--style-border-radius-buttons-primary: 14px;
--style-border-radius-buttons-secondary: 14px;
--style-border-width-primary: 0px;
--style-border-width-secondary: 1px;
--style-border-width-inputs: 1px;
--style-border-radius-popover: 14px;
--style-border-popover: 1px none rgb(var(--color-border-rgb) / 50%);
--style-border-drawer: 1px none rgb(var(--color-border-rgb) / 50%);
--style-border-swatch-opacity: 10%;
--style-border-swatch-width: 1px;
--style-border-swatch-style: solid;
/* Animation */
--ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
--ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1);
--ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
--animation-speed-fast: 0.0625s;
--animation-speed: 0.125s;
--animation-speed-slow: 0.2s;
--animation-speed-medium: 0.15s;
--animation-easing: ease-in-out;
--animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1);
--drawer-animation-speed: 0.2s;
--animation-values-slow: var(--animation-speed-slow) var(--animation-easing);
--animation-values: var(--animation-speed) var(--animation-easing);
--animation-values-fast: var(--animation-speed-fast) var(--animation-easing);
--animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete;
--animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94);
--animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0);
--animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
--animation-timing-default: cubic-bezier(0, 0, 0.2, 1);
--animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1);
--animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1);
/* Spring definitions suffixed with perceptual duration (d<ms>) and bounce (b<%>)*/
--spring-d300-b0-easing: linear(0, 0.0033 0.81%, 0.027 2.42%, 0.0916 4.84%, 0.4745 15.32%, 0.6422 20.97%, 0.7175, 0.7789, 0.8283 30.64%, 0.876, 0.9111 38.71%, 0.941, 0.9611 48.39%, 0.9707, 0.978 54.84%, 0.9885 62.1%, 0.9949 70.97%, 0.9982 82.26%, 0.9997 100%);
--spring-d300-b0-duration: 0.4980s;
--spring-d280-b0-easing: linear(0, 0.0044, 0.0164 1.85%, 0.085 4.63%, 0.4571 14.81%, 0.575 18.52%, 0.6505, 0.7148 24.07%, 0.7849, 0.8393, 0.8809 35.18%, 0.9189, 0.9453 44.44%, 0.9662, 0.9793 55.55%, 0.9894 62.95%, 0.995 71.28%, 0.9982 82.39%, 0.9997 99.98%);
--spring-d280-b0-duration: 0.4648s;
--spring-d260-b0-easing: linear(0, 0.0058, 0.0216 2.15%, 0.0748 4.29%, 0.4646 15.03%, 0.5673, 0.655, 0.7279, 0.7872, 0.8349, 0.8727 34.36%, 0.9107, 0.9379 42.95%, 0.9609 48.31%, 0.9778 54.76%, 0.9887 62.27%, 0.9948 70.86%, 0.9983 82.67%, 0.9997 99.85%);
--spring-d260-b0-duration: 0.4316s;
--spring-d220-b0-easing: linear(
0,
0.0093 1.37%,
0.0696 4.12%,
0.4667 15.09%,
0.6322 20.58%,
0.6986 23.32%,
0.7793 27.44%,
0.8219 30.18%,
0.8721,
0.9089 38.42%,
0.9427,
0.9644,
0.978 54.88%,
0.9881 61.74%,
0.9944 69.97%,
0.998 80.95%,
0.9996 98.78%
);
--spring-d220-b0-duration: 0.3818s;
--spring-d180-b0-easing: linear(0, 0.0234, 0.0805 4.48%, 0.4865 15.68%, 0.6211 20.16%, 0.7696 26.88%, 0.8064 29.12%, 0.8646, 0.9063, 0.9358, 0.9563 47.04%, 0.9757, 0.9867 60.48%, 0.9941 69.44%, 0.9979 80.64%, 0.9996 98.56%);
--spring-d180-b0-duration: 0.2988s;
/* View transitions */
/* View transition old */
--view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut;
/* View transition new */
--view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition;
/* Focus */
--focus-outline-width: 0.09375rem;
--focus-outline-offset: 0.2em;
/* Badges */
--badge-blob-padding-block: 1px;
--badge-blob-padding-inline: 12px 8px;
--badge-rectangle-padding-block: 1px;
--badge-rectangle-padding-inline: 6px;
@media screen and (min-width: 750px) {
--badge-blob-padding-block: 4px;
--badge-blob-padding-inline: 16px 12px;
--badge-rectangle-padding-block: 4px;
--badge-rectangle-padding-inline: 10px;
}
/* Icons */
--icon-size-2xs: 0.6rem;
--icon-size-xs: 0.85rem;
--icon-size-sm: 1.25rem;
--icon-size-md: 1.375rem;
--icon-size-lg: 1.5rem;
--icon-stroke-width: 2px;
/* Input */
--input-email-min-width: 200px;
--input-search-max-width: 650px;
--input-padding-y: 0.8rem;
--input-padding-x: 0.8rem;
--input-padding: var(--input-padding-y) var(--input-padding-x);
--input-box-shadow-width: var(--style-border-width-inputs);
--input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border);
--input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--input-textarea-min-height: 55px;
/* Checkbox */
--checkbox-size: 22px;
--checkbox-border-radius: 7px;
--checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55));
--checkbox-label-padding: 8px;
@media screen and (min-width: 750px) {
--checkbox-size: 16px;
--checkbox-border-radius: 5px;
--checkbox-label-padding: 6px;
}
/* Button size */
--button-size-sm: 30px;
--button-size-md: 36px;
--button-size: var(--minimum-touch-target);
--button-padding-inline: 24px;
/* --button-padding-block: 16px; */
--button-padding-block: 10px;
/* Button font-family */
--button-font-family-primary: var(--font-accent--family);
--button-font-family-secondary: var(--font-body--family);
/* Button text case */
--button-text-case: ;
--button-text-case-primary: default;
--button-text-case-secondary: default;
/* Borders */
--border-color: rgb(var(--color-border-rgb) / var(--opacity-50));
--border-width-sm: 1px;
--border-width-md: 2px;
--border-width-lg: 5px;
--border-radius-sm: 0.25rem;
/* Drawers */
--drawer-inline-padding: 25px;
--drawer-menu-inline-padding: 2.5rem;
--drawer-header-block-padding: 20px;
--drawer-content-block-padding: 10px;
--drawer-header-desktop-top: 0rem;
--drawer-padding: calc(var(--padding-sm) + 7px);
--drawer-height: 100dvh;
--drawer-width: 95vw;
--drawer-max-width: 500px;
/* Variant Picker Swatches */
--variant-picker-swatch-width-unitless: 34;
--variant-picker-swatch-height-unitless: 34;
--variant-picker-swatch-width: 34px;
--variant-picker-swatch-height: 34px;
--variant-picker-swatch-radius: 32px;
--variant-picker-border-width: 1px;
--variant-picker-border-style: solid;
--variant-picker-border-opacity: 10%;
/* Variant Picker Buttons */
--variant-picker-button-radius: 14px;
--variant-picker-button-border-width: 1px;
/* Slideshow */
--slideshow-controls-size: 3.5rem;
--slideshow-controls-icon: 2rem;
--peek-next-slide-size: 3rem;
/* Utilities */
--backdrop-opacity: 0.15;
--backdrop-color-rgb: var(--color-shadow-rgb);
--minimum-touch-target: 44px;
--disabled-opacity: 0.5;
--skeleton-opacity: 0.025;
/* Shapes */
--shape--circle: circle(50% at center);
--shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%);
--shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
--shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%);
/* Buy buttons */
--height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm));
/* Card image width and height variables */
--card-width-small: 10rem;
--height-small: 10rem;
--height-medium: 11.5rem;
--height-large: 13rem;
--height-full: 100vh;
@media screen and (min-width: 750px) {
--height-small: 17.5rem;
--height-medium: 21.25rem;
--height-large: 25rem;
}
/* Modal */
--modal-max-height: 65dvh;
--quick-add-modal-height: min(38.5rem, 96vh);
--quick-add-modal-width: min(54rem, 96vw);
--quick-add-modal-gallery-width: 24rem;
/* Card styles for search */
--card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5));
--card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30));
--card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10));
/* Cart */
--cart-primary-font-family: var(--font-body--family);
--cart-primary-font-style: var(--font-body--style);
--cart-primary-font-weight: var(--font-body--weight);
--cart-secondary-font-family: var(--font-secondary--family);
--cart-secondary-font-style: var(--font-secondary--style);
--cart-secondary-font-weight: var(--font-secondary--weight);
}
</style>
<style data-shopify>
:root,
.color-scheme-1 {
--color-background: rgb(255 255 255 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 255 255 255;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(0 0 0 / 0.81);
--color-foreground-rgb: 0 0 0;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(0 0 0 / 0.81);
--color-primary-rgb: 0 0 0;
--color-primary-hover: rgb(213 181 90 / 1.0);
--color-primary-hover-rgb: 213 181 90;
--color-border: rgb(0 0 0 / 0.06);
--color-border-rgb: 0 0 0;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(0 0 0 / 1.0);
--color-primary-button-background: rgb(213 181 90 / 1.0);
--color-primary-button-border: rgb(213 181 90 / 1.0);
--color-primary-button-hover-text: rgb(0 0 0 / 1.0);
--color-primary-button-hover-background: rgb(213 181 90 / 1.0);
--color-primary-button-hover-border: rgb(213 181 90 / 1.0);
--color-secondary-button-text: rgb(213 181 90 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(213 181 90 / 1.0);
--color-secondary-button-hover-text: rgb(51 51 51 / 1.0);
--color-secondary-button-hover-background: rgb(250 250 250 / 1.0);
--color-secondary-button-hover-border: rgb(51 51 51 / 1.0);
--color-input-background: rgb(255 255 255 / 0.78);
--color-input-text: rgb(51 51 51 / 1.0);
--color-input-text-rgb: 51 51 51;
--color-input-border: rgb(0 0 0 / 1.0);
--color-input-hover-background: rgb(0 0 0 / 0.01);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(0 0 0 / 0.13);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-2 {
--color-background: rgb(213 181 90 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 213 181 90;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(0 0 0 / 0.81);
--color-foreground-rgb: 0 0 0;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(0 0 0 / 0.81);
--color-primary-rgb: 0 0 0;
--color-primary-hover: rgb(255 255 255 / 1.0);
--color-primary-hover-rgb: 255 255 255;
--color-border: rgb(223 223 223 / 1.0);
--color-border-rgb: 223 223 223;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(255 255 255 / 1.0);
--color-primary-button-background: rgb(0 0 0 / 1.0);
--color-primary-button-border: rgb(0 0 0 / 1.0);
--color-primary-button-hover-text: rgb(255 255 255 / 1.0);
--color-primary-button-hover-background: rgb(51 51 51 / 1.0);
--color-primary-button-hover-border: rgb(51 51 51 / 1.0);
--color-secondary-button-text: rgb(0 0 0 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(0 0 0 / 1.0);
--color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
--color-secondary-button-hover-background: rgb(255 255 255 / 0.36);
--color-secondary-button-hover-border: rgb(51 51 51 / 0.73);
--color-input-background: rgb(0 0 0 / 0.0);
--color-input-text: rgb(0 0 0 / 0.53);
--color-input-text-rgb: 0 0 0;
--color-input-border: rgb(0 0 0 / 0.13);
--color-input-hover-background: rgb(255 255 255 / 0.36);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-3 {
--color-background: rgb(0 0 0 / 0.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 0 0 0;
--opacity-5-15: 0.15;
--opacity-10-25: 0.25;
--opacity-35-55: 0.55;
--opacity-40-60: 0.6;
--opacity-30-60: 0.6;
--color-foreground: rgb(0 0 0 / 0.81);
--color-foreground-rgb: 0 0 0;
--color-foreground-heading: rgb(126 126 126 / 1.0);
--color-foreground-heading-rgb: 126 126 126;
--color-primary: rgb(0 0 0 / 0.81);
--color-primary-rgb: 0 0 0;
--color-primary-hover: rgb(0 0 0 / 1.0);
--color-primary-hover-rgb: 0 0 0;
--color-border: rgb(0 0 0 / 0.81);
--color-border-rgb: 0 0 0;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(255 255 255 / 1.0);
--color-primary-button-background: rgb(0 0 0 / 1.0);
--color-primary-button-border: rgb(0 0 0 / 1.0);
--color-primary-button-hover-text: rgb(255 255 255 / 1.0);
--color-primary-button-hover-background: rgb(51 51 51 / 1.0);
--color-primary-button-hover-border: rgb(51 51 51 / 1.0);
--color-secondary-button-text: rgb(0 0 0 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(0 0 0 / 1.0);
--color-secondary-button-hover-text: rgb(0 0 0 / 0.81);
--color-secondary-button-hover-background: rgb(255 255 255 / 0.36);
--color-secondary-button-hover-border: rgb(0 0 0 / 0.81);
--color-input-background: rgb(0 0 0 / 0.0);
--color-input-text: rgb(0 0 0 / 0.81);
--color-input-text-rgb: 0 0 0;
--color-input-border: rgb(0 0 0 / 0.81);
--color-input-hover-background: rgb(255 255 255 / 0.36);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-4 {
--color-background: rgb(225 237 245 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 225 237 245;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(0 0 0 / 0.81);
--color-foreground-rgb: 0 0 0;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(0 0 0 / 0.81);
--color-primary-rgb: 0 0 0;
--color-primary-hover: rgb(0 0 0 / 1.0);
--color-primary-hover-rgb: 0 0 0;
--color-border: rgb(29 54 134 / 0.5);
--color-border-rgb: 29 54 134;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(255 255 255 / 1.0);
--color-primary-button-background: rgb(0 0 0 / 1.0);
--color-primary-button-border: rgb(29 54 134 / 1.0);
--color-primary-button-hover-text: rgb(255 255 255 / 1.0);
--color-primary-button-hover-background: rgb(51 51 51 / 1.0);
--color-primary-button-hover-border: rgb(0 0 0 / 1.0);
--color-secondary-button-text: rgb(0 0 0 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(0 0 0 / 1.0);
--color-secondary-button-hover-text: rgb(0 0 0 / 0.81);
--color-secondary-button-hover-background: rgb(255 255 255 / 0.36);
--color-secondary-button-hover-border: rgb(0 0 0 / 0.81);
--color-input-background: rgb(0 0 0 / 0.0);
--color-input-text: rgb(0 0 0 / 0.81);
--color-input-text-rgb: 0 0 0;
--color-input-border: rgb(0 0 0 / 0.81);
--color-input-hover-background: rgb(255 255 255 / 0.36);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-5 {
--color-background: rgb(51 51 51 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 51 51 51;
--opacity-5-15: 0.15;
--opacity-10-25: 0.25;
--opacity-35-55: 0.55;
--opacity-40-60: 0.6;
--opacity-30-60: 0.6;
--color-foreground: rgb(255 255 255 / 1.0);
--color-foreground-rgb: 255 255 255;
--color-foreground-heading: rgb(255 255 255 / 1.0);
--color-foreground-heading-rgb: 255 255 255;
--color-primary: rgb(255 255 255 / 1.0);
--color-primary-rgb: 255 255 255;
--color-primary-hover: rgb(255 255 255 / 0.69);
--color-primary-hover-rgb: 255 255 255;
--color-border: rgb(255 255 255 / 0.69);
--color-border-rgb: 255 255 255;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(0 0 0 / 1.0);
--color-primary-button-background: rgb(255 255 255 / 1.0);
--color-primary-button-border: rgb(255 255 255 / 1.0);
--color-primary-button-hover-text: rgb(255 255 255 / 1.0);
--color-primary-button-hover-background: rgb(0 0 0 / 1.0);
--color-primary-button-hover-border: rgb(0 0 0 / 1.0);
--color-secondary-button-text: rgb(255 255 255 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(255 255 255 / 0.69);
--color-secondary-button-hover-text: rgb(255 255 255 / 0.93);
--color-secondary-button-hover-background: rgb(255 255 255 / 0.04);
--color-secondary-button-hover-border: rgb(255 255 255 / 0.69);
--color-input-background: rgb(51 51 51 / 1.0);
--color-input-text: rgb(255 255 255 / 0.93);
--color-input-text-rgb: 255 255 255;
--color-input-border: rgb(255 255 255 / 0.69);
--color-input-hover-background: rgb(255 255 255 / 0.04);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-6 {
--color-background: rgb(0 0 0 / 0.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 0 0 0;
--opacity-5-15: 0.15;
--opacity-10-25: 0.25;
--opacity-35-55: 0.55;
--opacity-40-60: 0.6;
--opacity-30-60: 0.6;
--color-foreground: rgb(255 255 255 / 1.0);
--color-foreground-rgb: 255 255 255;
--color-foreground-heading: rgb(255 255 255 / 1.0);
--color-foreground-heading-rgb: 255 255 255;
--color-primary: rgb(255 255 255 / 1.0);
--color-primary-rgb: 255 255 255;
--color-primary-hover: rgb(255 255 255 / 0.69);
--color-primary-hover-rgb: 255 255 255;
--color-border: rgb(230 230 230 / 1.0);
--color-border-rgb: 230 230 230;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(0 0 0 / 1.0);
--color-primary-button-background: rgb(255 255 255 / 1.0);
--color-primary-button-border: rgb(255 255 255 / 1.0);
--color-primary-button-hover-text: rgb(255 255 255 / 1.0);
--color-primary-button-hover-background: rgb(0 0 0 / 1.0);
--color-primary-button-hover-border: rgb(0 0 0 / 1.0);
--color-secondary-button-text: rgb(255 255 255 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(255 255 255 / 1.0);
--color-secondary-button-hover-text: rgb(255 255 255 / 1.0);
--color-secondary-button-hover-background: rgb(255 255 255 / 0.08);
--color-secondary-button-hover-border: rgb(255 255 255 / 1.0);
--color-input-background: rgb(255 255 255 / 1.0);
--color-input-text: rgb(0 0 0 / 0.53);
--color-input-text-rgb: 0 0 0;
--color-input-border: rgb(0 0 0 / 0.13);
--color-input-hover-background: rgb(250 250 250 / 1.0);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7 {
--color-background: rgb(0 0 0 / 0.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 0 0 0;
--opacity-5-15: 0.15;
--opacity-10-25: 0.25;
--opacity-35-55: 0.55;
--opacity-40-60: 0.6;
--opacity-30-60: 0.6;
--color-foreground: rgb(0 0 0 / 1.0);
--color-foreground-rgb: 0 0 0;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(0 0 0 / 1.0);
--color-primary-rgb: 0 0 0;
--color-primary-hover: rgb(0 0 0 / 0.53);
--color-primary-hover-rgb: 0 0 0;
--color-border: rgb(230 230 230 / 1.0);
--color-border-rgb: 230 230 230;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(255 255 255 / 1.0);
--color-primary-button-background: rgb(0 0 0 / 1.0);
--color-primary-button-border: rgb(0 0 0 / 1.0);
--color-primary-button-hover-text: rgb(255 255 255 / 1.0);
--color-primary-button-hover-background: rgb(51 51 51 / 1.0);
--color-primary-button-hover-border: rgb(51 51 51 / 1.0);
--color-secondary-button-text: rgb(0 0 0 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(0 0 0 / 1.0);
--color-secondary-button-hover-text: rgb(51 51 51 / 1.0);
--color-secondary-button-hover-background: rgb(250 250 250 / 1.0);
--color-secondary-button-hover-border: rgb(51 51 51 / 1.0);
--color-input-background: rgb(255 255 255 / 1.0);
--color-input-text: rgb(0 0 0 / 0.53);
--color-input-text-rgb: 0 0 0;
--color-input-border: rgb(0 0 0 / 0.13);
--color-input-hover-background: rgb(250 250 250 / 1.0);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-9e4182bb-75c0-414b-bb17-ea67d6af938f {
--color-background: rgb(255 255 255 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 255 255 255;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(0 0 0 / 0.81);
--color-foreground-rgb: 0 0 0;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(213 181 90 / 1.0);
--color-primary-rgb: 213 181 90;
--color-primary-hover: rgb(213 181 90 / 1.0);
--color-primary-hover-rgb: 213 181 90;
--color-border: rgb(0 0 0 / 0.06);
--color-border-rgb: 0 0 0;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(0 0 0 / 1.0);
--color-primary-button-background: rgb(213 181 90 / 1.0);
--color-primary-button-border: rgb(213 181 90 / 1.0);
--color-primary-button-hover-text: rgb(0 0 0 / 1.0);
--color-primary-button-hover-background: rgb(213 181 90 / 1.0);
--color-primary-button-hover-border: rgb(213 181 90 / 1.0);
--color-secondary-button-text: rgb(213 181 90 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(213 181 90 / 1.0);
--color-secondary-button-hover-text: rgb(51 51 51 / 1.0);
--color-secondary-button-hover-background: rgb(250 250 250 / 1.0);
--color-secondary-button-hover-border: rgb(51 51 51 / 1.0);
--color-input-background: rgb(255 255 255 / 0.78);
--color-input-text: rgb(51 51 51 / 1.0);
--color-input-text-rgb: 51 51 51;
--color-input-border: rgb(223 223 223 / 1.0);
--color-input-hover-background: rgb(0 0 0 / 0.01);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(0 0 0 / 0.81);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(213 181 90 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(0 0 0 / 0.81);
--color-selected-variant-background: rgb(213 181 90 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(0 0 0 / 1.0);
--color-selected-variant-hover-background: rgb(213 181 90 / 1.0);
--color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-ea486006-ba30-42a2-bc1d-765799c3e164 {
--color-background: rgb(239 132 179 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 239 132 179;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(0 0 0 / 0.81);
--color-foreground-rgb: 0 0 0;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(0 0 0 / 1.0);
--color-primary-rgb: 0 0 0;
--color-primary-hover: rgb(0 0 0 / 1.0);
--color-primary-hover-rgb: 0 0 0;
--color-border: rgb(0 0 0 / 0.06);
--color-border-rgb: 0 0 0;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(0 0 0 / 1.0);
--color-primary-button-background: rgb(213 181 90 / 1.0);
--color-primary-button-border: rgb(213 181 90 / 1.0);
--color-primary-button-hover-text: rgb(0 0 0 / 1.0);
--color-primary-button-hover-background: rgb(213 181 90 / 1.0);
--color-primary-button-hover-border: rgb(213 181 90 / 1.0);
--color-secondary-button-text: rgb(213 181 90 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(213 181 90 / 1.0);
--color-secondary-button-hover-text: rgb(51 51 51 / 1.0);
--color-secondary-button-hover-background: rgb(250 250 250 / 1.0);
--color-secondary-button-hover-border: rgb(51 51 51 / 1.0);
--color-input-background: rgb(255 255 255 / 0.78);
--color-input-text: rgb(51 51 51 / 1.0);
--color-input-text-rgb: 51 51 51;
--color-input-border: rgb(223 223 223 / 1.0);
--color-input-hover-background: rgb(0 0 0 / 0.01);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(0 0 0 / 0.13);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-4264706b-ca73-4e4f-9b80-0f537dafe55f {
--color-background: rgb(252 254 230 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 252 254 230;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(0 0 0 / 0.81);
--color-foreground-rgb: 0 0 0;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(0 0 0 / 0.81);
--color-primary-rgb: 0 0 0;
--color-primary-hover: rgb(239 155 93 / 1.0);
--color-primary-hover-rgb: 239 155 93;
--color-border: rgb(0 0 0 / 0.06);
--color-border-rgb: 0 0 0;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(0 0 0 / 1.0);
--color-primary-button-background: rgb(239 155 93 / 1.0);
--color-primary-button-border: rgb(239 155 93 / 1.0);
--color-primary-button-hover-text: rgb(0 0 0 / 1.0);
--color-primary-button-hover-background: rgb(239 155 93 / 1.0);
--color-primary-button-hover-border: rgb(239 155 93 / 1.0);
--color-secondary-button-text: rgb(239 155 93 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(239 155 93 / 1.0);
--color-secondary-button-hover-text: rgb(51 51 51 / 1.0);
--color-secondary-button-hover-background: rgb(250 250 250 / 1.0);
--color-secondary-button-hover-border: rgb(51 51 51 / 1.0);
--color-input-background: rgb(255 255 255 / 0.78);
--color-input-text: rgb(51 51 51 / 1.0);
--color-input-text-rgb: 51 51 51;
--color-input-border: rgb(223 223 223 / 1.0);
--color-input-hover-background: rgb(0 0 0 / 0.01);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(0 0 0 / 0.13);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-6, .color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7, .color-scheme-9e4182bb-75c0-414b-bb17-ea67d6af938f, .color-scheme-ea486006-ba30-42a2-bc1d-765799c3e164, .color-scheme-4264706b-ca73-4e4f-9b80-0f537dafe55f {
color: var(--color-foreground);
background-color: var(--color-background);
}
</style>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "Twinings",
"url": "https:\/\/twinings.co.uk",
"logo": "https:\/\/twinings.co.uk\/cdn\/shop\/files\/twinings.png?v=1624879184\u0026width=400",
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "twinings.direct@twinings.com",
"url": "https://twinings.co.uk"
},
"sameAs": [
"https:\/\/www.facebook.com\/twiningsuk\/",
"https:\/\/www.instagram.com\/twiningsuk",
"https:\/\/twitter.com\/twiningsuk"
]
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "Twinings",
"potentialAction": {
"@type": "SearchAction",
"target": "https:\/\/twinings.co.uk\/search?q={search_term_string}",
"query-input": "required name=search_term_string"
},
"url": "https:\/\/twinings.co.uk"
}
</script>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="0DgRExKBtWNA3s2OFptjJovBDGgtCAtvf40o_kmLDU0">
<meta name="google-site-verification" content="pVUp89wYWWDu9UySKbaHaIrsyDWaADspGN3I_9pbWVM">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/53367439558/digital_wallets/dialog">
<meta name="shopify-checkout-api-token" content="c4d4300b106f94d52c7bea7d7fb0bf13">
<meta id="in-context-paypal-metadata" data-shop-id="53367439558" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="GBP">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=23036102"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=23036102&shop_id=53367439558" crossorigin="anonymous"></script>
<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":53367439558,"countryCode":"GB","currencyCode":"GBP","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/53367439558","merchantName":"Twinings","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","maestro","masterCard","amex"],"total":{"type":"pending","label":"Twinings","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
<script id="shopify-features" type="application/json">{"accessToken":"c4d4300b106f94d52c7bea7d7fb0bf13","betas":["rich-media-storefront-analytics"],"domain":"twinings.co.uk","predictiveSearch":true,"shopId":53367439558,"locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "twinings-uk.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"GBP","rate":"1.0"};
Shopify.country = "GB";
Shopify.theme = {"name":"Horizon - UAT","id":149149286598,"schema_name":"Horizon","schema_version":"3.4.0","theme_store_id":2481,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "twinings.co.uk/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":"index"}</script>
<script defer="defer" async type="module" src="//twinings.co.uk/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
<script type="module">
await import("//twinings.co.uk/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
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'] = {"listener":["modules/v2/loader.listener.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"avatar":["modules/v2/loader.avatar.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"]};
</script>
<script>(function() {
var isLoaded = false;
function asyncLoad() {
if (isLoaded) return;
isLoaded = true;
var urls = ["https:\/\/cdn.logbase.io\/lb-upsell-wrapper.js?shop=twinings-uk.myshopify.com","\/\/cdn.shopify.com\/proxy\/7b1add2f0adc740e4e2231483d9a052eede320634f761eeb3db7453a28c0de60\/bucket.useifsapp.com\/theme-files-min\/js\/ifs-script-tag-min.js?v=2\u0026shop=twinings-uk.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/cdn.pushowl.com\/latest\/sdks\/pushowl-shopify.js?subdomain=twinings-uk\u0026environment=production\u0026guid=020b16e9-f6fc-45dd-a570-6715b43ed483\u0026shop=twinings-uk.myshopify.com","https:\/\/cdn.zigpoll.com\/zigpoll-shopify-embed.js?accountId=66bc7d489e52852d15186701\u0026shop=twinings-uk.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":53367439558,"offset":3600,"reqid":"3f02b496-bdf6-4307-9acf-bbf4ba05f603-1787472480","pageurl":"twinings.co.uk\/","u":"7da82f9a95ab","p":"home"};</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="//twinings.co.uk/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 = "//twinings.co.uk/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="//twinings.co.uk/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 = "twinings-uk.myshopify.com";
window.Shopify.MCP.mcpEndpoint = "https:\/\/twinings.co.uk\/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://twinings.co.uk/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>
<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://twinings.co.uk/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>
<link rel="stylesheet" media="screen" href="//twinings.co.uk/cdn/shop/t/172/compiled_assets/styles.css?v=1931130234520955031785229084">
<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<script>
(function () {
let hasLoaded = false;
// ✅ Add any OTHER scripts you want here
const additionalScripts = [
// Example:
// "https://example.com/script1.js",
// "https://example.com/script2.js"
];
function loadAllScripts() {
if (hasLoaded) return;
hasLoaded = true;
// ✅ 1. Load additional independent scripts (parallel)
additionalScripts.forEach(function (url) {
var s = document.createElement('script');
s.src = url;
s.defer = true;
document.body.appendChild(s);
});
// ✅ 2. Load Script 1 (Loader)
var loaderScript = document.createElement('script');
loaderScript.src =
'https://cdn.shopify.com/extensions/a91f9cd9-7693-4b55-b0f8-a47f69a8cb0c/inbox-1267/assets/inbox-chat-loader.js';
loaderScript.defer = true;
// ✅ 3. After Script 1 loads → Load Script 2 with attributes
loaderScript.onload = function () {
var widgetScript = document.createElement('script');
widgetScript.src =
'https://cdn.shopify.com/extensions/a91f9cd9-7693-4b55-b0f8-a47f69a8cb0c/inbox-1267/assets/shopifyChatV1Widget.js';
widgetScript.type = 'module';
widgetScript.defer = true;
widgetScript.async = true;
// ✅ Required attributes
widgetScript.setAttribute('data-button-color', '#000000');
widgetScript.setAttribute('data-secondary-color', '#ffffff');
widgetScript.setAttribute('data-ternary-color', '#d5b55a');
widgetScript.setAttribute('data-icon', 'chat_bubble');
widgetScript.setAttribute('data-text', 'chat_with_us');
widgetScript.setAttribute('data-position', 'bottom_right');
widgetScript.setAttribute('data-vertical-position', 'higher');
widgetScript.setAttribute('data-shop-id', 'CHvsIJxTL1-K2vObUVadXTK_Mq8klEIUv4ZqMcoFYdA');
widgetScript.setAttribute('data-shop', 'twinings.co.uk');
widgetScript.setAttribute('data-shop-domain', 'twinings.co.uk');
document.body.appendChild(widgetScript);
};
document.body.appendChild(loaderScript);
removeListeners();
}
function removeListeners() {
events.forEach(function (event) {
window.removeEventListener(event, loadAllScripts);
});
}
// ✅ Interaction triggers
const events = ['click', 'scroll', 'mousemove', 'touchstart', 'keydown'];
events.forEach(function (event) {
window.addEventListener(event, loadAllScripts, { passive: true });
});
// ✅ Optional fallback (loads anyway after 5s)
// setTimeout(loadAllScripts, 5000);
})();
</script>
<!-- BEGIN app block: shopify://apps/boost-ai-search-filter/blocks/boost-sd-ssr/7fc998ae-a150-4367-bab8-505d8a4503f7 --><script type="text/javascript">"use strict";(()=>{function mergeDeepMutate(target,...sources){if(!target)return target;if(sources.length===0)return target;const isObject=obj=>!!obj&&typeof obj==="object";const isPlainObject=obj=>{if(!isObject(obj))return false;const proto=Object.getPrototypeOf(obj);return proto===Object.prototype||proto===null};for(const source of sources){if(!source)continue;for(const key in source){const sourceValue=source[key];if(!(key in target)){target[key]=sourceValue;continue}const targetValue=target[key];if(Array.isArray(targetValue)&&Array.isArray(sourceValue)){target[key]=targetValue.concat(...sourceValue)}else if(isPlainObject(targetValue)&&isPlainObject(sourceValue)){target[key]=mergeDeepMutate(targetValue,sourceValue)}else{target[key]=sourceValue}}}return target}var Application=class{constructor(config,dataObjects){this.modules=[];this.cachedModulesByConstructor=new Map;this.status="created";this.cachedEventListeners={};this.registryBlockListeners=[];this.readyListeners=[];this.mode="production";this.logLevel=1;this.blocks={};const boostWidgetIntegration=window.boostWidgetIntegration;this.config=config||{logLevel:boostWidgetIntegration?.config?.logLevel,env:"production"};this.logLevel=this.config.logLevel??(this.mode==="production"?2:this.logLevel);if(this.config.logLevel==null){this.config.logLevel=this.logLevel}this.dataObjects=dataObjects||{};this.logger={debug:(...args)=>{if(this.logLevel<=0){console.debug("Boost > [DEBUG] ",...args)}},info:(...args)=>{if(this.logLevel<=1){console.info("Boost > [INFO] ",...args)}},warn:(...args)=>{if(this.logLevel<=2){console.warn("Boost > [WARN] ",...args)}},error:(...args)=>{if(this.logLevel<=3){console.error("Boost > [ERROR] ",...args)}}}}bootstrap(){if(this.status==="bootstrapped"){this.logger.warn("Application already bootstrapped");return}if(this.status==="started"){this.logger.warn("Application already started");return}this.loadModuleEventListeners();this.dispatchLifecycleEvent({name:"onBeforeAppBootstrap",payload:null});if(this.config?.customization?.app?.onBootstrap){this.config.customization.app.onBootstrap(this)}this.extendAppConfigFromModules();this.extendAppConfigFromGlobalVariables();this.initializeDataObjects();this.assignGlobalVariables();this.status="bootstrapped";this.dispatchLifecycleEvent({name:"onAppBootstrap",payload:null})}async initModules(){await Promise.all(this.modules.map(async module=>{if(!module.shouldInit()){this.logger.info("Module not initialized",module.constructor.name,"shouldInit returned false");return}module.onBeforeModuleInit?.();this.dispatchLifecycleEvent({name:"onBeforeModuleInit",payload:{module}});this.logger.info(`Initializing ${module.constructor.name} module`);try{await module.init();this.dispatchLifecycleEvent({name:"onModuleInit",payload:{module}})}catch(error){this.logger.error(`Error initializing module ${module.constructor.name}:`,error);this.dispatchLifecycleEvent({name:"onModuleError",payload:{module,error:error instanceof Error?error:new Error(String(error))}})}}))}getModule(constructor){const module=this.cachedModulesByConstructor.get(constructor);if(module&&!module.shouldInit()){return void 0}return module}getModuleByName(name){const module=this.modules.find(mod=>{const ModuleClass=mod.constructor;return ModuleClass.moduleName===name});if(module&&!module.shouldInit()){return void 0}return module}registerBlock(block){if(!block.id){this.logger.error("Block id is required");return}const blockId=block.id;if(this.blocks[blockId]){this.logger.error(`Block with id ${blockId} already exists`);return}this.blocks[blockId]=block;if(window.boostWidgetIntegration.blocks){window.boostWidgetIntegration.blocks[blockId]=block}this.dispatchLifecycleEvent({name:"onRegisterBlock",payload:{block}});this.registryBlockListeners.forEach(listener=>{try{listener(block)}catch(error){this.logger.error("Error in registry block listener:",error)}})}addRegistryBlockListener(listener){this.registryBlockListeners.push(listener);Object.values(this.blocks).forEach(block=>{try{listener(block)}catch(error){this.logger.error("Error in registry block listener for existing block:",error)}})}removeRegistryBlockListener(listener){const index=this.registryBlockListeners.indexOf(listener);if(index>-1){this.registryBlockListeners.splice(index,1)}}onReady(handler){if(this.status==="started"){try{handler()}catch(error){this.logger.error("Error in ready handler:",error)}}else{this.readyListeners.push(handler)}}assignGlobalVariables(){if(!window.boostWidgetIntegration){window.boostWidgetIntegration={}}Object.assign(window.boostWidgetIntegration,{TAEApp:this,config:this.config,dataObjects:this.dataObjects,blocks:this.blocks})}async start(){this.logger.info("Application starting");this.bootstrap();this.dispatchLifecycleEvent({name:"onBeforeAppStart",payload:null});await this.initModules();this.status="started";this.dispatchLifecycleEvent({name:"onAppStart",payload:null});this.readyListeners.forEach(listener=>{try{listener()}catch(error){this.logger.error("Error in ready listener:",error)}});if(this.config?.customization?.app?.onStart){this.config.customization.app.onStart(this)}}destroy(){if(this.status!=="started"){this.logger.warn("Application not started yet");return}this.modules.forEach(module=>{this.dispatchLifecycleEvent({name:"onModuleDestroy",payload:{module}});module.destroy()});this.modules=[];this.resetBlocks();this.status="destroyed";this.dispatchLifecycleEvent({name:"onAppDestroy",payload:null})}setLogLevel(level){this.logLevel=level;this.updateConfig({logLevel:level})}loadModule(ModuleConstructor){if(!ModuleConstructor){return this}const app=this;const moduleInstance=new ModuleConstructor(app);if(app.cachedModulesByConstructor.has(ModuleConstructor)){this.logger.warn(`Module ${ModuleConstructor.name} already loaded`);return app}this.modules.push(moduleInstance);this.cachedModulesByConstructor.set(ModuleConstructor,moduleInstance);this.logger.info(`Module ${ModuleConstructor.name} already loaded`);return app}updateConfig(newConfig){if(typeof newConfig==="function"){this.config=newConfig(this.config)}else{mergeDeepMutate(this.config,newConfig)}return this.config}dispatchLifecycleEvent(event){switch(event.name){case"onBeforeAppBootstrap":this.triggerEvent("onBeforeAppBootstrap",event);break;case"onAppBootstrap":this.logger.info("Application bootstrapped");this.triggerEvent("onAppBootstrap",event);break;case"onBeforeModuleInit":this.triggerEvent("onBeforeModuleInit",event);break;case"onModuleInit":this.logger.info(`Module ${event.payload.module.constructor.name} initialized`);this.triggerEvent("onModuleInit",event);break;case"onModuleDestroy":this.logger.info(`Module ${event.payload.module.constructor.name} destroyed`);this.triggerEvent("onModuleDestroy",event);break;case"onBeforeAppStart":this.triggerEvent("onBeforeAppStart",event);break;case"onAppStart":this.logger.info("Application started");this.triggerEvent("onAppStart",event);break;case"onAppDestroy":this.logger.info("Application destroyed");this.triggerEvent("onAppDestroy",event);break;case"onAppError":this.logger.error("Application error",event.payload.error);this.triggerEvent("onAppError",event);break;case"onModuleError":this.logger.error("Module error",event.payload.module.constructor.name,event.payload.error);this.triggerEvent("onModuleError",event);break;case"onRegisterBlock":this.logger.info(`Block registered with id: ${event.payload.block.id}`);this.triggerEvent("onRegisterBlock",event);break;default:this.logger.warn("Unknown lifecycle event",event);break}}triggerEvent(eventName,event){const eventListeners=this.cachedEventListeners[eventName];if(eventListeners){eventListeners.forEach(listener=>{try{if(eventName==="onRegisterBlock"&&event.payload&&"block"in event.payload){listener(event.payload.block)}else{listener(event)}}catch(error){this.logger.error(`Error in event listener for ${eventName}:`,error,"Event data:",event)}})}}extendAppConfigFromModules(){this.modules.forEach(module=>{const extendAppConfig=module.extendAppConfig;if(extendAppConfig){mergeDeepMutate(this.config,extendAppConfig)}})}extendAppConfigFromGlobalVariables(){const initializedGlobalConfig=window.boostWidgetIntegration?.config;if(initializedGlobalConfig){mergeDeepMutate(this.config,initializedGlobalConfig)}}initializeDataObjects(){this.modules.forEach(module=>{const dataObject=module.dataObject;if(dataObject){mergeDeepMutate(this.dataObjects,dataObject)}})}resetBlocks(){this.logger.info("Resetting all blocks");this.blocks={}}loadModuleEventListeners(){this.cachedEventListeners={};const eventNames=["onBeforeAppBootstrap","onAppBootstrap","onModuleInit","onModuleDestroy","onBeforeAppStart","onAppStart","onAppDestroy","onAppError","onModuleError","onRegisterBlock"];this.modules.forEach(module=>{eventNames.forEach(eventName=>{const eventListener=(...args)=>{if(this.status==="bootstrapped"||this.status==="started"){if(!module.shouldInit())return}return module[eventName]?.(...args)};if(typeof eventListener==="function"){if(!this.cachedEventListeners[eventName]){this.cachedEventListeners[eventName]=[]}if(eventName==="onRegisterBlock"){this.cachedEventListeners[eventName]?.push((block=>{eventListener.call(module,block)}))}else{this.cachedEventListeners[eventName]?.push(eventListener.bind(module))}}})})}};var Module=class{constructor(app){this.app=app}shouldInit(){return true}destroy(){}init(){}get extendAppConfig(){return{}}get dataObject(){return{}}};var BoostTAEAppModule=class extends Module{constructor(){super(...arguments);this.boostTAEApp=null}get TAEApp(){const boostTAE=getBoostTAE();if(!boostTAE){throw new Error("Boost TAE is not initialized")}this.boostTAEApp=boostTAE;return this.boostTAEApp}get TAEAppConfig(){return this.TAEApp.config}get TAEAppDataObjects(){return this.TAEApp.dataObjects}};var AdditionalElement=class extends BoostTAEAppModule{get extendAppConfig(){return {additionalElementSettings:Object.assign(
{
default_sort_order: {"search":"","all":""},
}, {"customSortingList":"relevance|best-selling|manual|price-ascending|price-descending","enableCollectionSearch":false})};}};AdditionalElement.moduleName="AdditionalElement";function getShortenToFullParamMap(){const shortenUrlParamList=getBoostTAE().config?.filterSettings?.shortenUrlParamList;const map={};if(!Array.isArray(shortenUrlParamList)){return map}shortenUrlParamList.forEach(item=>{if(typeof item!=="string")return;const idx=item.lastIndexOf(":");if(idx===-1)return;const full=item.slice(0,idx).trim();const short=item.slice(idx+1).trim();if(!full.startsWith("pf_"))return;if(full.length>0&&short.length>0){map[short]=full}});return map}function generateUUID(){return "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx".replace(/[x]/g,function(){const r=Math.random()*16|0;return r.toString(16)});}function getQueryParamByKey(key){const urlParams=new URLSearchParams(window.location.search);return urlParams.get(key)}function convertValueRequestStockStatus(v){if(typeof v==="string"){if(v==="out-of-stock")return false;return true}if(Array.isArray(v)){return v.map(_v=>{if(_v==="out-of-stock"){return false}return true})}return false}function isMobileWidth(){return window.innerWidth<576}function isTabletPortraitMaxWidth(){return window.innerWidth<=991}function detectDeviceByWidth(){let result="";if(isMobileWidth()){result+="mobile|"}else{result=result.replace("mobile|","")}if(isTabletPortraitMaxWidth()){result+="tablet_portrait_max"}else{result=result.replace("tablet_portrait_max","")}return result}function getSortBy(){const{generalSettings:{collection_id=0,page="collection",default_sort_by:defaultSortBy}={},additionalElementSettings:{default_sort_order:defaultSortOrder={},customSortingList}={}}=getBoostTAE().config;const defaultSortingList=["relevance","best-selling","manual","title-ascending","title-descending","price-ascending","price-descending","created-ascending","created-descending"];const sortQueryKey=getQueryParamByKey("sort");const sortingList=customSortingList?customSortingList.split("|"):defaultSortingList;if(sortQueryKey&&sortingList.includes(sortQueryKey))return sortQueryKey;const searchPage=page==="search";const collectionPage=page==="collection";if(searchPage)sortingList.splice(sortingList.indexOf("manual"),1);const{all,search}=defaultSortOrder;if(collectionPage){if(collection_id in defaultSortOrder){return defaultSortOrder[collection_id]}else if(all){return all}else if(defaultSortBy){return defaultSortBy}}else if(searchPage){return search||"relevance"}return""}var addParamsLocale=(params={})=>{params.return_all_currency_fields=false;return{...params,currency_rate:window.Shopify?.currency?.rate,currency:window.Shopify?.currency?.active,country:window.Shopify?.country}};var getLocalStorage=key=>{try{const value=localStorage.getItem(key);if(value)return JSON.parse(value);return null}catch{return null}};var setLocalStorage=(key,value)=>{try{localStorage.setItem(key,JSON.stringify(value))}catch(error){getBoostTAE().logger.error("Error setLocalStorage",error)}};var removeLocalStorage=key=>{try{localStorage.removeItem(key)}catch(error){getBoostTAE().logger.error("Error removeLocalStorage",error)}};function roundToNearest50(num){const remainder=num%50;if(remainder>25){return num+(50-remainder)}else{return num-remainder}}function lazyLoadImages(dom){if(!dom)return;const lazyImages=dom.querySelectorAll(".boost-sd__product-image-img[loading='lazy']");lazyImages.forEach(function(img){inViewPortHandler(img.parentElement,element=>{const imgElement=element.querySelector(".boost-sd__product-image-img[loading='lazy']");if(imgElement){imgElement.removeAttribute("loading")}})})}function inViewPortHandler(elements,callback){const observer=new IntersectionObserver(function intersectionObserverCallback(entries,observer2){entries.forEach(function(entry){if(entry.isIntersecting){callback(entry.target);observer2.unobserve(entry.target)}})});if(Array.isArray(elements)){elements.forEach(element=>observer.observe(element))}else{observer.observe(elements)}}var isBadUrl=url=>{try{if(!url){const searchString2=getWindowLocation().search;if(!searchString2||searchString2.length<=1){return false}return checkSearchStringForXSS(searchString2)}if(typeof url==="string"){const questionMarkIndex=url.indexOf("?");const searchString2=questionMarkIndex>=0?url.substring(questionMarkIndex):"";if(!searchString2||searchString2.length<=1){return false}return checkSearchStringForXSS(searchString2)}const searchString=url.search;if(!searchString||searchString.length<=1){return false}return checkSearchStringForXSS(searchString)}catch{return true}};var checkSearchStringForXSS=searchString=>{const urlParams=decodeURIComponent(searchString).split("&");for(let i=0;i<urlParams.length;i++){if(isBadSearchTerm(urlParams[i])){return true}}return false};var getWindowLocation=()=>{const href=window.location.href;const escapedHref=href.replace(/%3C/g,"<").replace(/%3E/g,">");const rebuildHrefArr=[];for(let i=0;i<escapedHref.length;i++){rebuildHrefArr.push(escapedHref.charAt(i))}const rebuildHref=rebuildHrefArr.join("").split("<").join("%3C").split(">").join("%3E");let rebuildSearch="";const hrefWithoutHash=rebuildHref.replace(/#.*$/,"");if(hrefWithoutHash.split("?").length>1){rebuildSearch=hrefWithoutHash.split("?")[1];if(rebuildSearch.length>0){rebuildSearch="?"+rebuildSearch}}return{pathname:window.location.pathname,href:rebuildHref,search:rebuildSearch}};var isBadSearchTerm=term=>{if(typeof term=="string"){term=term.toLowerCase();const domEvents=["img src","script","alert","onabort","popstate","afterprint","beforeprint","beforeunload","blur","canplay","canplaythrough","change","click","contextmenu","copy","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","ended","error","focus","focusin","focusout","fullscreenchange","fullscreenerror","hashchange","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseout","mouseout","mouseup","offline","online","pagehide","pageshow","paste","pause","play","playing","progress","ratechange","resize","reset","scroll","search","seeked","seeking","select","show","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","unload","volumechange","waiting","wheel"];const potentialEventRegex=new RegExp(domEvents.join("=|on"));const countOpenTag=(term.match(/</g)||[]).length;const countCloseTag=(term.match(/>/g)||[]).length;const isAlert=(term.match(/alert\(/g)||[]).length;const isConsoleLog=(term.match(/console\.log\(/g)||[]).length;const isExecCommand=(term.match(/execCommand/g)||[]).length;const isCookie=(term.match(/document\.cookie/g)||[]).length;const isJavascript=(term.match(/j.*a.*v.*a.*s.*c.*r.*i.*p.*t/g)||[]).length;const isPotentialEvent=potentialEventRegex.test(term);if(countOpenTag>0&&countCloseTag>0||countOpenTag>1||countCloseTag>1||isAlert||isConsoleLog||isExecCommand||isCookie||isJavascript||isPotentialEvent){return true}}return false};var isCollectionPage=()=>{return getBoostTAE().config.generalSettings?.page==="collection"};var isSearchPage=()=>{return getBoostTAE().config.generalSettings?.page==="search"};var isCartPage=()=>{return getBoostTAE().config.generalSettings?.page==="cart"};var isProductPage=()=>{return getBoostTAE().config.generalSettings?.page==="product"};var isHomePage=()=>{return getBoostTAE().config.generalSettings?.page==="index"};var isVendorPage=()=>{return window.location.pathname.indexOf("/collections/vendors")>-1};var getCurrentPage=()=>{let currentPage="";switch(true){case isCollectionPage():currentPage="collection_page";break;case isSearchPage():currentPage="search_page";break;case isProductPage():currentPage="product_page";break;case isCartPage():currentPage="cart_page";break;case isHomePage():currentPage="home_page";break;default:break}return currentPage};var checkExistFilterOptionParam=()=>{const queryParams=new URLSearchParams(window.location.search);const shortenToFullMap=getShortenToFullParamMap();for(const key of queryParams.keys()){if(key.startsWith("pf_"))return true;const resolved=shortenToFullMap[key];if(typeof resolved==="string"&&resolved.startsWith("pf_"))return true}return false};function getCustomerId(){return window?.__st?.cid||window?.meta?.page?.customerId||window?.ShopifyAnalytics?.meta?.page?.customerId||window?.ShopifyAnalytics?.lib?.user?.()?.traits()?.uniqToken}function isShopifyTypePage(){return window.location.pathname.indexOf("/collections/types")>-1}var Analytics=class _Analytics extends BoostTAEAppModule{saveRequestId(type,request_id,bundles=[]){const requestIds=getLocalStorage(_Analytics.STORAGE_KEY_PRE_REQUEST_IDS)||{};requestIds[type]=request_id;if(Array.isArray(bundles)){bundles?.forEach(bundle=>{let placement="";switch(type){case"search":placement=_Analytics.KEY_PLACEMENT_BY_TYPE.search_page;break;case"suggest":placement=_Analytics.KEY_PLACEMENT_BY_TYPE.instant_search;break;case"product_page_bundle":placement=_Analytics.KEY_PLACEMENT_BY_TYPE.product_page;break;default:break}requestIds[`${bundle.widgetId||""}_${placement}`]=request_id})}setLocalStorage(_Analytics.STORAGE_KEY_PRE_REQUEST_IDS,requestIds)}savePreAction(type){setLocalStorage(_Analytics.STORAGE_KEY_PRE_ACTION,type)}};Analytics.moduleName="Analytics";Analytics.STORAGE_KEY_PRE_REQUEST_IDS="boostSdPreRequestIds";Analytics.STORAGE_KEY_PRE_ACTION="boostSdPreAction";Analytics.KEY_PLACEMENT_BY_TYPE={product_page:"product_page",search_page:"search_page",instant_search:"instant_search"};var AppSettings=class extends BoostTAEAppModule{get extendAppConfig(){const config={cdn:"https://cdn.boostcommerce.io",bundleUrl:"https://services.mybcapps.com/bc-sf-filter/bundles",productUrl:"https://services.mybcapps.com/bc-sf-filter/products",productListingUrl:"https://services.mybcapps.com/bc-sf-filter/product-listing",subscriptionUrl:"https://services.mybcapps.com/bc-sf-filter/subscribe-b2s",nodeSSRUrl:"https://services.mybcapps.com/bc-sf-ssr-node",rubySSRUrl:"https://services.mybcapps.com/bc-sf-ssr-ruby",ssrUrl:"",taeSettings:window.boostWidgetIntegration?.taeSettings||{instantSearch:{enabled:false}},generalSettings:Object.assign(
{preview_mode:false,preview_path:"",page:"index",custom_js_asset_url:"",custom_css_asset_url:"",collection_id: 0,collection_handle:"",collection_product_count: 0,...
{
},collection_tags: null,current_tags: null,default_sort_by:"",swatch_extension:"png",no_image_url:"https://cdn.shopify.com/extensions/019fc5ae-c2c5-7f91-85ff-84eb227fb474/product-filter-search-222/assets/boost-pfs-no-image.jpg",search_term:"",template:"index",currencies:["GBP"],current_currency:"GBP",published_locales:{...
{"en":true}
},current_locale:"en",ssr_engine:"node",ssr_version:"v1"},
{"addCollectionToProductUrl":false,"enableTrackingOrderRevenue":true}
),translation:{},...
{
translation: {"refine":"Refine By","refineMobile":"Refine By","refineMobileCollapse":"Hide Filter","clear":"Clear","clearAll":"Clear All","viewMore":"View More","viewLess":"View Less","apply":"Apply","close":"Close","showLimit":"Show","collectionAll":"All","under":"Under","above":"Above","ratingStars":"Star","showResult":"Show results","searchOptions":"Search Options","loadMore":"Load More","loadMoreTotal":"{{ from }} - {{ to }} of {{ total }} Products","search":{"generalTitle":"Search","resultHeader":"Search results for \"{{ terms }}\"","resultNumber":"Showing {{ count }} results for \"{{ terms }}\"","resultEmpty":"Your search for \"{{ terms }}\" did not match any results"},"suggestion":{"viewAll":"View all results","didYouMean":"Did you mean: {{ terms }}?","suggestQuery":"Showing results for {{ terms }}","instantSearchSuggestionsLabel":"Popular suggestions","instantSearchCollectionsLabel":"Collections","instantSearchProductsLabel":"Products","instantSearchPagesLabel":"Blog & Pages"},"error":{"noFilterResult":"Sorry, no products matched your selection","noSearchResult":"Sorry, no products matched the keyword","noProducts":"No products found in this collection","noSuggestionResult":"Sorry, nothing found for \"{{ terms }}\"","noSuggestionProducts":"Sorry, nothing found for \"{{ terms }}\""},"recommendation":{"cartpage-283653":"Frequently bought together","homepage-244222":"Most viewed"},"productItem":{},"quickView":{},"cart":{},"recentlyViewed":{"recentProductHeading":"Recently Viewed Products"},"mostPopular":{"popularProductsHeading":"Popular Products"},"perpage":{},"productCount":{},"pagination":{},"sortingList":{"relevance":"Featured","best-selling":"Best Selling","manual":"Featured","price-ascending":"Lowest Price","price-descending":"Highest Price"},"inCollectionSearch":"Search for products in this collection","collectionHeader":{},"breadcrumb":{},"sliderProduct":{},"filterOptions":{"filterOption|r9RmQQ88T|pf_t_tea_type":"Tea Type","filterOption|r9RmQQ88T|pf_t_format":"Format","filterOption|r9RmQQ88T|pf_t_pack_size":"Pack Size","filterOption|r9RmQQ88T|pf_t_brand":"Brand","filterOption|r9RmQQ88T|pf_t_by_herb":"By Herb","filterOption|r9RmQQ88T|pf_t_by_fruit":"By Fruit","filterOption|r9RmQQ88T|pf_t_need":"Need","filterOption|r9RmQQ88T|pf_t_origin":"Origin","filterOption|5_TBiWfF-v|pf_pt_product_type":"Product Type","filterOption|5_TBiWfF-v|pf_t_brand":"Brand","filterOption|5_TBiWfF-v|pf_opt_flavour":"Flavour","filterOption|CkLbhY3Ee|pf_pt_range":"Range","filterOption|CkLbhY3Ee|pf_t_tea_type":"Tea Type","filterOption|CkLbhY3Ee|pf_t_pack_size":"Pack Size","filterOption|CkLbhY3Ee|pf_t_by_herb":"By Herb","filterOption|CkLbhY3Ee|pf_t_by_fruit":"By Fruit","filterOption|CkLbhY3Ee|pf_t_need":"Need","filterOption|CkLbhY3Ee|pf_t_brand":"Brand","filterOption|CkLbhY3Ee|pf_t_flavour":"Flavour","filterOption|NvRRbgZ3A|pf_t_gift_type":"Gift Type","filterOption|NvRRbgZ3A|pf_t_a_little_help":"A Little Help","filterOption|NvRRbgZ3A|pf_p_price":"Price","filterOption|E39CFbG4D|pf_t_product_type":"Product Type","filterOption|E39CFbG4D|pf_t_tea_type":"Tea Type","filterOption|E39CFbG4D|pf_t_by_weight":"By Weight","filterOption|IxS6FQBCp|pf_t_brand":"Brand","filterOption|IxS6FQBCp|pf_t_product_type":"Product Type","filterOption|cB0Iv1NGf|pf_t_brand":"Brand","filterOption|g-i2rV5wa|pf_t_brand":"Brand","filterOption|g-i2rV5wa|pf_t_teaware_type":"Teaware Type","filterOption|g-i2rV5wa|pf_p_price":"Price","filterOption|pxGbsIt73|pf_pt_range":"Range","filterOption|pxGbsIt73|pf_t_tea_type":"Tea Type","filterOption|pxGbsIt73|pf_t_format":"Format","filterOption|pxGbsIt73|pf_t_pack_size":"Pack Size","filterOption|pxGbsIt73|pf_t_by_herb":"By Herb","filterOption|pxGbsIt73|pf_t_by_fruit":"By Fruit","filterOption|pxGbsIt73|pf_t_need":"Need","filterOption|pxGbsIt73|pf_t_origin":"Origin","filterOption|J_gYAqUEZ|pf_t_brand":"Brand","filterOption|J_gYAqUEZ|pf_t_tag":"Tag","filterOption|grCGHKV0M|pf_t_material":"Material","filterOption|grCGHKV0M|pf_t_tag":"Tag","filterOption|grCGHKV0M|pf_p_price":"Price"},"predictiveBundle":{}},
}
};const ssr_engine=config.generalSettings?.ssr_engine||"node";switch(ssr_engine){case"ruby":config.ssrUrl=config.rubySSRUrl;break;default:config.ssrUrl=config.nodeSSRUrl}return config}onBeforeAppStart(){const{templateMetadata,env}=this.TAEAppConfig;if(templateMetadata?.themeLibVersion){const themeLibVersion=templateMetadata.themeLibVersion;const versionParts=themeLibVersion.split(".").map(Number);if(versionParts[0]>1||versionParts[0]===1&&versionParts[1]>=89||env==="staging"){this.TAEAppConfig.generalSettings.ssr_version="v2"}}}};AppSettings.moduleName="AppSettings";var AssetFilesLoader=class extends BoostTAEAppModule{constructor(){super(...arguments);this.cacheVersionString=Date.now().toString()}onAppStart(){this.loadAssetFiles();this.assetLoadingPromise("themeCSS").then(()=>{this.TAEApp.updateConfig({themeCssLoaded:true})});this.assetLoadingPromise("settingsCSS").then(()=>{this.TAEApp.updateConfig({settingsCSSLoaded:true})})}loadAssetFiles(){this.loadThemeCSS();this.loadSettingsCSS();this.loadMainScript();this.loadRTLCSS();this.loadCustomizedCSSAndScript()}loadCustomizedCSSAndScript(){const{assetFilesLoader,templateMetadata}=this.TAEAppConfig;const themeCSSLinkElement=assetFilesLoader.themeCSS.element;const settingCSSLinkElement=assetFilesLoader.settingsCSS.element;const loadResources=()=>{if(this.TAEAppConfig.assetFilesLoader.themeCSS.status!=="loaded"||this.TAEAppConfig.assetFilesLoader.settingsCSS.status!=="loaded")return;if(templateMetadata?.customizeCssUrl){this.loadCSSFile("customizedCSS")}if(templateMetadata?.customizeJsUrl){this.loadScript("customizedScript")}};themeCSSLinkElement?.addEventListener("load",loadResources);settingCSSLinkElement?.addEventListener("load",loadResources)}loadSettingsCSS(){const result=this.loadCSSFile("settingsCSS");return result}loadThemeCSS(){const result=this.loadCSSFile("themeCSS");return result}loadRTLCSS(){const rtlDetected=document.documentElement.getAttribute("dir")==="rtl";if(rtlDetected){const result=this.loadCSSFile("rtlCSS");return result}}loadMainScript(){const result=this.loadScript("mainScript");return result}preloadModuleScript(module){const TAEAppConfig=this.TAEAppConfig;const inStagingEnv=TAEAppConfig.env==="staging";const themeLibVersion=inStagingEnv?"staging":TAEAppConfig.templateMetadata?.themeLibVersion;if(!inStagingEnv)return;if(!["filter","recommendation","instant-search"].includes(module))return;const scriptUrl=`${TAEAppConfig.cdn}/${"widget-integration"}/${themeLibVersion}/${module}.module.js`;const link=document.createElement("link");link.rel="preload";link.as="script";link.href=scriptUrl;document.head?.appendChild(link)}loadResourceByName(name,options){if(this.TAEAppConfig.assetFilesLoader[name].element)return;const assetsState=this.TAEAppConfig.assetFilesLoader[name];const resourceType=options?.resourceType||assetsState.type;const inStagingEnv=this.TAEAppConfig.env==="staging";let url=options?.url||assetsState.url;if(!url){switch(name){case"themeCSS":url=this.TAEAppConfig.templateMetadata?.themeCssUrl||this.TAEAppConfig.fallback?.themeCssUrl;if(inStagingEnv){url+=`?v=${this.cacheVersionString}`}break;case"settingsCSS":url=this.TAEAppConfig.templateMetadata?.settingsCssUrl||this.TAEAppConfig.fallback?.settingsCssUrl;break;case"rtlCSS":{const{themeCSS}=this.TAEAppConfig.assetFilesLoader;if(themeCSS.url){const themeCssUrl=new URL(themeCSS.url);const themeCssPathWithoutFilename=themeCssUrl.pathname.split("/").slice(0,-1).join("/");const rtlCssPath=themeCssPathWithoutFilename+"/rtl.css";url=new URL(rtlCssPath,themeCssUrl.origin).href;if(inStagingEnv){url+=`?v=${this.cacheVersionString}`}}break}case"mainScript":url=`${this.TAEAppConfig.cdn}/${"widget-integration"}/${inStagingEnv?"staging":this.TAEAppConfig.templateMetadata?.themeLibVersion}/${"bc-widget-integration.js"}`;if(inStagingEnv){url+=`?v=${this.cacheVersionString}`}break;case"customizedCSS":url=this.TAEAppConfig.templateMetadata?.customizeCssUrl;break;case"customizedScript":url=this.TAEAppConfig.templateMetadata?.customizeJsUrl;break}}if(!url)return;if(resourceType==="stylesheet"){const link=document.createElement("link");link.rel="stylesheet";link.type="text/css";link.media="all";link.href=url;document.head.appendChild(link);this.TAEApp.updateConfig({assetFilesLoader:{[name]:{element:link,status:"loading",url}}});link.onload=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[name]:{element:link,status:"loaded",url}}})};link.onerror=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[name]:{element:link,status:"error",url}}})}}else if(resourceType==="script"){const script=document.createElement("script");script.src=url;const strategy=options?.strategy;if(strategy==="async"){script.async=true}else if(strategy==="defer"){script.defer=true}if(assetsState.module){script.type="module"}if(strategy==="async"||strategy==="defer"){const link=document.createElement("link");link.rel="preload";link.as="script";link.href=url;document.head?.appendChild(link)}document.head.appendChild(script);this.TAEApp.updateConfig({assetFilesLoader:{[name]:{element:script,status:"loading",url}}});script.onload=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[name]:{element:script,status:"loaded",url}}})};script.onerror=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[name]:{element:script,status:"error",url}}})};script.onprogress=()=>{this.TAEApp.updateConfig({assetFilesLoader:{[name]:{element:script,status:"loading",url}}})}}}loadCSSFile(name,url){return this.loadResourceByName(name,{url,resourceType:"stylesheet"})}loadScript(name,url,strategy){return this.loadResourceByName(name,{strategy,url,resourceType:"script"})}assetLoadingPromise(name,timeout=5e3){return new Promise((resolve,reject)=>{let timeoutNumber=null;const{assetFilesLoader}=this.TAEAppConfig;const asset=assetFilesLoader[name];if(asset.status==="loaded"){return resolve(true)}if(!asset.element){this.loadResourceByName(name)}const assetElement=this.TAEAppConfig.assetFilesLoader[name]?.element;if(!assetElement){this.TAEApp.logger.warn(`Asset ${name} not foumd`);return resolve(false)}assetElement?.addEventListener("load",()=>{if(timeoutNumber)clearTimeout(timeoutNumber);resolve(true)});assetElement?.addEventListener("error",()=>{if(timeoutNumber)clearTimeout(timeoutNumber);reject(new Error(`Failed to load asset ${name}`))});timeoutNumber=setTimeout(()=>{reject(new Error(`Timeout loading asset ${name}`))},timeout)})}get extendAppConfig(){return{themeCssLoaded:false,settingsCSSLoaded:false,assetFilesLoader:{themeCSS:{type:"stylesheet",element:null,status:"not-initialized",url:null},settingsCSS:{type:"stylesheet",element:null,status:"not-initialized",url:null},rtlCSS:{type:"stylesheet",element:null,status:"not-initialized",url:null},customizedCSS:{type:"stylesheet",element:null,status:"not-initialized",url:null},mainScript:{type:"script",element:null,status:"not-initialized",url:null},customizedScript:{type:"script",element:null,status:"not-initialized",url:null}}}}};AssetFilesLoader.moduleName="AssetFilesLoader";var B2B=class extends BoostTAEAppModule{setQueryParams(urlParams){const{b2b}=this.TAEAppConfig;if(!b2b.enabled)return;urlParams.set("company_location_id",`${b2b.current_company_id}_${b2b.current_location_id}`);const shopifyCurrencySettings=window.Shopify?.currency;if(shopifyCurrencySettings){urlParams.set("currency",shopifyCurrencySettings.active);urlParams.set("currency_rate",shopifyCurrencySettings.rate.toString())}}get extendAppConfig(){return {b2b:Object.assign({enabled:false},
{
}
)};}};B2B.moduleName="B2B";var Fallback=class _Fallback extends BoostTAEAppModule{get extendAppConfig(){return{fallback:{containerElement:".boost-sd__filter-product-list",themeCssUrl:"https://cdn.boostcommerce.io/widget-integration/theme/default/1.0.1/main.css",settingsCssUrl:"https://boost-cdn-staging.bc-solutions.net/widget-integration/theme/default/staging/default-settings.css"}}}dispatchEvent(){const enableEvent=new CustomEvent(_Fallback.EVENT_NAME);window.dispatchEvent(enableEvent)}async loadFallbackSectionFromShopify(payload){return fetch(payload.url||`${window.location.origin}/?section_id=${payload.sectionName}`).catch(error=>{this.TAEApp.logger.error("Error loading fallback section from Shopify:",error);throw error}).then(res=>res.text())}get containerElement(){const{containerElement}=this.TAEAppConfig.fallback;if(containerElement instanceof HTMLElement){return containerElement}return document.querySelector(containerElement)}async loadFilterProductFallback(){const{fallback,cdn="https://boost-cdn-prod.bc-solutions.net",templateMetadata}=this.TAEAppConfig;const customizedFallbackSettings=fallback?.customizedTemplate||templateMetadata.customizedFallback;if(customizedFallbackSettings){const{source,templateName,templateURL}=customizedFallbackSettings;switch(source){case"Shopify":{if(!templateName&&!templateURL){this.TAEApp.logger.warn("Both templateName and templateURL are undefined");return}const html=await this.loadFallbackSectionFromShopify({sectionName:templateName,url:templateURL});const container=this.containerElement;if(!container){this.TAEApp.logger.warn("Container element not found for fallback template");return}container.innerHTML=html;this.dispatchEvent();return}default:this.TAEApp.logger.warn(`Unsupported source for customized template: ${source}`);return}}const script=document.createElement("script");script.src=`${cdn}/fallback-theme/1.0.12/boost-sd-fallback-theme.js`;script.defer=true;script.onload=()=>{this.dispatchEvent()};document.body.appendChild(script)}};Fallback.moduleName="Fallback";Fallback.EVENT_NAME="boost-sd-enable-product-filter-fallback";var SimplifiedIntegration=class extends BoostTAEAppModule{constructor(){super(...arguments);this.ensurePlaceholder=()=>{const{simplifiedIntegration:{enabled,selectedSelector,placeholderAdded}}=this.TAEAppConfig;if(!enabled||!selectedSelector){if(!this.oldldSICollectionFilterContainerDetected()){this.backwardCompatibilityModule?.legacyUpdateAppStatus("ready")}return}if(placeholderAdded){return}const container=document.querySelector(selectedSelector);if(container&&container instanceof HTMLElement){this.renderPlaceholder(container);this.collectionFilterModule?.initBlock()}else{this.TAEApp.logger.error(`Placeholder container not found: ${selectedSelector}. Please update the selector in Boost's app embed`)}}}get collectionFilterModule(){return this.TAEApp.getModule(CollectionFilter)}get backwardCompatibilityModule(){return this.TAEApp.getModule(BackwardCompatibilityV1)}get extendAppConfig(){
;return {simplifiedIntegration:{enabled:false,collectionPage:false,instantSearch:false,productListSelector:{collectionPage:[],searchPage:[]},selectedSelector:"",selectorFromMetafield:"",selectorFromAppEmbed:
""
|| "",allSyncedCollections:
""
|| {syncedCollections:[]},placeholderAdded:false,placeholder:`<!-- TEMPLATE PLACEHOLDER --><!-- This is global variable filter settings layout --><div class='boost-sd-container'><div class='boost-sd-layout boost-sd-layout--has-filter-vertical'> <div class='boost-sd-left boost-filter-tree-column'> <!-- TEMPLATE FILTER TREE PLACEHOLDER --> <div id="boost-sd__filter-tree-wrapper" class="boost-sd__filter-tree-wrapper"> <div class="boost-sd__filter-tree-vertical "> <div class="boost-sd__filter-tree-vertical-placeholder"> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> </div> </div> </div> </div> <div class='boost-sd-right boost-product-listing-column'> <!-- TEMPLATE TOOLBAR PLACEHOLDER--> <div class="boost-sd__toolbar-container"> <div class="boost-sd__toolbar-inner"> <div class="boost-sd__toolbar-content"> <div class="boost-sd__toolbar boost-sd__toolbar--3_1"> <span class="boost-sd__toolbar-item boost-sd__placeholder-item" style="height: 28px; border-radius: 0;"></span> <span class="boost-sd__toolbar-item boost-sd__placeholder-item" style="height: 28px; border-radius: 0; margin-bottom: 0"></span> <span class="boost-sd__toolbar-item boost-sd__placeholder-item" style="height: 28px; border-radius: 0; margin-bottom: 0"></span> </div> </div> </div> </div> <!-- TEMPLATE PRODUCT LIST PLACEHOLDER--> <div class="boost-sd__product-list-placeholder boost-sd__product-list-placeholder--3-col"> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> </div> <div class="boost-sd__pagination boost-sd__pagination--"> <span class="boost-sd__placeholder-item" style="height: 40px; border-radius: 0;"></span> </div> </div></div></div><style> .boost-sd__collection-header { width: 100%; height: 130px; display: block; background: -webkit-gradient(linear, left top, right top, color-stop(8%, #eee), color-stop(18%, #e6e6e6), color-stop(33%, #eee)); background-color: #eee; animation: banner-place-holder-shimmer 2s linear infinite forwards; } .boost-sd__collection-header:empty { display: block; } .boost-sd__collection-header .boost-sd__placeholder-item { height: 130px; } @media only screen and (min-width: 992px) { .boost-sd__collection-header, .boost-sd__collection-header .boost-sd__placeholder-item { height: 150px; } } @keyframes banner-place-holder-shimmer { 0% { background-position: -1500px 0; } 100% { background-position: 1500px 0; } } .boost-sd__in-collection-search { margin-bottom: 20px; margin-top: 20px; width: 100%; max-width: 100%; display: flex; position: relative; } .boost-sd__in-collection-search--horizontal { margin: 20px auto 0; max-width: 592px; } @media only screen and (min-width: 992px) { .boost-sd__in-collection-search { margin-bottom: 16px; margin-top: 16px; } } .boost-sd__filter-tree-vertical { margin-top: 0; margin-right: 0; } .boost-sd__filter-tree-vertical-placeholder { background: transparent; width: 100%; max-width: 100%; display: none; } .boost-sd__filter-tree-vertical-placeholder-list { margin: 30px 10px 0; padding: 0; list-style: none; } .boost-sd__filter-tree-vertical-placeholder-item { max-width: 100%; padding: 20px 0; display: block; } .boost-sd__filter-tree-vertical-placeholder-item:first-child { padding-top: 0; } .boost-sd__filter-tree-vertical-placeholder-item:not(:last-child) { border-bottom: 1px solid #ebebeb; } .boost-sd__filter-tree-vertical-placeholder-item::before, .boost-sd__filter-tree-vertical-placeholder-item::after, { display: none; } .boost-sd__filter-tree-horizontal-placeholder { display: none; } @media only screen and (min-width: 992px) { .boost-sd__filter-tree-vertical { width: 272px; } .boost-sd-layout .boost-sd-left .boost-sd__filter-tree-wrapper .boost-sd__filter-tree-vertical { margin-right: 16px; margin-left: 0; } .boost-sd__filter-tree-vertical-placeholder, .boost-sd__filter-tree-horizontal-placeholder { display: inline-block; } .boost-sd-layout--has-filter-horizontal { flex-wrap: wrap; margin-top: 0; } .boost-sd-layout--has-filter-horizontal .boost-sd-left, .boost-sd-layout--has-filter-horizontal .boost-sd-right { flex: 0 0 100%; } .boost-sd__filter-tree-horizontal { width: 100%; } .boost-sd__filter-tree-horizontal-placeholder { padding: 16px 0; border-top: 1px solid #ebebeb; width: 100%; max-width: 100%; background: transparent; } .boost-sd__filter-tree-horizontal-placeholder-list { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #e8e9eb; } .boost-sd__filter-tree-horizontal-placeholder-item { border: none; display: inline-block; margin-right: 35px; position: relative; } .boost-sd__filter-tree-horizontal-placeholder-button { width: auto; height: auto; display: inline-block; position: relative; padding: 5px 15px 5px 0; margin: 0; min-height: auto; min-width: 0; border-radius: 0; box-shadow: none; background: none; border: none; letter-spacing: normal; text-align: left; cursor: pointer; } .boost-sd__filter-tree-horizontal-placeholder-button .boost-sd__placeholder-item { width: 80px; height: 10px; display: inline-block; margin: 0 15px 0 0; } .boost-sd__filter-tree-horizontal-placeholder-icon { transform: rotate(-90deg); } } .boost-sd__in-collection-search { margin-bottom: 20px; margin-top: 20px; width: 100%; max-width: 100%; display: flex; position: relative; } .boost-sd__in-collection-search--horizontal { margin: 20px auto 0; max-width: 592px; } @media only screen and (min-width: 992px) { .boost-sd__in-collection-search { margin-bottom: 16px; margin-top: 16px; } } .boost-sd__toolbar-container { width: 100%; margin-bottom: 16px; } .boost-sd__toolbar-inner { max-width: 1216px; margin: 0 auto; } .boost-sd__toolbar-content { border-bottom: 1px solid #ebebeb; border-top: 1px solid #ebebeb; padding: 16px 0; } .boost-sd__toolbar { align-items: center; width: 100%; display: flex; flex-wrap: wrap; column-gap: 16px; justify-content: space-between; } .boost-sd__toolbar .boost-sd__placeholder-item { flex-basis: 45%; } .boost-sd__toolbar .boost-sd__placeholder-item:first-child { flex-basis: 100%; margin-bottom: 16px; } @media only screen and (min-width: 992px) { .boost-sd__toolbar-content { display: flex; align-items: center; border-bottom: none; padding: 16px 0 16px; border-top: 1px solid #ebebeb; border-bottom: 0; } .boost-sd__toolbar { flex-wrap: inherit; } .boost-sd__toolbar .boost-sd__placeholder-item { flex-basis: auto; } .boost-sd__toolbar .boost-sd__placeholder-item:first-child { flex-basis: auto; margin-bottom: 0; } .boost-sd__toolbar--3_1 .boost-sd__toolbar-item { flex: 1; } .boost-sd__toolbar--3_1 .boost-sd__toolbar-item:nth-child(2) { justify-content: center; } .boost-sd__toolbar--3_1 .boost-sd__toolbar-item:nth-child(3) { justify-content: end; } } .boost-sd__product-list-placeholder { gap: 16px; margin-bottom: 32px; flex-wrap: wrap; width: 100%; display: flex; } .boost-sd__product-list-placeholder--1-col .boost-sd__product-list-placeholder-item { width: 100%; } .boost-sd__product-list-placeholder--2-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--3-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--4-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--5-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--6-col .boost-sd__product-list-placeholder-item { width: calc(50% - 8px); } .boost-sd__product-list-placeholder .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 222px; } .boost-sd__placeholder-list-item { background: rgba(0, 0, 0, 0.07); min-width: 50px; height: 20px; animation: 2s infinite place-holder-animation; display: inline-block; } .boost-sd__product-list-placeholder--list-view .boost-sd__product-list-placeholder-item { flex-direction: row; display: flex; width: 100%; } .boost-sd__sd__placeholder-list-view-layout-info-group { width: 100%; padding-left: 16px; display: flex; flex-direction: column; align-items: baseline; gap: 16px; text-align: left; justify-content: center; } .boost-sd__placeholder-list-view-layout-image { flex: 160px; width: auto; max-width: 160px; height: 160px; } .boost-sd__pagination { padding-top: 10px; padding-bottom: 10px; justify-content: center; align-items: center; display: flex; } @media only screen and (min-width: 576px) { .boost-sd__product-list-placeholder { gap: 32px; margin-bottom: 64px; } .boost-sd__product-list-placeholder--3-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--4-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--5-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--6-col .boost-sd__product-list-placeholder-item { width: calc(33.3333333333% - (32px - 32px / 3)); } } @media only screen and (min-width: 992px) { .boost-sd__product-list-placeholder .boost-sd__placeholder-item:not(:last-child) { margin-bottom: 8px; } .boost-sd__product-list-placeholder .boost-sd__placeholder-item:first-child { margin-bottom: 16px; } .boost-sd__product-list-placeholder--3-col .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 382px; } .boost-sd__product-list-placeholder--4-col .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 275px; } .boost-sd__product-list-placeholder--5-col .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 215px; } .boost-sd__product-list-placeholder--6-col .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 175px; } .boost-sd__product-list-placeholder--3-col .boost-sd__product-list-placeholder-item { width: calc(33.3333333333% - (32px - 32px / 3)); } .boost-sd__product-list-placeholder--4-col .boost-sd__product-list-placeholder-item { width: calc(25% - (32px - 32px / 4)); } .boost-sd__product-list-placeholder--5-col .boost-sd__product-list-placeholder-item { width: calc(20% - (32px - 32px / 5)); } .boost-sd__product-list-placeholder--6-col .boost-sd__product-list-placeholder-item { width: calc(16.6666667% - (32px - 32px / 6)); } } .boost-sd-container * { box-sizing: border-box; } .boost-sd__placeholder-item { background: rgba(0, 0, 0, 0.07); border-radius: 50rem; min-width: 50px; max-width: 100%; height: 20px; animation: 2s infinite place-holder-animation; display: inline-block; } .boost-sd__placeholder-item:empty { display: block; } .boost-sd__placeholder-item:not(:last-child) { margin-bottom: 18px; } .boost-sd-layout { margin: 20px auto 0; } .boost-sd-left { position: relative; } .boost-sd-layout .boost-sd-right { width: 100%; margin-bottom: 20px; } @keyframes place-holder-animation { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } } @media only screen and (min-width: 992px) { .boost-sd-layout { display: flex; max-width: 1216px; } .boost-sd-layout .boost-sd-right { flex: auto; max-width: 100%; } }</style>`,isOnboarding:JSON.parse(
""
|| "false"),neededToHideElements:[]}};}init(){const app=this.TAEApp;const simplifiedIntegration=this.TAEAppConfig.simplifiedIntegration;const{templateMetadata:{integratedTheme={}}}=this.TAEAppConfig;const themeId=window.Shopify?.theme?.id;if(!themeId){app.logger.warn("Theme ID is missing");return}let themeIntegration=integratedTheme[themeId];if(!themeIntegration||Object.keys(themeIntegration).length===0){app.logger.warn("Theme is not integrated with SimplifiedIntegration flow");return}const{collectionPage=false,searchPage=false,instantSearch=false,productListSelector={}}=themeIntegration;const{page:currentPage,collection_id:collectionId=0}=this.TAEAppConfig.generalSettings;const isCollectionPage2=currentPage==="collection";const isSearchPage2=currentPage==="search";if(simplifiedIntegration.isOnboarding){const isCollectionSynced=this.checkSyncedCollection(collectionId);if(!isCollectionSynced){return}}if(isCollectionPage2&&collectionPage||isSearchPage2&&searchPage){const{collectionPage:collectionPageSelectors=[],searchPage:searchPageSelectors=[]}=productListSelector;const selectors=isCollectionPage2?collectionPageSelectors:searchPageSelectors;if(selectors.length===0){this.app.logger.warn("empty selectors");return}const customClassSelector=selectors[selectors.length-1];let attempts=0;const intervalId=setInterval(()=>{const hasCustomClass=!!document.querySelector(customClassSelector);const effectiveSelectors=hasCustomClass?selectors:selectors.slice(0,-1);const elements=effectiveSelectors.slice(0,-1);const mainElement=effectiveSelectors[effectiveSelectors.length-1];const selector=simplifiedIntegration.selectorFromAppEmbed||mainElement;const container=document.querySelector(selector);if(container){let insertionContainer;if(hasCustomClass){const allMatches=document.querySelectorAll(customClassSelector);insertionContainer=allMatches[allMatches.length-1]||container}else{insertionContainer=container}simplifiedIntegration.neededToHideElements=hasCustomClass?[customClassSelector]:elements;simplifiedIntegration.selectorFromMetafield=mainElement;simplifiedIntegration.selectedSelector=selector;this.renderPlaceholder(insertionContainer);this.collectionFilterModule?.initBlock();clearInterval(intervalId)}else if(++attempts>100){clearInterval(intervalId)}},50);this.TAEApp.updateConfig({simplifiedIntegration:{...simplifiedIntegration,...themeIntegration,enabled:true}})}if(instantSearch){this.setupISW()}}onAppStart(){document.addEventListener("DOMContentLoaded",()=>{this.ensurePlaceholder()})}oldldSICollectionFilterContainerDetected(){const productFilterBlock=document.querySelector(".boost-sd__filter-product-list");return!!productFilterBlock}checkSyncedCollection(collectionId){const{simplifiedIntegration}=this.TAEAppConfig;const{allSyncedCollections:{syncedCollections}}=simplifiedIntegration;const currentCollectionSynced=syncedCollections?.includes(collectionId);const collectionAllSynced=collectionId===0&&syncedCollections?.length>0;if(!currentCollectionSynced&&!collectionAllSynced){this.TAEApp.logger.warn("collection not synced -> fallback original theme");return false}return true}renderPlaceholder(originalContainer){const{simplifiedIntegration}=this.TAEAppConfig;const placeholder=simplifiedIntegration?.placeholder||"";const neededToHideElements=simplifiedIntegration?.neededToHideElements||[];const selectedSelector=simplifiedIntegration?.selectedSelector||"";originalContainer.style.display="none";this.hideNeededElements();const newProductFilterDiv=document.createElement("div");newProductFilterDiv.innerHTML=placeholder||"";newProductFilterDiv.className="boost-sd__filter-product-list boost-sd__placeholder-product-filter-tree";originalContainer.insertAdjacentElement("afterend",newProductFilterDiv);if(simplifiedIntegration){simplifiedIntegration.placeholderAdded=true;if(neededToHideElements&&selectedSelector){neededToHideElements.push(selectedSelector)}}}hideNeededElements(){const{simplifiedIntegration:{neededToHideElements}}=this.TAEAppConfig;if(neededToHideElements&&neededToHideElements.length>0){this.hideElements(neededToHideElements)}}removePlaceholder(){const{simplifiedIntegration:{placeholderAdded}}=this.TAEAppConfig;if(placeholderAdded){const placeholder=document.querySelector(".boost-sd__placeholder-product-filter-tree");if(placeholder instanceof HTMLElement){placeholder.remove()}}}hideElements(elements){if(!Array.isArray(elements))return;elements.forEach(selector=>{document.querySelectorAll(selector).forEach(el=>{if(el instanceof HTMLElement){el.style.display="none"}})})}setupISW(){this.TAEApp.updateConfig({taeSettings:{instantSearch:{enabled:true}}})}};SimplifiedIntegration.moduleName="SimplifiedIntegration";var CollectionFilter=class _CollectionFilter extends BoostTAEAppModule{constructor(){super(...arguments);this.initBlock=async()=>{const filterDom=document.querySelector(".boost-sd__filter-product-list:not(.boost-sd__filter-product-list--ready)");if(!filterDom){this.app.logger.error("Filter DOM not found");this.backwardCompatibilityV1Module?.legacyUpdateAppStatus("ready");return}this.assetFileLoaderModule?.preloadModuleScript("filter");const appConfig=this.TAEAppConfig;const{customization}=appConfig;if(typeof customization?.filter?.beforeRender==="function"){customization.filter.beforeRender()}const filterDomId=`${this.widgetId}-${generateUUID()}`;filterDom?.classList?.add("boost-sd__filter-product-list--ready");filterDom.id=filterDomId;const urlParams=this.prepareFilterAPIQueryParams();const response=await this.filterAPI(urlParams);const block={id:filterDomId,document:filterDom,widgetId:this.widgetId,defaultSort:urlParams.get("sort")||"",defaultParams:this.filterAPIDefaultParams,filterTree:{options:[]},dynamicBundles:[]};const backwardCompatibilityV1=this.backwardCompatibilityV1Module;backwardCompatibilityV1?.legacyAssignDefaultBlockAttributes(block,filterDom,"filter");const{html,bundles}=response;if(bundles){block.dynamicBundles=bundles}if(response.filter){response.filter.options=this.updateValuesOptions(response.filter.options);block.filterTree=response.filter}try{await Promise.all([this.assetFileLoaderModule?.assetLoadingPromise("themeCSS"),this.assetFileLoaderModule?.assetLoadingPromise("settingsCSS")])}catch{}if(html){filterDom.innerHTML=html}block.cache={[urlParams.toString()]:{...response,timestamp:new Date().getTime()}};this.TAEApp.registerBlock(block);this.saveFilterAPIResponseAnalyticData(response?.meta?.rid,response.bundles);this.syncAppConfigWithFilterAPIResponse(response);this.block=block;this.savePageLimitSettings();this.backwardCompatibilityV1Module?.legacyUpdateAppStatus("ready")}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(BackwardCompatibilityV1)}get b2bModule(){return this.TAEApp.getModule(B2B)}get fallbackModule(){return this.TAEApp.getModule(Fallback)}get simplifiedIntegrationModule(){return this.TAEApp.getModule(SimplifiedIntegration)}get analyticModule(){return this.TAEApp.getModule(Analytics)}get assetFileLoaderModule(){return this.TAEApp.getModule(AssetFilesLoader)}get extendAppConfig(){return {filterUrl:"https://services.mybcapps.com/bc-sf-filter/filter",filterSettings:Object.assign({swatch_extension:"png",...
{
}}, {"showFilterOptionCount":true,"showRefineBy":true,"showOutOfStockOption":false,"showSingleOption":true,"keepToggleState":true,"changeMobileButtonLabel":false,"sortingAvailableFirst":true,"showLoading":false,"activeScrollToTop":false,"showVariantImageBasedOnSelectedFilter":"","productAndVariantAvailable":false,"availableAfterFiltering":false,"isShortenUrlParam":false,"style":{"filterTitleTextColor":"","filterTitleFontSize":"","filterTitleFontWeight":"","filterTitleFontTransform":"","filterTitleFontFamily":"","filterOptionTextColor":"","filterOptionFontSize":"","filterOptionFontFamily":"","filterMobileButtonTextColor":"","filterMobileButtonFontSize":"","filterMobileButtonFontWeight":"","filterMobileButtonFontTransform":"","filterMobileButtonFontFamily":"","filterMobileButtonBackgroundColor":""},"filterLayout":"vertical","filterTreeMobileStyle":"style2","filterTreeVerticalStyle":"style-default","filterTreeHorizontalStyle":"style1","stickyFilterOnDesktop":false,"stickyFilterOnMobile":false})};}get apiEndpoint(){let{filterUrl,searchUrl}=this.app.config;const{ssrUrl,generalSettings}=this.TAEAppConfig;if(generalSettings.ssr_version==="v2"&&ssrUrl){filterUrl=`${ssrUrl}/filter`;searchUrl=`${ssrUrl}/search`}const urlParams=new URLSearchParams(window.location.search);const searchQuery=urlParams.get("q");return isSearchPage()||searchQuery?searchUrl:filterUrl}get widgetId(){const{templateMetadata,generalSettings}=this.TAEAppConfig;const currentPage=generalSettings?.page||"collection";const widgetName=currentPage==="collection"?"collectionFilters":"searchPage";const widgetId=templateMetadata[widgetName]||"default";return widgetId}get filterAPIDefaultParams(){const{shop,templateSettings,templateMetadata,generalSettings,templateId,simplifiedIntegration}=this.TAEAppConfig;const historyParams=this.getHistoryParams();const productPerPage=typeof templateSettings?.themeSettings?.productList?.productsPerPage==="number"?templateSettings.themeSettings.productList.productsPerPage:16;const savedLimit=getLocalStorage(_CollectionFilter.LIMIT);const savedLimitSetting=getLocalStorage(_CollectionFilter.LIMIT_SETTING);const adminSettingChanged=savedLimitSetting&&savedLimitSetting!==`${productPerPage}`;const limit=adminSettingChanged?productPerPage:savedLimit&&!isNaN(Number(savedLimit))?Number(savedLimit):productPerPage;const widgetId=this.widgetId;const isMobileViewport=isMobileWidth();const viewportWidth=window.innerWidth;const showFilterTreeByDefault=templateSettings?.filterSettings?.filterLayout==="vertical"&&templateSettings?.filterSettings?.filterTreeVerticalStyle==="style-default"?true:false;const productPerRow=isMobileViewport?templateSettings?.themeSettings?.productList?.productsPerRowOnMobile||2:templateSettings?.themeSettings?.productList?.productsPerRowOnDesktop||3;const productImageMaxWidth=isMobileViewport?viewportWidth/productPerRow:viewportWidth/(productPerRow+(showFilterTreeByDefault?1:0));const deviceTypeByViewportWidth=detectDeviceByWidth();const showListViewDefault=templateSettings?.themeSettings?.additionalElements?.toolbar?.elements?.viewAs?.showListViewDefault;const defaultViewAs=showListViewDefault===true?"list":`grid--${isMobileWidth()?templateSettings?.themeSettings?.productList?.productsPerRowOnMobile||2:templateSettings?.themeSettings?.productList?.productsPerRowOnDesktop||3}`;return {_:"pf",t:Date.now().toString(),sid:generateUUID(),shop:shop.domain,page:Number(historyParams?.page||1),limit,sort:historyParams?.sort||getSortBy(),locale:generalSettings.current_locale,event_type:"init",pg:getCurrentPage(),build_filter_tree:true,collection_scope:generalSettings.collection_id||"0",money_format:shop.money_format,money_format_with_currency:shop.money_format_with_currency,widgetId,viewAs:defaultViewAs,device:deviceTypeByViewportWidth,first_load:true,productImageWidth:roundToNearest50(productImageMaxWidth),productPerRow,widget_updated_at:templateMetadata?.updatedAt,templateId,current_locale:(window?.Shopify?.routes?.root||"/")?.replace(/\/$/,""),simplifiedIntegration:simplifiedIntegration.enabled||false,customer_id:getCustomerId(),insert_banners:templateMetadata?.featureOptions?.enableBannerInterleaving||false,...addParamsLocale()};}savePageLimitSettings(){const{templateSettings}=this.TAEAppConfig;const productPerPage=typeof templateSettings?.themeSettings?.productList?.productsPerPage==="number"?templateSettings.themeSettings.productList.productsPerPage:16;const savedLimit=getLocalStorage(_CollectionFilter.LIMIT);const savedLimitSetting=getLocalStorage(_CollectionFilter.LIMIT_SETTING);const adminSettingChanged=savedLimitSetting&&savedLimitSetting!==`${productPerPage}`;const currentLimit=adminSettingChanged?productPerPage:savedLimit&&!isNaN(Number(savedLimit))?Number(savedLimit):productPerPage;if(typeof window!=="undefined"&&window.localStorage){try{localStorage.setItem(_CollectionFilter.LIMIT_SETTING,`${productPerPage}`);localStorage.setItem(_CollectionFilter.LIMIT,`${currentLimit}`)}catch(e){this.app.logger.error("Failed to save limit settings to localStorage",e)}}}syncAppConfigWithFilterAPIResponse(res){const{shop}=this.TAEAppConfig;if(res.meta?.money_format){shop.money_format=res.meta.money_format}if(res.meta?.money_format_with_currency){shop.money_format_with_currency=res.meta.money_format_with_currency}if(res.meta?.currency){shop.currency=res.meta.currency}this.app.updateConfig({shop});this.backwardCompatibilityV1Module?.legacyUpdateAppStatus("ready")}prepareFilterAPIQueryParams(){const{generalSettings,filterSettings,customization}=this.TAEAppConfig;const paramsHistory=this.getHistoryParams();const defaultParams=this.filterAPIDefaultParams;const urlParams=new URLSearchParams;Object.entries(defaultParams).forEach(([key,value])=>{urlParams.set(key,value!==void 0?value.toString():"")});urlParams.set("search_no_result",Object.keys(paramsHistory?.paramMap||{}).length===0?"true":"false");if(paramsHistory?.paramMap){Object.keys(paramsHistory.paramMap).forEach(key=>{paramsHistory.paramMap[key].forEach(v=>urlParams.append(`${key}[]`,key.startsWith(`${defaultParams._}_st_`)?convertValueRequestStockStatus(v).toString():v))})}const searchParams=new URLSearchParams(window.location.search);const searchQuery=searchParams.get("q");if(searchQuery){if(isVendorPage())urlParams.set("vendor",searchQuery);else if(isShopifyTypePage())urlParams.set("product_type",searchQuery);else urlParams.set("q",searchQuery);if(isCollectionPage()){urlParams.set("incollection_search","true");urlParams.set("event_type","incollection_search")}this.setSearchQueryParamsWithSuggetion(urlParams)}if(generalSettings.collection_tags?.length){generalSettings.collection_tags.forEach(tag=>{urlParams.append("tag[]",tag)})}if(filterSettings.sortingAvailableFirst){urlParams.set("sort_first","available")}const availableAfterFiltering=filterSettings?.availableAfterFiltering;const productAndVariantAvailable=filterSettings?.productAndVariantAvailable;const hasFilterParams=Array.from(urlParams.keys()).some(key=>key.startsWith("pf_"));const showAvailable=!availableAfterFiltering&&productAndVariantAvailable?"true":availableAfterFiltering?hasFilterParams?"true":"false":"false";urlParams.set("product_available",showAvailable);urlParams.set("variant_available",showAvailable);if(filterSettings.showOutOfStockOption){urlParams.set("zero_options","true")}this.b2bModule?.setQueryParams(urlParams);if(customization?.filter?.customizedAPIParams){const{customizedAPIParams}=customization.filter;Object.entries(customizedAPIParams).forEach(([key,value])=>{urlParams.set(key,value)})}return urlParams}setSearchQueryParamsWithSuggetion(params){const SUGGESTION_DATA="boostSDSuggestionData";const CLICK_SUGGESTION_TERM="boostSDClickSuggestionTerm";const term=getLocalStorage(CLICK_SUGGESTION_TERM);if(!term)return;const suggestionData=getLocalStorage(SUGGESTION_DATA);if(!suggestionData)return;params.set("query",suggestionData.query);params.set("parent_request_id",suggestionData.id);params.set("suggestion",term);params.set("item_rank",(suggestionData.suggestions.findIndex(item=>item===term)+1).toString());removeLocalStorage(CLICK_SUGGESTION_TERM);removeLocalStorage(SUGGESTION_DATA)}saveFilterAPIResponseAnalyticData(reqId,bundles){const type=isSearchPage()?"search":"filter";const analytic=this.analyticModule;if(reqId){analytic?.saveRequestId(type,reqId);if(bundles){analytic?.saveRequestId(type,reqId,bundles)}}analytic?.savePreAction(type)}formatPercentSaleLabel(to,from=0){let label="";if(!from){label=`under ${to}%`}else if(!to){label=`above ${from}%`}else{label=`${from}% - ${to}%`}return label}updateValuesOptions(options){if(!Array.isArray(options))return options;return options.map(option=>{if(option.filterType==="percent_sale"){option.values=option.values?.map(item=>{item.key=item.key.replace("*-",":").replace("-*",":").replace("-",":");item.label=this.formatPercentSaleLabel(item.to,item.from);return item})}return option})}async filterAPI(params){const appConfig=this.TAEAppConfig;const queryString=params.toString();const response=await fetch(`${this.apiEndpoint}?${queryString}`,{method:"GET"});const HTTP_STATUS_NEED_FALLBACK=[404,413,403,500];if(HTTP_STATUS_NEED_FALLBACK.includes(response.status)){if(appConfig.simplifiedIntegration?.enabled){const simplifiedIntegration=this.simplifiedIntegrationModule;simplifiedIntegration?.hideNeededElements();simplifiedIntegration?.removePlaceholder()}else{this.fallbackModule?.loadFilterProductFallback()}}return response.json()}getHistoryParams(){const url=new URL(window.location.href);const isXSS=isBadUrl(url);if(isXSS){this.app.logger.error("[Security] Potential XSS detected in URL parameters. Ignoring query params.",window.location.href);return}const rawSearch=url.search;const FILTER_HISTORY_PREFIX="pf_";const DEFAULT_SEPARATOR=",";const REGEX_ESCAPE_PATTERN=/[.*+?^${}()|[\]\\]/g;const{searchParams}=url;const sort=searchParams.get("sort");const page=searchParams.get("page");const paramMap={};const shortenToFullMap=getShortenToFullParamMap();const separator=this.TAEAppConfig.customization?.filter?.customizedAPIParams?.multipleValueSeparator||DEFAULT_SEPARATOR;const escapedSeparator=separator.replace(REGEX_ESCAPE_PATTERN,"\\$&");const encodedSeparator=encodeURIComponent(separator);const escapedEncodedSeparator=encodedSeparator.replace(REGEX_ESCAPE_PATTERN,"\\$&");const splitRegex=new RegExp(`${escapedSeparator}|${escapedEncodedSeparator}`);for(const key of searchParams.keys()){let actualKey=key;let values;if(shortenToFullMap[key]){actualKey=shortenToFullMap[key];const escapedKey=key.replace(REGEX_ESCAPE_PATTERN,"\\$&");const matchResult=rawSearch.match(new RegExp(`[?&]${escapedKey}=([^&]+)`));const rawVal=matchResult?matchResult[1]:"";const parts=rawVal.split(splitRegex);values=parts.map(p=>decodeURIComponent(p.replace(/\+/g," ")))}else{values=searchParams.getAll(key)}if(actualKey.startsWith(FILTER_HISTORY_PREFIX)&&!paramMap[actualKey]){if(actualKey==="pf_tag"){paramMap.tag=values}else{paramMap[actualKey]=values}}}return{paramMap,sort,page}}};CollectionFilter.moduleName="CollectionFilter";CollectionFilter.LIMIT="boostSDLimit";CollectionFilter.LIMIT_SETTING="boostSDLimitSetting";var BackwardCompatibilityV1=class extends BoostTAEAppModule{shouldInit(){const{templateMetadata:{themeLibVersion}={}}=this.TAEAppConfig;if(!themeLibVersion)return true;const feLibMajorVersion=themeLibVersion.split(".")[0];return Number(feLibMajorVersion)<=1}get collectionFilterModule(){return this.TAEApp.getModule(CollectionFilter)}init(){window.boostSDTaeUtils={lazyLoadImages,inViewPortHandler,initCollectionFilter:()=>{setTimeout(()=>{this.collectionFilterModule?.initBlock()})}}}onAppStart(){const app=this.TAEApp;const{env}=this.TAEAppConfig;const mergedCustomizedFilterParams={...(this.TAEAppConfig.customization?.filter?.customizedAPIParams || {}),...(window.boostSdCustomParams || {})};this.TAEApp.updateConfig(config=>{config.customization={...config.customization,filter:{...config.customization?.filter,customizedAPIParams:mergedCustomizedFilterParams}};return config});window.boostSdCustomParams=mergedCustomizedFilterParams;Object.assign(window.boostWidgetIntegration,{generalSettings:{...this.TAEAppConfig.generalSettings,templateId:this.TAEAppConfig.templateId},simplifiedIntegration:this.TAEAppConfig.simplifiedIntegration,taeSettings:this.TAEAppConfig.taeSettings,env,app:{[env]:{customization:{},...this.TAEAppConfig,...window.boostWidgetIntegration.app?.[env]}},customization:{...this.TAEAppConfig.customization,filter:{...this.TAEAppConfig.customization?.filter,customizedAPIParams:mergedCustomizedFilterParams}},regisCustomization:function(fc,scope){if(typeof fc==="function"&&fc.name&&!scope){const functionName=fc.name;window.boostWidgetIntegration.app[env].customization[functionName]=fc}else if(typeof fc==="function"&&fc.name&&scope){window.boostWidgetIntegration.app[env].customization[scope]=window.boostWidgetIntegration.app[env].customization[scope]||{};const functionName=fc.name;window.boostWidgetIntegration.app[env].customization[scope][functionName]=fc}else{app.logger.error("Invalid function or function does not have a name.")}}});Object.assign(window,{boostSDData:this.TAEAppDataObjects})}onBeforeAppStart(){Object.assign(window,{boostWidgetIntegration:{...window.boostWidgetIntegration,status:"initializing"}})}legacyUpdateAppStatus(status){Object.assign(window.boostWidgetIntegration,{status})}legacyIsUsingRecommendationAppV3(){return window.boostSDAppConfig?.themeInfo?.taeFeatures?.recommendation==="installed"}legacyInitRecommendationWidgets(widgets){window.boostWidgetIntegration.app[this.TAEAppConfig.env].recommendationWidgets=widgets}legacyAssignDefaultBlockAttributes(block,blockDOM,blockType){const{templateSettings}=this.app.config;Object.assign(block,{widgetInfo:templateSettings,templateSettings,app:window.boostWidgetIntegration.app?.[this.app.config.env],document:blockDOM,id:blockDOM.id||block.id,blockType:blockType||"filter"});if(!("widgetId"in block)){Object.assign(block,{widgetId:blockDOM.id||block.id})}}};BackwardCompatibilityV1.moduleName="BackwardCompatibilityV1";var BackInStock=class extends BoostTAEAppModule{constructor(){super(...arguments);this.initBlock=()=>{const bisDom=document.createElement("div");bisDom.id="bc-bis";bisDom.className="boost-sd__bis";bisDom.style.display="none";document.body.appendChild(bisDom);this.block={id:"bc-bis",document:bisDom};this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,bisDom,"backInStock");this.TAEApp.registerBlock(this.block)}}get extendAppConfig(){return {klaviyoBISUrl:"https://a.klaviyo.com/client/back-in-stock-subscriptions",backInStock:Object.assign(
{enabled:false,productSettings:{},displaySettings:{},isTurbo:false},
{"enabled":false,"productSettings":{"hideOnSpecificCollection":{"collectionIds":[]},"hideOnSpecificTag":{"tags":[]}},"displaySettings":{"button":{"type":"floating"},"signUpForm":{"header":"Notify me","description":"Get a notification as soon as this product is back in stock by signing up below","buttonText":"Notify me when available","textColor":"#ffffff","backgroundColor":"#000000"},"confirmationMessage":{"show":true,"message":"We will notify you when the item is available.","textColor":"#FFFFFF","iconColor":"#FFFFFF","backgroundColor":"#00A47C"}},"isTurbo":true,"notificationSettings":{"emailProvider":"boost","automatic":true}}
)};}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(BackwardCompatibilityV1)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};BackInStock.moduleName="BackInStock";var Cart=class extends BoostTAEAppModule{constructor(){super(...arguments);this.initBlock=()=>{this.block={id:"cart",document:document.body};this.backwardCompatibilityModule?.legacyAssignDefaultBlockAttributes(this.block,this.block.document,"cart");this.TAEApp.registerBlock(this.block)}}get extendAppConfig(){return{customization:{cart:{}}}}get backwardCompatibilityModule(){return this.TAEApp.getModule(BackwardCompatibilityV1)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onMouduleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};Cart.moduleName="Cart";var CountdownTimer=class extends BoostTAEAppModule{constructor(){super(...arguments);this.initBlock=()=>{if(this.block)return;const countdownTimerDom=document.querySelector(".boost-sd__countdown-timer-wrapper");if(!countdownTimerDom)return;const{template}=this.TAEAppConfig;if(typeof template?.countdownTimerPlaceholder==="string"){countdownTimerDom.innerHTML=template.countdownTimerPlaceholder}this.block={id:countdownTimerDom.id||"boost-sd-countdown-timer",document:countdownTimerDom};this.block.blockType="countdownTimer";this.TAEApp.registerBlock(this.block)}}onModuleInit(){if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",this.initBlock)}else{this.initBlock()}document.addEventListener("shopify:section:load",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock);document.removeEventListener("shopify:section:load",this.initBlock)}};CountdownTimer.moduleName="CountdownTimer";var PreOrder=class extends BoostTAEAppModule{constructor(){super(...arguments);this.initBlock=()=>{const preOrderDom=document.querySelector(".boost-sd__preOrder-container");const{customization,template}=this.TAEAppConfig;if(typeof customization?.preOrder?.beforeRender==="function"){customization.preOrder.beforeRender()}if(!preOrderDom){return}if(typeof template?.preOrderPlaceholder==="string"){preOrderDom.innerHTML=template.preOrderPlaceholder}this.block={id:preOrderDom.id||"bc-pre-order",document:preOrderDom};this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,preOrderDom,"preOrder");this.TAEApp.registerBlock(this.block)}}get extendAppConfig(){return{customization:{preOrder:{}}}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(BackwardCompatibilityV1)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};PreOrder.moduleName="PreOrder";var PredictiveBundle=class extends BoostTAEAppModule{constructor(){super(...arguments);this.initBlock=()=>{const predictiveBundleDom=document.querySelector(".boost-sd-widget-predictive-bundle");if(!predictiveBundleDom){return}this.block={id:predictiveBundleDom.id||"bc-predictive-bundle",document:predictiveBundleDom};this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,predictiveBundleDom,"predictiveBundle");this.TAEApp.registerBlock(this.block)}}get extendAppConfig(){return{predictiveBundle:{multiBundleSupport:false}}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(BackwardCompatibilityV1)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};PredictiveBundle.moduleName="PredictiveBundle";var Recommendation=class extends BoostTAEAppModule{constructor(){super(...arguments);this.blocks={};this.initBlocks=()=>{if(this.backwardCompatibilityV1Module?.legacyIsUsingRecommendationAppV3()){this.backwardCompatibilityV1Module?.legacyInitRecommendationWidgets({});return}const{recommendationWidgets}=this.TAEAppConfig;this.backwardCompatibilityV1Module?.legacyInitRecommendationWidgets(recommendationWidgets);
;const recommendationWidgetDOMs=document.querySelectorAll('[id^="boost-sd-widget-"]');for(const widgetDOM of recommendationWidgetDOMs){widgetDOM.innerHTML=`<!-- TEMPLATE RECOMMENDATION PLACEHOLDER--><div class="boost-sd__rc-pl"><div class="boost-sd__rc-title-pl"> <span class="boost-sd__rc-pl-item" style="width: 150px; height: 30px;"></span></div><div class="boost-sd__rc-product-list-pl"> <span class="boost-sd__rc-pl-item"></span> <span class="boost-sd__rc-pl-item"></span> <span class="boost-sd__rc-pl-item"></span> <span class="boost-sd__rc-pl-item"></span></div><div class="boost-sd__rc-info-pl"> <span class="boost-sd__rc-pl-item"></span> <span class="boost-sd__rc-pl-item"></span> <span class="boost-sd__rc-pl-item"></span></div></div><style> .boost-sd__rc-pl { width: 100%; min-height: 600px; } .boost-sd__rc-pl-item { display: block; width: 100%; height: 20px; background: rgba(0, 0, 0, 0.07); margin-bottom: 16px; animation: 2s infinite place-holder-animation; } .boost-sd__rc-title-pl { width: 100%; display: flex; padding: 0 0 30px; } .boost-sd__rc-product-list-pl { display: flex; width: 100%; padding: 0; gap: 32px; position: relative; margin-bottom: 20px; } .boost-sd__rc-product-list-pl .boost-sd__rc-pl-item:nth-child(3), .boost-sd__rc-product-list-pl .boost-sd__rc-pl-item:nth-child(4) { display: none; } .boost-sd__rc-product-list-pl .boost-sd__rc-pl-item { display: block; flex-wrap: wrap; width: calc(50% - 8px); height: 218px; } .boost-sd__rc-info-pl .boost-sd__rc-pl-item:nth-child(2) { width: 80% } .boost-sd__rc-info-pl .boost-sd__rc-pl-item:nth-child(3) { width: 50% } @media only screen and (min-width: 768px) { .boost-sd__rc-pl-item { margin-bottom: 8px; } .boost-sd__rc-title-pl { padding-bottom: 60px; } .boost-sd__rc-product-list-pl .boost-sd__rc-pl-item:nth-child(3), .boost-sd__rc-product-list-pl .boost-sd__rc-pl-item:nth-child(4) { display: block; } .boost-sd__rc-product-list-pl .boost-sd__rc-pl-item { height: 382px; width: calc(25% - 8px); } .boost-sd__rc-info-pl .boost-sd__rc-pl-item:first-child { width: 50% } .boost-sd__rc-info-pl .boost-sd__rc-pl-item:nth-child(2) { width: 40% } .boost-sd__rc-info-pl .boost-sd__rc-pl-item:nth-child(3) { width: 30% } } @keyframes place-holder-animation { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } }</style>`;this.initBlock(widgetDOM)}}}get extendAppConfig(){const recommendationWidgets={};
recommendationWidgets['home-page'] = {"homepage-244222":{"params":{"shop":"twinings-uk.myshopify.com","recommendationType":"most-viewed","limit":12},"widgetName":"Most viewed","widgetStatus":"inactive","widgetDesignSettings":{"widgetId":"homepage-244222","tenantId":"twinings-uk.myshopify.com","layoutDisplay":"carousel","numberOfProductPerRow":4,"numberOfRecommendProduct":12,"templateType":"customization","themePreview":"","titleAlignment":"left","titleFont":"DM Sans","titleFontSize":14,"titleFontStyle":"regular","titleTextColor":"#1AC1C1","titleTextTransform":"lowercase"}}}
recommendationWidgets['cart-page'] = {}
recommendationWidgets['product-page'] = {}
recommendationWidgets['defaultSettings'] = null
;return{recommendUrl:"https://services.mybcapps.com/discovery/recommend",recommendationWidgets}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(BackwardCompatibilityV1)}get assetFileLoaderModule(){return this.TAEApp.getModule(AssetFilesLoader)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlocks)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlocks)}initBlock(dom){const block={id:dom.id,document:dom};this.assetFileLoaderModule?.preloadModuleScript("recommendation");this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(block,dom,"recommendation");block.widgetId=dom.id?.replace("boost-sd-widget-","");this.TAEApp.registerBlock(block);this.blocks[block.id]=block}};Recommendation.moduleName="Recommendation";var Search=class extends BoostTAEAppModule{constructor(){super(...arguments);this.block={id:"bc-instant-search",document:document.createElement("div")};this.initBlock=()=>{if(!this.enabled)return;this.assetFileLoaderModule?.preloadModuleScript("instant-search");const{document:document2,id}=this.block;document2.id=id;window.document.body.appendChild(document2);this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,document2,"instantSearch");this.TAEApp.registerBlock(this.block)}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(BackwardCompatibilityV1)}get assetFileLoaderModule(){return this.TAEApp.getModule(AssetFilesLoader)}get extendAppConfig(){return{searchUrl:"https://services.mybcapps.com/bc-sf-filter/search"}}get enabled(){const{taeSettings,templateId,simplifiedIntegration}=this.TAEAppConfig;const isInstantSearchEnabled=taeSettings?.instantSearch?.enabled&&templateId&&(!simplifiedIntegration.enabled||simplifiedIntegration.instantSearch);return isInstantSearchEnabled}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onMouduleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};Search.moduleName="Search";var SEOEnhancement=class extends BoostTAEAppModule{shouldInit(){return this.TAEAppConfig.generalSettings.enableRobot}init(){const isSupportedPage=isCollectionPage()||isSearchPage();if(!isSupportedPage)return;if(document.querySelector('meta[name="robots"]'))return;const hasFilterParam=checkExistFilterOptionParam();const hasOrphanQ=!!getQueryParamByKey("q")&&!isSearchPage();if(!hasFilterParam&&!hasOrphanQ)return;const meta=document.createElement("meta");meta.name="robots";meta.content="noindex,nofollow,nosnippet";meta.setAttribute("data-boost-injected","seo-enhancement");document.head.append(meta)}get extendAppConfig(){return{generalSettings:{enableRobot:true}}}};SEOEnhancement.moduleName="SEOEnhancement";var ShopifyMetafield=class extends BoostTAEAppModule{get extendAppConfig(){return {shop:{name:"Twinings",url:"https://twinings.co.uk",domain:"twinings-uk.myshopify.com",currency:"GBP",money_format: "£{{amount}}",money_format_with_currency: "£{{amount}} GBP"},integration:{},...
{
integration: Object.assign({}, {"reviews":"ReviewsIO"}),
}
};}};ShopifyMetafield.moduleName="ShopifyMetafield";var ShopifyDataObject=class extends BoostTAEAppModule{get dataObject(){return {user:
{
}
,product:{...(
""
|| {})}};}};ShopifyDataObject.moduleName="ShopifyDataObject";var TemplateManagement=class extends BoostTAEAppModule{get extendAppConfig(){let templateId="";templateId=templateId=
"cwPTDNrRXi"
|| "";let templateMetadata={};templateMetadata=
{"collectionFilters":"cwPTDNrRXi/themes/flow/main__0__liquid","productList":"cwPTDNrRXi/product-list/main__0__liquid","productItem":"cwPTDNrRXi/product-item/main__0__liquid","collectionHeader":"cwPTDNrRXi/collection-header/main__0__liquid","searchPage":"cwPTDNrRXi/themes/flow/search__0__liquid","mostPopularProducts":"cwPTDNrRXi/no-search-result-page/most-popular-products__0__liquid","recommendation":"cwPTDNrRXi/recommendation/main__0__liquid","recommendationDynamicBundle":"cwPTDNrRXi/recommendation/dynamic-bundle__0__liquid","recommendationEmbeddedBundle":"cwPTDNrRXi/recommendation/embedded-bundle__0__liquid","recommendationVolumeBundleProduct":"cwPTDNrRXi/recommendation/volume-bundle/volume-product__0__liquid","recommendationVolumeBundlePopup":"cwPTDNrRXi/recommendation/volume-bundle/volume-popup__0__liquid","recommendationVolumeBundleBlock":"cwPTDNrRXi/recommendation/volume-bundle/main__0__liquid","instantSearchWidget":"cwPTDNrRXi/instant-search-widget/main__0__liquid","quickView":"cwPTDNrRXi/quickview/main__0__liquid","cart":"cwPTDNrRXi/cart/main__0__liquid","placeholderFilterTree":"cwPTDNrRXi/place-holder/place-holder__0__liquid","placeholderRecommendation":"cwPTDNrRXi/recommendation-placeholder/main__0__liquid","preOrder":"cwPTDNrRXi/pre-order/main__0__liquid","preOrderPlaceholder":"cwPTDNrRXi/pre-order-placeholder/main__0__liquid","backInStock":"cwPTDNrRXi/back-in-stock/main__0__liquid","templateVersion":"1.13.0","setupVersion":"v3","applyUniqueVersion":true,"themeNameLib":"flow","themeLibVersion":"1.88.2","themeCssVersion":"1.13.0","themeCssUrl":"https://cdn.boostcommerce.io/widget-integration/theme/flow/1.13.0/main.css","settingsCssUrl":"https://cdn.shopify.com/s/files/1/0533/6743/9558/files/boost-app-do-not-delete-this-file-twinings-uk__cwPTDNrRXi-settings.css?v=1779196116","updatedAt":1783928602,"featureOptions":{"enableBannerInterleaving":true},"customizeCssUrl":"https://cdn.boostcommerce.io/widget-integration/theme/customization/twinings-uk.myshopify.com/cwPTDNrRXi/customization-1779438568957.css","customizeJsUrl":"https://cdn.boostcommerce.io/widget-integration/theme/customization/twinings-uk.myshopify.com/cwPTDNrRXi/customization-1783481401312.js","upgradeLog":"API upgrade theme lib version to 1.88.2 by "}
|| {};let templateSettings={};templateSettings=
{"appPreferenceSettings":{"watermark":false},"preOrderSettings":{"notificationSettings":{"emailProvider":"boost","automatic":false,"customizeEmail":{"name":"Twinings (Boost)","address":"pre-order@notifyboost.net","subject":"Preorder confirmed: {{order.name}}","heading":"Thanks for preordering from {{shop.name}}","description":"Your recent order {{order.name}} includes at least one preorder item. Please note the payment and shipping information below. Your preorder will be delivered as soon as possible.","button":"View order","contentTextColor":"#000000","backgroundColor":"#ffffff","ctaTextColor":"#ffffff","ctaBackgroundColor":"#000000"},"htmlTemplate":{"content":""},"shippingUpdateEmail":{"subject":"Shipping update for Order {{order.name}}","heading":"Shipping update for Order {{order.name}}","description":"Thanks for preordering from {{shop.name}}. Due to unforeseen circumstances, your preorder products in order {{order.name}} will be delayed. We will do our best to ship your product as soon as possible."}}},"generalSettings":{"addCollectionToProductUrl":false,"breakpointmobile":"575px","breakpointtabletportraitmin":"576px","breakpointtabletportraitmax":"991px","breakpointtabletlandscapetmin":"992px","breakpointtabletlandscapemax":"1199px","breakpointdesktop":"1200px","enableTrackingOrderRevenue":true},"searchSettings":{"searchPanelBlocks":{"searchTermSuggestions":{"label":"Popular searches","searchTermList":[],"backup":[],"type":"manually","active":false},"mostPopularProducts":{"label":"Trending products","productList":[],"backup":[],"type":"manually","active":false},"products":{"label":"Products","pageSize":25,"active":true,"displayImage":true},"collections":{"label":"Collections","pageSize":25,"active":true,"displayImage":false,"displayDescription":false,"excludedValues":[]},"pages":{"label":"Pages","pageSize":25,"active":true,"displayImage":false,"displayExcerpt":false},"searchEmptyResultMessages":{"active":true,"label":"We are sorry! We couldn't find results for \"{{ terms }}\".{{ breakline }}But don't give up – check the spelling or try less specific search terms."},"searchTips":{"label":"Search tips","active":true,"searchTips":"Please double-check your spelling.{{ breakline }}Use more generic search terms.{{ breakline }}Enter fewer keywords.{{ breakline }}Try searching by product type, brand, model number or product feature."}},"suggestionNoResult":{"search_terms":{"label":"Popular searches","status":false,"data":[],"type":"manually","backup":[]},"products":{"label":"Trending products","status":false,"data":[],"type":"manually","backup":[]}},"enableInstantSearch":false,"productAvailable":false,"showSuggestionProductImage":true,"showSuggestionProductPrice":true,"showSuggestionProductSalePrice":true,"showSuggestionProductSku":true,"showSuggestionProductVendor":true,"suggestionBlocks":[{"type":"suggestions","label":"Popular suggestions","status":"active","number":5},{"type":"collections","label":"Collections","status":"active","number":3},{"type":"products","label":"Products","status":"active","number":6},{"type":"pages","label":"Blog & Pages","status":"active","number":3}],"searchBoxOnclick":{"recentSearch":{"label":"Recent searches","status":true,"number":"3"},"searchTermSuggestion":{"label":"Popular searches","status":false,"data":[],"backup":[],"type":"manually"},"productSuggestion":{"label":"Trending products","status":false,"data":[],"backup":[],"type":"manually"}},"suggestionStyle":"style2","suggestionStyle1ProductItemType":"list","suggestionStyle1ProductPosition":"none","suggestionStyle1ProductPerRow":"1","suggestionStyle2ProductItemType":"list","suggestionStyle2ProductPosition":"right","suggestionStyle2ProductPerRow":"2","suggestionStyle3ProductItemType":"list","suggestionStyle3ProductPosition":"right","suggestionStyle3ProductPerRow":"3"},"filterSettings":{"showFilterOptionCount":true,"showRefineBy":true,"showOutOfStockOption":false,"showSingleOption":true,"keepToggleState":true,"changeMobileButtonLabel":false,"sortingAvailableFirst":true,"showLoading":false,"activeScrollToTop":false,"showVariantImageBasedOnSelectedFilter":"","productAndVariantAvailable":false,"availableAfterFiltering":false,"isShortenUrlParam":false,"filterTreeMobileStyle":"style2","filterTreeVerticalStyle":"style-default","filterTreeHorizontalStyle":"style1","stickyFilterOnDesktop":false,"stickyFilterOnMobile":false,"style":{"filterTitleTextColor":"#242424","filterTitleFontSize":16,"filterTitleFontWeight":400,"filterTitleFontTransform":"none","filterTitleFontFamily":"DM Sans","filterOptionTextColor":"#242424","filterOptionFontSize":16,"filterOptionFontFamily":"DM Sans"},"filterLayout":"vertical"},"additionalElementSettings":{"customSortingList":"relevance|best-selling|manual|price-ascending|price-descending","enableCollectionSearch":false},"themeSettings":{"productItems":{"general":{"borderLayout":"noBorder","subLayout":"subLayout_1_2","backgroundColor":"#00000000","backgroundColorOnHover":"#00000000","borderColor":"#00000000","borderColorOnHover":"#00000000"},"productImg":{"elements":{"productSaleLabel":{"shape":"capsule","displayType":"text","displayOptions":"always","color":"#FFFFFF","backgroundColor":"#DC3545","fontSizeScale":100,"fontSize":9,"fontSizeTabletPortrait":9,"fontSizeTabletLandscape":9,"fontSizeMobile":9,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","fontWeight":400,"isEnable":false},"productSoldOutLabel":{"hideOtherLabelsWhenSoldOut":true,"shape":"capsule","displayType":"text","displayOptions":"always","color":"#FFFFFF","backgroundColor":"#494949","fontSize":9,"fontSizeTabletPortrait":9,"fontSizeTabletLandscape":9,"fontSizeMobile":9,"fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","fontWeight":400,"isEnable":false},"productCustomLabelByTag":{"shape":"capsule","color":"#FFFFFF","backgroundColor":"#494949","fontSize":9,"fontSizeTabletPortrait":9,"fontSizeTabletLandscape":9,"fontSizeMobile":9,"fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","fontWeight":400,"isEnable":false}},"grid":{"top":{"direction":"horizontal","elements":{"left":["saleLabel","soldOutLabel","customLabelByTag"]}}},"aspectRatioType":"auto","hoverEffect":"none"},"styleSettings":{"selectOptionBtn":{"showOnHovering":false,"showOn":"desktopAndMobile","displayType":"text","iconPosition":"left","shape":"round","imgSrc":"https://boost-cdn-prod.bc-solutions.net/icon/add-to-cart.svg","backgroundColor":"#FFFFFF","backgroundColorOnHover":"#FFFFFF","borderColor":"#242424","borderColorOnHover":"#242424","textColor":"#242424","textColorOnHover":"#242424","fontSizeScale":100,"fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","alignment":"left","buttonStyling":"solid","buttonPosition":"top","position":7,"fontWeight":400,"width":"100%"},"qvBtn":{"showOn":"desktopOnly","showOnHovering":false,"displayType":"text","iconPosition":"left","shape":"rectangle","imgSrc":"https://boost-cdn-prod.bc-solutions.net/icon/quick-view.svg","backgroundColor":"#FFFFFF","backgroundColorOnHover":"#FFFFFF","borderColor":"#242424","borderColorOnHover":"#242424","textColor":"#242424","textColorOnHover":"#242424","fontSizeScale":100,"fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","alignment":"left","buttonStyling":"outline","position":8,"fontWeight":400,"width":"100%"}},"productInfo":{"textAlign":"left","elements":{"vendor":{"fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","fontSize":12,"fontSizeTabletPortrait":12,"fontSizeTabletLandscape":12,"fontSizeMobile":12,"color":"#242424","isEnable":false,"fontWeight":400},"title":{"fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"color":"#242424","isEnable":true,"fontWeight":400},"price":{"showCentAsSuperscript":false,"showCurrencyCodes":false,"compareAtPricePosition":"left","showSavingDisplay":false,"priceColor":"#242424","priceFontSizeScale":100,"priceFontFamily":"DM Sans","priceFontStyle":"normal","priceFontSize":16,"priceFontSizeTabletPortrait":16,"priceFontSizeTabletLandscape":16,"priceFontSizeMobile":16,"salePriceColor":"#000000","salePriceFontSizeScale":100,"salePriceFontFamily":"DM Sans","salePriceFontStyle":"normal","salePriceFontSize":16,"salePriceFontSizeTabletPortrait":16,"salePriceFontSizeTabletLandscape":16,"salePriceFontSizeMobile":16,"compareAtPriceColor":"#00000099","compareAtPriceFontSizeScale":100,"compareAtPriceFontFamily":"DM Sans","compareAtPriceFontStyle":"normal","compareAtPriceFontSize":16,"compareAtPriceFontSizeTabletPortrait":16,"compareAtPriceFontSizeTabletLandscape":16,"compareAtPriceFontSizeMobile":16,"savingDisplayColor":"#DC3545","savingDisplayFontSizeScale":100,"savingDisplayFontFamily":"DM Sans","savingDisplayFontStyle":"normal","savingDisplayFontSize":16,"savingDisplayFontSizeTabletPortrait":16,"savingDisplayFontSizeTabletLandscape":16,"savingDisplayFontSizeMobile":16,"isEnable":true,"priceFontWeight":400,"salePriceFontWeight":400,"compareAtPriceFontWeight":400,"savingDisplayFontWeight":400},"rating":true,"swatches.1":{"showOptionValueOnHovering":true,"shape":"circle","changeProductImageOn":"hover","isEnable":false},"swatches.2":{"showOptionValueOnHovering":true,"shape":"circle","changeProductImageOn":"hover","isEnable":false},"swatches.3":{"showOptionValueOnHovering":true,"shape":"circle","changeProductImageOn":"hover","isEnable":false},"selectOptionBtn":{"buttonType":"selectOptionBtn","action":"popup","isEnable":true},"wishlist":{"isEnable":false},"qvBtn":{"buttonType":"qvBtn","isEnable":false}}}},"additionalElements":{"pagination":{"paginationType":"infinite_scroll","productCount":{"showProductCount":false},"button":{"shape":"rectangle","backgroundColor":"#FFFFFF","borderColor":"#242424","color":"#242424","fontSizeScale":100,"fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontFamily":"Figtree","fontStyle":"normal-400"}},"toolbar":{"layout":"1_1","filterText":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":14,"fontWeight":400},"refineByText":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"elements":{"viewAs":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":14,"listType":"2,3,4columns","isEnable":false,"showListViewDefault":false,"fontWeight":400},"productCount":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":14,"isEnable":false,"fontWeight":400},"showLimitList":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":14,"isEnable":false,"fontWeight":400},"sorting":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"isEnable":true,"fontWeight":400}}},"collectionHeader":{"isEnable":false,"layout":3,"elements":{"breadCrumb":{"fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","fontSize":12,"fontSizeTabletPortrait":12,"fontSizeTabletLandscape":12,"fontSizeMobile":12,"color":"#FFFFFF","isEnable":false,"showCollectionList":true,"showCollectionTitle":true,"showPagination":false,"placement":"above-title","fontWeight":400},"collectionImage":{"size":"small","parallaxEffect":false,"directionParallax":"vertical","isEnable":true},"collectionTitle":{"textAlign":"center","textTransform":"none","fontSizeScale":100,"fontSize":35,"fontSizeTabletPortrait":35,"fontSizeTabletLandscape":35,"fontSizeMobile":35,"fontFamily":"inherit","fontStyle":"inherit","collectionTitleColor":"#FFFFFF","isEnable":true,"fontWeight":"inherit"},"productCount":{"fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","textTransform":"none","fontSize":12,"fontSizeTabletPortrait":12,"fontSizeTabletLandscape":12,"fontSizeMobile":12,"color":"#FFFFFF","isEnable":false,"fontWeight":400},"collectionDescription":{"fontSize":null,"fontSizeTabletPortrait":null,"fontSizeTabletLandscape":null,"fontSizeMobile":null,"isEnable":true}}}},"quickView":{"showProductImage":true,"thumbnailPosition":"topLeft","isEnableProductVendor":false,"showCurrencyCodes":false,"buttonOverall":{"shape":"rectangle","fontSizeScale":100,"fontSize":14,"fontSizeTabletPortrait":14,"fontSizeTabletLandscape":14,"fontSizeMobile":14,"fontFamily":"DM Sans","fontStyle":"normal","fontWeight":400},"buyItNowBtn":{"enable":true,"backgroundColor":"#242424","hoverBackgroundColor":"#242424","borderColor":"#242424","hoverBorderColor":"#242424","color":"#FFFFFF","hoverColor":"#FFFFFF","textTransform":"none"},"addToCartBtn":{"backgroundColor":"#242424","hoverBackgroundColor":"#242424","borderColor":"#242424","hoverBorderColor":"#242424","color":"#FFFFFF","hoverColor":"#FFFFFF","textTransform":"none"}},"cart":{"enableCart":false,"cartStyle":"side","showCurrencyCodes":false,"enableWidgetRecommendation":false,"widgetRecommendationId":"","showCountdownTimer":false,"sideLayout":"one-column","autoOpenAjaxCartOnAddToCart":false,"generalLayout":{"shape":"rectangle","fontSizeScale":100,"fontSize":14,"fontSizeTabletPortrait":14,"fontSizeTabletLandscape":14,"fontSizeMobile":14,"fontFamily":"DM Sans","fontStyle":"normal","fontWeight":400},"checkoutBtn":{"backgroundColor":"#242424","hoverBackgroundColor":"#242424","borderColor":"#242424","hoverBorderColor":"#242424","color":"#FFFFFF","hoverColor":"#FFFFFF","textTransform":"none"},"viewCartBtn":{"backgroundColor":"#FFFFFF","hoverBackgroundColor":"#FFFFFF","borderColor":"#242424","hoverBorderColor":"#242424","color":"#242424","hoverColor":"#242424","textTransform":"none"}},"productList":{"productsPerPage":40,"productsPerRowOnDesktop":3,"productsPerRowOnMobile":2},"searchPage":{"headerBackground":"#FFFFFF","elements":{"searchHeaderText":{"color":"#FFFFFF","textTransform":"none","fontSizeScale":100,"fontSize":"inherit","fontSizeTabletPortrait":"inherit","fontSizeTabletLandscape":"inherit","fontSizeMobile":"inherit","fontFamily":"inherit","fontStyle":"inherit","fontWeight":"inherit"},"placeholderSearch":{"color":"#575757","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":10,"fontSizeTabletPortrait":10,"fontSizeTabletLandscape":10,"fontSizeMobile":10,"fontWeight":400},"line":{"color":"#24242440"},"scopedSuggestionLabel":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"scopedSuggestionItem":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"backgroundColor":"#F8F8F8","fontWeight":400},"titleTab":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"productCount":{"color":"#575757","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"collectionAndPageTabTitle":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"collectionAndPageTabDescription":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"noSearchResult":{"color":"#242424"}}},"filterTree":{"elements":{"refineBy":{"color":"#242424"},"filterTitle":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"filterOption":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"productCount":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"line":{"color":"#24242440"},"checkbox":{"color":"#24242480"},"searchBox":{"color":"#242424"}}},"isw":{"backgroundSuggestion":"#F8F8F8","backgroundProducts":"#FFFFFF","hoverBackgroundSuggestion":"#E8E9EB","hoverBackgroundProducts":"#F8F8F8","elements":{"titleMultiElement":{"color":"#24242480","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":14,"fontSizeTabletPortrait":14,"fontSizeTabletLandscape":14,"fontSizeMobile":14,"fontWeight":400},"results":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":18,"fontSizeTabletPortrait":18,"fontSizeTabletLandscape":18,"fontSizeMobile":18,"fontWeight":400},"didYouMean":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"didYouMeanResults":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"backgroundColor":"#F6F6F7","fontWeight":400},"productTitle":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":18,"fontSizeTabletPortrait":18,"fontSizeTabletLandscape":18,"fontSizeMobile":18,"fontWeight":400},"productVendor":{"color":"#24242480","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":12,"fontSizeTabletPortrait":12,"fontSizeTabletLandscape":12,"fontSizeMobile":12,"fontWeight":400},"productPrice":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"productSalePrice":{"color":"#000000","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"productCompareAtPrice":{"color":"#00000099","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"fontWeight":400},"productSKU":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":14,"fontSizeTabletPortrait":14,"fontSizeTabletLandscape":14,"fontSizeMobile":14,"fontWeight":400},"viewAllBtn":{"color":"#242424","textTransform":"none","fontSizeScale":100,"fontFamily":"DM Sans","fontStyle":"normal","fontSize":16,"fontSizeTabletPortrait":16,"fontSizeTabletLandscape":16,"fontSizeMobile":16,"backgroundColor":"#FFFFFF","hoverBackgroundColor":"#E8E9EB","fontWeight":400}}}},"currentAppIntegration":{"extraFeatures":{"reviewsio":{"connected":true,"firstConnectedAt":1773319064,"lastUpdatedAt":1773319064}},"reviews":"ReviewsIO"},"themeName":"flow","srcThemeNameLib":"default"}
|| {};const template={};
;template["quickView"]=`<!-- TEMPLATE QUICK VIEW -->{% if product.original_images != nil %}{% assign imageArray = product.original_images %}{% else %}{% assign imageArray = product.images_info %}{% endif %}{% if imageArray.size == 0 %}{% assign imageArray = "no_image" | split: ' ' %}{% endif %}{% assign show_prev_next_btns = imageArray.size > 4 %}{% capture productData %}{"id": "{{ product.id }}","handle": "{{ product.handle }}","variantId": "{{ product.variant_id }}","splitProduct": "{{ product.split_product }}","variants": {{ product.variants | json | escape }},"tags": {{ product.tags | json | escape }},"images": {{ imageArray | json | escape }},"category": "{{ product.product_type | escape }}","tags" : {{ product.tags | json | escape }},"priceMin": "{{ product.price_min }}","options_with_values": {{ product.options_with_values | json | escape }}}{% endcapture %}{% if product.variants.size == 1 and product.variants[0].title == 'Default Title' %}{% assign isDefaultOption = true %}{% else %}{% assign isDefaultOption = false %}{% endif %}<div aria-modal="true" role="dialog" aria-label="Quick view detail for product {{ product.title | escape }}" class="boost-sd__modal" id="boost-sd__modal-quickview" data-product-id='{{ productData.id }}' data-product='{{ productData | json_encode }}'><div class="boost-sd__modal-backdrop"></div><div class="boost-sd__modal-container"> <div tabindex="-1" class="boost-sd__modal-wrapper"> <div class="boost-sd__quick-view" product-id="{{ product.id }}"> <div class="boost-sd__quick-view-product-image"> <div class="boost-sd__slider boost-sd__slider--thumb-vertical"> <div class="boost-sd__thumbs-container boost-sd__thumbs-container--vertical"> {% if show_prev_next_btns %} <div class="boost-sd__thumbs-container-prev-button boost-sd__thumbs-container-prev-button--vertical"><button type="button" aria-label="Previous" class="boost-sd__button boost-sd__button--circle boost-sd__button--full-width" style="padding: 0px;" disabled=""><span class="boost-sd__icon" style="margin: 0px;"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 7" height="7" width="10" class="boost-sd__thumbs-container-button-icon"> <path stroke-linejoin="round" stroke-linecap="round" stroke="currentColor" d="M0.764024 5.51189L5.00002 1.28789L9.23602 5.51189"></path> </svg> </span></button></div> {% endif %} <div class="boost-sd__thumbs-container-thumbs boost-sd__thumbs-container-thumbs--vertical"> {% if request.previewMode == true %} {% for image in imageArray limit: 4 %} <div class="boost-sd__thumbs-container-thumbs-item"> <div class="boost-sd__slide"> <div class="boost-sd__product-image-wrapper boost-sd__product-image-wrapper--aspect-ratio-3-4"> <div class="boost-sd__product-image"> <img id="product-image-{{ product.id }}" class="boost-sd__product-image-img boost-sd__product-image-img--main" {% if image.src %} src="{{ image.src }}" {% else %} src="https://cdn.shopify.com/extensions/201f4d7b-8d39-43a4-82de-e6f412341695/0.0.0/assets/boost-pfs-no-image.jpg?v=1677838268" {% endif %} fetchpriority="auto" sizes="200px" decoding="async" loading="eager" alt="{{ product.title | escape }}" width="auto" height="auto" /> </div> </div> </div> </div> {% endfor %} {% else %} {% for image in imageArray %} <div class="boost-sd__thumbs-container-thumbs-item"> <div class="boost-sd__slide"> <div class="boost-sd__product-image-wrapper boost-sd__product-image-wrapper--aspect-ratio-3-4"> <div tabindex="0" class="boost-sd__product-image"> <img id="product-image-{{ product.id }}" class="boost-sd__product-image-img boost-sd__product-image-img--main" {% if image.src %} src="{{ image.src }}" {% else %} src="https://cdn.shopify.com/extensions/201f4d7b-8d39-43a4-82de-e6f412341695/0.0.0/assets/boost-pfs-no-image.jpg?v=1677838268" {% endif %} fetchpriority="auto" sizes="200px" decoding="async" loading="eager" alt="Load image {{ forloop.index }} in slider for product {{ product.title | escape }}" width="auto" height="auto" /> </div> </div> </div> </div> {% endfor %} {% endif %} </div> {% if show_prev_next_btns %} <div class="boost-sd__thumbs-container-next-button boost-sd__thumbs-container-next-button--vertical"><button type="button" aria-label="Next" class="boost-sd__button boost-sd__button--circle boost-sd__button--full-width" style="padding: 0px;"><span class="boost-sd__icon" style="margin: 0px;"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 7" height="7" width="10" class="boost-sd__thumbs-container-button-icon"> <path stroke-linejoin="round" stroke-linecap="round" stroke="currentColor" d="M0.764024 5.51189L5.00002 1.28789L9.23602 5.51189"></path> </svg> </span></button></div> {% endif %} </div> <div class="slick-slider"> {% if request.previewMode == true %} {% for image in imageArray limit: 1 %} <div class="boost-sd__slide"> <div class="boost-sd__product-image-wrapper boost-sd__product-image-wrapper--aspect-ratio-3-4"> <div class="boost-sd__product-image-row boost-sd__product-image-row--top"> <div class="boost-sd__product-image-column boost-sd__product-image-column--in-top boost-sd__product-image-column--left"> {% assign hideOtherLabelsWhenSoldOut = true -%} {% assign moneyFormat = request.money_format | strip_html -%} {% assign removePriceDecimal = false -%} {% assign showCentAsSuperscript = false -%} {% assign decimalDelimiter = '' -%} {% assign withoutTrailingZeros = true -%} {% if hideOtherLabelsWhenSoldOut != true -%} {% else -%} {% if product.available == false -%} {% else -%} {% endif -%} {% endif -%} </div> </div> <div class="boost-sd__product-image"> <img id="product-image-{{ product.id }}" class="boost-sd__product-image-img boost-sd__product-image-img--main" {% if image.src %} src="{{ image.src }}" {% else %} src="https://cdn.shopify.com/extensions/201f4d7b-8d39-43a4-82de-e6f412341695/0.0.0/assets/boost-pfs-no-image.jpg?v=1677838268" {% endif %} fetchpriority="auto" sizes="200px" decoding="async" loading="eager" alt="{{ product.title | escape }}" width="auto" height="auto" /> </div> </div> </div> {% endfor %} {% else %} {% for image in imageArray %} <div class="boost-sd__slide"> <div class="boost-sd__product-image-wrapper boost-sd__product-image-wrapper--aspect-ratio-3-4"> <div class="boost-sd__product-image-row boost-sd__product-image-row--top"> <div class="boost-sd__product-image-column boost-sd__product-image-column--in-top boost-sd__product-image-column--left"> {% assign hideOtherLabelsWhenSoldOut = true -%} {% assign moneyFormat = request.money_format | strip_html -%} {% assign removePriceDecimal = false -%} {% assign showCentAsSuperscript = false -%} {% assign decimalDelimiter = '' -%} {% assign withoutTrailingZeros = true -%} {% if hideOtherLabelsWhenSoldOut != true -%} {% else -%} {% if product.available == false -%} {% else -%} {% endif -%} {% endif -%} </div> </div> <div class="boost-sd__product-image"> <img id="product-image-{{ product.id }}" class="boost-sd__product-image-img boost-sd__product-image-img--main" {% if image.src %} src="{{ image.src }}" {% else %} src="https://cdn.shopify.com/extensions/201f4d7b-8d39-43a4-82de-e6f412341695/0.0.0/assets/boost-pfs-no-image.jpg?v=1677838268" {% endif %} fetchpriority="auto" sizes="200px" decoding="async" loading="eager" alt="{{ product.title | escape }}" width="auto" height="auto" /> </div> </div> </div> {% endfor %} {% endif %} </div> </div> </div> <div tabindex="0" class="boost-sd__quick-view-product-info"> {% assign product_title = product.title | split: '-' %} {% comment %}<h2 class="boost-sd__quick-view-title">{{ product.title | escape }}</h2>{% endcomment %} <h2 class="boost-sd__quick-view-title"> {{ product_title[0] | strip }} {% if product_title[1] != blank %}<span style="display: block; font-size: 20px; color: #535353; margin-top: 5px;">{{ product_title[1] | strip }}</span>{% endif %} </h2> {% capture showCurrencyCodes %}false{% endcapture %} {% assign moneyFormat = request.money_format | strip_html -%} {% if showCurrencyCodes == 'true' %} {% assign moneyFormat = request.money_format_with_currency | strip_html -%} {% endif %} <div class="boost-sd__quick-view-price"> <span class="boost-sd__format-currency"><span class="">{{ product.price_min | format_currency: moneyFormat }}</span></span> </div> <div class="ruk_rating_snippet" data-sku="{{ product.handle }};{{ product.variants | map: 'sku' | join: ';' }};{{ product.variants | map: 'id' | join: ';' }}" data-no-redirect="true"> </div> {% if isDefaultOption == false %} {% for swatch in product.options_with_values %} <div class="boost-sd__product-swatch"> <div class="boost-sd__product-swatch-title">{{ swatch.label | escape }}</div> <div class="boost-sd__product-swatch-options"> {% for value in swatch.values %} {% assign swatchBy = 'text' %} {% assign backgroundSwatch = "background-color: " | append: value.title | strip_html | escape %} {% assign domain = request.shop %} {% assign imageName = value.title | strip_html | downcase | strip | escape %} {% if imageName contains " " %} {% assign imageName = imageName | replace: ' ', "-" %} {% endif %} {% if swatch.original_name == 'color' %} {% assign url = "//" | append: domain | append: "/cdn/shop/files/" | append: imageName | append: ".png" %} {% assign backgroundSwatch = backgroundSwatch | append: "; background-image: url('" | append: url | append: "');" %} {% assign swatchBy = 'color-and-image' %} {% endif %} {% for variant in product.variants %} {% assign options = variant.merged_options %} {% if variant.original_merged_options != nil %} {% assign options = variant.original_merged_options %} {% endif %} {% for option in options %} {% assign currentOption = option | strip_html | downcase | strip | replace: 'color:', '' | escape %} {% if currentOption contains " " %} {% assign currentOption = currentOption | replace: ' ', "-" %} {% endif %} {% if currentOption == imageName and variant.image %} {% assign backgroundSwatch = "background-image: url('" | append: variant.image | append: "');" %} {% assign swatchBy = 'product-image' %} {% endif %} {% endfor %} {% endfor %} <div class="boost-sd__product-swatch-option" data-swatch-by='{{ swatchBy }}'> <div class="boost-sd__radio"> <div class="boost-sd__tooltip"> {% if swatch.original_name == 'color' %} <div class="boost-sd__tooltip-content">{{ value.title | strip_html | escape }}</div> {% endif %} <input id="product-swatch-qv-{{ product.id }}-{{ value.title | strip_html | escape }}" class="boost-sd__radio-input boost-sd__radio-input--hidden" type="radio" value="{{ value.title | strip_html | escape }}" checked="" /> {% if swatch.original_name == 'color' %} <label role="radio" tabindex="0" aria-label="{{ swatch.original_name }}:{{ value.title }}" for="product-swatch-qv-{{ product.id }}-{{ value.title | strip_html | escape }}" data-swatch-value="{{ value.title | strip_html | escape }}" class="boost-sd__radio-label boost-sd__radio-label--hide-text boost-sd__radio-label--large" style="{{ backgroundSwatch }}"> {{ value.title | strip_html | escape }} </label> {% else %} <label role="radio" tabindex="0" aria-label="{{ swatch.original_name }}:{{ value.title }}" for="product-swatch-qv-{{ product.id }}-{{ value.title | strip_html | escape }}" data-swatch-value="{{ value.title | strip_html | escape }}" class="boost-sd__radio-label boost-sd__radio-label--in-quick-view"> {{ value.title | strip_html | escape }} </label> {% endif %} </div> </div> </div> {% endfor %} </div> </div> {% endfor %} {% endif %} <div class="boost-sd__quick-view-quantity"> <p class="boost-sd__quick-view-quantity-title">{{ "quickView.qvQuantity" | translate: translations, 'Quantity' }}</p> <div class="boost-sd__input-number boost-sd__input-number--md"> <div class="boost-sd__input-number-btn-wrapper"> <button type="button" aria-label="Decrease quantity" class="boost-sd__button boost-sd__button--full-width boost-sd__input-number-btn"><span>-</span></button> </div> <input type="number" aria-label="Item quantity" class="boost-sd__input-number-input" value="1" /> <div class="boost-sd__input-number-btn-wrapper"> <button type="button" aria-label="Increase quantity" class="boost-sd__button boost-sd__button--full-width boost-sd__input-number-btn"><span>+</span></button> </div> </div> <div class="boost-sd__quick-view-quantity-error" style="color: red; font-size: 90%; display: none">{{ "quickView.qvQuantityError" | translate: translations, 'Please input quantity' }}</div> </div> <!-- TODO check preorder --> <div class="boost-sd__quick-view-preorder"> <!-- TEMPLATE PRE_ORDER WITH PAYMENT --> <!-- TODO check preorder --> {% if product.variants %} {% assign variants = product.variants %} {% else %} {% assign variants = variants %} {% endif %} {% for variant in variants %} {% if variant.preorder %} {% assign paymentType = variant.preorder.payment.type %} {% assign discountType = variant.preorder.payment.discountType %} {% assign discountValue = variant.preorder.payment.discountValue %} {% assign originalPrice = variant.price %} {% assign paymentLabel = '' %} {% if paymentType == 'full' %} {% assign paymentLabel = 'Full payment' %} {% endif %} {% if paymentType == 'partial' %} {% assign paymentLabel = 'Partial payment' %} {% endif %} {% if paymentType == 'none' %} {% assign paymentLabel = 'No payment' %} {% endif %} {% capture showCurrencyCodes %}false{% endcapture %} {% assign moneyFormat = request.money_format | strip_html -%} {% if showCurrencyCodes == 'true' %} {% assign moneyFormat = request.money_format_with_currency | strip_html -%} {% endif %} {% assign moneyRate = request.currency_rate | strip_html -%} {% if discountType == 'percentage' %} {% assign percentNum = originalPrice | times: discountValue | divided_by: 100 %} {% assign discountedPrice = originalPrice | times: 1.0 | minus: percentNum %} {% elsif discountType == 'amount' %} {% assign discountValue = discountValue | times: moneyRate %} {% assign discountedPrice = originalPrice | times: 1.0 | minus: discountValue %} {% else %} {% assign discountedPrice = originalPrice %} {% endif %} {% assign removePriceDecimal = false -%} {% assign showCentAsSuperscript = false -%} {% assign decimalDelimiter = '' -%} {% assign withoutTrailingZeros = true -%} {% assign originalPriceFormat = originalPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%} {% assign discountedPriceFormat = discountedPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%} {% assign discountValueFormat = discountValue | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros %} <div tabindex="0" role="region" aria-labelledby="preorder-title" aria-describedby="preorder-description" class="boost-sd__preorder" data-variant-id="{{ variant.id }}"> <div class="boost-sd__preorder-option"> <h2 id="preorder-title" class="boost-sd__preorder-title">{{ paymentLabel }}</h2> <div aria-live="polite" id="preorder-description" class="boost-sd__preorder-discount"> {% if discountType == 'percentage' %} <span class="boost-sd__preorder-save">Save {{ discountValue }}%</span> {% elsif discountType == 'amount' %} <span class="boost-sd__preorder-save">Save {{ discountValueFormat }}</span> {% endif %} <div class="boost-sd__preorder-price"> {% if discountType != 'none' %} <span aria-label="Original Price: {{ originalPriceFormat }}" class="boost-sd__preorder-original-price">{{ originalPriceFormat }}</span> {% endif %} <span aria-label="Discounted Price: {{ discountedPriceFormat }}" class="boost-sd__preorder-discounted-price">{{ discountedPriceFormat }}</span> </div> </div> </div> </div> {% endif %} {% endfor %} {% assign buttonLabel = 'Pre-Order' %} {% assign preOrderButtonText = variants[0].preorder.settings.buttonText %} {% assign preOrderDeliveryText = variants[0].preorder.settings.deliveryText %} {% if preOrderButtonText and preOrderButtonText != '' %} {% assign buttonLabel = preOrderButtonText %} {% endif %} <button type="button" aria-label='{{ buttonLabel }}' class="boost-sd__button boost-sd__button--border boost-sd__button--rectangle boost-sd__button--large boost-sd__button--preorder"> <span aria-hidden="true" class="boost-sd__button-text"> {{ buttonLabel }} </span> </button> <p tabindex="0" class="boost-sd__preorder-note"> <strong class="boost-sd__preorder-note-title">Please note: </strong><span class="boost-sd__preorder-note-text">{{ preOrderDeliveryText }}</span> </p> </div> <div class="boost-sd__quick-view-btn"> <button type="button" class="boost-sd__button boost-sd__button--border boost-sd__button--rectangle boost-sd__button--large boost-sd__btn-add-to-cart"> <span class="boost-sd__button-text"> {{ "productItem.atcAvailableLabel" | translate: translations, 'Add to cart' }} </span> </button> <button type="button" class="boost-sd__button boost-sd__button--border boost-sd__button--rectangle boost-sd__button--large boost-sd__btn-buy-now"> <span class="boost-sd__button-text">{{ "quickView.buyItNowBtnLabel" | translate: translations, 'Buy it now' }}</span> </button> </div> <a class="boost-sd__quick-view-details-link" href="/products/{{ product.handle }}">{{ "quickView.qvViewFullDetails" | translate: translations, 'View full details' }}</a> </div> </div> <button type="button" aria-label='{{ "close" | translate: translations, "Close" }}' class="boost-sd__button boost-sd__button--transparent boost-sd__button--float boost-sd__modal-close-btn"> <svg class="boost-sd__modal-close-svg" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M19.3536 5.35355C19.5488 5.15829 19.5488 4.84171 19.3536 4.64645C19.1583 4.45118 18.8417 4.45118 18.6464 4.64645L12 11.2929L5.35355 4.64645C5.15829 4.45118 4.84171 4.45118 4.64645 4.64645C4.45118 4.84171 4.45118 5.15829 4.64645 5.35355L11.2929 12L4.64645 18.6464C4.45118 18.8417 4.45118 19.1583 4.64645 19.3536C4.84171 19.5488 5.15829 19.5488 5.35355 19.3536L12 12.7071L18.6464 19.3536C18.8417 19.5488 19.1583 19.5488 19.3536 19.3536C19.5488 19.1583 19.5488 18.8417 19.3536 18.6464L12.7071 12L19.3536 5.35355Z" fill="#222222"></path> </svg> </button> </div></div></div>`;
;template["cart"]=`<!-- TEMPLATE CART --><!-- This Template contains a few variables built from the client js side -->{% assign currentLocale = '' %}{% if locale != "" or locale != null %}{% assign currentLocale = locale %}{% endif %}`;
;template["refineBy"]=`<!-- TEMPLATE REFINE BY --><div class='boost-sd__refine-by-vertical-refine-by'><div class='boost-sd__refine-by-vertical-refine-by-title'> <div class='boost-sd__refine-by-vertical-refine-by-heading'> {{ 'refine' | translate: translations, 'Refine By' }} </div> <button type='button' aria-label='{{ "clearAll" | translate: translations, "Clear All" }}' id='boost-sd__button--clear-all-filters' class='boost-sd__button boost-sd__button--clear' data-metadata='{ "action": { "clearAllFilter": "" } }'> <span class='boost-sd__button-text' data-metadata='{ "action": { "clearAllFilter": "" } }' aria-hidden='true'> {% comment %}{{- 'clearAll' | translate: translations, 'Clear All' -}}{% endcomment %} {{- 'resetAll' | translate: translations, 'Reset All' -}} </span> </button></div><div class='boost-sd__refine-by-vertical-refine-by-list'> {% for refineByOption in refineBy.options %} <button aria-label='Clear {{ refineByOption.data.label | escape }}: {% if refineByOption.type == "range" %}{% if refineByOption.data.key == "pf_p_price" or refineByOption.data.key == "pf_vp_variants_price" %}{{ refineByOption.data.value.lower | currency_format: refineByOption.data.moneyFormatValue }} to {{ refineByOption.data.value.upper | currency_format: refineByOption.data.moneyFormatValue }}{% else %}{{ refineByOption.data.value.lower | escape }} to {{ refineByOption.data.value.upper | escape }}{% endif %}{% else %}{{ refineByOption.data.valueDisplay | escape }}{% endif %}' metadata='{"action": { "clearFilter": {{ refineByOption.metaData | json | escape }} } }' class='boost-sd__refine-by-vertical-refine-by-item' id='{{ refineByOption.data.value | downcase | replace: " ", "-" | append: "-clear-filter" | simpleMd5 }}'> <div metadata='{"action": { "clearFilter": {{ refineByOption.metaData | json | escape }} } }' class='boost-sd__refine-by-vertical-refine-by-type'> <span metadata='{"action": { "clearFilter": {{ refineByOption.metaData | json | escape }} } }' class='boost-sd__refine-by-vertical-refine-by-option'> {{ refineByOption.data.label | escape }}: </span> <span metadata='{"action": { "clearFilter": {{ refineByOption.metaData | json | escape }} } }' class='boost-sd__refine-by-vertical-refine-by-value'> {% if refineByOption.type == 'range' %} {% if refineByOption.data.key == 'pf_p_price' or refineByOption.data.key == 'pf_vp_variants_price' %} {{ refineByOption.data.value.lower | currency_format: refineByOption.data.moneyFormatValue }} - {{ refineByOption.data.value.upper | currency_format: refineByOption.data.moneyFormatValue }} {% else %} {{ refineByOption.data.value.lower | escape }} - {{ refineByOption.data.value.upper | escape }} {% endif %} {% else %} {% if refineByOption.data.valueDisplay contains ':' %} {{ refineByOption.data.valueDisplay | split: ':' | last | escape }} {% else %} {{ refineByOption.data.valueDisplay | escape }} {% endif %} {% endif %} </span> </div> <svg metadata='{"action": { "clearFilter": {{ refineByOption.metaData | json | escape }} } }' class='boost-sd__refine-by-vertical-refine-by-clear' xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' role='img' aria-hidden='true' fill='#222'> <path metadata='{"action": { "clearFilter": {{ refineByOption.metaData | json | escape }} } }' fill-rule="evenodd" clip-rule="evenodd" d="M7.41401 6.00001L11.707 1.70701C12.098 1.31601 12.098 0.684006 11.707 0.293006C11.316 -0.0979941 10.684 -0.0979941 10.293 0.293006L6.00001 4.58601L1.70701 0.293006C1.31601 -0.0979941 0.684006 -0.0979941 0.293006 0.293006C-0.0979941 0.684006 -0.0979941 1.31601 0.293006 1.70701L4.58601 6.00001L0.293006 10.293C-0.0979941 10.684 -0.0979941 11.316 0.293006 11.707C0.488006 11.902 0.744006 12 1.00001 12C1.25601 12 1.51201 11.902 1.70701 11.707L6.00001 7.41401L10.293 11.707C10.488 11.902 10.744 12 11 12C11.256 12 11.512 11.902 11.707 11.707C12.098 11.316 12.098 10.684 11.707 10.293L7.41401 6.00001Z" fill="#3D4246"> </path> </svg> </button> {% endfor %} </div></div>`;
;template["filterOptionBoxItem"]=`<!-- This Template contains a few variables built from the client js side -->{% if request.previewMode == true %}<li class="boost-sd__filter-option-item boost-sd__filter-option-box-item"><button role='checkbox' aria-label='{{ value.key | escape_once | strip_html }}. Number of products: {{ value.doc_count }}' aria-checked='false' class='boost-sd__filter-option-item-button boost-sd__filter-option-item-button--as-button'> <span class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ value.key | escape | upcase }} {% else %} {{ value.key | escape }} {% endif %} </span></button></li>{% else %}<li class='{{ className }}'><button role='checkbox' aria-label='Find product with {{ label | escape }} is {{ value.label | escape_once | strip_html }}. Number of products: {{ value.doc_count }}' aria-checked='{% if className contains "boost-sd__filter-option-box-item--selected" %}true{% else %}false{% endif %}' id='{{ actionId }}' class='boost-sd__filter-option-item-button boost-sd__filter-option-item-button--as-button' data-action='{{ dataAction }}'> <span data-action='{{ dataAction }}' class='boost-sd__filter-option-item-label'> {% if displayAllValuesInUppercaseForm %} {{ value.label | escape | upcase }} {% else %} {{ value.label | escape }} {% endif %} </span></button></li>{% endif %}`;
;template["filterOptionListItem"]=`<!-- This Template contains a few variables built from the client js side -->{% if request.previewMode == true %}<li class="boost-sd__filter-option-item boost-sd__filter-option-list-option-item"><button role="checkbox" aria-checked="false" aria-label="{{ value.key | escape_once }}. Number of products: {{ value.doc_count }}" class="boost-sd__filter-option-item-button boost-sd__filter-option-item-button--as-button boost-sd__filter-option-item-button--with-checkbox"> {% if option.filterType == "variants_price" or option.filterType == "price" %} {% if value.from == 0 %} {{ "under" | translate: translations, "Under" }} {{ value.to | format_currency: option.moneyFormatValue }} {% elsif value.to == nil %} {{ "above" | translate: translations, "Above" }} {{ value.from | format_currency: option.moneyFormatValue }} {% elsif value.from != 0 and value.to != nil %} {{ value.from | format_currency: option.moneyFormatValue }} - {{ value.to | format_currency: option.moneyFormatValue }} {% endif %} {% elsif option.filterType == "percent_sale" %} {% if value.from == nil %} {{ "under" | translate: translations, "Under" }} {{ value.to }} {% elsif value.to == nil %} {{ "above" | translate: translations, "Above" }} {{ value.from }} {% elsif value.from != 0 and value.to != nil %} {{ value.from }}% - {{ value.to }}% {% endif %} {% else %} <span class="boost-sd__filter-option-item-label"> {% if option.displayAllValuesInUppercaseForm %} {% if option.filterType == "stock" or option.filterType == "collection" %} {{ value.label | upcase | escape }} {% else %} {{ value.key | upcase | escape }} {% endif %} {% else %} {% if option.filterType == "stock" or option.filterType == "collection" %} {{ value.label | escape }} {% else %} {{ value.key | escape }} {% endif %} {% endif %} </span> {% endif %} {% if filterSettings.showFilterOptionCount %} <span aria-hidden="true" class="boost-sd__filter-option-item-amount">({{ value.doc_count }})</span> {% endif %} </button></li>{% else %}<li class='boost-sd__filter-option-item boost-sd__filter-option-list-option-item'><button role='checkbox' aria-checked='{% if className contains "boost-sd__filter-option-item-button--selected" %}true{% else %}false{% endif %}' aria-label='Find product with {{ label | escape }} is {{ value.label | escape_once | strip_html }}. Number of products: {{ value.doc_count }}' id='{{ actionId }}' class='{{ className }}' data-action='{{ dataAction }}'> <span data-action='{{ dataAction }}' class='boost-sd__filter-option-item-label'> {% if displayAllValuesInUppercaseForm %} {{ value.label | upcase | escape }} {% else %} {{ value.label | escape }} {% endif %} </span> {% if showDocCount %} <span data-action='{{ dataAction }}' aria-hidden='true' class='boost-sd__filter-option-item-amount'> ({{ value.doc_count }})</span> {% endif %} </button></li>{% endif %}`;
;template["filterOptionSwatchItem"]=`<!-- This Template contains a few variables built from the client js side -->{% assign swatchListStyle = option.swatchStyle == 'circle-list' or option.swatchStyle == 'square-list' %}{% if request.previewMode == true %}{% assign swatchTyleClass = "" %}{% if swatchListStyle %}{% assign swatchTyleClass = "list" %}{% else %}{% assign swatchTyleClass = "grid" %}{% endif %}<li class='boost-sd__filter-option-item boost-sd__filter-option-swatch-item'><button title='{{ value.key | strip_html | escape }}. Number of products: {{ value.doc_count }}' role='checkbox' aria-checked='false' class='boost-sd__filter-option-item-button boost-sd__filter-option-item-button--as-button'> <span class='boost-sd__filter-option-swatch-item-img boost-sd__filter-option-swatch-item-img--{{ swatchTyleClass }} boost-sd__filter-option-swatch-item-img--circle' style='background-color: {{ value.key | escape }};'></span> {% if swatchListStyle %} <span class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ value.key | escape | upcase }} {% else %} {{ value.key | escape }} {% endif %} </span> <span aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ value.doc_count }})</span> {% endif %} </button></li>{% else %}<li data-action='{{ dataAction }}' class='boost-sd__filter-option-item boost-sd__filter-option-swatch-item'><button role='checkbox' aria-checked='{% if className contains "boost-sd__filter-option-item-button--selected" %}true{% else %}false{% endif %}' title='Find product with {{ label | escape }} is {{ value.label | escape | strip_html }}. Number of products: {{ value.doc_count }}' id='{{ actionId }}' data-action='{{ dataAction }}' class='boost-sd__filter-option-item-button boost-sd__filter-option-item-button--as-button'> {% if swatchValue.backgroundColor == nil %} {% assign swatchBackgroundColor = "none" %} {% else %} {% assign swatchBackgroundColor = swatchValue.backgroundColor | strip_html %} {% endif %} {% if swatchValue.backgroundImage == nil %} {% assign swatchBackgroundImage = "none" %} {% else %} {% assign swatchBackgroundImage = swatchValue.backgroundImage | strip_html %} {% endif %} <span data-action='{{ dataAction }}' class='{{ className }}' style='background-color: {{ swatchBackgroundColor }}; background-image: {{ swatchBackgroundImage }}'></span> {% if swatchType == 'list' %} <span data-action='{{ dataAction }}' class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ value.label | escape | upcase }} {% else %} {{ value.label | escape }} {% endif %} </span> {% if showDocCount %} <span data-action='{{ dataAction }}' aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ value.doc_count }})</span> {% endif %} {% endif %} </button></li>{% endif %}`;
;template["filterOptionMultiLevelCollectionItem"]=`<!-- This Template contains a few variables built from the client js side -->{% if request.previewMode == true %}<li class='boost-sd__filter-option-item boost-sd__filter-option-item-multilevel-collections {% if option.keepValuesStatic and value.doc_count == 0 %} boost-sd__filter-option-item-multilevel-collections--disabled {% endif %}'><div class='boost-sd__filter-option-item-multilevel-collections-firstlevel'> <a title='Link to {{ value.displayName }}. Number of products: {{ value.doc_count }}' href='/collections/{{ value.handle }}' class='boost-sd__filter-option-item-button boost-sd__filter-option-item-button--as-link'> <span class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ value.displayName | upcase }} {% else %} {{ value.displayName }} {% endif %} </span> </a> {% if showDocCount %} <span role='text' aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ value.doc_count }})</span> {% endif %} {% if value.existedTags %} <button type='button' aria-label='Expand/Collapse {{ value.displayName }}' class='boost-sd__button boost-sd__button--transparent'> <svg class='boost-sd__arrow-icon boost-sd__arrow-icon--right' xmlns='http://www.w3.org/2000/svg' width='7' height='12' role='img' aria-label='Expand/Collapse {{ value.displayName }}' viewBox='0 0 7 12' fill='#222'> <path class="boost-sd__arrow-icon-path" d="M6.58942 0.610713C6.26398 0.285274 5.73635 0.285274 5.41091 0.610713L0.611415 5.41021C0.455135 5.56649 0.366829 5.77895 0.366829 5.99996C0.366829 6.22098 0.454629 6.43294 0.610909 6.58922L5.41091 11.3892C5.73635 11.7147 6.26398 11.7147 6.58942 11.3892C6.91486 11.0638 6.91486 10.5362 6.58942 10.2107L2.37867 5.99996L6.58942 1.78922C6.91486 1.46379 6.91486 0.936153 6.58942 0.610713Z"></path> </svg> </button> {% endif %} </div></li>{% else %}{% assign currentLocale = '' %}{% if locale != "" %}{% assign currentLocale = '/' | append: locale %}{% endif %}<li class='boost-sd__filter-option-item boost-sd__filter-option-item-multilevel-collections {% if option.keepValuesStatic and value.doc_count == 0 %} boost-sd__filter-option-item-multilevel-collections--disabled {% endif %}'><div class='boost-sd__filter-option-item-multilevel-collections-firstlevel'> <a id='{{ actionId }}' metaData='{{ metaData | json | escape }}' title='Link to {{ value.displayName }}. Number of products: {{ value.doc_count }}' data-action='select-filter-item' href='{{ currentLocale }}/collections/{{ value.handle }}' class='{{ className }}'> <span style='{{ styleOptionItem }}' data-metadata='{{ metaData | json | escape }}' class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ value.displayName | upcase }} {% else %} {{ value.displayName }} {% endif %} </span> {% if showDocCount %} <span role='text' aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ value.doc_count }})</span> {% endif %} </a> {% if value.existedTags %} <button aria-label='Expand/Collapse {{ value.displayName }}' id='{{ value.actionIdArrow }}' data-metadata='{{ value.metaDataArrow | json | escape }}' type='button' class='boost-sd__button boost-sd__button--transparent' style='padding-right: 0px;'> <svg id='{{ value.targetIdArrow }}' data-metadata='{{ value.metaDataArrow | json | escape }}' class='boost-sd__arrow-icon boost-sd__arrow-icon--right' xmlns='http://www.w3.org/2000/svg' width='7' height='12' role='img' aria-label='Expand/Collapse {{ value.displayName }}' viewBox='0 0 7 12' fill='#222'> <path data-metadata='{{ value.metaDataArrow | json | escape }}' class="boost-sd__arrow-icon-path" d="M6.58942 0.610713C6.26398 0.285274 5.73635 0.285274 5.41091 0.610713L0.611415 5.41021C0.455135 5.56649 0.366829 5.77895 0.366829 5.99996C0.366829 6.22098 0.454629 6.43294 0.610909 6.58922L5.41091 11.3892C5.73635 11.7147 6.26398 11.7147 6.58942 11.3892C6.91486 11.0638 6.91486 10.5362 6.58942 10.2107L2.37867 5.99996L6.58942 1.78922C6.91486 1.46379 6.91486 0.936153 6.58942 0.610713Z"></path> </svg> </button> {% endif %} </div> {% if value.existedTags > 0 %} <ul id='{{ value.targetIdList }}' class='boost-sd__filter-option-item-multilevel-collections-listitem boost boost-sd__g-hide'> {% for tag in value.tags %} <li class='boost-sd__filter-option-item-multilevel-collections-secondlevel'> <div class='boost-sd__filter-option-item boost-sd__filter-option-item-multilevel-collections-secondlevel-title'> <a id='{{ tag.actionId }}' data-metadata='{{ tag.metaData | json | escape }}' title='Link to {{ tag.displayName }}' data-action='select-filter-item' href='{{ currentLocale }}/collections/{{ value.handle }}/{{ tag.tag }}' class='{{ tag.className }}'> <span data-metadata='{{ tag.metaData | json | escape }}' class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ tag.displayName | upcase }} {% else %} {{ tag.displayName }} {% endif %} </span> </a> {% if tag.existedSubTags %} <button aria-label='Expand/Collapse {{ tag.displayName }}' id='{{ tag.actionIdArrow }}' data-metadata='{{ tag.metaDataArrow | json | escape }}' type='button' class='boost-sd__button boost-sd__button--transparent' style='padding-right: 0px;'> <svg id='{{ tag.targetIdArrow }}' data-metadata='{{ tag.metaDataArrow | json | escape }}' class='boost-sd__arrow-icon boost-sd__arrow-icon--right' xmlns='http://www.w3.org/2000/svg' width='7' height='12' role='img' aria-label='Expand/Collapse {{ tag.displayName }}' viewBox='0 0 7 12' fill='#222'> <path data-metadata='{{ tag.metaDataArrow | json | escape }}' class="boost-sd__arrow-icon-path" d="M6.58942 0.610713C6.26398 0.285274 5.73635 0.285274 5.41091 0.610713L0.611415 5.41021C0.455135 5.56649 0.366829 5.77895 0.366829 5.99996C0.366829 6.22098 0.454629 6.43294 0.610909 6.58922L5.41091 11.3892C5.73635 11.7147 6.26398 11.7147 6.58942 11.3892C6.91486 11.0638 6.91486 10.5362 6.58942 10.2107L2.37867 5.99996L6.58942 1.78922C6.91486 1.46379 6.91486 0.936153 6.58942 0.610713Z"></path> </svg> </button> {% endif %} </div> {% if tag.existedSubTags %} <ul id='{{ tag.targetIdList }}' class='boost-sd__filter-option-item-multilevel-collections-thirdlevel boost-sd__g-hide'> {% for subTag in tag.subTags %} <li class='boost-sd__filter-option-item boost-sd__filter-option-item-multilevel-collections-thirdlevel-title'> <a id='{{ subTag.actionId }}' data-metadata='{{ subTag.metaData | json | escape }}' title='Link to {{ subTag.displayName }}' data-action='select-filter-item' href='{{ currentLocale }}/collections/{{ value.handle }}/{{ subTag.tag }}' class='{{ subTag.className }}'> <span data-metadata='{{ subTag.metaData | json | escape }}' class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ subTag.displayName | upcase }} {% else %} {{ subTag.displayName }} {% endif %} </span> </a> </li> {% endfor %} </ul> {% endif %} </li> {% endfor %} </ul> {% endif %}</li>{% endif %}`;
;template["filterOptionMultiLevelTagItem"]=`<!-- This Template contains a few variables built from the client js side -->{% if request.previewMode == true %}<li class='boost-sd__filter-option-item boost-sd__filter-option-list-option-item'><button role='checkbox' aria-checked='false' aria-label='{{ value.displayName }}. Number of products: {{ value.doc_count }}' class='boost-sd__filter-option-item-button boost-sd__filter-option-item-button--as-button boost-sd__filter-option-item-button--with-checkbox'> <span class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ value.displayName | upcase }} {% else %} {{ value.displayName }} {% endif %} </span></button> {% assign existedTags = value.subTags | size %} {% if existedTags > 0 %} <button type='button' aria-label='Expand/Collapse {{ value.displayName }}' class='boost-sd__button boost-sd__button--transparent boost-sd__filter-option-list-option-item-collapse-btn'> <svg class='boost-sd__arrow-icon boost-sd__arrow-icon--right' xmlns='http://www.w3.org/2000/svg' width='7' height='12' role='img' aria-label='Expand/Collapse {{ value.displayName }}' viewBox='0 0 7 12' fill='#222'> <path class="boost-sd__arrow-icon-path" d="M6.58942 0.610713C6.26398 0.285274 5.73635 0.285274 5.41091 0.610713L0.611415 5.41021C0.455135 5.56649 0.366829 5.77895 0.366829 5.99996C0.366829 6.22098 0.454629 6.43294 0.610909 6.58922L5.41091 11.3892C5.73635 11.7147 6.26398 11.7147 6.58942 11.3892C6.91486 11.0638 6.91486 10.5362 6.58942 10.2107L2.37867 5.99996L6.58942 1.78922C6.91486 1.46379 6.91486 0.936153 6.58942 0.610713Z"> </path> </svg></button> {% endif %}</li>{% else %}<li class='boost-sd__filter-option-item boost-sd__filter-option-list-option-item'><button role='checkbox' aria-checked='{% if className contains "boost-sd__filter-option-item-button--selected" %}true{% else %}false{% endif %}' aria-label='Find product with {{ label | escape }} is {{ value.displayName | escape | strip_html }}. Number of products: {{ value.doc_count }}' data-metadata='{{ metaData | json | escape }}' id='{{ actionId }}' class='{{ className }}'> <span style='{{ styleOptionItem }}' data-metadata='{{ metaData | json | escape }}' class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ value.displayName | upcase }} {% else %} {{ value.displayName }} {% endif %} </span> {% if showProductCount %} <span data-metadata='{{ metaData | json | escape }}' role='text' aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ value.doc_count }})</span> {% endif %} </button> {% assign existedTags = value.subTags | size %} {% if existedTags > 0 %} <button aria-label='Expand/Collapse {{ value.displayName }}' type='button' data-metadata='{{ value.metaDataArrow | json | escape }}' id='{{ value.actionIdArrow }}' class='boost-sd__button boost-sd__button--transparent boost-sd__filter-option-list-option-item-collapse-btn'> <svg id='{{ value.targetIdArrow }}' data-metadata='{{ value.metaDataArrow | json | escape }}' class='boost-sd__arrow-icon boost-sd__arrow-icon--right' xmlns='http://www.w3.org/2000/svg' width='7' height='12' role='img' aria-label='Expand/Collapse {{ value.displayName }}' viewBox='0 0 7 12' fill='{{ colorOptionItem }}'> <path data-metadata='{{ value.metaDataArrow | json | escape }}' class="boost-sd__arrow-icon-path" d="M6.58942 0.610713C6.26398 0.285274 5.73635 0.285274 5.41091 0.610713L0.611415 5.41021C0.455135 5.56649 0.366829 5.77895 0.366829 5.99996C0.366829 6.22098 0.454629 6.43294 0.610909 6.58922L5.41091 11.3892C5.73635 11.7147 6.26398 11.7147 6.58942 11.3892C6.91486 11.0638 6.91486 10.5362 6.58942 10.2107L2.37867 5.99996L6.58942 1.78922C6.91486 1.46379 6.91486 0.936153 6.58942 0.610713Z"></path> </svg></button><!-- style="display: none" --><ul id='{{ value.targetIdList }}' class='boost-sd__filter-option-list-option-item-sublist boost-sd__g-hide'> {% for tag in value.subTags %} <li class='boost-sd__filter-option-item boost-sd__filter-option-list-option-item'> <button role='checkbox' aria-checked='{% if tag.className contains "boost-sd__filter-option-item-button--selected" %}true{% else %}false{% endif %}' aria-label='Find product with {{ label | escape }} is {{ tag.displayName | escape | strip_html }}. Number of products: {{ tag.doc_count }}' data-metadata='{{ tag.metaData | json | escape }}' id='{{ tag.actionId }}' class='{{ tag.className }}'> <span style='{{ styleOptionItem }}' data-metadata='{{ tag.metaData | json | escape }}' class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ tag.displayName | upcase }} {% else %} {{ tag.displayName }} {% endif %} </span> {% if showProductCount %} <span data-metadata='{{ tag.metaData | json | escape }}' role='text' aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ tag.doc_count }})</span> {% endif %} </button> {% assign existedSubTags = tag.subTags | size %} {% if existedSubTags > 0 %} <button aria-label='Expand/Collapse {{ tag.displayName }}' type='button' data-metadata='{{ tag.metaDataArrow | json | escape }}' id='{{ tag.actionIdArrow }}' class='boost-sd__button boost-sd__button--transparent boost-sd__filter-option-list-option-item-collapse-btn'> <svg id='{{ tag.targetIdArrow }}' data-metadata='{{ tag.metaDataArrow | json | escape }}' class='boost-sd__arrow-icon boost-sd__arrow-icon--right' xmlns='http://www.w3.org/2000/svg' width='7' height='12' role='img' aria-label='Expand/Collapse {{ tag.displayName }}' viewBox='0 0 7 12' fill='{{ colorOptionItem }}'> <path data-metadata='{{ tag.metaDataArrow | json | escape }}' class="boost-sd__arrow-icon-path" d="M6.58942 0.610713C6.26398 0.285274 5.73635 0.285274 5.41091 0.610713L0.611415 5.41021C0.455135 5.56649 0.366829 5.77895 0.366829 5.99996C0.366829 6.22098 0.454629 6.43294 0.610909 6.58922L5.41091 11.3892C5.73635 11.7147 6.26398 11.7147 6.58942 11.3892C6.91486 11.0638 6.91486 10.5362 6.58942 10.2107L2.37867 5.99996L6.58942 1.78922C6.91486 1.46379 6.91486 0.936153 6.58942 0.610713Z"></path> </svg> </button> <!-- style="display: none" --> <ul id='{{ tag.targetIdList }}' class='boost-sd__filter-option-list-option-item-sublist boost-sd__g-hide'> {% for subTag in tag.subTags %} <li class='boost-sd__filter-option-item boost-sd__filter-option-list-option-item'> <button role='checkbox' aria-checked='{% if subTag.className contains "boost-sd__filter-option-item-button--selected" %}true{% else %}false{% endif %}' aria-label='Find product with {{ label | escape }} is {{ subTag.displayName | escape | strip_html }}. Number of products: {{ subTag.doc_count }}' id='{{ subTag.actionId }}' data-metadata='{{ subTag.metaData | json | escape }}' class='{{ subTag.className }}'> <span style='{{ styleOptionItem }}' data-metadata='{{ subTag.metaData | json | escape }}' class='boost-sd__filter-option-item-label'> {% if option.displayAllValuesInUppercaseForm %} {{ subTag.displayName | upcase }} {% else %} {{ subTag.displayName }} {% endif %} </span> {% if showProductCount %} <span data-metadata='{{ subTag.metaData | json | escape }}' role='text' aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ subTag.doc_count }})</span> {% endif %} </button> </li> {% endfor %} </ul> {% endif %} </li> {% endfor %} </ul> {% endif %}</li>{% endif %}`;
;template["filterOptionRatingItem"]=`<!-- This Template contains a few variables built from the client js side -->{% if request.previewMode == true %}<li class='boost-sd__filter-option-item boost-sd__filter-option-rating-item'><button role='checkbox' aria-checked='false' aria-label='{{ value.key }} Stars. Number of products: {{ value.doc_count }}' class='boost-sd__filter-option-item-button boost-sd__filter-option-item-button--as-button boost-sd__filter-option-item-button--with-checkbox'> <span role='presentation' class='boost-sd__filter-option-rating-item-presentation'> {% for i in (0..4) %} {% if i < value.from %} <i class='boost-sd__filter-option-rating-item-icon-star boost-sd__filter-option-rating-item-icon-star--active' style='color: {{ starColor }} ;'></i> {% else %} <i class='boost-sd__filter-option-rating-item-icon-star' style='color: {{ starColor }} ;'></i> {% endif %} {% endfor %} {% if showExactRating == false %} <span>& Up</span> {% endif %} </span> <span role='text' aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ value.doc_count }})</span></button></li>{% else %}<li data-value='{{ value.key }}' data-action='{{ dataAction }}' class='boost-sd__filter-option-item boost-sd__filter-option-rating-item'><button role='checkbox' aria-checked='{% if className contains "boost-sd__filter-option-item-button--selected" %}true{% else %}false{% endif %}' aria-label='{{ value.key }} Stars. Number of products: {{ value.doc_count }}' id='{{ actionId }}' data-action='{{ dataAction }}' class='{{ className }}'> <span data-action='{{ dataAction }}' role='presentation' class='boost-sd__filter-option-rating-item-presentation'> {% for i in (0..4) %} {% if i < value.from %} <i data-action='{{ dataAction }}' class='boost-sd__filter-option-rating-item-icon-star boost-sd__filter-option-rating-item-icon-star--active' style='color: {{ starColor }} ;'></i> {% else %} <i data-action='{{ dataAction }}' class='boost-sd__filter-option-rating-item-icon-star' style='color: {{ starColor }} ;'></i> {% endif %} {% endfor %} {% if showExactRating == false %} <span data-action='{{ dataAction }}'>& Up</span> {% endif %} </span> {% if showDocCount %} <span data-action='{{ dataAction }}' role='text' aria-hidden='true' class='boost-sd__filter-option-item-amount'>({{ value.doc_count }})</span> {% endif %} </button></li>{% endif %}`;
;template["productPrice"]=`<!-- This Template contains a few variables built from the client js side -->{% assign removePriceDecimal = false -%}{% assign decimalDelimiter = '' -%}{% assign withoutTrailingZeros = false -%}{% assign showCentAsSuperscript = false -%}{% assign moneyFormat = request.money_format | strip_html -%}{% assign showSavingDisplay = false -%}{% assign minPrice = product.price_min | times: 1.0 -%}{% assign maxPrice = 0 -%}{% if product.price_max -%}{% assign maxPrice = product.price_max | times: 1.0 -%}{% endif -%}<!-- convert variable compareAtPriceMin to number -->{% assign compareAtPriceMin = 0 -%}{% if product.compare_at_price_min -%}{% assign compareAtPriceMin = product.compare_at_price_min | times: 1.0 -%}{% endif -%}<!-- Check if enable variant showing as an individual product -->{% if product.variant_id != "" and product.variant_id != blank -%}{% assign currentVariantId = product.variant_id | times: 1 -%}{% for variant in product.variants -%}{% if variant.id == currentVariantId -%}{% assign minPrice = variant.price | times: 1.0 -%}{% assign maxPrice = variant.price | times: 1.0 -%}{% if variant.compare_at_price and variant.compare_at_price != "0.0" -%}{% assign compareAtPriceMin = variant.compare_at_price | times: 1.0 -%}{% endif -%}{% break -%}{% endif -%}{% endfor -%}{% endif -%}{% assign isSale = false -%}{% assign salePercent = 0 -%}{% assign saleAmount = 0 -%}{% if compareAtPriceMin > minPrice -%}{% assign isSale = true -%}{% endif -%}{% assign compareAtPriceWithFormat = '' -%}{% unless compareAtPriceMin == null or compareAtPriceMin == 0 or isSale == false -%}<!-- calculate salePercent base on compareAtPriceMin and minPrice -->{% assign compare = compareAtPriceMin | minus: minPrice | times: 100 -%}{% if compareAtPriceMin > 0 %}{% assign salePercent = compare | divided_by: compareAtPriceMin | ceil | append: '%' -%}{% else %}{% assign salePercent = '0%' %}{% endif %}<!-- compareAtPriceWithFormat is compare price with PriceMin and format currency -->{% assign compareAtPriceWithFormat = compareAtPriceMin | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%}{% assign saleAmount = compareAtPriceMin | minus: minPrice -%}{% endunless -%}<!-- Format price min -->{% assign priceMinWithFormat = minPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal , decimalDelimiter, withoutTrailingZeros -%}<!-- Format price max -->{% assign priceMaxWithFormat = '' -%}{% if product.price_max and maxPrice > minPrice -%}{% assign priceMaxWithFormat = maxPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal , decimalDelimiter, withoutTrailingZeros -%}{% endif -%}<!-- priceMax used for multi variant price display where it can have min-max price with format and translation -->{% assign hasMultiVariantPrice = false -%}{% if translations.productItem.amount contains "minPrice" -%}{% assign hasMultiVariantPrice = true -%}{% endif -%}{% assign isSamePrice = true -%}{% if minPrice != maxPrice or product.compare_at_price_min != product.compare_at_price_max -%}{% assign isSamePrice = false -%}{% endif -%}{% assign priceValueWithFormat = priceMinWithFormat -%}{% if isSamePrice == false and maxPrice > minPrice and hasMultiVariantPrice -%}{% assign priceValueWithFormat = "productItem.amount" | translate: translations, "" | replace: '{{minPrice}}', priceMinWithFormat | replace: '{{maxPrice}}', priceMaxWithFormat -%}{% endif -%}{% assign savingPriceWithFormat = '' -%}{% unless showSavingDisplay == false or saleAmount == 0 -%}{% assign saleAmountWithFormat = saleAmount | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%}{% assign savingPriceWithFormat = "productItem.savingAmount" | translate: translations, "Save {{saleAmount}}" | replace: '{{saleAmount}}', saleAmountWithFormat | replace: '{{salePercent}}', salePercent -%}{% endunless -%}<!-- Price compare display top or bottom --><!-- Price compare display left or right --><div class="boost-sd__product-price-wrapper"><span class="boost-sd__visually-hidden"> {% if isSale %} Regular price {{ compareAtPriceWithFormat }}, now on sale for {{ priceValueWithFormat }}{% if savingPriceWithFormat != '' %}, saving {{ savingPriceWithFormat }}{% endif %} {% else %} Regular price {{ priceValueWithFormat }} {% endif %} </span><span aria-hidden="true" class="boost-sd__product-price-content boost-sd__product-price-content--text-align-left"> <span class="{% if isSale == true %}boost-sd__product-price--sale{% else %}boost-sd__product-price--default{% endif %}"> <span class="boost-sd__format-currency">{{ priceValueWithFormat }}</span> </span> {% if compareAtPriceWithFormat != '' -%} <span class="boost-sd__format-currency boost-sd__format-currency--price-compare boost-sd__product-price--compare"> <span class="boost-sd__format-currency">{{ compareAtPriceWithFormat }}</span> </span> {% endif -%} </span> {% if savingPriceWithFormat != '' -%} <span aria-hidden="true" class="boost-sd__product-price--saving"> <span class="boost-sd__format-currency">{{ savingPriceWithFormat }}</span></span> {% endif -%}</div>`;
;template["recommendation"]=`<!-- TEMPLATE RECOMMENDATION -->{% assign widgetNameTranslationLabel = 'recommendation.' | append: widgetId %}{% assign widgetTitle = '' %}{% if widgetDesignSettings.titleAlignment != '' %} {% assign widgetTitle = widgetTitle | append: 'boost-sd__recommendation-title--' | append: widgetDesignSettings.titleAlignment %}{% endif %}<div id='{{ widgetId }}' class='boost-sd__recommendation ' data-product-price='true'><div class='boost-sd__recommendation-title {{ widgetTitle }}'> <span tabindex="0" role="heading" aria-level="2" class='boost-sd__recommendation-title-text'> {{ widgetNameTranslationLabel | translate: translations, widgetName }} </span></div> {% if widgetDesignSettings.layoutDisplay == 'carousel' %} <!-- TEMPLATE RECOMMENDATION TYPE CAROUSEL --><div class="boost-sd__slider"><div class="boost-sd__slider-container"> {% for product in products %} <div class="boost-sd__slide"> {% capture domain %}{{ widgetDesignSettings.tenantId }}{% endcapture %} <!-- TEMPLATE GRID PRODUCT ITEM -->{% if product.original_images != nil %} {% assign imageArray = product.original_images %}{% else %} {% assign imageArray = product.images_info %}{% endif %}{% assign productId = product.id %}{% if product.variant_id %} {% assign productId = product.variant_id %}{% endif %}{% assign filterOptionIdImageBaseOn = 'pf_opt_color' %} {% capture filterOptionIdImageBaseOn %}{% endcapture %}{% assign optionName = filterOptionIdImageBaseOn | replace: 'pf_opt_', '' %}{% assign filterValues = request[filterOptionIdImageBaseOn] %}{% assign selectedVariantImageByFilterOption = nil %}{% for item in product.variants %} {% for filterValue in filterValues %} {% assign optionNameValue = optionName | append: ":" | append: filterValue | strip %} {% if item.merged_options contains optionNameValue %} {% if item.image %} {% assign selectedVariantImageByFilterOption = item.image %} {% break %} {% endif %} {% endif %} {% endfor %} {% if selectedVariantImageByFilterOption != nil %} {% break %} {% endif %}{% endfor %}{% capture productVariants %} [ {% for variant in product.variants %} {% assign preorder = '{}' %} {% if variant.preorder and variant.preorder != nil %} {% assign preorder = variant.preorder %} {% else %} {% assign preorder = '' %} {% endif %} { "title": "{{ variant.title }}", "id": "{{ variant.id }}", "available": {{ variant.available }}, "preorder": {{ preorder | json }} }{% unless forloop.last %},{% endunless %} {% endfor %} ]{% endcapture %}{% capture productData %} { "handle": "{{ product.handle }}", "variantId": "{{ product.variant_id }}", "splitProduct": "{{ product.split_product }}", "priceMin": "{{ product.price_min }}", "priceMax": "{{ product.price_max }}", "compareAtPriceMin": "{{ product.compare_at_price_min }}", "compareAtPriceMax": "{{ product.compare_at_price_max }}", "images": {{ imageArray | json | escape }}, "options_with_values": {{ product.options_with_values | json | escape }}, "selectedVariantImageByFilterOption": "{{ selectedVariantImageByFilterOption | escape }}", "category": "{{ product.product_type | escape }}", "tags" : {{ product.tags | json | escape }} }{% endcapture %}{%- capture borderLayoutSetting %}noBorder{% endcapture -%}{% if borderLayoutSetting == 'noPadding' %} {% assign borderLayoutItem = 'no-padding' %}{% elsif borderLayoutSetting == 'hasPadding' %} {% assign borderLayoutItem = 'border-has-padding' %}{% elsif borderLayoutSetting == 'noPaddingImage' %} {% assign borderLayoutItem = 'border-no-padding-image' %}{% else %} {% assign borderLayoutItem = 'no-border' %}{% endif %}{% assign productLocale = '' %}{% if request.current_locale != "" or request.current_locale != null or request.current_locale != nil %} {% assign productLocale = request.current_locale %}{% endif %}{% assign variantUrl = '' %}{% if product.variant_id %} {% assign variantUrl = '?variant=' | append: product.variant_id %}{% endif %}<div class='boost-sd__product-item boost-sd__product-item--{{ borderLayoutItem }} boost-sd__product-item-grid-view-layout' id='{{ product.id }}' data-product-id='{{ productId }}' data-product='{{ productData | json_encode }}'><!-- TEMPLATE GRID PRODUCT ITEM - PRODUCT IMAGE -->{%- capture aspectRatioSetting %}auto{% endcapture -%}{% capture hoverEffect %}none{% endcapture %}{% assign productImages = product.images_info %}{% if product.split_product %} {% assign productImages = product.original_images %}{% endif %}{% capture 'hzn_product_badges' %} {%- assign badge = false -%} {%- for tag in product.tags -%} {%- if tag contains 'badge-' -%} {%- if badge != true -%} <div class="hzn-badge"> <div class="hzn-badge__circle"> <span>{{ tag | remove_first: 'badge-' }}</span> </div> </div> {%- assign badge = true -%} {%- endif -%} {%- elsif tag contains 'code-' -%} {% assign badge_code_tag = tag | remove_first: 'code-' %} <div class="hzn-ribbon code"> <div class="hzn-ribbon__text"> <span>{{ badge_code_tag }}</span> </div> </div> {%- break -%} {%- elsif tag contains 'flag-' -%} {% assign hzn_flag = tag | remove_first: 'flag-' %} {%- endif -%} {%- endfor -%} {% if hzn_flag != blank and badge_code_tag == blank %} <div class="hzn-ribbon flag"> <div class="hzn-ribbon__text"> <span>{{ hzn_flag }}</span> </div> </div> {% endif %}{% endcapture %}<div class="boost-sd__product-item-grid-view-layout-image"><div class="boost-sd__product-link-image"> <div style="position: relative"> {{ hzn_product_badges }} {% assign effectClasses = '' %} {% if hoverEffect == 'reveal-second-image-and-zoom-in' %} {% assign effectClasses = effectClasses | append: 'boost-sd__product-image-wrapper--zoom-in' %} {% if productImages.size > 1 %} {% assign effectClasses = effectClasses | append: ' boost-sd__product-image-wrapper--has-second-image' %} {% endif %} {% endif %} {% if hoverEffect == 'reveal-second-image' and productImages.size > 1 %} {% assign effectClasses = effectClasses | append: 'boost-sd__product-image-wrapper--has-second-image' %} {% endif %} {% if hoverEffect == 'zoom-in' %} {% assign effectClasses = effectClasses | append: 'boost-sd__product-image-wrapper--zoom-in' %} {% endif %} {% assign aspectRatio = '' -%} {% if aspectRatioSetting == 'natural' -%} {% assign imageWidth = product.images_info[0].width -%} {% assign imageHeight = product.images_info[0].height -%} {% assign aspectRatio = aspectRatio | append: 'aspect-ratio: ' | append: imageWidth | append: '/' | append: imageHeight -%} {% endif -%} <div class="boost-sd__product-image-wrapper {{ effectClasses }} boost-sd__product-image-wrapper--auto" style="{{ aspectRatio }}"> <a aria-label="{{ product.title | escape }}" class="boost-sd__product-link boost-sd__product-image" {%- if request.previewMode != true %} href="{{ productLocale }}/products/{{ product.handle }}{{ variantUrl }}"{% endif -%}> {% assign firstImageSrc = '' -%} {% if selectedVariantImageByFilterOption != nil -%} {% assign firstImageSrc = selectedVariantImageByFilterOption -%} {% else -%} {% assign firstImageSrc = product.images_info[0].src -%} {% endif -%} {% assign widthParam = "&width=" -%} {% assign widths = "200,300,400,500,700,800" | split: "," -%} {% if request.device contains 'mobile' -%} {% assign maxWidth = 400 -%} {% else -%} {% assign maxWidth = 700 -%} {% endif -%} {% if request.productImageWidth != blank -%} {% assign imageWidth = request.productImageWidth | plus: 0 -%} {% if imageWidth > maxWidth -%} {% assign maxWidth = imageWidth -%} {% endif -%} {% endif -%} {% if product.images_info[0] -%} {% capture srcset -%} {% for width in widths -%} {% assign widthNo = width | plus: 0 %} {% if widthNo < maxWidth -%} {{ firstImageSrc }}{{ widthParam }}{{ width }} {{ width }}w, {% else -%} {{ firstImageSrc }}{{ widthParam }}{{ maxWidth }} {{ maxWidth }}w {% break -%} {% endif -%} {% endfor -%} {% endcapture -%} {% assign productPerRow = 4 -%} {% if request.productPerRow != blank -%} {% assign productPerRow = request.productPerRow | plus: 0 -%} {% endif -%} <img id="product-image-{{ product.id }}" class="boost-sd__product-image-img boost-sd__product-image-img--main" {% if index and index < productPerRow -%} loading="eager" {% else -%} loading="lazy" {% endif -%} decoding="async" alt="{{ product.title | escape }}" src="{{ firstImageSrc }}&width=200" srcset="{{ srcset }}" width="auto" height="auto" /> {% if productImages.size > 1 and hoverEffect == 'reveal-second-image-and-zoom-in' or hoverEffect == 'reveal-second-image' %} {% for image in productImages %} {% if image.src contains product.images_info[0].src %} {% assign secondImage = productImages[image.position] %} {% endif %} {% endfor %} {% if secondImage -%} {% assign secondImageSrc = secondImage.src -%} {% capture secondImageSrcset -%} {% for width in widths -%} {% assign widthNo = width | plus: 0 -%} {% if widthNo < maxWidth -%} {{ secondImageSrc }}{{ widthParam }}{{ width }} {{ width }}w, {% else -%} {{ secondImageSrc }}{{ widthParam }}{{ maxWidth }} {{ maxWidth }}w {% break -%} {% endif -%} {% endfor -%} {% endcapture -%} <img width="auto" height="auto" {% if index and index < productPerRow -%} loading="eager" {% else -%} loading="lazy" {% endif -%} class="boost-sd__product-image-img boost-sd__product-image-img--second" alt="{{ product.title | escape }}" aria-hidden="true" src="{{ secondImage.src }}&width=200" srcset="{{ secondImageSrcset }}"> {% endif -%} {% endif %} {% else -%} <img id="product-image-{{ product.id }}" class="boost-sd__product-image-img boost-sd__product-image-img--main" alt="{{ product.title | escape }}" src="https://cdn.shopify.com/extensions/201f4d7b-8d39-43a4-82de-e6f412341695/0.0.0/assets/boost-pfs-no-image.jpg?v=1677838268" width="auto" height="auto" /> {% endif -%} </a> <div class="boost-sd__product-image-row boost-sd__product-image-row--top "> <div class="boost-sd__product-image-column boost-sd__product-image-column--in-top boost-sd__product-image-column--left"> {% assign hideOtherLabelsWhenSoldOut = true -%}{% assign moneyFormat = request.money_format | strip_html -%}{% assign removePriceDecimal = false -%}{% assign showCentAsSuperscript = false -%}{% assign decimalDelimiter = '' -%}{% assign withoutTrailingZeros = true -%}{% if hideOtherLabelsWhenSoldOut != true -%} {% else -%} {% if product.available == false -%} {% else -%} {% endif -%}{% endif -%} </div> </div> </div> <!-- POPUP --> <!-- POPUP --> </div></div></div><!-- TEMPLATE GRID PRODUCT ITEM - PRODUCT INFO --><div class="boost-sd__product-info-wrapper"><div class="boost-sd__product-info boost-sd__product-info--left"> <a aria-label="{{ product.title | escape }}" class="boost-sd__product-link" {% if request.previewMode != true %} href="{{ productLocale }}/products/{{ product.handle }}{{ variantUrl }}"{% endif %}> <div class="boost-sd__product-title" id="product-title-{{ product.id }}"> {% comment %}{{ product.title | escape }}{% endcomment %} {%- assign title = product.title | split: '-' -%} {{ title | first }} {%- if title[1] != blank -%}<span>{{ title[1] }}</span>{%- endif -%} </div> </a> <div class="boost-sd__product-price" id="product-price-{{ product.id }}"> <!-- This Template contains a few variables built from the client js side -->{% assign removePriceDecimal = false -%}{% assign decimalDelimiter = '' -%}{% assign withoutTrailingZeros = false -%}{% assign showCentAsSuperscript = false -%}{% assign moneyFormat = request.money_format | strip_html -%}{% assign showSavingDisplay = false -%}{% assign minPrice = product.price_min | times: 1.0 -%}{% assign maxPrice = 0 -%}{% if product.price_max -%} {% assign maxPrice = product.price_max | times: 1.0 -%}{% endif -%}<!-- convert variable compareAtPriceMin to number -->{% assign compareAtPriceMin = 0 -%}{% if product.compare_at_price_min -%} {% assign compareAtPriceMin = product.compare_at_price_min | times: 1.0 -%}{% endif -%}<!-- Check if enable variant showing as an individual product -->{% if product.variant_id != "" and product.variant_id != blank -%} {% assign currentVariantId = product.variant_id | times: 1 -%} {% for variant in product.variants -%} {% if variant.id == currentVariantId -%} {% assign minPrice = variant.price | times: 1.0 -%} {% assign maxPrice = variant.price | times: 1.0 -%} {% if variant.compare_at_price and variant.compare_at_price != "0.0" -%} {% assign compareAtPriceMin = variant.compare_at_price | times: 1.0 -%} {% endif -%} {% break -%} {% endif -%} {% endfor -%}{% endif -%}{% assign isSale = false -%}{% assign salePercent = 0 -%}{% assign saleAmount = 0 -%}{% if compareAtPriceMin > minPrice -%} {% assign isSale = true -%}{% endif -%}{% assign compareAtPriceWithFormat = '' -%}{% unless compareAtPriceMin == null or compareAtPriceMin == 0 or isSale == false -%} <!-- calculate salePercent base on compareAtPriceMin and minPrice --> {% assign compare = compareAtPriceMin | minus: minPrice | times: 100 -%} {% if compareAtPriceMin > 0 %} {% assign salePercent = compare | divided_by: compareAtPriceMin | ceil | append: '%' -%} {% else %} {% assign salePercent = '0%' %} {% endif %} <!-- compareAtPriceWithFormat is compare price with PriceMin and format currency --> {% assign compareAtPriceWithFormat = compareAtPriceMin | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%} {% assign saleAmount = compareAtPriceMin | minus: minPrice -%}{% endunless -%}<!-- Format price min -->{% assign priceMinWithFormat = minPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal , decimalDelimiter, withoutTrailingZeros -%}<!-- Format price max -->{% assign priceMaxWithFormat = '' -%}{% if product.price_max and maxPrice > minPrice -%} {% assign priceMaxWithFormat = maxPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal , decimalDelimiter, withoutTrailingZeros -%}{% endif -%}<!-- priceMax used for multi variant price display where it can have min-max price with format and translation -->{% assign hasMultiVariantPrice = false -%}{% if translations.productItem.amount contains "minPrice" -%} {% assign hasMultiVariantPrice = true -%}{% endif -%}{% assign isSamePrice = true -%}{% if minPrice != maxPrice or product.compare_at_price_min != product.compare_at_price_max -%} {% assign isSamePrice = false -%}{% endif -%}{% assign priceValueWithFormat = priceMinWithFormat -%}{% if isSamePrice == false and maxPrice > minPrice and hasMultiVariantPrice -%} {% assign priceValueWithFormat = "productItem.amount" | translate: translations, "" | replace: '{{minPrice}}', priceMinWithFormat | replace: '{{maxPrice}}', priceMaxWithFormat -%}{% endif -%} {% assign savingPriceWithFormat = '' -%}{% unless showSavingDisplay == false or saleAmount == 0 -%} {% assign saleAmountWithFormat = saleAmount | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%} {% assign savingPriceWithFormat = "productItem.savingAmount" | translate: translations, "Save {{saleAmount}}" | replace: '{{saleAmount}}', saleAmountWithFormat | replace: '{{salePercent}}', salePercent -%}{% endunless -%}<!-- Price compare display top or bottom --><!-- Price compare display left or right --><div class="boost-sd__product-price-wrapper"> <span class="boost-sd__visually-hidden"> {% if isSale %} Regular price {{ compareAtPriceWithFormat }}, now on sale for {{ priceValueWithFormat }}{% if savingPriceWithFormat != '' %}, saving {{ savingPriceWithFormat }}{% endif %} {% else %} Regular price {{ priceValueWithFormat }} {% endif %} </span> <span aria-hidden="true" class="boost-sd__product-price-content boost-sd__product-price-content--row-reverse boost-sd__product-price-content--text-align-left" > <span class="{% if isSale == true %}boost-sd__product-price--sale{% else %}boost-sd__product-price--default{% endif %}" > <span class="boost-sd__format-currency">{{ priceValueWithFormat }}</span> </span> {% if compareAtPriceWithFormat != '' -%} <span class="boost-sd__format-currency boost-sd__format-currency--price-compare boost-sd__product-price--compare" > <span class="boost-sd__format-currency">{{ compareAtPriceWithFormat }}</span> </span> {% endif -%} </span> {% if savingPriceWithFormat != '' -%} <span aria-hidden="true" class="boost-sd__product-price--saving" > <span class="boost-sd__format-currency">{{ savingPriceWithFormat }}</span> </span> {% endif -%} </div> <div class="ruk_rating_snippet" data-sku="{{ product.handle }};{{ product.variants | map: 'sku' | join: ';' }};{{ product.variants | map: 'id' | join: ';' }}" data-no-redirect="true"> </div> </div> <!-- PRODUCT INVENTORY --> <!-- TEMPLATE PRODUCT SWATCH -->{% assign swatches = '' %} {% capture metaData %} { "action": { {% if product.variants.size == 1 %} "addToCart": { "productId": "{{ product.variants[0].id }}", {% assign sellingPlanId = '' %} {% if product.variants[0].preorder and product.variants[0].preorder.sellingPlan %} {% assign sellingPlanId = product.variants[0].preorder.sellingPlan.id %} {% else %} {% assign sellingPlanId = '' %} {% endif %} "selling_plan": {{ sellingPlanId | json | escape }} } {% else %} "quickView": { "productId": "{{ product.id }}", "fromSelectOptionBtn": true } {% endif %} } } {% endcapture %} {% assign variantPreorder = product.variants[0].preorder %} {% assign buttonPreorder = '' %} {% if variantPreorder %} {% assign buttonPreorder = buttonPreorder | append : ' boost-sd__button--preorder' %} {% endif %} {% assign buttonTextPreorder = '' %} {% if variantPreorder %} {% assign buttonTextPreorder = buttonTextPreorder | append : ' boost-sd__button-text--preorder' %} {% endif %} {% assign preOrderLabel = 'Pre-Order' %} {% assign preOrderButtonText = product.variants[0].preorder.settings.buttonText %} {% if preOrderButtonText and preOrderButtonText != '' %} {% assign preOrderLabel = preOrderButtonText %} {% endif %} {% assign selectOptionBtnLabel = '' %} {% if product.available == false %} {% assign selectOptionBtnLabel = "productItem.soldoutLabel" | translate: translations, 'Sold out' %} {% elsif product.variants.size == 1 %} {% assign selectOptionBtnLabel = "productItem.atcAvailableLabel" | translate: translations, 'Add to cart' %} <!-- TODO check preorder --> {% if variantPreorder %} {% assign selectOptionBtnLabel = preOrderLabel %} {% endif %} {% else %} {% assign selectOptionBtnLabel = "productItem.atcSelectOptionsLabel" | translate: translations, 'Choose options' %} {% endif %} <button aria-label='{{ selectOptionBtnLabel }}' class='boost-sd__button boost-sd__button--select-option boost-sd__button--border boost-sd__button--round boost-sd__button--left boost-sd__button--full-width{{ buttonPreorder }}' type='button' {% if product.available == false %} disabled {% endif %} data-metadata='{{ metaData | json_encode }}' > <span class='boost-sd__button-text boost-sd__cta-button-text {{ buttonTextPreorder }}'>{{ selectOptionBtnLabel }}</span> </button> </div></div></div> </div> {% endfor %} {% assign numberOfProductPerRow = widgetDesignSettings.numberOfProductPerRow %} {% assign numberOfRecommendProduct = widgetDesignSettings.numberOfRecommendProduct %} {% if numberOfRecommendProduct < numberOfProductPerRow %} {% assign sliderPages = 1 %} {% assign disable = "disabled" %} {% else %} {% assign sliderPages = numberOfRecommendProduct | divided_by: numberOfProductPerRow | ceil %} {% assign disable = "" %} {% endif %} </div><div class="boost-sd__prev-button boost-sd__prev-button--inside"> <button type="button" aria-label="Previous" class="boost-sd__button boost-sd__button--circle boost-sd__slider-button" {{ disable }}> <span class="boost-sd__icon"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 7" height="7" width="10" class="boost-sd__prev-button-icon"> <path stroke-linejoin="round" stroke-linecap="round" stroke="#212121" d="M0.764024 5.51189L5.00002 1.28789L9.23602 5.51189"></path> </svg> </span> </button></div><div class="boost-sd__next-button boost-sd__next-button--inside"> <button type="button" aria-label="Next" class="boost-sd__button boost-sd__button--circle boost-sd__slider-button" {{ disable }}> <span class="boost-sd__icon" style="margin: 0px;"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 10 7" height="7" width="10" class="boost-sd__next-button-icon"> <path stroke-linejoin="round" stroke-linecap="round" stroke="#212121" d="M0.764024 5.51189L5.00002 1.28789L9.23602 5.51189"></path> </svg> </span> </button></div></div> {% else %} <!-- TEMPLATE RECOMMENDATION TYPE BUNDLE -->{% assign bundleStyle = widgetDesignSettings.bundleStyle %}<div class="boost-sd__recommendation-bundle boost-sd__recommendation-bundle--{{ bundleStyle }}"><div class="boost-sd__recommendation-bundle-left"> <div class="boost-sd__recommendation-bundle-images boost-sd__recommendation-bundle-images--{{ bundleStyle }}"> {% for product in products %} <div class="boost-sd__recommendation-bundle-image-item"> {% if product.checked %} <a aria-label="View product details for {{ product.title | escape }}" class="boost-sd__product-link boost-sd__product-link-image" href="/products/{{ product.handle }}"> {% endif %} <div class="boost-sd__product-image-wrapper boost-sd__product-image-wrapper--full-box"> <div class="boost-sd__product-image {% unless product.checked %} boost-sd__product-image--blur {% endunless %}"> {% if product.images_info[0] %} <img id="product-image-{{ product.id }}" class="boost-sd__product-image-img boost-sd__product-image-img--main" src="{{ product.images_info[0].src }}" alt="{{ product.title | escape }}" width="auto" height="auto" /> {% else %} <img id="product-image-{{ product.id }}" class="boost-sd__product-image-img boost-sd__product-image-img--main" src="https://cdn.shopify.com/extensions/201f4d7b-8d39-43a4-82de-e6f412341695/0.0.0/assets/boost-pfs-no-image.jpg?v=1677838268" alt="{{ product.title | escape }}" width="auto" height="auto" /> {% endif %} </div> </div> {% if product.checked %} </a> {% endif %} {% if bundleStyle == 'style2' %} <div class="boost-sd__recommendation-bundle-item-info boost-sd__recommendation-bundle-item-info--{{ bundleStyle }}"> <div class="boost-sd__recommendation-bundle-item-info-content {% unless product.checked %} boost-sd__recommendation-bundle-item-info-content--blur {% endunless %}"> <div class="boost-sd__recommendation-bundle-item-title"> {% if forloop.index0 == 0 %} <span role="text" tabindex="0"> <b>This item:</b> {{ product.title | escape }} </span> {% elsif product.checked %} <a class="boost-sd__product-link" href="/products/{{ product.handle }}"> {{ product.title | escape }} </a> {% else %} <span role="text" tabindex="0">{{ product.title | escape }}</span> {% endif %} </div> {%- if product.selectedOption.title != 'Default Title' -%} <div class="boost-sd__recommendation-bundle-dropdown-wrapper boost-sd__recommendation-bundle-dropdown-wrapper--{{ bundleStyle }}"> <div {% if product.checked %} tabindex="0" {% endif %} role="combobox" aria-label="Select an option" aria-expanded="false" aria-haspopup="true" data-id="boost-sd__dropdown-{{ widgetId }}" data-product-id="{{ product.id }}" id="boost-sd__dropdown-{{ widgetId }}" class="boost-sd__dropdown {% unless product.checked %} boost-sd__dropdown--disabled {% endunless %}"> <div class="boost-sd__dropdown-selected-option"> <span aria-label="Current option: {{ product.selectedOption.title | escape }}" class="boost-sd__dropdown-option-text">{{ product.selectedOption.title | escape }}</span> <svg width="8" height="12" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.09832 3.98009e-07L0.901685 -1.43717e-07C0.15069 -2.09371e-07 -0.269991 0.75351 0.193991 1.2676L3.29231 4.70055C3.65265 5.09982 4.34735 5.09982 4.70769 4.70055L7.80601 1.2676C8.26999 0.753511 7.84931 4.63664e-07 7.09832 3.98009e-07Z" fill="#5C5F62"></path> </svg> </div> <ul role="listbox" data-id="boost-sd__dropdown-list-{{ widgetId }}" id="boost-sd__dropdown-list-{{ widgetId }}" class="boost-sd__dropdown-option-list"> {% for variant in product.variants %} <li role="option" aria-selected="{{ variant.title == product.selectedOption.title }}" data-id="boost-sd__dropdown-option-{{ widgetId }}" data-variant-id="{{ variant.id }}" id="boost-sd__dropdown-option-{{ widgetId }}" class="boost-sd__dropdown-option {% if variant.title == product.selectedOption.title %}boost-sd__dropdown-option--selected{% endif %}"> {{ variant.title | escape }} </li> {% endfor %} </ul> </div> </div> {% endif %} <div class="boost-sd__recommendation-bundle-checkbox"> <button type="button" aria-checked="{% if product.checked %} true {% else %} false {% endif %}" aria-label="{% if product.checked %} Click to remove from bundle {% else %} Click to add to bundle {% endif %}" class="boost-sd__recommendation-bundle-checkbox-box {% if product.checked %} boost-sd__recommendation-bundle-checkbox-box--checked {% endif %}" data-id="boost-sd__checkbox-{{ widgetId }}" id="boost-sd__checkbox-{{ widgetId }}-{{ product.id }}" ></button> </div> <span role="text" tabindex="0" aria-label="Price: {{ product.selectedOption.price }}" class="boost-sd__format-currency"> <span>{{ product.selectedOption.price }}</span> </span> </div> </div> {% endif %} </div> {% unless forloop.last %} <div class="boost-sd__recommendation-bundle-plus-icon-wrapper boost-sd__recommendation-bundle-plus-icon-wrapper--{{ bundleStyle }}"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M15 7H9V1C9 0.448 8.553 0 8 0C7.447 0 7 0.448 7 1V7H1C0.447 7 0 7.448 0 8C0 8.552 0.447 9 1 9H7V15C7 15.552 7.447 16 8 16C8.553 16 9 15.552 9 15V9H15C15.553 9 16 8.552 16 8C16 7.448 15.553 7 15 7Z" fill="#5C5F62"></path> </svg> </div> {% endunless %} {% endfor %} </div> {% if bundleStyle == 'style1' %} {% for product in products %} <div class="boost-sd__recommendation-bundle-item-info boost-sd__recommendation-bundle-item-info--{{ bundleStyle }}"> <div class="boost-sd__recommendation-bundle-item-info-content {% unless product.checked %} boost-sd__recommendation-bundle-item-info-content--blur {% endunless %}"> <div class="boost-sd__recommendation-bundle-item-title"> <div class="boost-sd__recommendation-bundle-checkbox"> <button type="button" aria-checked="{% if product.checked %} true {% else %} false {% endif %}" aria-label="{% if product.checked %} Click to remove from bundle {% else %} Click to add to bundle {% endif %}" class="boost-sd__recommendation-bundle-checkbox-box {% if product.checked %} boost-sd__recommendation-bundle-checkbox-box--checked {% endif %}" data-id="boost-sd__checkbox-{{ widgetId }}" id="boost-sd__checkbox-{{ widgetId }}-{{ product.id }}" ></button> </div> {% if forloop.index0 == 0 %} <span role="text" tabindex="0"> <b>This item:</b> {{ product.title | escape }} </span> {% elsif product.checked %} <a class="boost-sd__product-link" href="/products/{{ product.handle }}"> {{ product.title | escape }} </a> {% else %} <span role="text" tabindex="0">{{ product.title | escape }}</span> {% endif %} </div> {%- if product.selectedOption.title != 'Default Title' -%} <div class="boost-sd__recommendation-bundle-dropdown-wrapper boost-sd__recommendation-bundle-dropdown-wrapper--{{ bundleStyle }}"> <div {% if product.checked %} tabindex="0" {% endif %} role="combobox" aria-label="Select an option" aria-expanded="false" aria-haspopup="true" data-id="boost-sd__dropdown-{{ widgetId }}" data-product-id="{{ product.id }}" id="boost-sd__dropdown-{{ widgetId }}" class="boost-sd__dropdown {% unless product.checked %} boost-sd__dropdown--disabled {% endunless %}"> <div class="boost-sd__dropdown-selected-option"> <span aria-label="Current option: {{ product.selectedOption.title | escape }}" class="boost-sd__dropdown-option-text">{{ product.selectedOption.title | escape }}</span> <svg width="8" height="12" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.09832 3.98009e-07L0.901685 -1.43717e-07C0.15069 -2.09371e-07 -0.269991 0.75351 0.193991 1.2676L3.29231 4.70055C3.65265 5.09982 4.34735 5.09982 4.70769 4.70055L7.80601 1.2676C8.26999 0.753511 7.84931 4.63664e-07 7.09832 3.98009e-07Z" fill="#5C5F62"></path> </svg> </div> <ul role="listbox" data-id="boost-sd__dropdown-list-{{ widgetId }}" id="boost-sd__dropdown-list-{{ widgetId }}" class="boost-sd__dropdown-option-list"> {% for variant in product.variants %} <li role="option" aria-selected="{{ variant.title == product.selectedOption.title }}" data-id="boost-sd__dropdown-option-{{ widgetId }}" data-variant-id="{{ variant.id }}" id="boost-sd__dropdown-option-{{ widgetId }}" class="boost-sd__dropdown-option {% if variant.title == product.selectedOption.title %}boost-sd__dropdown-option--selected{% endif %}"> {{ variant.title | escape }} </li> {% endfor %} </ul> </div> </div> {% endif %} <span role="text" tabindex="0" aria-label="Price: {{ product.selectedOption.price }}" class="boost-sd__format-currency"> <span>{{ product.selectedOption.price }}</span> </span> </div> </div> {% endfor %} {% endif %} </div><div class="boost-sd__recommendation-bundle-right"> {% if hasSelectedProduct == true %} <div role="text" tabindex="0" class="boost-sd__recommendation-bundle-total-price"> Total price: <b class="boost-sd__recommendation-bundle-price-text"> <span class="boost-sd__format-currency">{{ totalPrice }}</span> </b> </div> {% endif %} <button type="button" {% if hasSelectedProduct == false %}disabled{% endif %} class="boost-sd__button boost-sd__button--primary boost-sd__button--large boost-sd__button--round boost-sd__button--full-width boost-sd__btn-add-to-cart"> <span>Add to Cart</span> </button></div></div> {% endif %}</div><style> #{{ widgetId }} .boost-sd__recommendation-title { color: {{ widgetDesignSettings.titleTextColor }}; font-family: {{ widgetDesignSettings.titleFont }}; font-size: {{ widgetDesignSettings.titleFontSize }}px; text-transform: {{ widgetDesignSettings.titleTextTransform }}; font-weight: {{ widgetDesignSettings.titleFontWeight }}; font-style: {{ widgetDesignSettings.titleFontStyle }}; }</style>`;
;template["searchTabCollectionsContent"]=`<div role="tabpanel" class="boost-sd__search-result-panel-content"> {% assign currentLocale = '' %} {% if currentLocale != "" %} {% assign currentLocale = currentLocale %} {% endif %} {% for collection in collections %} <a tabindex="0" href="{{ currentLocale }}/collections/{{ collection.handle }}" class="boost-sd__search-result-panel-content-item"> <div class="boost-sd__search-result-panel-content-item-text"> <p class="boost-sd__search-result-panel-content-item-title">{{ collection.title | escape }}</p> </div></a> {% endfor %} {% capture pageSize %} 25 {% endcapture %} {% assign pageSize = pageSize | plus: 0 %} {% if pageSize <= 0 %} {% assign pageSize = 1 %} {% endif %} {% if pageSize < totalCollection %} {% assign totalPage = totalCollection | divided_by: pageSize | ceil %} {% assign pagination = currentPage | pagination_list: totalPage | split: "," %} {% assign toProduct = currentPage | times: pageSize %} <div class="boost-sd__pagination boost-sd__pagination--"> {% if currentPage != 1 %} <button type="button" aria-label="previous page" class="boost-sd__pagination-button boost-sd__pagination-button--rectangle boost-sd__pagination-button--previous" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit; text-transform: none; border-color: transparent; border-width: 1px; border-style: solid;"> <span class="boost-sd__pagination-button-icon boost-sd__pagination-button-icon--left"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 12" height="12" width="7"> <path d="M6.80474 0.528514C6.54439 0.268165 6.12228 0.268165 5.86193 0.528514L0.861929 5.52851C0.601579 5.78886 0.601579 6.21097 0.861929 6.47132L5.86193 11.4713C6.12228 11.7317 6.54439 11.7317 6.80474 11.4713C7.06509 11.211 7.06509 10.7889 6.80474 10.5285L2.27614 5.99992L6.80474 1.47132C7.06509 1.21097 7.06509 0.788864 6.80474 0.528514Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> </span> </button> {% endif %} {% for page_string in pagination %} {% assign page = page_string | plus: 0 %} {% if page == 0 %} <button class="boost-sd__pagination-number boost-sd__pagination-number--disabled boost-sd__pagination-number--">...</button> {% elsif page == request.page %} <button class="boost-sd__pagination-number boost-sd__pagination-number-- boost-sd__pagination-number--active" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit;" data-page="{{ page }}">{{ page }}</button> {% else %} <button class="boost-sd__pagination-number boost-sd__pagination-number--" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit;" data-page="{{ page }}">{{ page }}</button> {% endif %} {% endfor %} {% if currentPage != totalPage %} <button type="button" aria-label="next page" class="boost-sd__pagination-button boost-sd__pagination-button--rectangle boost-sd__pagination-button--next" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit; text-transform: none; border-color: transparent; border-width: 1px; border-style: solid;"> <span class="boost-sd__pagination-button-icon boost-sd__pagination-button-icon--right"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 12" height="12" width="7"> <path d="M0.195262 0.528514C0.455612 0.268165 0.877722 0.268165 1.13807 0.528514L6.13807 5.52851C6.39842 5.78886 6.39842 6.21097 6.13807 6.47132L1.13807 11.4713C0.877722 11.7317 0.455612 11.7317 0.195262 11.4713C-0.0650874 11.211 -0.0650874 10.7889 0.195262 10.5285L4.72386 5.99992L0.195262 1.47132C-0.0650874 1.21097 -0.0650874 0.788864 0.195262 0.528514Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> </span> </button> {% endif %} </div> {% endif %}</div>`;
;template["searchTabPagesContent"]=`<div role="tabpanel" class="boost-sd__search-result-panel-content"> {% for page in pages %} <a tabindex="0" href="{{ page.url }}" class="boost-sd__search-result-panel-content-item"> <div class="boost-sd__search-result-panel-content-item-text"> <p class="boost-sd__search-result-panel-content-item-title">{{ page.title | escape }}</p> </div></a> {% endfor %} {% capture pageSize %} 25 {% endcapture %} {% assign pageSize = pageSize | plus: 0 %} {% if pageSize <= 0 %} {% assign pageSize = 1 %} {% endif %} {% if pageSize < totalPageTab %} {% assign totalPage = totalPageTab | divided_by: pageSize | ceil %} {% assign pagination = currentPage | pagination_list: totalPage | split: "," %} {% assign toProduct = currentPage | times: pageSize %} <div class="boost-sd__pagination boost-sd__pagination--"> {% if currentPage != 1 %} <button type="button" aria-label="previous page" class="boost-sd__pagination-button boost-sd__pagination-button--rectangle boost-sd__pagination-button--previous" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit; text-transform: none; border-color: transparent; border-width: 1px; border-style: solid;"> <span class="boost-sd__pagination-button-icon boost-sd__pagination-button-icon--left"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 12" height="12" width="7"> <path d="M6.80474 0.528514C6.54439 0.268165 6.12228 0.268165 5.86193 0.528514L0.861929 5.52851C0.601579 5.78886 0.601579 6.21097 0.861929 6.47132L5.86193 11.4713C6.12228 11.7317 6.54439 11.7317 6.80474 11.4713C7.06509 11.211 7.06509 10.7889 6.80474 10.5285L2.27614 5.99992L6.80474 1.47132C7.06509 1.21097 7.06509 0.788864 6.80474 0.528514Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> </span> </button> {% endif %} {% for page_string in pagination %} {% assign page = page_string | plus: 0 %} {% if page == 0 %} <button class="boost-sd__pagination-number boost-sd__pagination-number--disabled boost-sd__pagination-number--">...</button> {% elsif page == request.page %} <button class="boost-sd__pagination-number boost-sd__pagination-number-- boost-sd__pagination-number--active" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit;" data-page="{{ page }}">{{ page }}</button> {% else %} <button class="boost-sd__pagination-number boost-sd__pagination-number--" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit;" data-page="{{ page }}">{{ page }}</button> {% endif %} {% endfor %} {% if currentPage != totalPage %} <button type="button" aria-label="next page" class="boost-sd__pagination-button boost-sd__pagination-button--rectangle boost-sd__pagination-button--next" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit; text-transform: none; border-color: transparent; border-width: 1px; border-style: solid;"> <span class="boost-sd__pagination-button-icon boost-sd__pagination-button-icon--right"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 12" height="12" width="7"> <path d="M0.195262 0.528514C0.455612 0.268165 0.877722 0.268165 1.13807 0.528514L6.13807 5.52851C6.39842 5.78886 6.39842 6.21097 6.13807 6.47132L1.13807 11.4713C0.877722 11.7317 0.455612 11.7317 0.195262 11.4713C-0.0650874 11.211 -0.0650874 10.7889 0.195262 10.5285L4.72386 5.99992L0.195262 1.47132C-0.0650874 1.21097 -0.0650874 0.788864 0.195262 0.528514Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> </span> </button> {% endif %} </div> {% endif %}</div>`;
;template["searchTabCollectionsContentPagination"]=`{% assign pagination = currentPage | pagination_list: totalPage | split: "," %}{% assign toProduct = currentPage | times: pageSize %}<div class="boost-sd__pagination boost-sd__pagination--"> {% if currentPage != 1 %} <button type="button" aria-label="previous page" class="boost-sd__pagination-button boost-sd__pagination-button--rectangle boost-sd__pagination-button--previous" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit; text-transform: none; border-color: transparent; border-width: 1px; border-style: solid;"> <span class="boost-sd__pagination-button-icon boost-sd__pagination-button-icon--left"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 12" height="12" width="7"> <path d="M6.80474 0.528514C6.54439 0.268165 6.12228 0.268165 5.86193 0.528514L0.861929 5.52851C0.601579 5.78886 0.601579 6.21097 0.861929 6.47132L5.86193 11.4713C6.12228 11.7317 6.54439 11.7317 6.80474 11.4713C7.06509 11.211 7.06509 10.7889 6.80474 10.5285L2.27614 5.99992L6.80474 1.47132C7.06509 1.21097 7.06509 0.788864 6.80474 0.528514Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> </span></button> {% endif %} {% for page_string in pagination %} {% assign page = page_string | plus: 0 %} {% if page == 0 %} <button class="boost-sd__pagination-number boost-sd__pagination-number--disabled boost-sd__pagination-number--">...</button> {% elsif page == request.page %} <button class="boost-sd__pagination-number boost-sd__pagination-number-- boost-sd__pagination-number--active" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit;" data-page="{{ page }}">{{ page }}</button> {% else %} <button class="boost-sd__pagination-number boost-sd__pagination-number--" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit;" data-page="{{ page }}">{{ page }}</button> {% endif %} {% endfor %} {% if currentPage != totalPage %} <button type="button" aria-label="next page" class="boost-sd__pagination-button boost-sd__pagination-button--rectangle boost-sd__pagination-button--next" style="color: rgb(122, 122, 122); background-color: rgba(0, 0, 0, 0); font-size: inherit; text-transform: none; border-color: transparent; border-width: 1px; border-style: solid;"> <span class="boost-sd__pagination-button-icon boost-sd__pagination-button-icon--right"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 7 12" height="12" width="7"> <path d="M0.195262 0.528514C0.455612 0.268165 0.877722 0.268165 1.13807 0.528514L6.13807 5.52851C6.39842 5.78886 6.39842 6.21097 6.13807 6.47132L1.13807 11.4713C0.877722 11.7317 0.455612 11.7317 0.195262 11.4713C-0.0650874 11.211 -0.0650874 10.7889 0.195262 10.5285L4.72386 5.99992L0.195262 1.47132C-0.0650874 1.21097 -0.0650874 0.788864 0.195262 0.528514Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> </span></button> {% endif %}</div>`;
;template["placeholderFilterTree"]=`<!-- TEMPLATE PLACEHOLDER --><!-- This is global variable filter settings layout --><div class='boost-sd-container'><div class='boost-sd-layout boost-sd-layout--has-filter-vertical'> <div class='boost-sd-left boost-filter-tree-column'> <!-- TEMPLATE FILTER TREE PLACEHOLDER --> <div id="boost-sd__filter-tree-wrapper" class="boost-sd__filter-tree-wrapper"> <div class="boost-sd__filter-tree-vertical "> <div class="boost-sd__filter-tree-vertical-placeholder"> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> <div class="boost-sd__filter-tree-vertical-placeholder-item"> <span class="boost-sd__placeholder-item" style="width:80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:65%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width:40%; border-radius: 0;"></span> </div> </div> </div> </div> </div> <div class='boost-sd-right boost-product-listing-column'> <!-- TEMPLATE TOOLBAR PLACEHOLDER--> <div class="boost-sd__toolbar-container"> <div class="boost-sd__toolbar-inner"> <div class="boost-sd__toolbar-content"> <div class="boost-sd__toolbar boost-sd__toolbar--3_1"> <span class="boost-sd__toolbar-item boost-sd__placeholder-item" style="height: 28px; border-radius: 0;"></span> <span class="boost-sd__toolbar-item boost-sd__placeholder-item" style="height: 28px; border-radius: 0; margin-bottom: 0"></span> <span class="boost-sd__toolbar-item boost-sd__placeholder-item" style="height: 28px; border-radius: 0; margin-bottom: 0"></span> </div> </div> </div> </div> <!-- TEMPLATE PRODUCT LIST PLACEHOLDER--> <div class="boost-sd__product-list-placeholder boost-sd__product-list-placeholder--3-col"> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> <div class="boost-sd__product-list-placeholder-item"> <span class="boost-sd__placeholder-item" style="width: 100%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 80%; border-radius: 0;"></span> <span class="boost-sd__placeholder-item" style="width: 40%; border-radius: 0;"></span> </div> </div> <div class="boost-sd__pagination boost-sd__pagination--"> <span class="boost-sd__placeholder-item" style="height: 40px; border-radius: 0;"></span> </div> </div></div></div><style> .boost-sd__collection-header { width: 100%; height: 130px; display: block; background: -webkit-gradient(linear, left top, right top, color-stop(8%, #eee), color-stop(18%, #e6e6e6), color-stop(33%, #eee)); background-color: #eee; animation: banner-place-holder-shimmer 2s linear infinite forwards; } .boost-sd__collection-header:empty { display: block; } .boost-sd__collection-header .boost-sd__placeholder-item { height: 130px; } @media only screen and (min-width: 992px) { .boost-sd__collection-header, .boost-sd__collection-header .boost-sd__placeholder-item { height: 150px; } } @keyframes banner-place-holder-shimmer { 0% { background-position: -1500px 0; } 100% { background-position: 1500px 0; } } .boost-sd__in-collection-search { margin-bottom: 20px; margin-top: 20px; width: 100%; max-width: 100%; display: flex; position: relative; } .boost-sd__in-collection-search--horizontal { margin: 20px auto 0; max-width: 592px; } @media only screen and (min-width: 992px) { .boost-sd__in-collection-search { margin-bottom: 16px; margin-top: 16px; } } .boost-sd__filter-tree-vertical { margin-top: 0; margin-right: 0; } .boost-sd__filter-tree-vertical-placeholder { background: transparent; width: 100%; max-width: 100%; display: none; } .boost-sd__filter-tree-vertical-placeholder-list { margin: 30px 10px 0; padding: 0; list-style: none; } .boost-sd__filter-tree-vertical-placeholder-item { max-width: 100%; padding: 20px 0; display: block; } .boost-sd__filter-tree-vertical-placeholder-item:first-child { padding-top: 0; } .boost-sd__filter-tree-vertical-placeholder-item:not(:last-child) { border-bottom: 1px solid #ebebeb; } .boost-sd__filter-tree-vertical-placeholder-item::before, .boost-sd__filter-tree-vertical-placeholder-item::after, { display: none; } .boost-sd__filter-tree-horizontal-placeholder { display: none; } @media only screen and (min-width: 992px) { .boost-sd__filter-tree-vertical { width: 272px; } .boost-sd-layout .boost-sd-left .boost-sd__filter-tree-wrapper .boost-sd__filter-tree-vertical { margin-right: 16px; margin-left: 0; } .boost-sd__filter-tree-vertical-placeholder, .boost-sd__filter-tree-horizontal-placeholder { display: inline-block; } .boost-sd-layout--has-filter-horizontal { flex-wrap: wrap; margin-top: 0; } .boost-sd-layout--has-filter-horizontal .boost-sd-left, .boost-sd-layout--has-filter-horizontal .boost-sd-right { flex: 0 0 100%; } .boost-sd__filter-tree-horizontal { width: 100%; } .boost-sd__filter-tree-horizontal-placeholder { padding: 16px 0; border-top: 1px solid #ebebeb; width: 100%; max-width: 100%; background: transparent; } .boost-sd__filter-tree-horizontal-placeholder-list { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid #e8e9eb; } .boost-sd__filter-tree-horizontal-placeholder-item { border: none; display: inline-block; margin-right: 35px; position: relative; } .boost-sd__filter-tree-horizontal-placeholder-button { width: auto; height: auto; display: inline-block; position: relative; padding: 5px 15px 5px 0; margin: 0; min-height: auto; min-width: 0; border-radius: 0; box-shadow: none; background: none; border: none; letter-spacing: normal; text-align: left; cursor: pointer; } .boost-sd__filter-tree-horizontal-placeholder-button .boost-sd__placeholder-item { width: 80px; height: 10px; display: inline-block; margin: 0 15px 0 0; } .boost-sd__filter-tree-horizontal-placeholder-icon { transform: rotate(-90deg); } } .boost-sd__in-collection-search { margin-bottom: 20px; margin-top: 20px; width: 100%; max-width: 100%; display: flex; position: relative; } .boost-sd__in-collection-search--horizontal { margin: 20px auto 0; max-width: 592px; } @media only screen and (min-width: 992px) { .boost-sd__in-collection-search { margin-bottom: 16px; margin-top: 16px; } } .boost-sd__toolbar-container { width: 100%; margin-bottom: 16px; } .boost-sd__toolbar-inner { max-width: 1216px; margin: 0 auto; } .boost-sd__toolbar-content { border-bottom: 1px solid #ebebeb; border-top: 1px solid #ebebeb; padding: 16px 0; } .boost-sd__toolbar { align-items: center; width: 100%; display: flex; flex-wrap: wrap; column-gap: 16px; justify-content: space-between; } .boost-sd__toolbar .boost-sd__placeholder-item { flex-basis: 45%; } .boost-sd__toolbar .boost-sd__placeholder-item:first-child { flex-basis: 100%; margin-bottom: 16px; } @media only screen and (min-width: 992px) { .boost-sd__toolbar-content { display: flex; align-items: center; border-bottom: none; padding: 16px 0 16px; border-top: 1px solid #ebebeb; border-bottom: 0; } .boost-sd__toolbar { flex-wrap: inherit; } .boost-sd__toolbar .boost-sd__placeholder-item { flex-basis: auto; } .boost-sd__toolbar .boost-sd__placeholder-item:first-child { flex-basis: auto; margin-bottom: 0; } .boost-sd__toolbar--3_1 .boost-sd__toolbar-item { flex: 1; } .boost-sd__toolbar--3_1 .boost-sd__toolbar-item:nth-child(2) { justify-content: center; } .boost-sd__toolbar--3_1 .boost-sd__toolbar-item:nth-child(3) { justify-content: end; } } .boost-sd__product-list-placeholder { gap: 16px; margin-bottom: 32px; flex-wrap: wrap; width: 100%; display: flex; } .boost-sd__product-list-placeholder--1-col .boost-sd__product-list-placeholder-item { width: 100%; } .boost-sd__product-list-placeholder--2-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--3-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--4-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--5-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--6-col .boost-sd__product-list-placeholder-item { width: calc(50% - 8px); } .boost-sd__product-list-placeholder .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 222px; } .boost-sd__placeholder-list-item { background: rgba(0, 0, 0, 0.07); min-width: 50px; height: 20px; animation: 2s infinite place-holder-animation; display: inline-block; } .boost-sd__product-list-placeholder--list-view .boost-sd__product-list-placeholder-item { flex-direction: row; display: flex; width: 100%; } .boost-sd__sd__placeholder-list-view-layout-info-group { width: 100%; padding-left: 16px; display: flex; flex-direction: column; align-items: baseline; gap: 16px; text-align: left; justify-content: center; } .boost-sd__placeholder-list-view-layout-image { flex: 160px; width: auto; max-width: 160px; height: 160px; } .boost-sd__pagination { padding-top: 10px; padding-bottom: 10px; justify-content: center; align-items: center; display: flex; } @media only screen and (min-width: 576px) { .boost-sd__product-list-placeholder { gap: 32px; margin-bottom: 64px; } .boost-sd__product-list-placeholder--3-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--4-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--5-col .boost-sd__product-list-placeholder-item, .boost-sd__product-list-placeholder--6-col .boost-sd__product-list-placeholder-item { width: calc(33.3333333333% - (32px - 32px / 3)); } } @media only screen and (min-width: 992px) { .boost-sd__product-list-placeholder .boost-sd__placeholder-item:not(:last-child) { margin-bottom: 8px; } .boost-sd__product-list-placeholder .boost-sd__placeholder-item:first-child { margin-bottom: 16px; } .boost-sd__product-list-placeholder--3-col .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 382px; } .boost-sd__product-list-placeholder--4-col .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 275px; } .boost-sd__product-list-placeholder--5-col .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 215px; } .boost-sd__product-list-placeholder--6-col .boost-sd__product-list-placeholder-item .boost-sd__placeholder-item:first-child { height: 175px; } .boost-sd__product-list-placeholder--3-col .boost-sd__product-list-placeholder-item { width: calc(33.3333333333% - (32px - 32px / 3)); } .boost-sd__product-list-placeholder--4-col .boost-sd__product-list-placeholder-item { width: calc(25% - (32px - 32px / 4)); } .boost-sd__product-list-placeholder--5-col .boost-sd__product-list-placeholder-item { width: calc(20% - (32px - 32px / 5)); } .boost-sd__product-list-placeholder--6-col .boost-sd__product-list-placeholder-item { width: calc(16.6666667% - (32px - 32px / 6)); } } .boost-sd-container * { box-sizing: border-box; } .boost-sd__placeholder-item { background: rgba(0, 0, 0, 0.07); border-radius: 50rem; min-width: 50px; max-width: 100%; height: 20px; animation: 2s infinite place-holder-animation; display: inline-block; } .boost-sd__placeholder-item:empty { display: block; } .boost-sd__placeholder-item:not(:last-child) { margin-bottom: 18px; } .boost-sd-layout { margin: 20px auto 0; } .boost-sd-left { position: relative; } .boost-sd-layout .boost-sd-right { width: 100%; margin-bottom: 20px; } @keyframes place-holder-animation { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 1; } } @media only screen and (min-width: 992px) { .boost-sd-layout { display: flex; max-width: 1216px; } .boost-sd-layout .boost-sd-right { flex: auto; max-width: 100%; } }</style>`;
;template["preOrder"]=`<!-- TEMPLATE PRE-ORDER APP BLOCK --><div class="boost-sd__product-form"><!-- Quantity Input --><div class="boost-sd__product-form-quantity"> <p id="quantity-title" class="boost-sd__product-form-quantity-title"> {{ "quickView.qvQuantity" | translate: translations, 'Quantity' }} </p> <div role="group" aria-labelledby="quantity-title" class="boost-sd__input-number boost-sd__input-number--md"> <div class="boost-sd__input-number-btn-wrapper"> <button type="button" aria-label="Decrease quantity" aria-controls="item-quantity" class="boost-sd__button boost-sd__button--full-width boost-sd__input-number-btn"> <span aria-hidden="true">-</span> </button> </div> <input id="item-quantity" type="number" aria-labelledby="quantity-title" aria-describedby="quantity-error" class="boost-sd__input-number-input" value="1" min="1" /> <div class="boost-sd__input-number-btn-wrapper"> <button type="button" aria-label="Increase quantity" aria-controls="item-quantity" class="boost-sd__button boost-sd__button--full-width boost-sd__input-number-btn"> <span aria-hidden="true">+</span> </button> </div> </div> <div aria-live="assertive" id="quantity-error" class="boost-sd__product-form-quantity-error"> {{ "quickView.qvQuantityError" | translate: translations, 'Please input quantity' }} </div></div><div class="boost-sd__preorder-options"> <!-- TEMPLATE PRE_ORDER WITH PAYMENT --> <!-- TODO check preorder --> {% if product.variants %} {% assign variants = product.variants %} {% else %} {% assign variants = variants %} {% endif %} {% for variant in variants %} {% if variant.preorder %} {% assign paymentType = variant.preorder.payment.type %} {% assign discountType = variant.preorder.payment.discountType %} {% assign discountValue = variant.preorder.payment.discountValue %} {% assign originalPrice = variant.price %} {% assign paymentLabel = '' %} {% if paymentType == 'full' %} {% assign paymentLabel = 'Full payment' %} {% endif %} {% if paymentType == 'partial' %} {% assign paymentLabel = 'Partial payment' %} {% endif %} {% if paymentType == 'none' %} {% assign paymentLabel = 'No payment' %} {% endif %} {% capture showCurrencyCodes %}false{% endcapture %} {% assign moneyFormat = request.money_format | strip_html -%} {% if showCurrencyCodes == 'true' %} {% assign moneyFormat = request.money_format_with_currency | strip_html -%} {% endif %} {% assign moneyRate = request.currency_rate | strip_html -%} {% if discountType == 'percentage' %} {% assign percentNum = originalPrice | times: discountValue | divided_by: 100 %} {% assign discountedPrice = originalPrice | times: 1.0 | minus: percentNum %} {% elsif discountType == 'amount' %} {% assign discountValue = discountValue | times: moneyRate %} {% assign discountedPrice = originalPrice | times: 1.0 | minus: discountValue %} {% else %} {% assign discountedPrice = originalPrice %} {% endif %} {% assign removePriceDecimal = false -%} {% assign showCentAsSuperscript = false -%} {% assign decimalDelimiter = '' -%} {% assign withoutTrailingZeros = true -%} {% assign originalPriceFormat = originalPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%} {% assign discountedPriceFormat = discountedPrice | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros -%} {% assign discountValueFormat = discountValue | format_currency: moneyFormat, showCentAsSuperscript, removePriceDecimal, decimalDelimiter, withoutTrailingZeros %} <div tabindex="0" role="region" aria-labelledby="preorder-title" aria-describedby="preorder-description" class="boost-sd__preorder" data-variant-id="{{ variant.id }}"> <div class="boost-sd__preorder-option"> <h2 id="preorder-title" class="boost-sd__preorder-title">{{ paymentLabel }}</h2> <div aria-live="polite" id="preorder-description" class="boost-sd__preorder-discount"> {% if discountType == 'percentage' %} <span class="boost-sd__preorder-save">Save {{ discountValue }}%</span> {% elsif discountType == 'amount' %} <span class="boost-sd__preorder-save">Save {{ discountValueFormat }}</span> {% endif %} <div class="boost-sd__preorder-price"> {% if discountType != 'none' %} <span aria-label="Original Price: {{ originalPriceFormat }}" class="boost-sd__preorder-original-price">{{ originalPriceFormat }}</span> {% endif %} <span aria-label="Discounted Price: {{ discountedPriceFormat }}" class="boost-sd__preorder-discounted-price">{{ discountedPriceFormat }}</span> </div> </div> </div> </div> {% endif %} {% endfor %} {% assign buttonLabel = 'Pre-Order' %} {% assign preOrderButtonText = variants[0].preorder.settings.buttonText %} {% assign preOrderDeliveryText = variants[0].preorder.settings.deliveryText %} {% if preOrderButtonText and preOrderButtonText != '' %} {% assign buttonLabel = preOrderButtonText %} {% endif %} <button type="button" aria-label='{{ buttonLabel }}' class="boost-sd__button boost-sd__button--border boost-sd__button--rectangle boost-sd__button--large boost-sd__button--preorder"> <span aria-hidden="true" class="boost-sd__button-text"> {{ buttonLabel }} </span> </button> <p tabindex="0" class="boost-sd__preorder-note"> <strong class="boost-sd__preorder-note-title">Please note: </strong><span class="boost-sd__preorder-note-text">{{ preOrderDeliveryText }}</span> </p></div><!-- TEMPLATE ADD TO CART --><div class="boost-sd__purchase-options"> <button type="button" class="boost-sd__button boost-sd__button--border boost-sd__button--rectangle boost-sd__button--large boost-sd__button--purchase"> <span class="boost-sd__button-text"> {{ "productItem.atcAvailableLabel" | translate: translations, 'Add to cart' }} </span> </button> <button type="button" class="boost-sd__button boost-sd__button--border boost-sd__button--rectangle boost-sd__button--large boost-sd__btn-buy-now"> <span class="boost-sd__button-text">{{ "quickView.buyItNowBtnLabel" | translate: translations, 'Buy it now' }}</span> </button></div></div>`;
;template["preOrderPlaceholder"]=`<!-- Placeholder for PreOrder --><div class="boost-sd__preorder-placeholder"><div class="boost-sd__preorder-placeholder-quantity-label"> <div class="boost-sd__placeholder-item" style="width: 65px; height: 20px;"></div></div><div class="boost-sd__preorder-placeholder-product-quantity"> <div class="boost-sd__placeholder-item" style="width: 160px; height: 38px;"></div></div><div class="boost-sd__preorder-placeholder-add-to-cart"> <div class="boost-sd__placeholder-item" style="width: 100%; height: 50px;"></div></div><div class="boost-sd__preorder-placeholder-buy-it-now"> <div class="boost-sd__placeholder-item" style="width: 100%; height: 50px;"></div></div></div>`;
;template["backInStock"]=`<!-- Popup Notify Me Form --><div role="dialog" aria-hidden="true" aria-labelledby="boost-sd__bis-popup-title" aria-describedby="boost-sd__bis-popup-description" id="boost-sd__bis-notify-popup" class="boost-sd__bis-notify-popup"><div class="boost-sd__bis-popup-backdrop"></div><div class="boost-sd__bis-popup-container"> <div class="boost-sd__bis-popup-heading"> <!-- Close Button --> <button aria-label="Close popup" id="boost-sd__bis-close-popup" class="boost-sd__bis-close-button"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label='{{ "close" | translate: translations, "Close" }}'> <path d="M9.41385 8L15.7069 1.707C15.8944 1.51949 15.9997 1.26518 15.9997 1C15.9997 0.734825 15.8944 0.48051 15.7069 0.293002C15.5193 0.105494 15.265 0.000152588 14.9998 0.000152588C14.7347 0.000152588 14.4804 0.105494 14.2928 0.293002L7.99985 6.586L1.70685 0.293002C1.614 0.200157 1.50378 0.126509 1.38247 0.0762618C1.26117 0.0260146 1.13115 0.000152588 0.999849 0.000152588C0.868547 0.000152588 0.738531 0.0260146 0.617224 0.0762618C0.495916 0.126509 0.385694 0.200157 0.292849 0.293002C0.105341 0.48051 0 0.734825 0 1C0 1.26518 0.105341 1.51949 0.292849 1.707L6.58585 8L0.292849 14.293C0.105341 14.4805 0 14.7348 0 15C0 15.2652 0.105341 15.5195 0.292849 15.707C0.480357 15.8945 0.734673 15.9999 0.999849 15.9999C1.26503 15.9999 1.51934 15.8945 1.70685 15.707L7.99985 9.414L14.2928 15.707C14.3855 15.8002 14.4957 15.8741 14.617 15.9246C14.7383 15.9751 14.8684 16.001 14.9998 16.001C15.1313 16.001 15.2614 15.9751 15.3827 15.9246C15.504 15.8741 15.6142 15.8002 15.7069 15.707C15.7998 15.6142 15.8735 15.504 15.9238 15.3827C15.9742 15.2614 16 15.1313 16 15C16 14.8687 15.9742 14.7386 15.9238 14.6173C15.8735 14.496 15.7998 14.3858 15.7069 14.293L9.41385 8Z" fill="#5C5F62" /> </svg> </button> <!-- Title --> <p id="boost-sd__bis-popup-title" class="boost-sd__bis-popup-title">Notify me</p> </div> <div class="boost-sd__bis-popup-content"> <!-- Description --> <p id="boost-sd__bis-popup-description" class="boost-sd__bis-popup-description"> Get a notification as soon as this product is back in stock by signing up below! </p> <!-- Variant Selector --> {% if filteredVariants.size > 0 and filteredVariants[0].title != 'Default Title' %} <label for="boost-sd__bis-dropdown-variant" class="boost-sd__bis-dropdown-label">Select variant</label> <div aria-label="Select an option" role="combobox" aria-expanded="false" aria-haspopup="listbox" aria-controls="boost-sd__bis-dropdown-list" aria-activedescendant="" data-id="boost-sd__bis-dropdown-variant" id="boost-sd__bis-dropdown-variant" class="boost-sd__bis-dropdown-variant"> <div role="button" aria-labelledby="boost-sd__bis-dropdown-selected-option" aria-label="Press to toggle dropdown" tabindex="0" id="boost-sd__bis-dropdown-selected-option" class="boost-sd__bis-dropdown-selected-option"> <span aria-label="Current option: {{ filteredVariants[0].title | escape }}" class="boost-sd__bis-dropdown-option-text" title="{{ filteredVariants[0].title | escape }}"> {{ filteredVariants[0].title | escape }} </span> <svg width="8" height="12" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.09832 3.98009e-07L0.901685 -1.43717e-07C0.15069 -2.09371e-07 -0.269991 0.75351 0.193991 1.2676L3.29231 4.70055C3.65265 5.09982 4.34735 5.09982 4.70769 4.70055L7.80601 1.2676C8.26999 0.753511 7.84931 4.63664e-07 7.09832 3.98009e-07Z" fill="#222222"></path> </svg> </div> <ul role="listbox" aria-labelledby="boost-sd__bis-dropdown-selected-option" data-id="boost-sd__bis-dropdown-list" tabindex="-1" id="boost-sd__bis-dropdown-list" class="boost-sd__bis-dropdown-option-list"> {% for variant in filteredVariants %} <li role="option" tabindex="-1" aria-selected="false" data-id="boost-sd__bis-dropdown-option-item-{{ forloop.index }}" id="boost-sd__bis-dropdown-option-item-{{ forloop.index }}" class="boost-sd__bis-dropdown-option-item" data-variant-id="{{ variant.id }}"> {{ variant.title | escape }} </li> {% endfor %} </ul> </div> {% endif %} <!-- Email Input --> <label for="boost-sd__bis-email-input" class="boost-sd__bis-email-label">Email address</label> <input type="email" aria-describedby="boost-sd__bis-email-error" id="boost-sd__bis-email-input" class="boost-sd__bis-email-input" placeholder="Enter your email" /> <span aria-live="polite" id="boost-sd__bis-email-error" class="boost-sd__bis-email-error">Please input a valid email address</span> <!-- SMS Input --> <label for="boost-sd__bis-phone-input" class="boost-sd__bis-phone-label">SMS</label> <div class="boost-sd__bis-phone-container"> <button type="button" aria-haspopup="listbox" class="boost-sd__bis-phone-button"> <img id="boost-sd__bis-phone-selected-flag" class="boost-sd__bis-phone-selected-flag" src="{{ 'https://flagcdn.com/ca.svg' | asset_url }}" alt="Canada"> <svg width="8" height="12" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M7.09832 3.98e-07L0.901685 -1.43e-07C0.15069 -2.09e-07 -0.269991 0.75351 0.193991 1.2676L3.29231 4.70055C3.65265 5.09982 4.34735 5.09982 4.70769 4.70055L7.80601 1.2676C8.26999 0.753511 7.84931 4.63e-07 7.09832 3.98e-07Z" fill="#222222" /> </svg> </button> <input type="tel" aria-describedby="boost-sd__bis-phone-error" id="boost-sd__bis-phone-input" class="boost-sd__bis-phone-input" placeholder="(+1) XXX-XXXX" data-country-code="+1" data-country-format="(XXX) XXX-XXXX"> </div> <div aria-expanded="false" class="boost-sd__bis-phone-dropdown" id="boost-sd__bis-phone-dropdown"> <input type="text" id="boost-sd__bis-search-country" class="boost-sd__bis-search-country" placeholder="Search country..."> <div id="boost-sd__bis-country-options" class="boost-sd__bis-country-options"></div> </div> <span aria-live="polite" id="boost-sd__bis-phone-error" class="boost-sd__bis-phone-error">Please input a valid phone number</span> <!-- Submit Button --> <button aria-disabled="true" id="boost-sd__bis-submit-button" class="boost-sd__bis-submit-button" disabled> Notify me when available </button> </div></div></div><!-- Success Banner --><div aria-hidden="true" aria-live="polite" id="boost-sd__bis-success-banner" class="boost-sd__bis-success-banner"><svg id="boost-sd__bis-success-banner-icon" class="boost-sd__bis-success-banner-icon" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M0 10C0 15.514 4.486 20 10 20C15.514 20 20 15.514 20 10C20 4.486 15.514 0 10 0C4.486 0 0 4.486 0 10ZM15.2071 8.20711C15.5976 7.81658 15.5976 7.18342 15.2071 6.79289C14.8166 6.40237 14.1834 6.40237 13.7929 6.79289L9 11.5858L6.70711 9.29289C6.31658 8.90237 5.68342 8.90237 5.29289 9.29289C4.90237 9.68342 4.90237 10.3166 5.29289 10.7071L8.29289 13.7071C8.68342 14.0976 9.31658 14.0976 9.70711 13.7071L15.2071 8.20711Z" fill="white" /></svg><span id="boost-sd__bis-success-banner-text" class="boost-sd__bis-success-banner-text">We will notify you when the item is available</span></div>`;
;return{templateUrl:"https://services.mybcapps.com/bc-sf-filter/ssr-template",templateId,templateMetadata,template,templateSettings}}};TemplateManagement.moduleName="TemplateManagement";var TierDiscountBundle=class extends BoostTAEAppModule{constructor(){super(...arguments);this.initBlock=()=>{const tierDiscountBundleDom=document.querySelector(".boost-sd__widget-tier-discount-bundle");if(!tierDiscountBundleDom){return}this.block={id:tierDiscountBundleDom.id||"bc-tier-discount-bundle",document:tierDiscountBundleDom};this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,tierDiscountBundleDom,"tierDiscountBundle");this.TAEApp.registerBlock(this.block)}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(BackwardCompatibilityV1)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};TierDiscountBundle.moduleName="TierDiscountBundle";var VolumeBundle=class extends BoostTAEAppModule{constructor(){super(...arguments);this.initBlock=()=>{const volumeBundleDom=document.querySelector(".boost-sd__widget-volume-bundle");if(!volumeBundleDom){return}this.block={id:volumeBundleDom.id||"bc-volume-bundle",document:volumeBundleDom};this.backwardCompatibilityV1Module?.legacyAssignDefaultBlockAttributes(this.block,volumeBundleDom,"volumeBundle");this.TAEApp.registerBlock(this.block)}}get backwardCompatibilityV1Module(){return this.TAEApp.getModule(BackwardCompatibilityV1)}onModuleInit(){document.addEventListener("DOMContentLoaded",this.initBlock)}onModuleDestroy(){document.removeEventListener("DOMContentLoaded",this.initBlock)}};VolumeBundle.moduleName="VolumeBundle";var application=new Application().loadModule(AppSettings).loadModule(ShopifyDataObject).loadModule(ShopifyMetafield).loadModule(TemplateManagement).loadModule(CollectionFilter).loadModule(AdditionalElement).loadModule(Search).loadModule(Recommendation).loadModule(Cart).loadModule(Analytics).loadModule(B2B).loadModule(BackInStock).loadModule(VolumeBundle).loadModule(TierDiscountBundle).loadModule(PredictiveBundle).loadModule(PreOrder).loadModule(CountdownTimer).loadModule(SimplifiedIntegration).loadModule(SEOEnhancement).loadModule(Fallback).loadModule(AssetFilesLoader).loadModule(BackwardCompatibilityV1);application.start();function getBoostTAE(){return application}})();</script><style>.boost-sd__filter-product-list img[loading=lazy]{display:none}</style><!-- END app block --><!-- BEGIN app block: shopify://apps/boost-ai-search-filter/blocks/instant-search-app-embedded/7fc998ae-a150-4367-bab8-505d8a4503f7 --><script type="text/javascript">(function a(){!window.boostWidgetIntegration&&(window.boostWidgetIntegration={});const b=window.boostWidgetIntegration;!b.taeSettings&&(b.taeSettings={});const c=b.taeSettings;c.instantSearch={enabled:!0}})()</script><!-- END app block --><!-- BEGIN app block: shopify://apps/zigpoll-customer-surveys/blocks/zigpoll-embed/019a552e-a887-7983-9977-f95313668ab3 --><!-- BEGIN app snippet: zigpoll-embed --><script type="text/javascript" async src="https://cdn.zigpoll.com/zigpoll-shopify-embed.js?shop=twinings-uk.myshopify.com"></script>
<!-- END app snippet -->
<!-- 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/T3w7Sx/klaviyo.js?company_id=T3w7Sx"></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>
<!-- END app block --><script src="https://cdn.shopify.com/extensions/01a02352-dc78-7a38-946e-872be196424c/pushowl-322/assets/pushowl-shopify.js" type="text/javascript" defer="defer"></script>
<script src="https://cdn.shopify.com/extensions/01a02559-ca16-7f3a-8247-c97a3d2ee398/forms-2515/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
<script src="https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-selleasy.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: 53367439558,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};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: 53367439558,storefrontBaseUrl: "https://twinings.co.uk",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://twinings.co.uk/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["d5bdd5d0","656605ce"],webPixelsConfigList: [{"id":"2309587142","configuration":"{\"pixel_id\":\"1198107351059809\",\"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":"1315143878","configuration":"{\"accountID\":\"T3w7Sx\",\"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":[]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"755794118","configuration":"{\"accountID\":\"53367439558\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9cf281f576a3744d05c8685f9f7f3f72","type":"APP","apiClientId":10250649601,"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":"195199174","configuration":"{\"target\":\"https:\/\/api.uk.exponea.com\",\"token\":\"a028fc60-935b-11ee-90ee-1ad7e5529018\",\"search_tracking\":\"true\", \"checkout_tracking\":\"true\", \"view_category_tracking\":\"true\", \"view_item_tracking\":\"true\",\"page_viewed_tracking\":\"false\",\"integration_id\":\"0c1de558-7599-4d35-a43d-0bf7f3330c44\",\"gateway_url\":\"https:\/\/api.uk.exponea.com\",\"domain\":\"twinings-uk.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"9c9a883ba8b95da163d9ff5cc6447868","type":"APP","apiClientId":35679600641,"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":"126812358","configuration":"{\"subdomain\":\"twinings-uk\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"b3ceb6b433982c0c26a57db3fab38641","type":"APP","apiClientId":1615517,"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":"67731654","configuration":"{\"tagID\":\"2612481954669\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"565fe5dd5db699c5a32547ff5c1df3c8","type":"APP","apiClientId":3009811,"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":"44368070","configuration":"{\"accountID\":\"selleasy-metrics-track\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"50acfdcd7b118f50e52df83f64624d06","type":"APP","apiClientId":5519923,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"32276678","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"35","type":"CUSTOM","privacyPurposes":[],"name":"VS - GTM \u0026 dataLayers"},{"id":"39747782","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"12","type":"CUSTOM","privacyPurposes":[],"name":"VS - Convert confirmation AOV "},{"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":"Twinings","paymentSettings":{"currencyCode":"GBP"},"myshopifyDomain":"twinings-uk.myshopify.com","countryCode":"GB","storefrontUrl":"https:\/\/twinings.co.uk"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"8634927644870","handle":"earl-grey-discovery-collection-20-envelopes","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45122393931974","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8634916667590","handle":"feel-good-collection-20-envelopes","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45123271590086","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6620603351238","handle":"superblends-glow-20-envelopes","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45870431273158","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8746011820230","handle":"twinings-sparkling-tea-revive-12-pack","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45413037605062","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6620603252934","handle":"superblends-sleep-20-envelopes","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45870466564294","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6889075671238","handle":"superblends-immune-support-20-envelopes","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"45870442021062","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6889090646214","handle":"superblends-wellbeing-collection-20-envelopes","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"40689889280198","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6620597518534","handle":"fruits-selection-20-envelopes","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39600777527494","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://twinings.co.uk/cdn","2d9dfbe8w1156b718pbb247b16m64115e31",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"149149286598","themeStoreId":"2481","themePublished":"true","eventMetadataId":"f25c157e-db88-4884-ac02-fec8150cf502","pageType":"home","shopId":"53367439558","storefrontBaseUrl":"https:\/\/twinings.co.uk","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\",{}]]"});})();</script><script>
window.ShopifyAnalytics = window.ShopifyAnalytics || {};
window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
window.ShopifyAnalytics.meta.currency = 'GBP';
var meta = {"page":{"pageType":"home","requestId":"3f02b496-bdf6-4307-9acf-bbf4ba05f603-1787472480"}};
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: 53367439558,
theme_id: 149149286598,
app_name: "storefront",
context_url: window.location.href,
source_url: "//twinings.co.uk/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js"});
};
scriptFallback.async = true;
scriptFallback.src = '//twinings.co.uk/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js';
first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//twinings.co.uk/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js';
first.parentNode.insertBefore(script, first);
};
trekkie.load(
{"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":53367439558,"isMerchantRequest":null,"themeId":149149286598,"themeCityHash":"7705501430536763574","contentLanguage":"en","currency":"GBP","eventMetadataId":"f25c157e-db88-4884-ac02-fec8150cf502"},"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.page(null,{"pageType":"home","requestId":"3f02b496-bdf6-4307-9acf-bbf4ba05f603-1787472480","shopifyEmitted":true});
var eventsListenerScript = document.createElement('script');
eventsListenerScript.async = true;
eventsListenerScript.src = "//twinings.co.uk/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script
defer
src="https://twinings.co.uk/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.8.4.min.js"
data-application="storefront-renderer"
data-shop-id="53367439558"
data-render-region="gcp-europe-west1"
data-page-type="index"
data-theme-instance-id="149149286598"
data-theme-name="Horizon"
data-theme-version="3.4.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://twinings.co.uk/api/collect"
></script>
<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script><script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"53367439558","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":true,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":false},"visitor":{"country":"GB","language":"en"}}</script>
<meta name="shopify-y" content="89832f52-45c4-4e18-956c-44c95c7b3956"><meta name="shopify-s" content="b9bee52e-3f3e-4e94-bc84-d6dc0d89edf8"><meta name="new-cookie-storage-activated" content="f">
</head>
<body class="page-width-narrow card-hover-effect-none">
<a
class="skip-to-content-link button-secondary"
href="#MainContent"
>
Skip to content
</a>
<div id="header-group">
<!-- BEGIN sections: header-group -->
<div id="shopify-section-sections--19944476344518__header_announcements_9jGBFp" class="shopify-section shopify-section-group-header-group">
<div class="section-background color-scheme-2"></div>
<aside
class="announcement-bar spacing-style section section--page-width color-scheme-2"
style="--padding-block-start: 10px; --padding-block-end:10px;
--padding-inline-start:0px; --padding-inline-end:0px;
; --border-bottom-width: 0px;"
>
<announcement-bar-component
class="announcement-bar__slider"
>
<div class="announcement-bar__slides">
<slideshow-slide
ref="slides[]"
class="
announcement-bar__slide
text-block
text-block--ANFdhQVhUYUlCNmJse__announcement_BxgCk9
text-block--align-center
text-block--full-width
custom-typography
custom-font-size
custom-font-weight
"
style="
--color: ;--font-size: 0.875rem;--font-weight: 700; --font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-tight);
--width: 100%;
--text-align: center;
--line-height: 1;
"
aria-hidden="false"
>
<p class="announcement-bar__text">
Save up to 1/3rd off Black Tea >
</p>
<a
class="announcement-bar__link"
href="/collections/black-tea"
>
<span class="visually-hidden">
Save up to 1/3rd off Black Tea >
</span>
</a>
</slideshow-slide>
</div>
</announcement-bar-component>
</aside>
<style> #shopify-section-sections--19944476344518__header_announcements_9jGBFp .announcement-bar {cursor: pointer;} </style></div><header id="shopify-section-sections--19944476344518__header_section" class="shopify-section shopify-section-group-header-group header-section">
<header-component
id="header-component"
class="header"
data-theme-color="rgb(255 255 255)"
sticky="always"
data-skip-node-update
data-scroll-direction="none"
style="
--color-scheme-top-row: rgba(255 255 255 / 1.0);
--color-scheme-bottom-row: rgba(255 255 255 / 1.0);
"
>
<div class="header__underlay header__underlay-closed"></div>
<div
class="header__underlay header__underlay-open"
></div><h1 class="visually-hidden">Twinings</h1>
<div
class="header__row header__row--top color-scheme-1 section section--full-width-margin section--full-width"
ref="headerRowTop"style="--border-bottom-width: 1px; --border-bottom-width-mobile: 1px;">
<div class="header__columns spacing-style">
<div
class="header__column header__column--left"
data-testid="header-top-left"
>
<div
class="header__drawer"
ref="headerDrawerContainer"
data-hydration-key="header-drawer-mobile"
>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/header-drawer.js?v=121243031541024704371772550122"
type="module"
fetchpriority="low"
></script>
<header-drawer
class="header-drawer "
style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;"
>
<details
id="Details-menu-drawer-container"
data-skip-node-update="true"
class="menu-drawer-container"
ref="details"
scroll-lock
>
<summary
class="header__icon header__icon--menu header__icon--summary"
aria-label="Menu"
on:click="/toggle"
>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</summary>
<div
ref="menuDrawer"
class="
menu-drawer
color-scheme-1
"
>
<button
class="button close-button menu-drawer__close-button"
type="button"
aria-label="Close"
on:click="/close"
>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
<nav
class="menu-drawer__navigation"
style="--menu-top-level-font-family: var(--font-heading--family);
--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-heading--style); --menu-top-level-font-weight: var(--font-heading--weight); --menu-top-level-font-case:none;
--menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height:
var(--menu-font-2xl--line-height);
--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
--menu-parent-font-family: var(--font-heading--family); --menu-parent-font-style:
var(--font-heading--style); --menu-parent-font-weight: var(--font-heading--weight); --menu-parent-font-case:
none;
--menu-parent-font-size: 1rem;
--menu-parent-font-line-height:
var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) /
var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground);
--menu-child-font-family: var(--font-body--family); --menu-child-font-style:
var(--font-heading--style); --menu-child-font-weight: var(--font-heading--weight); --menu-child-font-case:
none;
--menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height);
--menu-child-font-color: var(--color-foreground);
--menu-child-active-font-color: var(--color-primary-hover);
"
aria-label="Primary"
>
<ul
class="menu-drawer__menu has-submenu"
role="list"
>
<li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
><a
id="HeaderDrawer-new"
href="/collections/new-products"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">New</span>
</a></li>
<li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
><details
id="Details-menu-drawer-menu-item-2"
class="menu-drawer__menu-container menu-drawer__menu-container--divider"
>
<summary
id="HeaderDrawer-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
on:click="header-drawer/open/submenu"
>
<span class="menu-drawer__menu-item-text wrap-text">Tea</span>
<span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</summary>
<div
id="link-tea"
class="menu-drawer__submenu has-submenu"
tabindex="-1"
style="--menu-drawer-animation-index: 2;"
>
<div class="menu-drawer__inner-submenu">
<div class="menu-drawer__nav-buttons">
<button
class="button menu-drawer__back-button focus-inset"
aria-expanded="true"
on:click="header-drawer/back"
aria-label="Back"
>
<span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="menu-drawer__menu-item-text wrap-text">Tea</span>
</button>
<button
class="button button-unstyled close-button menu-drawer__close-button"
type="button"
aria-label="Close"
on:click="header-drawer/close"
>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<ul
class="menu-drawer__menu menu-drawer__menu--childlist"
role="list"
tabindex="-1"
>
<li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-tea-by-type"
>
<summary
id="HeaderDrawer-tea-by-type"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">By Type</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-tea-by-type-shop-all-tea"
href="/collections/tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Shop All Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-tea-by-type-superblends"
href="/collections/superblends"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Superblends</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-tea-by-type-black-tea"
href="/collections/black-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Black Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-tea-by-type-fruit-herbal"
href="/collections/fruit-herbal"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Fruit & Herbal</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-tea-by-type-tea-selection-packs"
href="/collections/tea-selection-packs"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Tea Selection Packs</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-tea-by-type-green-tea"
href="/collections/green-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Green Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-tea-by-type-international-blends"
href="/collections/international-tea-blends"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">International Blends</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 8;"
>
<a
id="HeaderDrawer-tea-by-type-english-breakfast"
href="/collections/english-breakfast-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">English Breakfast</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 9;"
>
<a
id="HeaderDrawer-tea-by-type-earl-grey"
href="/collections/earl-grey-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Earl Grey</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 10;"
>
<a
id="HeaderDrawer-tea-by-type-lady-grey"
href="/collections/lady-grey-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Lady Grey</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 11;"
>
<a
id="HeaderDrawer-tea-by-type-darjeeling"
href="/collections/darjeeling-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Darjeeling</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 12;"
>
<a
id="HeaderDrawer-tea-by-type-assam"
href="/collections/assam-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Assam</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 13;"
>
<a
id="HeaderDrawer-tea-by-type-decaffeinated-tea"
href="/collections/decaffeinated-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Decaffeinated Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 14;"
>
<a
id="HeaderDrawer-tea-by-type-loose-leaf"
href="/collections/loose-leaf-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Loose Leaf</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 15;"
>
<a
id="HeaderDrawer-tea-by-type-loose-leaf-pyramids"
href="/collections/loose-leaf-pyramids"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Loose Leaf Pyramids</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 16;"
>
<a
id="HeaderDrawer-tea-by-type-cold-water-infusions"
href="/collections/cold-water-infusions"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Cold Water Infusions</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 17;"
>
<a
id="HeaderDrawer-tea-by-type-pick-mix"
href="/collections/pick-mix-individual-tea-bags"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Pick & Mix</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 18;"
>
<a
id="HeaderDrawer-tea-by-type-herbal-infusions"
href="/collections/herbal-tea-infusions"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Herbal Infusions</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 19;"
>
<a
id="HeaderDrawer-tea-by-type-redbush"
href="/collections/redbush-rooibos-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Redbush</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 20;"
>
<a
id="HeaderDrawer-tea-by-type-chai-tea"
href="/collections/chai-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Chai Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 21;"
>
<a
id="HeaderDrawer-tea-by-type-matcha-tea"
href="/collections/matcha-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Matcha Tea</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-tea-main-herb"
>
<summary
id="HeaderDrawer-tea-main-herb"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Main Herb</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-tea-main-herb-peach"
href="/collections/peach-teas-infusions"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Peach</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-tea-main-herb-raspberry"
href="/collections/raspberry-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Raspberry</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-tea-main-herb-fruits"
href="/collections/fruit-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Fruits</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-tea-main-herb-hibiscus"
href="/collections/hibiscus-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Hibiscus</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-tea-main-herb-ginger"
href="/collections/ginger-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Ginger</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-tea-main-herb-mint"
href="/collections/mint-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Mint</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-tea-main-herb-camomile"
href="/collections/camomile-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Camomile</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 8;"
>
<a
id="HeaderDrawer-tea-main-herb-fennel"
href="/collections/fennel-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Fennel</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 9;"
>
<a
id="HeaderDrawer-tea-main-herb-cinnamon"
href="/collections/cinnamon-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Cinnamon</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 10;"
>
<a
id="HeaderDrawer-tea-main-herb-lemon"
href="/collections/lemon-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Lemon</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-tea-hot-chocs-malts-syrups"
>
<summary
id="HeaderDrawer-tea-hot-chocs-malts-syrups"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Hot Chocs, Malts & Syrups</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-tea-hot-chocs-malts-syrups-hot-chocolate-malt-drinks"
href="/collections/hot-chocolate-and-malt-drinks"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Hot Chocolate & Malt Drinks</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-tea-hot-chocs-malts-syrups-options-hot-chocolate"
href="/collections/options-hot-chocolate"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Options Hot Chocolate</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-tea-hot-chocs-malts-syrups-ovaltine-malt-drinks"
href="/collections/ovaltine-malt-drinks"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Ovaltine Malt Drinks</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-tea-hot-chocs-malts-syrups-syrups"
href="/collections/syrups"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Syrups</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li></ul>
</div>
</div>
</details></li>
<li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
><details
id="Details-menu-drawer-menu-item-3"
class="menu-drawer__menu-container menu-drawer__menu-container--divider"
>
<summary
id="HeaderDrawer-wellbeing-drinks"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
on:click="header-drawer/open/submenu"
>
<span class="menu-drawer__menu-item-text wrap-text">Wellbeing Drinks</span>
<span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</summary>
<div
id="link-wellbeing-drinks"
class="menu-drawer__submenu has-submenu"
tabindex="-1"
style="--menu-drawer-animation-index: 3;"
>
<div class="menu-drawer__inner-submenu">
<div class="menu-drawer__nav-buttons">
<button
class="button menu-drawer__back-button focus-inset"
aria-expanded="true"
on:click="header-drawer/back"
aria-label="Back"
>
<span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="menu-drawer__menu-item-text wrap-text">Wellbeing Drinks</span>
</button>
<button
class="button button-unstyled close-button menu-drawer__close-button"
type="button"
aria-label="Close"
on:click="header-drawer/close"
>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<ul
class="menu-drawer__menu menu-drawer__menu--childlist"
role="list"
tabindex="-1"
>
<li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-wellbeing-drinks-by-type"
>
<summary
id="HeaderDrawer-wellbeing-drinks-by-type"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">By Type</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-wellbeing-drinks-by-type-sparkling-tea"
href="/collections/sparkling-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Sparkling Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-wellbeing-drinks-by-type-matcha-tea"
href="/collections/matcha-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Matcha Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-wellbeing-drinks-by-type-superblends"
href="/collections/superblends"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Superblends</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-wellbeing-drinks-by-type-green-tea"
href="/collections/green-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Green Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-wellbeing-drinks-by-type-fruit-herbal"
href="/collections/fruit-herbal"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Fruit & Herbal</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-wellbeing-drinks-by-type-benefit-teas"
href="/collections/benefit-teas"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Benefit Teas</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-wellbeing-drinks-by-type-soulful-blends"
href="/collections/soulful-blends"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Soulful Blends</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-wellbeing-drinks-shop-by-need"
>
<summary
id="HeaderDrawer-wellbeing-drinks-shop-by-need"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Shop By Need</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-wellbeing-drinks-shop-by-need-sleep"
href="/collections/sleep"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Sleep</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-wellbeing-drinks-shop-by-need-pause-unwind"
href="/collections/pause-unwind"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Pause & Unwind</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-wellbeing-drinks-shop-by-need-digestive-health"
href="/collections/digestive-health"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Digestive Health</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-wellbeing-drinks-shop-by-need-immune-health"
href="/collections/immune-health"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Immune Health</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-wellbeing-drinks-shop-by-need-feel-good"
href="/collections/feel-good-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Feel Good</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-wellbeing-drinks-shop-by-need-good-energy"
href="/collections/good-energy"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Good Energy</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-wellbeing-drinks-shop-by-need-live-well"
href="/collections/live-well"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Live Well</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 8;"
>
<a
id="HeaderDrawer-wellbeing-drinks-shop-by-need-womens-health"
href="/collections/womens-health"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Women's Health</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li></ul>
</div>
</div>
</details></li>
<li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
><a
id="HeaderDrawer-sparkling-tea"
href="/pages/twinings-sparkling-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Sparkling Tea</span>
</a></li>
<li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
><details
id="Details-menu-drawer-menu-item-5"
class="menu-drawer__menu-container menu-drawer__menu-container--divider"
>
<summary
id="HeaderDrawer-gifting-teaware"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
on:click="header-drawer/open/submenu"
>
<span class="menu-drawer__menu-item-text wrap-text">Gifting & Teaware</span>
<span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</summary>
<div
id="link-gifting-teaware"
class="menu-drawer__submenu has-submenu"
tabindex="-1"
style="--menu-drawer-animation-index: 5;"
>
<div class="menu-drawer__inner-submenu">
<div class="menu-drawer__nav-buttons">
<button
class="button menu-drawer__back-button focus-inset"
aria-expanded="true"
on:click="header-drawer/back"
aria-label="Back"
>
<span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="menu-drawer__menu-item-text wrap-text">Gifting & Teaware</span>
</button>
<button
class="button button-unstyled close-button menu-drawer__close-button"
type="button"
aria-label="Close"
on:click="header-drawer/close"
>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<ul
class="menu-drawer__menu menu-drawer__menu--childlist"
role="list"
tabindex="-1"
>
<li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-gifting-teaware-gifting-ideas"
>
<summary
id="HeaderDrawer-gifting-teaware-gifting-ideas"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Gifting Ideas</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-hampers-gift-sets"
href="/collections/hampers-gift-sets"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Hampers & Gift Sets</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-compartment-boxes"
href="/collections/compartment-boxes"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Compartment Boxes</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-filled-jars"
href="/collections/filled-tea-jars"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Filled Jars</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-twinings-selection-boxes"
href="/collections/twinings-collection-tea-bag-selection-boxes"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Twinings Selection Boxes</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-discovery-collection"
href="/collections/discovery-collection"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Discovery Collection</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-tea-caddies"
href="/collections/loose-tea-caddies"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Tea Caddies</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-tea-experiences"
href="/collections/tea-experiences"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Tea Experiences</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 8;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-gift-boxes-bags-hamper-baskets"
href="/collections/gift-boxes-bags-and-hamper-baskets"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Gift Boxes, Bags & Hamper Baskets</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 9;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-wellbeing-gift-sets"
href="/collections/wellbeing-gift-sets"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Wellbeing Gift Sets</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 10;"
>
<a
id="HeaderDrawer-gifting-teaware-gifting-ideas-advent-calendar-christmas-teas"
href="https://twinings.co.uk/collections/christmas-teas"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Advent Calendar & Christmas Teas</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-gifting-teaware-teaware"
>
<summary
id="HeaderDrawer-gifting-teaware-teaware"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Teaware</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-gifting-teaware-teaware-teapots"
href="/collections/teapots"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Teapots</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-gifting-teaware-teaware-mugs"
href="/collections/mugs"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Mugs</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-gifting-teaware-teaware-teacups-saucers"
href="/collections/teacups-saucers"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Teacups & Saucers</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-gifting-teaware-teaware-tea-accessories"
href="/collections/tea-accessories"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Tea Accessories</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-gifting-teaware-teaware-keepcups"
href="/collections/keepcup"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">KeepCups</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-gifting-teaware-teaware-teaware-by-brand"
href="/pages/teaware-by-brand"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Teaware By Brand</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-gifting-teaware-teaware-all-teaware"
href="/collections/all-teaware"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">All Teaware</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-gifting-teaware-biscuits-confectionery"
>
<summary
id="HeaderDrawer-gifting-teaware-biscuits-confectionery"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Biscuits & Confectionery</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-gifting-teaware-biscuits-confectionery-luxury-biscuits"
href="/collections/luxury-biscuits"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Luxury Biscuits</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-gifting-teaware-biscuits-confectionery-chocolate-fudge"
href="/collections/chocolate-fudge"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Chocolate & Fudge</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-gifting-teaware-biscuits-confectionery-marmalade-preserves"
href="/collections/marmalade-preserves"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Marmalade & Preserves</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-gifting-teaware-biscuits-confectionery-syrups"
href="/collections/syrups"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Syrups</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-gifting-teaware-biscuits-confectionery-confectionery-by-brand"
href="/pages/confectionery-by-brand"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Confectionery By Brand</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-gifting-teaware-biscuits-confectionery-all-confectionery"
href="/collections/biscuits-confectionery"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">All Confectionery</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-gifting-teaware-a-little-help"
>
<summary
id="HeaderDrawer-gifting-teaware-a-little-help"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">A Little Help?</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-gifting-teaware-a-little-help-for-her"
href="/collections/tea-gift-for-her"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">For Her</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-gifting-teaware-a-little-help-for-him"
href="/collections/tea-gift-for-him"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">For Him</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-gifting-teaware-a-little-help-best-selling"
href="/collections/best-selling-tea-gifts"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Best Selling</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-gifting-teaware-a-little-help-under-10"
href="/collections/tea-gifts-under-10"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Under £10</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-gifting-teaware-a-little-help-under-25"
href="/collections/tea-gifts-under-25"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Under £25</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-gifting-teaware-a-little-help-luxury-gifts"
href="/collections/luxury-tea-gifts"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Luxury Gifts</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-gifting-teaware-a-little-help-easter-gifts"
href="/collections/easter-tea-gifts"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Easter Gifts</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li></ul>
</div>
</div>
</details></li>
<li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
><details
id="Details-menu-drawer-menu-item-6"
class="menu-drawer__menu-container menu-drawer__menu-container--divider"
>
<summary
id="HeaderDrawer-communi-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
on:click="header-drawer/open/submenu"
>
<span class="menu-drawer__menu-item-text wrap-text">Communi-tea</span>
<span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</summary>
<div
id="link-communi-tea"
class="menu-drawer__submenu has-submenu"
tabindex="-1"
style="--menu-drawer-animation-index: 6;"
>
<div class="menu-drawer__inner-submenu">
<div class="menu-drawer__nav-buttons">
<button
class="button menu-drawer__back-button focus-inset"
aria-expanded="true"
on:click="header-drawer/back"
aria-label="Back"
>
<span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="menu-drawer__menu-item-text wrap-text">Communi-tea</span>
</button>
<button
class="button button-unstyled close-button menu-drawer__close-button"
type="button"
aria-label="Close"
on:click="header-drawer/close"
>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<ul
class="menu-drawer__menu menu-drawer__menu--childlist"
role="list"
tabindex="-1"
>
<li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-communi-tea-about-twinings"
>
<summary
id="HeaderDrawer-communi-tea-about-twinings"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">About Twinings</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-communi-tea-about-twinings-experience-more-with-twinings"
href="/blogs/news/why-twinings"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Experience More With Twinings</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-communi-tea-about-twinings-twinings-flagship-store-216-strand"
href="/pages/twinings-flagship-store-216-strand"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Twinings Flagship Store 216 Strand</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-communi-tea-about-twinings-tea-experiences-masterclasses"
href="/pages/tea-masterclass-tasting-experience"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Tea Experiences & Masterclasses</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-communi-tea-about-twinings-the-history-of-tea-and-twinings"
href="/pages/history-of-tea-and-twinings"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">The History of Tea and Twinings</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-communi-tea-about-twinings-meet-the-team"
href="https://twinings.co.uk/blogs/news/tagged/meet-the-team"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Meet the Team</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-communi-tea-about-twinings-sourced-with-care"
href="/pages/sourced-with-care"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Sourced With Care</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-communi-tea-about-twinings-careers-at-twinings"
href="/pages/careers-at-twinings"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Careers at Twinings</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-communi-tea-about-tea"
>
<summary
id="HeaderDrawer-communi-tea-about-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">About Tea</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-communi-tea-about-tea-where-is-tea-from"
href="/blogs/news/where-is-tea-from"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Where is Tea From?</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-communi-tea-about-tea-how-is-tea-made"
href="/blogs/news/how-is-tea-made"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">How is Tea Made</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-communi-tea-about-tea-how-to-taste-tea"
href="/blogs/news/how-to-taste-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">How to Taste Tea</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-communi-tea-about-tea-tea-glossary"
href="/blogs/news/our-communi-tea-about-tea-tea-glossary"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Tea Glossary</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-communi-tea-latest-news-articles"
>
<summary
id="HeaderDrawer-communi-tea-latest-news-articles"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Latest News & Articles</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-communi-tea-latest-news-articles-about-twinings"
href="https://twinings.co.uk/blogs/news/tagged/about-twinings"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">About Twinings</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-communi-tea-latest-news-articles-your-wellbeing"
href="https://twinings.co.uk/blogs/news/tagged/your-wellbeing"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Your Wellbeing</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li><li
class="
menu-drawer__list-item
menu-drawer__list-item--deep menu-drawer__list-item--divider
"
>
<accordion-custom >
<details
id="Details-menu-drawer-communi-tea-recipes"
>
<summary
id="HeaderDrawer-communi-tea-recipes"
class="menu-drawer__menu-item menu-drawer__menu-item--parent focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Recipes</span>
<span class="svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</summary>
<ul
class="menu-drawer__menu menu-drawer__menu--grandchildlist details-content"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 1;"
>
<a
id="HeaderDrawer-communi-tea-recipes-drinks"
href="/blogs/recipes/tagged/drinks"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Drinks</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
id="HeaderDrawer-communi-tea-recipes-breakfast"
href="/blogs/recipes/tagged/breakfast"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Breakfast</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 3;"
>
<a
id="HeaderDrawer-communi-tea-recipes-lunch"
href="/blogs/recipes/tagged/lunch"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Lunch</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 4;"
>
<a
id="HeaderDrawer-communi-tea-recipes-desserts"
href="/blogs/recipes/tagged/dessert"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Desserts</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 5;"
>
<a
id="HeaderDrawer-communi-tea-recipes-ice-cream-lollies"
href="/blogs/recipes/tagged/ice-cream-lollies"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Ice Cream & Lollies</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 6;"
>
<a
id="HeaderDrawer-communi-tea-recipes-smoothies"
href="/blogs/recipes/tagged/smoothies"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Smoothies</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
id="HeaderDrawer-communi-tea-recipes-cakes"
href="/blogs/recipes/tagged/cakes"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Cakes</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 8;"
>
<a
id="HeaderDrawer-communi-tea-recipes-sandwiches"
href="/blogs/recipes/tagged/sandwiches"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Sandwiches</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 9;"
>
<a
id="HeaderDrawer-communi-tea-recipes-iced-tea"
href="/blogs/recipes/tagged/iced-tea"
class="menu-drawer__menu-item menu-drawer__menu-item--child focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Iced Tea</span>
</a>
</li></ul>
</details>
</accordion-custom>
</li></ul>
</div>
</div>
</details></li>
<li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
><a
id="HeaderDrawer-offers"
href="/collections/sale"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Offers</span>
</a></li>
</ul>
</nav>
<div
class="menu-drawer__utility-links menu-drawer__animated-element"
style="--menu-drawer-animation-index: 7;"
>
</div>
</div>
<div
class="menu-drawer__backdrop"
on:click="header-drawer/close"
></div>
</details>
</header-drawer>
</div>
<style data-shopify>
.header__underlay {
--color-submenu: rgb(255 255 255 / 1.0);
}
</style>
<search-button
class="search-action search-action--hidden-on-menu"
>
<button
on:click="#search-modal/showDialog"
class="button-unstyled header-actions__action"
aria-label="Search"
aria-haspopup="dialog"
>
<span class="hidden">
Search
</span>
<span class="svg-wrapper ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
</span>
</button>
</search-button>
<a
href="/"
class="size-style spacing-style header-logo"
style="
--size-style-width: ;--size-style-height: ;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--font-family: var(--font-body--family);
--font-style: var(--font-body--style);
--font-weight: 600;
"
>
<span class="sr-only">Link to Homepage</span>
<span
class="header-logo__image-container header-logo__image-container--original"
data-testid="header-logo"
>
<img src="//twinings.co.uk/cdn/shop/files/twinings.png?height=50&v=1624879184" alt="Twinings Logo" width="204" height="50" class="header-logo__image" srcset="//twinings.co.uk/cdn/shop/files/twinings.png?height=50&v=1624879184 1x, //twinings.co.uk/cdn/shop/files/twinings.png?height=100&v=1624879184 2x, //twinings.co.uk/cdn/shop/files/twinings.png?height=150&v=1624879184 3x" style="--header-logo-image-width: 205px;--header-logo-image-width-mobile: 164px; --header-logo-image-height: 50px; --header-logo-image-height-mobile: 40px;">
</span>
</a>
</div><div
class="header__column header__column--center"
data-testid="header-top-center"
>
<header-menu
ref="headerMenu"
class="header-menu"
data-hydration-key="header-menu"
>
<div class="header-menu__inner">
<nav
class="menu-list"
aria-label="Primary"
style="--menu-top-level-font-family: var(--font-heading--family);
--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-heading--style); --menu-top-level-font-weight: var(--font-heading--weight); --menu-top-level-font-case:none;
--menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height:
var(--menu-font-sm--line-height);
--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
"
>
<overflow-list
ref="overflowMenu"
class="overflow-menu color-scheme-matches-parent"
minimum-items="2"
data-testid="header-menu-overflow-list"
data-skip-node-update
>
<template shadowrootmode="open">
<link href="//twinings.co.uk/cdn/shop/t/172/assets/overflow-list.css?v=13500019909476584571772550122" rel="stylesheet" type="text/css" media="all" />
<ul part="list">
<slot></slot>
<slot
name="more"
part="more"
hidden
>
<li
part="more"
>
<button
class="button"
type="button"
tabindex="0"
>
More
</button>
</li>
</slot>
<li
part="placeholder"
hidden
></li>
</ul>
<div part="overflow">
<ul part="overflow-list">
<slot name="overflow"></slot>
</ul>
</div>
</template>
<li
role="presentation"
class="menu-list__list-item new"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/collections/new-products"
data-skip-node-update="true"
class="menu-list__link"
ref="menuitem"
>
<span class="menu-list__link-title">New</span></a><div id="shopify-block-AeGdSNHZUMXM1SlVLU__megamenu-block" class="shopify-block megamenu-block-wrapper"></div>
</li>
<li
role="presentation"
class="menu-list__list-item tea"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/pages/tea"
data-skip-node-update="true"
class="menu-list__link menu-list__link--has-submenu"aria-controls="submenu-2"
aria-haspopup="true"
aria-expanded="false"
ref="menuitem"
>
<span class="menu-list__link-title">Tea</span><span class="menu-list__link-icon svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span></a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]">
<div
id="submenu-2"
class="menu-list__submenu-inner"
style="--menu-parent-font-family: var(--font-heading--family); --menu-parent-font-style:
var(--font-heading--style); --menu-parent-font-weight: var(--font-heading--weight); --menu-parent-font-case:
none;
--menu-parent-font-size: 1rem;
--menu-parent-font-line-height:
var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) /
var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground);
--menu-child-font-family: var(--font-body--family); --menu-child-font-style:
var(--font-heading--style); --menu-child-font-weight: var(--font-heading--weight); --menu-child-font-case:
none;
--menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height);
--menu-child-font-color: var(--color-foreground);
--menu-child-active-font-color: var(--color-primary-hover);
"
>
<div class="mega-menu section section--full-width-margin section--full-width">
<div
class="mega-menu__grid"
data-menu-grid-id="MegaMenuList-2"
>
<ul
data-menu-list-id="MegaMenuList-2"
class="mega-menu__list list-unstyled"
style="--menu-image-border-radius: 0px;"
>
<li class="mega-menu__column mega-menu__column--span-2">
<div>
<a
href="#"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">By Type</span>
</a>
<ul
class="list-unstyled"
style="column-count: 2;"
>
<li
>
<a
href="/collections/tea"
class="mega-menu__link"
>
<span class="wrap-text">Shop All Tea</span>
</a>
</li>
<li
>
<a
href="/collections/superblends"
class="mega-menu__link"
>
<span class="wrap-text">Superblends</span>
</a>
</li>
<li
>
<a
href="/collections/black-tea"
class="mega-menu__link"
>
<span class="wrap-text">Black Tea</span>
</a>
</li>
<li
>
<a
href="/collections/fruit-herbal"
class="mega-menu__link"
>
<span class="wrap-text">Fruit & Herbal</span>
</a>
</li>
<li
>
<a
href="/collections/tea-selection-packs"
class="mega-menu__link"
>
<span class="wrap-text">Tea Selection Packs</span>
</a>
</li>
<li
>
<a
href="/collections/green-tea"
class="mega-menu__link"
>
<span class="wrap-text">Green Tea</span>
</a>
</li>
<li
>
<a
href="/collections/international-tea-blends"
class="mega-menu__link"
>
<span class="wrap-text">International Blends</span>
</a>
</li>
<li
>
<a
href="/collections/english-breakfast-tea"
class="mega-menu__link"
>
<span class="wrap-text">English Breakfast</span>
</a>
</li>
<li
>
<a
href="/collections/earl-grey-tea"
class="mega-menu__link"
>
<span class="wrap-text">Earl Grey</span>
</a>
</li>
<li
>
<a
href="/collections/lady-grey-tea"
class="mega-menu__link"
>
<span class="wrap-text">Lady Grey</span>
</a>
</li>
<li
style="break-after: column;"
>
<a
href="/collections/darjeeling-tea"
class="mega-menu__link"
>
<span class="wrap-text">Darjeeling</span>
</a>
</li>
<li
>
<a
href="/collections/assam-tea"
class="mega-menu__link"
>
<span class="wrap-text">Assam</span>
</a>
</li>
<li
>
<a
href="/collections/decaffeinated-tea"
class="mega-menu__link"
>
<span class="wrap-text">Decaffeinated Tea</span>
</a>
</li>
<li
>
<a
href="/collections/loose-leaf-tea"
class="mega-menu__link"
>
<span class="wrap-text">Loose Leaf</span>
</a>
</li>
<li
>
<a
href="/collections/loose-leaf-pyramids"
class="mega-menu__link"
>
<span class="wrap-text">Loose Leaf Pyramids</span>
</a>
</li>
<li
>
<a
href="/collections/cold-water-infusions"
class="mega-menu__link"
>
<span class="wrap-text">Cold Water Infusions</span>
</a>
</li>
<li
>
<a
href="/collections/pick-mix-individual-tea-bags"
class="mega-menu__link"
>
<span class="wrap-text">Pick & Mix</span>
</a>
</li>
<li
>
<a
href="/collections/herbal-tea-infusions"
class="mega-menu__link"
>
<span class="wrap-text">Herbal Infusions</span>
</a>
</li>
<li
>
<a
href="/collections/redbush-rooibos-tea"
class="mega-menu__link"
>
<span class="wrap-text">Redbush</span>
</a>
</li>
<li
>
<a
href="/collections/chai-tea"
class="mega-menu__link"
>
<span class="wrap-text">Chai Tea</span>
</a>
</li>
<li
>
<a
href="/collections/matcha-tea"
class="mega-menu__link"
>
<span class="wrap-text">Matcha Tea</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="#"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">Main Herb</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/collections/peach-teas-infusions"
class="mega-menu__link"
>
<span class="wrap-text">Peach</span>
</a>
</li>
<li
>
<a
href="/collections/raspberry-tea"
class="mega-menu__link"
>
<span class="wrap-text">Raspberry</span>
</a>
</li>
<li
>
<a
href="/collections/fruit-tea"
class="mega-menu__link"
>
<span class="wrap-text">Fruits</span>
</a>
</li>
<li
>
<a
href="/collections/hibiscus-tea"
class="mega-menu__link"
>
<span class="wrap-text">Hibiscus</span>
</a>
</li>
<li
>
<a
href="/collections/ginger-tea"
class="mega-menu__link"
>
<span class="wrap-text">Ginger</span>
</a>
</li>
<li
>
<a
href="/collections/mint-tea"
class="mega-menu__link"
>
<span class="wrap-text">Mint</span>
</a>
</li>
<li
>
<a
href="/collections/camomile-tea"
class="mega-menu__link"
>
<span class="wrap-text">Camomile</span>
</a>
</li>
<li
>
<a
href="/collections/fennel-tea"
class="mega-menu__link"
>
<span class="wrap-text">Fennel</span>
</a>
</li>
<li
>
<a
href="/collections/cinnamon-tea"
class="mega-menu__link"
>
<span class="wrap-text">Cinnamon</span>
</a>
</li>
<li
>
<a
href="/collections/lemon-tea"
class="mega-menu__link"
>
<span class="wrap-text">Lemon</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="/pages/hot-chocolate-malt-drinks-syrups"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">Hot Chocs, Malts & Syrups</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/collections/hot-chocolate-and-malt-drinks"
class="mega-menu__link"
>
<span class="wrap-text">Hot Chocolate & Malt Drinks</span>
</a>
</li>
<li
>
<a
href="/collections/options-hot-chocolate"
class="mega-menu__link"
>
<span class="wrap-text">Options Hot Chocolate</span>
</a>
</li>
<li
>
<a
href="/collections/ovaltine-malt-drinks"
class="mega-menu__link"
>
<span class="wrap-text">Ovaltine Malt Drinks</span>
</a>
</li>
<li
>
<a
href="/collections/syrups"
class="mega-menu__link"
>
<span class="wrap-text">Syrups</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1 promo-column">
<div id="shopify-block-AR0hLNjllb25HcXBYW__mega-menu-block-color" class="shopify-block megamenu-block-wrapper"></div>
</li></ul>
<style data-shopify>
[data-menu-grid-id="MegaMenuList-2"] {
--menu-columns-desktop: 5;
--menu-columns-tablet: 4;
}
[data-menu-list-id="MegaMenuList-2"] {
--menu-columns-desktop: 5;
--menu-columns-tablet: 4;
}
</style>
</div>
</div>
</div>
</div><div id="shopify-block-AeGdSNHZUMXM1SlVLU__megamenu-block-1" class="shopify-block megamenu-block-wrapper"></div>
</li>
<li
role="presentation"
class="menu-list__list-item wellbeing-drinks"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/pages/wellbeing-drinks"
data-skip-node-update="true"
class="menu-list__link menu-list__link--has-submenu"aria-controls="submenu-3"
aria-haspopup="true"
aria-expanded="false"
ref="menuitem"
>
<span class="menu-list__link-title">Wellbeing Drinks</span><span class="menu-list__link-icon svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span></a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]">
<div
id="submenu-3"
class="menu-list__submenu-inner"
style="--menu-parent-font-family: var(--font-heading--family); --menu-parent-font-style:
var(--font-heading--style); --menu-parent-font-weight: var(--font-heading--weight); --menu-parent-font-case:
none;
--menu-parent-font-size: 1rem;
--menu-parent-font-line-height:
var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) /
var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground);
--menu-child-font-family: var(--font-body--family); --menu-child-font-style:
var(--font-heading--style); --menu-child-font-weight: var(--font-heading--weight); --menu-child-font-case:
none;
--menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height);
--menu-child-font-color: var(--color-foreground);
--menu-child-active-font-color: var(--color-primary-hover);
"
>
<div class="mega-menu section section--full-width-margin section--full-width">
<div
class="mega-menu__grid"
data-menu-grid-id="MegaMenuList-3"
>
<ul
data-menu-list-id="MegaMenuList-3"
class="mega-menu__list list-unstyled"
style="--menu-image-border-radius: 0px;"
>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="#"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">By Type</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/collections/sparkling-tea"
class="mega-menu__link"
>
<span class="wrap-text">Sparkling Tea</span>
</a>
</li>
<li
>
<a
href="/collections/matcha-tea"
class="mega-menu__link"
>
<span class="wrap-text">Matcha Tea</span>
</a>
</li>
<li
>
<a
href="/collections/superblends"
class="mega-menu__link"
>
<span class="wrap-text">Superblends</span>
</a>
</li>
<li
>
<a
href="/collections/green-tea"
class="mega-menu__link"
>
<span class="wrap-text">Green Tea</span>
</a>
</li>
<li
>
<a
href="/collections/fruit-herbal"
class="mega-menu__link"
>
<span class="wrap-text">Fruit & Herbal</span>
</a>
</li>
<li
>
<a
href="/collections/benefit-teas"
class="mega-menu__link"
>
<span class="wrap-text">Benefit Teas</span>
</a>
</li>
<li
>
<a
href="/collections/soulful-blends"
class="mega-menu__link"
>
<span class="wrap-text">Soulful Blends</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="/pages/wellbeing-drinks"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">Shop By Need</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/collections/sleep"
class="mega-menu__link"
>
<span class="wrap-text">Sleep</span>
</a>
</li>
<li
>
<a
href="/collections/pause-unwind"
class="mega-menu__link"
>
<span class="wrap-text">Pause & Unwind</span>
</a>
</li>
<li
>
<a
href="/collections/digestive-health"
class="mega-menu__link"
>
<span class="wrap-text">Digestive Health</span>
</a>
</li>
<li
>
<a
href="/collections/immune-health"
class="mega-menu__link"
>
<span class="wrap-text">Immune Health</span>
</a>
</li>
<li
>
<a
href="/collections/feel-good-tea"
class="mega-menu__link"
>
<span class="wrap-text">Feel Good</span>
</a>
</li>
<li
>
<a
href="/collections/good-energy"
class="mega-menu__link"
>
<span class="wrap-text">Good Energy</span>
</a>
</li>
<li
>
<a
href="/collections/live-well"
class="mega-menu__link"
>
<span class="wrap-text">Live Well</span>
</a>
</li>
<li
>
<a
href="/collections/womens-health"
class="mega-menu__link"
>
<span class="wrap-text">Women's Health</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1 promo-column">
<div id="shopify-block-AR0hLNjllb25HcXBYW__mega-menu-block-color-1" class="shopify-block megamenu-block-wrapper"></div>
</li></ul>
<style data-shopify>
[data-menu-grid-id="MegaMenuList-3"] {
--menu-columns-desktop: 4;
--menu-columns-tablet: 4;
}
[data-menu-list-id="MegaMenuList-3"] {
--menu-columns-desktop: 4;
--menu-columns-tablet: 4;
}
</style>
</div>
</div>
</div>
</div><div id="shopify-block-AeGdSNHZUMXM1SlVLU__megamenu-block-2" class="shopify-block megamenu-block-wrapper"></div>
</li>
<li
role="presentation"
class="menu-list__list-item sparkling-tea"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/pages/twinings-sparkling-tea"
data-skip-node-update="true"
class="menu-list__link"
ref="menuitem"
>
<span class="menu-list__link-title">Sparkling Tea</span></a><div id="shopify-block-AeGdSNHZUMXM1SlVLU__megamenu-block-3" class="shopify-block megamenu-block-wrapper"></div>
</li>
<li
role="presentation"
class="menu-list__list-item gifting-teaware"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/pages/tea-gifts-hampers"
data-skip-node-update="true"
class="menu-list__link menu-list__link--has-submenu"aria-controls="submenu-5"
aria-haspopup="true"
aria-expanded="false"
ref="menuitem"
>
<span class="menu-list__link-title">Gifting & Teaware</span><span class="menu-list__link-icon svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span></a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]">
<div
id="submenu-5"
class="menu-list__submenu-inner"
style="--menu-parent-font-family: var(--font-heading--family); --menu-parent-font-style:
var(--font-heading--style); --menu-parent-font-weight: var(--font-heading--weight); --menu-parent-font-case:
none;
--menu-parent-font-size: 1rem;
--menu-parent-font-line-height:
var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) /
var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground);
--menu-child-font-family: var(--font-body--family); --menu-child-font-style:
var(--font-heading--style); --menu-child-font-weight: var(--font-heading--weight); --menu-child-font-case:
none;
--menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height);
--menu-child-font-color: var(--color-foreground);
--menu-child-active-font-color: var(--color-primary-hover);
"
>
<div class="mega-menu section section--full-width-margin section--full-width">
<div
class="mega-menu__grid"
data-menu-grid-id="MegaMenuList-5"
>
<ul
data-menu-list-id="MegaMenuList-5"
class="mega-menu__list list-unstyled"
style="--menu-image-border-radius: 0px;"
>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="/pages/tea-gifts-hampers"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">Gifting Ideas</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/collections/hampers-gift-sets"
class="mega-menu__link"
>
<span class="wrap-text">Hampers & Gift Sets</span>
</a>
</li>
<li
>
<a
href="/collections/compartment-boxes"
class="mega-menu__link"
>
<span class="wrap-text">Compartment Boxes</span>
</a>
</li>
<li
>
<a
href="/collections/filled-tea-jars"
class="mega-menu__link"
>
<span class="wrap-text">Filled Jars</span>
</a>
</li>
<li
>
<a
href="/collections/twinings-collection-tea-bag-selection-boxes"
class="mega-menu__link"
>
<span class="wrap-text">Twinings Selection Boxes</span>
</a>
</li>
<li
>
<a
href="/collections/discovery-collection"
class="mega-menu__link"
>
<span class="wrap-text">Discovery Collection</span>
</a>
</li>
<li
>
<a
href="/collections/loose-tea-caddies"
class="mega-menu__link"
>
<span class="wrap-text">Tea Caddies</span>
</a>
</li>
<li
>
<a
href="/collections/tea-experiences"
class="mega-menu__link"
>
<span class="wrap-text">Tea Experiences</span>
</a>
</li>
<li
>
<a
href="/collections/gift-boxes-bags-and-hamper-baskets"
class="mega-menu__link"
>
<span class="wrap-text">Gift Boxes, Bags & Hamper Baskets</span>
</a>
</li>
<li
>
<a
href="/collections/wellbeing-gift-sets"
class="mega-menu__link"
>
<span class="wrap-text">Wellbeing Gift Sets</span>
</a>
</li>
<li
>
<a
href="https://twinings.co.uk/collections/christmas-teas"
class="mega-menu__link"
>
<span class="wrap-text">Advent Calendar & Christmas Teas</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="/pages/teaware-by-type"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">Teaware</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/collections/teapots"
class="mega-menu__link"
>
<span class="wrap-text">Teapots</span>
</a>
</li>
<li
>
<a
href="/collections/mugs"
class="mega-menu__link"
>
<span class="wrap-text">Mugs</span>
</a>
</li>
<li
>
<a
href="/collections/teacups-saucers"
class="mega-menu__link"
>
<span class="wrap-text">Teacups & Saucers</span>
</a>
</li>
<li
>
<a
href="/collections/tea-accessories"
class="mega-menu__link"
>
<span class="wrap-text">Tea Accessories</span>
</a>
</li>
<li
>
<a
href="/collections/keepcup"
class="mega-menu__link"
>
<span class="wrap-text">KeepCups</span>
</a>
</li>
<li
>
<a
href="/pages/teaware-by-brand"
class="mega-menu__link"
>
<span class="wrap-text">Teaware By Brand</span>
</a>
</li>
<li
>
<a
href="/collections/all-teaware"
class="mega-menu__link"
>
<span class="wrap-text">All Teaware</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="/pages/confectionery-by-type"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">Biscuits & Confectionery</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/collections/luxury-biscuits"
class="mega-menu__link"
>
<span class="wrap-text">Luxury Biscuits</span>
</a>
</li>
<li
>
<a
href="/collections/chocolate-fudge"
class="mega-menu__link"
>
<span class="wrap-text">Chocolate & Fudge</span>
</a>
</li>
<li
>
<a
href="/collections/marmalade-preserves"
class="mega-menu__link"
>
<span class="wrap-text">Marmalade & Preserves</span>
</a>
</li>
<li
>
<a
href="/collections/syrups"
class="mega-menu__link"
>
<span class="wrap-text">Syrups</span>
</a>
</li>
<li
>
<a
href="/pages/confectionery-by-brand"
class="mega-menu__link"
>
<span class="wrap-text">Confectionery By Brand</span>
</a>
</li>
<li
>
<a
href="/collections/biscuits-confectionery"
class="mega-menu__link"
>
<span class="wrap-text">All Confectionery</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="#"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">A Little Help?</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/collections/tea-gift-for-her"
class="mega-menu__link"
>
<span class="wrap-text">For Her</span>
</a>
</li>
<li
>
<a
href="/collections/tea-gift-for-him"
class="mega-menu__link"
>
<span class="wrap-text">For Him</span>
</a>
</li>
<li
>
<a
href="/collections/best-selling-tea-gifts"
class="mega-menu__link"
>
<span class="wrap-text">Best Selling</span>
</a>
</li>
<li
>
<a
href="/collections/tea-gifts-under-10"
class="mega-menu__link"
>
<span class="wrap-text">Under £10</span>
</a>
</li>
<li
>
<a
href="/collections/tea-gifts-under-25"
class="mega-menu__link"
>
<span class="wrap-text">Under £25</span>
</a>
</li>
<li
>
<a
href="/collections/luxury-tea-gifts"
class="mega-menu__link"
>
<span class="wrap-text">Luxury Gifts</span>
</a>
</li>
<li
>
<a
href="/collections/easter-tea-gifts"
class="mega-menu__link"
>
<span class="wrap-text">Easter Gifts</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1 promo-column">
<div id="shopify-block-AR0hLNjllb25HcXBYW__mega-menu-block-color-2" class="shopify-block megamenu-block-wrapper"></div>
</li></ul>
<style data-shopify>
[data-menu-grid-id="MegaMenuList-5"] {
--menu-columns-desktop: 6;
--menu-columns-tablet: 4;
}
[data-menu-list-id="MegaMenuList-5"] {
--menu-columns-desktop: 6;
--menu-columns-tablet: 4;
}
</style>
</div>
</div>
</div>
</div><div id="shopify-block-AeGdSNHZUMXM1SlVLU__megamenu-block-4" class="shopify-block megamenu-block-wrapper"></div>
</li>
<li
role="presentation"
class="menu-list__list-item communi-tea"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/pages/communi-tea"
data-skip-node-update="true"
class="menu-list__link menu-list__link--has-submenu"aria-controls="submenu-6"
aria-haspopup="true"
aria-expanded="false"
ref="menuitem"
>
<span class="menu-list__link-title">Communi-tea</span><span class="menu-list__link-icon svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span></a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]">
<div
id="submenu-6"
class="menu-list__submenu-inner"
style="--menu-parent-font-family: var(--font-heading--family); --menu-parent-font-style:
var(--font-heading--style); --menu-parent-font-weight: var(--font-heading--weight); --menu-parent-font-case:
none;
--menu-parent-font-size: 1rem;
--menu-parent-font-line-height:
var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) /
var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground);
--menu-child-font-family: var(--font-body--family); --menu-child-font-style:
var(--font-heading--style); --menu-child-font-weight: var(--font-heading--weight); --menu-child-font-case:
none;
--menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height);
--menu-child-font-color: var(--color-foreground);
--menu-child-active-font-color: var(--color-primary-hover);
"
>
<div class="mega-menu section section--full-width-margin section--full-width">
<div
class="mega-menu__grid"
data-menu-grid-id="MegaMenuList-6"
>
<ul
data-menu-list-id="MegaMenuList-6"
class="mega-menu__list list-unstyled"
style="--menu-image-border-radius: 0px;"
>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="https://twinings.co.uk/blogs/news/tagged/about-twinings"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">About Twinings</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/blogs/news/why-twinings"
class="mega-menu__link"
>
<span class="wrap-text">Experience More With Twinings</span>
</a>
</li>
<li
>
<a
href="/pages/twinings-flagship-store-216-strand"
class="mega-menu__link"
>
<span class="wrap-text">Twinings Flagship Store 216 Strand</span>
</a>
</li>
<li
>
<a
href="/pages/tea-masterclass-tasting-experience"
class="mega-menu__link"
>
<span class="wrap-text">Tea Experiences & Masterclasses</span>
</a>
</li>
<li
>
<a
href="/pages/history-of-tea-and-twinings"
class="mega-menu__link"
>
<span class="wrap-text">The History of Tea and Twinings</span>
</a>
</li>
<li
>
<a
href="https://twinings.co.uk/blogs/news/tagged/meet-the-team"
class="mega-menu__link"
>
<span class="wrap-text">Meet the Team</span>
</a>
</li>
<li
>
<a
href="/pages/sourced-with-care"
class="mega-menu__link"
>
<span class="wrap-text">Sourced With Care</span>
</a>
</li>
<li
>
<a
href="/pages/careers-at-twinings"
class="mega-menu__link"
>
<span class="wrap-text">Careers at Twinings</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="https://twinings.co.uk/blogs/news/tagged/about-tea"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">About Tea</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/blogs/news/where-is-tea-from"
class="mega-menu__link"
>
<span class="wrap-text">Where is Tea From?</span>
</a>
</li>
<li
>
<a
href="/blogs/news/how-is-tea-made"
class="mega-menu__link"
>
<span class="wrap-text">How is Tea Made</span>
</a>
</li>
<li
>
<a
href="/blogs/news/how-to-taste-tea"
class="mega-menu__link"
>
<span class="wrap-text">How to Taste Tea</span>
</a>
</li>
<li
>
<a
href="/blogs/news/our-communi-tea-about-tea-tea-glossary"
class="mega-menu__link"
>
<span class="wrap-text">Tea Glossary</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="https://twinings.co.uk/blogs/news"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">Latest News & Articles</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="https://twinings.co.uk/blogs/news/tagged/about-twinings"
class="mega-menu__link"
>
<span class="wrap-text">About Twinings</span>
</a>
</li>
<li
>
<a
href="https://twinings.co.uk/blogs/news/tagged/your-wellbeing"
class="mega-menu__link"
>
<span class="wrap-text">Your Wellbeing</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="https://twinings.co.uk/blogs/recipes"
class="mega-menu__link mega-menu__link--parent"
>
<span class="wrap-text">Recipes</span>
</a>
<ul
class="list-unstyled"
style="column-count: 1;"
>
<li
>
<a
href="/blogs/recipes/tagged/drinks"
class="mega-menu__link"
>
<span class="wrap-text">Drinks</span>
</a>
</li>
<li
>
<a
href="/blogs/recipes/tagged/breakfast"
class="mega-menu__link"
>
<span class="wrap-text">Breakfast</span>
</a>
</li>
<li
>
<a
href="/blogs/recipes/tagged/lunch"
class="mega-menu__link"
>
<span class="wrap-text">Lunch</span>
</a>
</li>
<li
>
<a
href="/blogs/recipes/tagged/dessert"
class="mega-menu__link"
>
<span class="wrap-text">Desserts</span>
</a>
</li>
<li
>
<a
href="/blogs/recipes/tagged/ice-cream-lollies"
class="mega-menu__link"
>
<span class="wrap-text">Ice Cream & Lollies</span>
</a>
</li>
<li
>
<a
href="/blogs/recipes/tagged/smoothies"
class="mega-menu__link"
>
<span class="wrap-text">Smoothies</span>
</a>
</li>
<li
>
<a
href="/blogs/recipes/tagged/cakes"
class="mega-menu__link"
>
<span class="wrap-text">Cakes</span>
</a>
</li>
<li
>
<a
href="/blogs/recipes/tagged/sandwiches"
class="mega-menu__link"
>
<span class="wrap-text">Sandwiches</span>
</a>
</li>
<li
>
<a
href="/blogs/recipes/tagged/iced-tea"
class="mega-menu__link"
>
<span class="wrap-text">Iced Tea</span>
</a>
</li>
</ul>
</div>
</li>
<li class="mega-menu__column mega-menu__column--span-1 promo-column">
<div id="shopify-block-AR0hLNjllb25HcXBYW__mega-menu-block-color-3" class="shopify-block megamenu-block-wrapper"></div>
</li></ul>
<style data-shopify>
[data-menu-grid-id="MegaMenuList-6"] {
--menu-columns-desktop: 6;
--menu-columns-tablet: 4;
}
[data-menu-list-id="MegaMenuList-6"] {
--menu-columns-desktop: 6;
--menu-columns-tablet: 4;
}
</style>
</div>
</div>
</div>
</div><div id="shopify-block-AeGdSNHZUMXM1SlVLU__megamenu-block-5" class="shopify-block megamenu-block-wrapper"></div>
</li>
<li
role="presentation"
class="menu-list__list-item offers"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/collections/sale"
data-skip-node-update="true"
class="menu-list__link"
ref="menuitem"
>
<span class="menu-list__link-title">Offers</span></a><div id="shopify-block-AeGdSNHZUMXM1SlVLU__megamenu-block-6" class="shopify-block megamenu-block-wrapper"></div>
</li>
<li
class="menu-list__list-item "
role="presentation"
slot="more"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<button role="listitem" class="menu-list__link button-unstyled">
<span class="menu-list__link-title">More</span>
</button>
</li>
</overflow-list>
</nav>
</div>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/header-menu.js?v=97820922056036071501781519267"
type="module"
fetchpriority="low"
></script>
</header-menu>
<style data-shopify>
.header__underlay {
--color-submenu: rgb(255 255 255 / 1.0);
}
</style>
</div><div
class="header__column header__column--right"
data-testid="header-top-right"
>
<search-button
class="search-action search-action--hidden-on-drawer"
>
<button
on:click="#search-modal/showDialog"
class="button-unstyled header-actions__action"
aria-label="Search"
aria-haspopup="dialog"
>
<span class="hidden">
Search
</span>
<span class="svg-wrapper ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
</span>
</button>
</search-button>
<script
type="module"
src="//twinings.co.uk/cdn/shop/t/172/assets/cart-icon.js?v=157241182139685326961772550122"
fetchpriority="low"
></script>
<header-actions
>
<div
class="account-button header-actions__action color-scheme-1"
>
<shopify-store store-domain="https://twinings.co.uk" country="GB" language="en"></shopify-store>
<shopify-account
menu="customer-account-main-menu"
>
<span
slot="signed-out-avatar"
class="account-button__text header-actions__text-style hidden"
>
Account
</span>
<span
slot="signed-out-avatar"
class=""
aria-hidden="true"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="15"
height="17"
viewBox="0 0 15 17"
fill="none"
slot="signed-out-avatar"
class="account-button__icon"
>
<path
stroke="currentColor"
stroke-linejoin="round"
stroke-width="var(--icon-stroke-width)"
d="M10.375 3.813a3.063 3.063 0 1 1-6.125 0 3.063 3.063 0 0 1 6.125 0ZM7.313 9.5c-3.667 0-6.24 2.691-6.563 6.125h13.125C13.552 12.191 10.979 9.5 7.312 9.5Z"
/>
</svg>
</span>
</shopify-account>
</div>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/cart-drawer.js?v=34004441742206350331772550122"
type="module"
fetchpriority="low"
></script>
<cart-drawer-component
class="cart-drawer"
>
<template id="empty-cart-template">
<div class="cart-drawer__header">
<button
ref="closeButton"
on:click="cart-drawer-component/close"
class="button close-button cart-drawer__close-button button-unstyled"
aria-label="Close dialog"
>
<span class="svg-wrapper"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<div
class="cart-drawer__content"
aria-label="Cart"
>
<h2
class="cart-drawer__heading h4 cart-drawer__heading--empty"
id="cart-drawer-heading-empty"
>
Your cart is empty
</h2>
<div class="cart-drawer__items">
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/component-cart-items.js?v=16199507049899445991772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/component-cart-quantity-selector.js?v=105130809908858639751772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/volume-pricing-info.js?v=94479640769665442661772550122"
type="module"
fetchpriority="low"
></script>
<div
class="cart-items__wrapper"
>
<p>
Have an account? <a href="https://twinings.co.uk/customer_authentication/redirect?locale=en®ion_country=GB">Log in</a> to Checkout faster.
</p><a
class="button cart-items__empty-button"
href="/collections/all"
>
<span class="button-text">
Continue shopping
</span>
</a></div>
</div>
</div>
</template>
<button
class="header-actions__action button-unstyled"
on:click="/open"
aria-haspopup="dialog"
aria-label="Cart"
aria-describedby="cart-bubble-text"
data-testid="cart-drawer-trigger"
>
<cart-icon
class="header-actions__cart-icon"
data-testid="cart-icon"
>
<span class="hidden">
Cart
</span>
<span
class="svg-wrapper "
aria-hidden="true"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg>
</span>
<div
ref="cartBubble"
class="cart-bubble visually-hidden"
data-maintain-ratio
>
<span class="cart-bubble__background"></span>
<span
ref="cartBubbleText"
id="cart-bubble-text"
class="cart-bubble__text"
role="status"
>
<span class="visually-hidden">Total items in cart: 0
</span>
<span
class="cart-bubble__text-count hidden"
ref="cartBubbleCount"
aria-hidden="true"
data-testid="cart-bubble"
>
0</span>
</span>
</div>
</cart-icon>
</button>
<dialog
ref="dialog"
class="cart-drawer__dialog dialog-modal dialog-drawer color-scheme-1 cart-drawer--empty"
data-testid="cart-drawer-dialog"
aria-labelledby="cart-drawer-heading-empty"
scroll-lock
cart-summary-sticky="true"
>
<div
class="cart-drawer__inner"
data-hydration-key="cart-drawer-inner"
>
<cart-items-component
class="cart-items-component"
data-drawer
data-section-id="sections--19944476344518__header_section"
>
<div class="cart-drawer__header">
<button
ref="closeButton"
on:click="cart-drawer-component/close"
class="button close-button cart-drawer__close-button button-unstyled"
aria-label="Close dialog"
>
<span class="svg-wrapper"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<div
class="cart-drawer__content"
aria-label="Cart"
>
<h2
class="cart-drawer__heading h4 cart-drawer__heading--empty"
id="cart-drawer-heading-empty"
>
Your cart is empty
</h2>
<div class="cart-drawer__items">
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/component-cart-items.js?v=16199507049899445991772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/component-cart-quantity-selector.js?v=105130809908858639751772550122"
type="module"
fetchpriority="low"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/volume-pricing-info.js?v=94479640769665442661772550122"
type="module"
fetchpriority="low"
></script>
<div
class="cart-items__wrapper"
>
<p>
Have an account? <a href="https://twinings.co.uk/customer_authentication/redirect?locale=en®ion_country=GB">Log in</a> to Checkout faster.
</p><a
class="button cart-items__empty-button"
href="/collections/all"
>
<span class="button-text">
Continue shopping
</span>
</a></div>
</div>
</div>
</cart-items-component>
</div>
</dialog>
</cart-drawer-component>
</header-actions>
</div>
</div>
</div>
<div class="header__row header__navigation-bar-row color-scheme-1">
<style data-shopify>
.header__underlay {
--color-submenu: rgb(255 255 255 / 1.0);
}
</style>
</div>
</header-component>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/header.js?v=36718054510661947891772550122"
type="module"
></script>
<script type="module">
import { hydrate } from '@theme/section-hydration';
const url = new URL(window.location.href);
url.searchParams.delete('page');
hydrate('sections--19944476344518__header_section', url);
</script>
<style> #shopify-section-sections--19944476344518__header_section .header__row {border-color: #d5b55a;} </style></header>
<!-- END sections: header-group -->
</div>
<script>
// Inline header height and menu style calculations to prevent layout shift
// Note: Updates in calculateHeaderGroupHeight(), updateTransparentHeaderOffset() and setHeaderMenuStyle() utilities.js should be kept in sync with this function
(function setHeaderHeighCustomProperties() {
/*
* Header calculation functions for maintaining CSS variables
* Mimic calculateHeaderGroupHeight() in utilities.js
*/
const header = document.querySelector('header-component');
const headerGroup = document.querySelector('#header-group');
const hasHeaderSection = headerGroup?.querySelector('.header-section');
if (!header || !headerGroup) return;
const headerTopRow = header.querySelector('.header__row--top');
const headerHeight = header.offsetHeight;
// Calculate the total height of the header group
let headerGroupHeight = 0;
const children = headerGroup.children;
for (let i = 0; i < children.length; i++) {
const element = children[i];
if (element === header || !(element instanceof HTMLElement)) continue;
headerGroupHeight += element.offsetHeight;
}
// Check for transparent header special case
if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) {
headerGroupHeight += headerHeight;
}
// Set CSS variables
document.body.style.setProperty('--header-height', `${headerHeight}px`);
document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`);
if (headerTopRow) {
window.requestAnimationFrame(function () {
document.body.style.setProperty('--top-row-height', `${headerTopRow.offsetHeight}px`);
});
}
/**
* Updates CSS custom properties for transparent header offset calculation
* Mimic updateTransparentHeaderOffset() in utilities.js
*/
if (!hasHeaderSection || !header?.hasAttribute('transparent')) {
document.body.style.setProperty('--transparent-header-offset-boolean', '0');
return;
}
const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section');
const shouldApplyOffset = !hasImmediateSection ? '1' : '0';
document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset);
})();
(function setHeaderMenuStyle() {
const headerComponent = document.querySelector('#header-component');
if (headerComponent) {
const isTouchDevice = 'ontouchstart' in window && navigator.maxTouchPoints > 0;
const overflowList = headerComponent?.querySelector('overflow-list');
const hasReachedMinimum = overflowList && overflowList.hasAttribute('minimum-reached');
headerComponent.dataset.menuStyle = isTouchDevice || hasReachedMinimum ? 'drawer' : 'menu';
}
})();
</script>
<main
id="MainContent"
class="content-for-layout"
role="main"
data-page-transition-enabled="false"
data-product-transition="false"
data-template="index"
>
<section id="shopify-section-template--19944480538822__hero_jVaWmY" class="shopify-section hero-wrapper section-wrapper">
<div
id="Hero-template--19944480538822__hero_jVaWmY"
class="hero color-scheme-1"
style="
--hero-border-style: ;
--hero-border-width: px;
--hero-border-opacity: %;
--blur-opacity: 0.75;
--hero-min-height: var(--section-height-large);
"
>
<div
class="hero__container spacing-style section section--full-width"
style="--padding-block-start: 0px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 40px));"
><a
href="/collections/sparkling-tea"
class="hero__link"
>
<span class="sr-only">Link to Content</span>
</a><div
class="hero__media-grid"
style="--hero-media-count: 1;--hero-media-count-mobile: 1;--hero-media-aspect-ratio: 2.7713125845737485;"
data-testid="hero-media-wrapper"
>
<div
class="overlay overlay--solid"
style="
--overlay-layer: var(--layer-flat);
--overlay-color: rgba(0,0,0,0);
--overlay-color--end: rgba(0, 0, 0, 0);
--overlay-direction: to bottom;"
></div>
<picture
data-testid="hero-picture-1"
class="hero__media"
>
<source
media="(max-width: 749px)"
srcset="//twinings.co.uk/cdn/shop/files/Recipe_Main_Image_1300x1000_11.jpg?v=1780047273&width=416 416w,
//twinings.co.uk/cdn/shop/files/Recipe_Main_Image_1300x1000_11.jpg?v=1780047273&width=600 600w,
//twinings.co.uk/cdn/shop/files/Recipe_Main_Image_1300x1000_11.jpg?v=1780047273&width=800 800w,
//twinings.co.uk/cdn/shop/files/Recipe_Main_Image_1300x1000_11.jpg?v=1780047273&width=1200 1200w,
//twinings.co.uk/cdn/shop/files/Recipe_Main_Image_1300x1000_11.jpg?v=1780047273&width=1600 1600w
"
sizes="100vw"
width="1300"
height="1000"
>
<img src="//twinings.co.uk/cdn/shop/files/Collection_Header_Desktop_3600x1300_3.jpg?v=1780047196&width=3840" alt="Twinings tea cans on a wooden table with glasses of tea." srcset="//twinings.co.uk/cdn/shop/files/Collection_Header_Desktop_3600x1300_3.jpg?v=1780047196&width=832 832w, //twinings.co.uk/cdn/shop/files/Collection_Header_Desktop_3600x1300_3.jpg?v=1780047196&width=1200 1200w, //twinings.co.uk/cdn/shop/files/Collection_Header_Desktop_3600x1300_3.jpg?v=1780047196&width=1600 1600w, //twinings.co.uk/cdn/shop/files/Collection_Header_Desktop_3600x1300_3.jpg?v=1780047196&width=1920 1920w, //twinings.co.uk/cdn/shop/files/Collection_Header_Desktop_3600x1300_3.jpg?v=1780047196&width=2560 2560w, //twinings.co.uk/cdn/shop/files/Collection_Header_Desktop_3600x1300_3.jpg?v=1780047196&width=3840 3840w" width="2048" height="739" class="hero__media" sizes="(min-width: 750px) 100vw, 100vw" fetchpriority="high" data-testid="hero-desktop-image-1">
</picture>
</div>
<div
class="
hero__content-wrapper
layout-panel-flex
layout-panel-flex--column
mobile-column
section-content-wrapper
page-width
"
style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 24px;
--horizontal-alignment: center; --vertical-alignment: flex-end;
--vertical-alignment-mobile: flex-end;
"
>
<div
class="
group-block
group-block--height-fit
group-block--width-fit-content
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 20px;--padding-block-end: 20px;--padding-inline-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 40px));
--size-style-width: fit-content;--size-style-height: fit;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
<div
class="overlay overlay--solid"
style="
--overlay-layer: 0;
--overlay-color: #ffffff99;
--overlay-color--end: rgba(255, 255, 255, 0);
--overlay-direction: to top; --overlay-border-radius: 0px;"
></div>
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--column
mobile-column
"
style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 12px;
--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
>
<div class=" spacing-style text-block text-block--AL2ZDQmhaQ1YzZDlCb__text_GBU4M6 h2 " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<h2>Revive Your Afternoon <br/>Use Code Sparkle13<br/> for 25% off</h2>
</div>
<a
href="/collections/sparkling-tea"
class="
size-style
button
button--AeHFhRzhWRjY2cS8yV__button_3xUUFW
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Shop now
</a>
</div>
</div>
</div>
</div>
</div>
</section><div id="shopify-section-template--19944480538822__collection_list_hHbemD" class="shopify-section ui-test-collection-list">
<div class="section-background color-scheme-1"></div>
<div
class="
section
section--page-width
color-scheme-1
section-resource-list
spacing-style
gap-style
"
style="
--padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px));
--gap: 12px;
"
data-testid="collection-list"
>
<div class="section-resource-list__content">
<div
class="
group-block
group-block--height-fit
group-block--width-fill
border-style
spacing-style
size-style
color-scheme-1
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--column
mobile-column
"
style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 12px;
--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
>
<div class=" spacing-style text-block text-block--ANnRXTFV1Z2p4UWdVT__text_BC7jYW h3 " style=" --padding-block-start: 0px; --padding-block-end:16px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Featured Collections</p>
</div>
</div>
</div>
</div>
<div
class="
resource-list
resource-list--grid
"
style="--resource-list-column-gap-desktop: 10px;--resource-list-row-gap-desktop: 10px;--resource-list-columns: repeat(6, 1fr);--resource-list-columns-mobile: repeat(2, 1fr);--column-count-mobile: 2;"
data-testid="collections-list-grid"
>
<div class="resource-list__item">
<style data-shopify>
</style>
<div
class="
collection-card
border-style
"
data-block-id="AVFV2S2M1SDM2UWo1e__static-collection-card"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--horizontal-alignment: center;
--vertical-alignment: flex-start;
--background-overlay-color: ;
--gap: 8px;
">
<a
class="collection-card__link"
href="/collections/superblends"
>
<span class="visually-hidden">Superblends</span>
</a>
<div class="collection-card__inner">
<style data-shopify>
</style>
<div
class="
image-block
resource-image
spacing-style border-style
"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
100px; overflow: hidden;
"
><img src="//twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=3840" alt="" srcset="//twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=240 240w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=352 352w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=832 832w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=1200 1200w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=1600 1600w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=1920 1920w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=2560 2560w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110027.195.jpg?v=1785492062&width=3840 3840w" width="3840" height="3840" loading="eager" class="image-block__image" sizes="(min-width: 750px) 16vw, 100vw">
</div>
<div class="collection-card__content layout-panel-flex--column">
<div class=" spacing-style text-block text-block--AcUtyT0JKa2h6alJjV__collection_title_TCbgXh h5 " style=" --padding-block-start: 4px; --padding-block-end:4px; --padding-inline-start:8px; --padding-inline-end:8px; --color: var(--color-foreground-heading); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Superblends</p>
</div>
<a
href="/collections/superblends"
class="
size-style
button
button--AM0VGVllCVEVTRkRkS__button_hY8iqw
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Shop now
</a>
</div>
</div>
</div>
</div>
<!--@list/split-->
<div class="resource-list__item">
<style data-shopify>
</style>
<div
class="
collection-card
border-style
"
data-block-id="AVFV2S2M1SDM2UWo1e__static-collection-card-1"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--horizontal-alignment: center;
--vertical-alignment: flex-start;
--background-overlay-color: ;
--gap: 8px;
">
<a
class="collection-card__link"
href="/collections/sparkling-tea"
>
<span class="visually-hidden">Sparkling Tea</span>
</a>
<div class="collection-card__inner">
<style data-shopify>
</style>
<div
class="
image-block
resource-image
spacing-style border-style
"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
100px; overflow: hidden;
"
><img src="//twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=3840" alt="Sparkling Tea Featured Collection" srcset="//twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=240 240w, //twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=352 352w, //twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=832 832w, //twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=1200 1200w, //twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=1600 1600w, //twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=1920 1920w, //twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=2560 2560w, //twinings.co.uk/cdn/shop/files/Sparkling_Tea_289x289_V4.jpg?v=1778850512&width=3840 3840w" width="3840" height="3840" loading="eager" class="image-block__image" sizes="(min-width: 750px) 16vw, 100vw">
</div>
<div class="collection-card__content layout-panel-flex--column">
<div class=" spacing-style text-block text-block--AcUtyT0JKa2h6alJjV__collection_title_TCbgXh-1 h5 " style=" --padding-block-start: 4px; --padding-block-end:4px; --padding-inline-start:8px; --padding-inline-end:8px; --color: var(--color-foreground-heading); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Sparkling Tea</p>
</div>
<a
href="/collections/sparkling-tea"
class="
size-style
button
button--AM0VGVllCVEVTRkRkS__button_hY8iqw-1
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Shop now
</a>
</div>
</div>
</div>
</div>
<!--@list/split-->
<div class="resource-list__item">
<style data-shopify>
</style>
<div
class="
collection-card
border-style
"
data-block-id="AVFV2S2M1SDM2UWo1e__static-collection-card-2"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--horizontal-alignment: center;
--vertical-alignment: flex-start;
--background-overlay-color: ;
--gap: 8px;
">
<a
class="collection-card__link"
href="/collections/black-tea"
>
<span class="visually-hidden">Black Tea</span>
</a>
<div class="collection-card__inner">
<style data-shopify>
</style>
<div
class="
image-block
resource-image
spacing-style border-style
"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
100px; overflow: hidden;
"
><img src="//twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=3840" alt="" srcset="//twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=240 240w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=352 352w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=832 832w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=1200 1200w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=1600 1600w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=1920 1920w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=2560 2560w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110032.341.jpg?v=1785492062&width=3840 3840w" width="3840" height="3840" loading="eager" class="image-block__image" sizes="(min-width: 750px) 16vw, 100vw">
</div>
<div class="collection-card__content layout-panel-flex--column">
<div class=" spacing-style text-block text-block--AcUtyT0JKa2h6alJjV__collection_title_TCbgXh-2 h5 " style=" --padding-block-start: 4px; --padding-block-end:4px; --padding-inline-start:8px; --padding-inline-end:8px; --color: var(--color-foreground-heading); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Black Tea</p>
</div>
<a
href="/collections/black-tea"
class="
size-style
button
button--AM0VGVllCVEVTRkRkS__button_hY8iqw-2
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Shop now
</a>
</div>
</div>
</div>
</div>
<!--@list/split-->
<div class="resource-list__item">
<style data-shopify>
</style>
<div
class="
collection-card
border-style
"
data-block-id="AVFV2S2M1SDM2UWo1e__static-collection-card-3"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--horizontal-alignment: center;
--vertical-alignment: flex-start;
--background-overlay-color: ;
--gap: 8px;
">
<a
class="collection-card__link"
href="/collections/fruit-herbal"
>
<span class="visually-hidden">Fruit & Herbal</span>
</a>
<div class="collection-card__inner">
<style data-shopify>
</style>
<div
class="
image-block
resource-image
spacing-style border-style
"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
100px; overflow: hidden;
"
><img src="//twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=3840" alt="Fruit Herbal Featured Collection" srcset="//twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=240 240w, //twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=352 352w, //twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=832 832w, //twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=1200 1200w, //twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=1600 1600w, //twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=1920 1920w, //twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=2560 2560w, //twinings.co.uk/cdn/shop/files/Fruit_Herbal_289x289_25e39767-1035-4971-b57e-318d6de3fb8d.jpg?v=1778850512&width=3840 3840w" width="3840" height="3840" loading="eager" class="image-block__image" sizes="(min-width: 750px) 16vw, 100vw">
</div>
<div class="collection-card__content layout-panel-flex--column">
<div class=" spacing-style text-block text-block--AcUtyT0JKa2h6alJjV__collection_title_TCbgXh-3 h5 " style=" --padding-block-start: 4px; --padding-block-end:4px; --padding-inline-start:8px; --padding-inline-end:8px; --color: var(--color-foreground-heading); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Fruit & Herbal</p>
</div>
<a
href="/collections/fruit-herbal"
class="
size-style
button
button--AM0VGVllCVEVTRkRkS__button_hY8iqw-3
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Shop now
</a>
</div>
</div>
</div>
</div>
<!--@list/split-->
<div class="resource-list__item">
<style data-shopify>
</style>
<div
class="
collection-card
border-style
"
data-block-id="AVFV2S2M1SDM2UWo1e__static-collection-card-4"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--horizontal-alignment: center;
--vertical-alignment: flex-start;
--background-overlay-color: ;
--gap: 8px;
">
<a
class="collection-card__link"
href="/collections/green-tea"
>
<span class="visually-hidden">Green Tea</span>
</a>
<div class="collection-card__inner">
<style data-shopify>
</style>
<div
class="
image-block
resource-image
spacing-style border-style
"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
100px; overflow: hidden;
"
><img src="//twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=3840" alt="" srcset="//twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=240 240w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=352 352w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=832 832w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=1200 1200w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=1600 1600w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=1920 1920w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=2560 2560w, //twinings.co.uk/cdn/shop/files/image_-_2026-07-31T110037.780.jpg?v=1785492062&width=3840 3840w" width="3840" height="3840" loading="eager" class="image-block__image" sizes="(min-width: 750px) 16vw, 100vw">
</div>
<div class="collection-card__content layout-panel-flex--column">
<div class=" spacing-style text-block text-block--AcUtyT0JKa2h6alJjV__collection_title_TCbgXh-4 h5 " style=" --padding-block-start: 4px; --padding-block-end:4px; --padding-inline-start:8px; --padding-inline-end:8px; --color: var(--color-foreground-heading); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Green Tea</p>
</div>
<a
href="/collections/green-tea"
class="
size-style
button
button--AM0VGVllCVEVTRkRkS__button_hY8iqw-4
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Shop now
</a>
</div>
</div>
</div>
</div>
<!--@list/split-->
<div class="resource-list__item">
<style data-shopify>
</style>
<div
class="
collection-card
border-style
"
data-block-id="AVFV2S2M1SDM2UWo1e__static-collection-card-5"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--horizontal-alignment: center;
--vertical-alignment: flex-start;
--background-overlay-color: ;
--gap: 8px;
">
<a
class="collection-card__link"
href="/collections/loose-leaf-tea"
>
<span class="visually-hidden">Loose Leaf Tea</span>
</a>
<div class="collection-card__inner">
<style data-shopify>
</style>
<div
class="
image-block
resource-image
spacing-style border-style
"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
100px; overflow: hidden;
"
><img src="//twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=3840" alt="" srcset="//twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=240 240w, //twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=352 352w, //twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=832 832w, //twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=1200 1200w, //twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=1600 1600w, //twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=1920 1920w, //twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=2560 2560w, //twinings.co.uk/cdn/shop/files/Loose_Tea_289x289_V2.jpg?v=1778850513&width=3840 3840w" width="3840" height="3840" loading="eager" class="image-block__image" sizes="(min-width: 750px) 16vw, 100vw">
</div>
<div class="collection-card__content layout-panel-flex--column">
<div class=" spacing-style text-block text-block--AcUtyT0JKa2h6alJjV__collection_title_TCbgXh-5 h5 " style=" --padding-block-start: 4px; --padding-block-end:4px; --padding-inline-start:8px; --padding-inline-end:8px; --color: var(--color-foreground-heading); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Loose Leaf Tea</p>
</div>
<a
href="/collections/loose-leaf-tea"
class="
size-style
button
button--AM0VGVllCVEVTRkRkS__button_hY8iqw-5
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Shop now
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<style> #shopify-section-template--19944480538822__collection_list_hHbemD .resource-list__item {box-shadow: 0 3px 6px rgba(0, 0, 0, 0.161); padding: 10px;} @media (min-width: 768px) and (max-width: 1024px) {#shopify-section-template--19944480538822__collection_list_hHbemD .resource-list--grid {--resource-list-columns: repeat(3, 1fr) !important; } #shopify-section-template--19944480538822__collection_list_hHbemD .resource-list--grid .resource-image {--border-radius: 100% !important; }} </style></div><div id="shopify-section-template--19944480538822__section_Mc6A7B" class="shopify-section section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style="
"
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
"
>
<div
class="
spacing-style
layout-panel-flex
layout-panel-flex--column
section-content-wrapper
mobile-column
"
style="
--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 12px;
--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
--padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px));
"
data-testid="section-content"
>
<div class=" spacing-style text-block text-block--AS3Q1Z0FwQnZLWHVxS__text_dQbQDK h3 " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Our Best Sellers</p>
</div>
<div
class="
group-block
group-block--height-fill
group-block--width-fill
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 10px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width: 100%;--size-style-height: 100%;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--row
mobile-column
"
style="--flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 18px;
--horizontal-alignment: center; --vertical-alignment: last baseline;
--vertical-alignment-mobile: flex-end;
"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: 100%;--size-style-height: ;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;"
data-product-id="8634927644870"
id="product-card-AL3BRZFhtSVhTZDJPb__product_card_w6WDg7"
>
<a
id="28a3a8715db5dbc1b74826fcef86c988"
href="/products/earl-grey-discovery-collection-20-envelopes?variant=45122393931974"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Earl Grey Discovery Collection - 20 Envelopes
</span>
</a>
<div
class="
product-card__content
layout-panel-flex
layout-panel-flex--column
product-grid__card
spacing-style
border-style
gap-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--product-card-gap: 12px;
--quick-add-display: flex;
--quick-add-mobile-display: flex;
--quick-add-mobile-opacity: 1;
"
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AaGZacWwzUE5DTVF4Z__product_card_gallery_F9Nhxd spacing-style border-style card-gallery--badge-top-right"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--gallery-aspect-ratio: 1.0;
"
data-product-id="8634927644870"
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/earl-grey-discovery-collection-20-envelopes?variant=45122393931974"
aria-label="Earl Grey Discovery Collection - 20 Envelopes"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0, --slide-1, --slide-2, --slide-3, --slide-4;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="5" disabled="true"
>
<slideshow-container ref="slideshowContainer">
<slideshow-arrows
position="center"
><button
class="
slideshow-control slideshow-control--previous
slideshow-control--style-arrow
button button-unstyled button-unstyled--transparent
flip-x
"
aria-label="Previous slide"
on:click="/previous"
ref="previous"
>
<span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
class="
slideshow-control slideshow-control--next
slideshow-control--style-arrow
button button-unstyled button-unstyled--transparent
"
aria-label="Next slide"
on:click="/next"
ref="next"
>
<span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="32477931110598"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="32477931110598"
>
<img src="//twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=3840" alt="Earl Grey Discovery Collection - 20 Envelopes" srcset="//twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=240 240w, //twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=352 352w, //twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=832 832w, //twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=1200 1200w, //twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=1600 1600w, //twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=1920 1920w, //twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=2560 2560w, //twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div class="hzn-badge">
<div class="hzn-badge__circle">
<span>28% off</span>
</div>
</div>
<div class="hzn-ribbon">
<div class="hzn-ribbon__text">
<span>New</span>
</div>
</div>
<quick-add-component
class="quick-add color-scheme-1 "
ref="quickAdd"
data-product-title="Earl Grey Discovery Collection - 20 Envelopes"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--19944480538822__section_Mc6A7B"
data-product-id="8634927644870"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-8634927644870-AaGZacWwzUE5DTVF4Z__product_card_gallery_F9Nhxd" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="45122393931974"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//twinings.co.uk/cdn/shop/files/image_29.jpg?v=1758716992&width=100"
data-add-to-cart-animation="false"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Add</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choose
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="8634927644870" /><input type="hidden" name="section-id" value="template--19944480538822__section_Mc6A7B" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Earl Grey Discovery Collection - 20 Envelopes</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/earl-grey-discovery-collection-20-envelopes?variant=45122393931974"
>
<div class=" spacing-style text-block text-block--Ab0tDYit4ei9XVEg0e__product_title_7C7Jjc h5 text-block--align-center " style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<p>Earl Grey Discovery Collection <span style="display: block; font-size: 14px; color: #535353; margin-top: 5px;"> 20 Envelopes</span></p>
</div>
</a>
<product-price
class="text-block text-block--align-center text-center h5 spacing-style"
data-block-id="AMWllUVlUb29nYk5Eb__price_wckqUn"
data-product-id="8634927644870"
style="
--color: var(--color-foreground);
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--width: 100%;
"
>
<div ref="priceContainer">
<div>
<span role="group">
<span class="visually-hidden">Sale price </span>
<span class="price">£2.75</span>
</span>
<span role="group">
<span class="visually-hidden">Regular price </span>
<span class="compare-at-price">£3.79</span>
</span>
</div>
<div class="ruk_rating_snippet" data-sku="earl-grey-discovery-collection-20-envelopes;EGDC0925-20;EGDC0925-4x20;"></div>
</div>
</product-price>
<div>
<button
class="button disabled"
onclick="
event.preventDefault();
const wrapper = this.closest('.product-card');
if (wrapper) {
const hiddenBtn = wrapper.querySelector('.quick-add__button--choose');
if (hiddenBtn) hiddenBtn.click();
}
"
type="button"
style="margin:0 auto"
>Add to Cart</button>
</div>
</div>
</product-card>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: 100%;--size-style-height: ;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;"
data-product-id="8634916667590"
id="product-card-AQ0cwRDhNUFBCMU8rQ__product_card_XJfHYb"
>
<a
id="585c4a920fc7623adad13e6c3f6e445a"
href="/products/feel-good-collection-20-envelopes?variant=45123271590086"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Superblends Feel Good Collection - 20 Envelopes
</span>
</a>
<div
class="
product-card__content
layout-panel-flex
layout-panel-flex--column
product-grid__card
spacing-style
border-style
gap-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--product-card-gap: 12px;
--quick-add-display: flex;
--quick-add-mobile-display: flex;
--quick-add-mobile-opacity: 1;
"
>
<div
ref="cardGallery"
class="card-gallery card-gallery-ASmZCOGVGUGVVNUtqL__product_card_gallery_mk9UeD spacing-style border-style"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--gallery-aspect-ratio: 1.0;
"
data-product-id="8634916667590"
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/feel-good-collection-20-envelopes?variant=45123271590086"
aria-label="Superblends Feel Good Collection - 20 Envelopes"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1" disabled="true"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="32470169059526"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="32470169059526"
>
<img src="//twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=3840" alt="Superblends Feel Good Collection - 20 Envelopes" srcset="//twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=240 240w, //twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=352 352w, //twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=832 832w, //twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=1200 1200w, //twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=1600 1600w, //twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=1920 1920w, //twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=2560 2560w, //twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div class="hzn-badge">
<div class="hzn-badge__circle">
<span>4 For 3</span>
</div>
</div>
<div class="hzn-ribbon">
<div class="hzn-ribbon__text">
<span>New</span>
</div>
</div>
<quick-add-component
class="quick-add color-scheme-1 "
ref="quickAdd"
data-product-title="Superblends Feel Good Collection - 20 Envelopes"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--19944480538822__section_Mc6A7B"
data-product-id="8634916667590"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-8634916667590-ASmZCOGVGUGVVNUtqL__product_card_gallery_mk9UeD" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="45123271590086"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//twinings.co.uk/cdn/shop/files/image_5_19f5b4db-af4a-44ad-9caa-4f5368a96654.jpg?v=1758639983&width=100"
data-add-to-cart-animation="false"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Add</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choose
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="8634916667590" /><input type="hidden" name="section-id" value="template--19944480538822__section_Mc6A7B" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Superblends Feel Good Collection - 20 Envelopes</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/feel-good-collection-20-envelopes?variant=45123271590086"
>
<div class=" spacing-style text-block text-block--AR1A0TWNaT09JWWxzb__product_title_rETVkK h5 text-block--align-center " style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<p>Superblends Feel Good Collection <span style="display: block; font-size: 14px; color: #535353; margin-top: 5px;"> 20 Envelopes</span></p>
</div>
</a>
<product-price
class="text-block text-block--align-center text-center h5 spacing-style"
data-block-id="ASEg5a3FXS1BkcFZsS__price_7zqeJx"
data-product-id="8634916667590"
style="
--color: var(--color-foreground);
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--width: 100%;
"
>
<div ref="priceContainer">
<div>
<span class="price">£3.79</span>
</div>
<div class="ruk_rating_snippet" data-sku="feel-good-collection-20-envelopes;FGC0925-20;FGC0925-4X20;"></div>
</div>
</product-price>
<div>
<button
class="button disabled"
onclick="
event.preventDefault();
const wrapper = this.closest('.product-card');
if (wrapper) {
const hiddenBtn = wrapper.querySelector('.quick-add__button--choose');
if (hiddenBtn) hiddenBtn.click();
}
"
type="button"
style="margin: 0 auto"
>Add to Cart</button>
</div>
</div>
</product-card>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: 100%;--size-style-height: ;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;"
data-product-id="6620603351238"
id="product-card-ATmZ3T01CUElZSkp6V__product_card_4bpyMC"
>
<a
id="51de8278b739c2d5da4cbe6e04d3eea5"
href="/products/superblends-glow-20-envelopes?variant=45870431273158"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Superblends Glow - 20 Envelopes
</span>
</a>
<div
class="
product-card__content
layout-panel-flex
layout-panel-flex--column
product-grid__card
spacing-style
border-style
gap-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--product-card-gap: 12px;
--quick-add-display: flex;
--quick-add-mobile-display: flex;
--quick-add-mobile-opacity: 1;
"
>
<div
ref="cardGallery"
class="card-gallery card-gallery-ASFRMVWl5WGtjNG1EU__product_card_gallery_68yea6 spacing-style border-style"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--gallery-aspect-ratio: 1.0;
"
data-product-id="6620603351238"
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/superblends-glow-20-envelopes?variant=45870431273158"
aria-label="Superblends Glow - 20 Envelopes"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0, --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="10" disabled="true"
>
<slideshow-container ref="slideshowContainer">
<slideshow-arrows
position="center"
><button
class="
slideshow-control slideshow-control--previous
slideshow-control--style-arrow
button button-unstyled button-unstyled--transparent
flip-x
"
aria-label="Previous slide"
on:click="/previous"
ref="previous"
>
<span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
class="
slideshow-control slideshow-control--next
slideshow-control--style-arrow
button button-unstyled button-unstyled--transparent
"
aria-label="Next slide"
on:click="/next"
ref="next"
>
<span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="30612420034758"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="30612420034758"
>
<img src="//twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=3840" alt="Superblends Glow - 20 Envelopes" srcset="//twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=240 240w, //twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=352 352w, //twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=832 832w, //twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=1200 1200w, //twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=1600 1600w, //twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=1920 1920w, //twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=2560 2560w, //twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div class="hzn-badge">
<div class="hzn-badge__circle">
<span>4 For 3</span>
</div>
</div>
<quick-add-component
class="quick-add color-scheme-1 "
ref="quickAdd"
data-product-title="Superblends Glow - 20 Envelopes"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--19944480538822__section_Mc6A7B"
data-product-id="6620603351238"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-6620603351238-ASFRMVWl5WGtjNG1EU__product_card_gallery_68yea6" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="45870431273158"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//twinings.co.uk/cdn/shop/files/Superblends_Glow_Compressed_06cc8e40-f0fd-4d2b-b5e0-416563798e1b.jpg?v=1727786149&width=100"
data-add-to-cart-animation="false"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Add</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choose
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="6620603351238" /><input type="hidden" name="section-id" value="template--19944480538822__section_Mc6A7B" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Superblends Glow - 20 Envelopes</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/superblends-glow-20-envelopes?variant=45870431273158"
>
<div class=" spacing-style text-block text-block--ASWVERGJ6TmFReE9qM__product_title_RdjAzK h5 text-block--align-center " style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<p>Superblends Glow <span style="display: block; font-size: 14px; color: #535353; margin-top: 5px;"> 20 Envelopes</span></p>
</div>
</a>
<product-price
class="text-block text-block--align-center text-center h5 spacing-style"
data-block-id="AYmhOUXg4LzJoUEdJZ__price_B3E9eF"
data-product-id="6620603351238"
style="
--color: var(--color-foreground);
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--width: 100%;
"
>
<div ref="priceContainer">
<div>
<span class="price">£3.79</span>
</div>
<div class="ruk_rating_snippet" data-sku="superblends-glow-20-envelopes;SBG1217-20;SBG1217-4X20E;"></div>
</div>
</product-price>
<div>
<button
class="button disabled"
onclick="
event.preventDefault();
const wrapper = this.closest('.product-card');
if (wrapper) {
const hiddenBtn = wrapper.querySelector('.quick-add__button--choose');
if (hiddenBtn) hiddenBtn.click();
}
"
type="button"
style="margin: 0 auto"
>Add to Cart</button>
</div>
</div>
</product-card>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: 100%;--size-style-height: ;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;"
data-product-id="8746011820230"
id="product-card-AN0dRN2xPdDlQNnFrN__product_card_dbXJLg"
>
<a
id="64a4c8377ec4980fc74981345b13cda1"
href="/products/twinings-sparkling-tea-revive-12-pack?variant=45413037605062"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Twinings Sparkling Tea Revive 12 Pack
</span>
</a>
<div
class="
product-card__content
layout-panel-flex
layout-panel-flex--column
product-grid__card
spacing-style
border-style
gap-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--product-card-gap: 12px;
--quick-add-display: none;
--quick-add-mobile-display: none;
--quick-add-mobile-opacity: 0;
"
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AelhoTFN6VW1JbHlRb__product_card_gallery_kBgxGE spacing-style border-style card-gallery--badge-top-right"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--gallery-aspect-ratio: 1.0;
"
data-product-id="8746011820230"
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/twinings-sparkling-tea-revive-12-pack?variant=45413037605062"
aria-label="Twinings Sparkling Tea Revive 12 Pack"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0, --slide-1, --slide-2, --slide-3, --slide-4;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="5" disabled="true"
>
<slideshow-container ref="slideshowContainer">
<slideshow-arrows
position="center"
><button
class="
slideshow-control slideshow-control--previous
slideshow-control--style-arrow
button button-unstyled button-unstyled--transparent
flip-x
"
aria-label="Previous slide"
on:click="/previous"
ref="previous"
>
<span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
class="
slideshow-control slideshow-control--next
slideshow-control--style-arrow
button button-unstyled button-unstyled--transparent
"
aria-label="Next slide"
on:click="/next"
ref="next"
>
<span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="33185208795334"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="33185208795334"
>
<img src="//twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=3840" alt="Twinings Sparkling Tea Revive 12 Pack" srcset="//twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=240 240w, //twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=352 352w, //twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=832 832w, //twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=1200 1200w, //twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=1600 1600w, //twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=1920 1920w, //twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=2560 2560w, //twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style="
--badge-border-radius: 100px;
--badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none;
"
>
<div
class="
product-badges__badge product-badges__badge--rectangle
color-scheme-2
"
>
Sold out
</div>
</div>
<quick-add-component
class="quick-add color-scheme-1 "
ref="quickAdd"
data-product-title="Twinings Sparkling Tea Revive 12 Pack"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--19944480538822__section_Mc6A7B"
data-product-id="8746011820230"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-8746011820230-AelhoTFN6VW1JbHlRb__product_card_gallery_kBgxGE" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="45413037605062"
disabled
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//twinings.co.uk/cdn/shop/files/Product_Image_Template_1600x1600_1.png?v=1767882794&width=100"
data-add-to-cart-animation="false"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
disabled
>
<span
class="add-to-cart-text"
>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Add</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathLength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choose
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="8746011820230" /><input type="hidden" name="section-id" value="template--19944480538822__section_Mc6A7B" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Twinings Sparkling Tea Revive 12 Pack</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/twinings-sparkling-tea-revive-12-pack?variant=45413037605062"
>
<div class=" spacing-style text-block text-block--AL3NVZ1BjSUZnZDdCT__product_title_mJENGd h5 text-block--align-center " style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<p>Twinings Sparkling Tea Revive 12 Pack</p>
</div>
</a>
<product-price
class="text-block text-block--align-center text-center h5 spacing-style"
data-block-id="AWXpmSk8yek14d0Jzc__price_JWKmKd"
data-product-id="8746011820230"
style="
--color: var(--color-foreground);
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--width: 100%;
"
>
<div ref="priceContainer">
<div>
<span class="price">£16.00</span>
</div>
<div class="ruk_rating_snippet" data-sku="twinings-sparkling-tea-revive-12-pack;TSPTR-12X250ML;"></div>
</div>
</product-price>
<div>
<button
class="button disabled"
onclick="
event.preventDefault();
const wrapper = this.closest('.product-card');
if (wrapper) {
const hiddenBtn = wrapper.querySelector('.quick-add__button--add');
if (hiddenBtn) hiddenBtn.click();
}
"
type="button"
style="margin: 0 auto"
disabled
>Sold Out</button>
</div>
</div>
</product-card>
</div>
</div>
</div>
</div>
</div>
<style> #shopify-section-template--19944480538822__section_Mc6A7B .quick-add__button--choose, #shopify-section-template--19944480538822__section_Mc6A7B .quick-add__button--add {display: none;} #shopify-section-template--19944480538822__section_Mc6A7B a[ref="productTitleLink"] div {min-height: 45px;} @media (min-width: 769px) and (max-width: 1024px) {#shopify-section-template--19944480538822__section_Mc6A7B a[ref="productTitleLink"] div {min-height: 62px; }} </style></div><div id="shopify-section-template--19944480538822__section_FRV3aE" class="shopify-section section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--full-width color-scheme-1"
data-testid="ui-test-section"
style="
"
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
"
>
<div
class="
spacing-style
layout-panel-flex
layout-panel-flex--column
section-content-wrapper
mobile-column
"
style="
--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 12px;
--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
--padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px));
"
data-testid="section-content"
>
<div class=" spacing-style text-block text-block--AcVpLYm5LTVRXeldJZ__text_FBBrDx h3 " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Latest Articles</p>
</div>
<div
class="
group-block
group-block--height-fit
group-block--width-fill
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--row
mobile-column
"
style="--flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 0px;
--horizontal-alignment: center; --vertical-alignment: last baseline;
--vertical-alignment-mobile: flex-end;
"
>
<div
class="
group-block
group-block--height-fit
group-block--width-fill
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 10px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--column
mobile-column
"
style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 15px;
--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
>
<a
href="https://twinings.co.uk/pages/your-chance-to-win-a-tea-bag-bag?utm_source=Website&utm_medium=Homepage&utm_campaign=Comp&utm_content=Cat&utm_term=Slot%201"
class="
image-block image-block--AcXhnOTVzZXIyTE05c__image_mdArGU image-block--height-fit spacing-style size-style
"
style="
--ratio: 1;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
"
>
<span class="sr-only">Link to Content</span>
<img src="//twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=3840" alt="Pink tea bag-shaped pouch held by a hand against a light blue background" srcset="//twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=240 240w, //twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=352 352w, //twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=832 832w, //twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=1200 1200w, //twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=1600 1600w, //twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=1920 1920w, //twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=2560 2560w, //twinings.co.uk/cdn/shop/files/COMP_MBL.jpg?v=1782139023&width=3840 3840w" width="800" height="500" loading="lazy" class="image-block__image border-style" style="
--ratio: 1;
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
" sizes="auto, (min-width: 750px) 100vw, 100vw">
</a>
<div class=" spacing-style text-block text-block--AcFY1WUtxQWpSU3k2T__text_ztkXHy h4 text-block--align-center " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<p> Tea Bag Charms</p>
</div>
<a
href="https://twinings.co.uk/pages/your-chance-to-win-a-tea-bag-bag?utm_source=Website&utm_medium=Homepage&utm_campaign=Comp&utm_content=Cat&utm_term=Slot%201"
class="
size-style
link
link--AYVBuZlJIKzlSVUFyR__button_N88nA8
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Register Interest
</a>
</div>
</div>
<div
class="
group-block
group-block--height-fit
group-block--width-fill
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 10px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--column
mobile-column
"
style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 15px;
--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
>
<a
href="/blogs/news/summer-refresh"
class="
image-block image-block--AUktYWGZFbk9KbHZJW__image_UW8DNB image-block--height-fit spacing-style size-style
"
style="
--ratio: 1;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
"
>
<span class="sr-only">Link to Content</span>
<img src="//twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=3840" alt="Woman drinking water outdoors with a blurred natural background" srcset="//twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=240 240w, //twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=352 352w, //twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=832 832w, //twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=1200 1200w, //twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=1600 1600w, //twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=1920 1920w, //twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=2560 2560w, //twinings.co.uk/cdn/shop/files/Untitled_design_21.jpg?v=1781692003&width=3840 3840w" width="1080" height="1080" loading="lazy" class="image-block__image border-style" style="
--ratio: 1;
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
" sizes="auto, (min-width: 750px) 100vw, 100vw">
</a>
<div class=" spacing-style text-block text-block--AUkFqRDF4YlJJcXl0a__text_GjgQrc h4 text-block--align-center " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<p>Summer - Refresh Your Wellbeing</p>
</div>
<a
href="/blogs/news/summer-refresh"
class="
size-style
link
link--Aa1hjQnpjSnpaY1RPZ__button_NnTjCR
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Read Article
</a>
</div>
</div>
<div
class="
group-block
group-block--height-fit
group-block--width-fill
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 10px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--column
mobile-column
"
style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 15px;
--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
>
<a
href="https://twinings.co.uk/blogs/news/what-is-sparkling-tea?utm_source=HP&utm_medium=Clicks&utm_campaign=Bottom%20Hero%203"
class="
image-block image-block--ARUQ1VXN3UEFScVZnT__image_B7CK39 image-block--height-fit spacing-style size-style
"
style="
--ratio: 1;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
"
>
<span class="sr-only">Link to Content</span>
<img src="//twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=3840" alt="Twinings Sparkling Tea" srcset="//twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=240 240w, //twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=352 352w, //twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=832 832w, //twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=1200 1200w, //twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=1600 1600w, //twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=1920 1920w, //twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=2560 2560w, //twinings.co.uk/cdn/shop/files/240820_Twinings_Sparkling_Tea_Lifestyle_SHOT_04_0141_V03.jpg?v=1724864768&width=3840 3840w" width="1000" height="1500" loading="lazy" class="image-block__image border-style" style="
--ratio: 1;
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
" sizes="auto, (min-width: 750px) 100vw, 100vw">
</a>
<div class=" spacing-style text-block text-block--ANHZ2eVUyOUFPM3QxT__text_mAcMd7 h4 text-block--align-center " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<p>What Is Sparkling Tea?</p>
</div>
<a
href="https://twinings.co.uk/blogs/news/what-is-sparkling-tea?utm_source=HP&utm_medium=Clicks&utm_campaign=Bottom%20Hero%203"
class="
size-style
link
link--Aam4wL0NUdXU1emxaV__button_NwtMiM
"
style="--size-style-width: fit-content;--size-style-height: ;--size-style-width-mobile: fit-content; --size-style-width-mobile-min: fit-content;"
>
Read Article
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<footer>
<!-- BEGIN sections: footer-group -->
<div id="shopify-section-sections--19944476213446__logo_C4GqNk" class="shopify-section shopify-section-group-footer-group">
<div class="section-background color-scheme-1"></div>
<div
class="section section--full-width color-scheme-1"
>
<div
class="
logo-section
logo-section--center
spacing-style
"
style="
--logo-width: 130.6122448979592px;
--padding-block-start: 16px;--padding-block-end: 16px;
"
>
<div class="logo-section__image-wrapper">
<img src="//twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=3840" alt="Twinings" srcset="//twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=240 240w, //twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=352 352w, //twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=832 832w, //twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=1200 1200w, //twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=1600 1600w, //twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=1920 1920w, //twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=2560 2560w, //twinings.co.uk/cdn/shop/files/twinings.png?v=1624879184&width=3840 3840w" width="400" height="98" class="logo-section__image" sizes="(min-width: 750px) calc(var(--logo-width)), 100vw">
</div>
</div>
</div>
</div><div id="shopify-section-sections--19944476213446__footer_m9NzUG" class="shopify-section shopify-section-group-footer-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
>
<div
class="
footer-content
spacing-style
"
style="
--padding-block-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 30px));
--footer-gap: 20px;
--grid-columns: 1;
--last-row-count: 1;
--tablet-last-row-count: 1;
"
>
<div
class="
group-block
group-block--height-fit
group-block--width-fill
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--row
mobile-column
"
style="--flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 12px;
--horizontal-alignment: space-between; --vertical-alignment: flex-start;
--vertical-alignment-mobile: flex-start;
"
>
<div
class="
group-block
group-block--height-fit
group-block--width-custom
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width:65%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--row
mobile-column
"
style="--flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 12px;
--horizontal-alignment: flex-start; --vertical-alignment: flex-start;
--vertical-alignment-mobile: flex-start;
"
>
<accordion-custom
class="
menu
menu--accordion menu--caret
menu--dividers
"
data-disable-on-desktop="true"
open-by-default-on-desktop
>
<details
class="
menu__details
spacing-style
"
data-testid="menu-details"
style="
--spacing--size: 12px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
"
>
<summary class="menu__heading h5">
<span class="menu__heading__default">Customer Care</span>
<span class="menu__heading__accordion">
Customer Care
<span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</span>
</summary>
<nav
class="details-content"
>
<ul class="list-unstyled">
<li class="menu__item paragraph">
<a href="/pages/contact-us">
Contact Us
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/faqs">
FAQs
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/shipping-policy">
Shipping Policy
</a>
</li>
<li class="menu__item paragraph">
<a href="https://twinings.co.uk/pages/media-enquiries">
Media Enquiries
</a>
</li>
</ul>
</nav>
</details>
</accordion-custom>
<accordion-custom
class="
menu
menu--accordion menu--caret
menu--dividers
"
data-disable-on-desktop="true"
open-by-default-on-desktop
>
<details
class="
menu__details
spacing-style
"
data-testid="menu-details"
style="
--spacing--size: 12px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
"
>
<summary class="menu__heading h5">
<span class="menu__heading__default">Stockists</span>
<span class="menu__heading__accordion">
Stockists
<span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</span>
</summary>
<nav
class="details-content"
>
<ul class="list-unstyled">
<li class="menu__item paragraph">
<a href="/pages/become-a-tea-stockist">
Become a Tea Stockist
</a>
</li>
<li class="menu__item paragraph">
<a href="https://trade.twinings.co.uk/">
Trade Customers
</a>
</li>
</ul>
</nav>
</details>
</accordion-custom>
<accordion-custom
class="
menu
menu--accordion menu--caret
menu--dividers
"
data-disable-on-desktop="true"
open-by-default-on-desktop
>
<details
class="
menu__details
spacing-style
"
data-testid="menu-details"
style="
--spacing--size: 12px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
"
>
<summary class="menu__heading h5">
<span class="menu__heading__default">Information</span>
<span class="menu__heading__accordion">
Information
<span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</span>
</summary>
<nav
class="details-content"
>
<ul class="list-unstyled">
<li class="menu__item paragraph">
<a href="/pages/sourced-with-care">
Sourced With Care
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/careers-at-twinings">
Careers at Twinings
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/twinings-affiliate-program">
Become an Affiliate
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/section-172-statement">
Section 172 Statement
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/modern-slavery-and-human-trafficking-statement">
Modern Slavery Statement
</a>
</li>
<li class="menu__item paragraph">
<a href="https://twinings.co.uk/tools/sitemap">
Sitemap
</a>
</li>
<li class="menu__item paragraph">
<a href="https://twinings.co.uk/pages/twinings-student-discount">
Student Discount
</a>
</li>
<li class="menu__item paragraph">
<a href="https://twinings.co.uk/pages/twinings-key-workers-discount">
Key Workers Discount
</a>
</li>
</ul>
</nav>
</details>
</accordion-custom>
<accordion-custom
class="
menu
menu--accordion menu--caret
menu--dividers
"
data-disable-on-desktop="true"
open-by-default-on-desktop
>
<details
class="
menu__details
spacing-style
"
data-testid="menu-details"
style="
--spacing--size: 12px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
"
>
<summary class="menu__heading h5">
<span class="menu__heading__default">Terms & Policies</span>
<span class="menu__heading__accordion">
Terms & Policies
<span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
</span>
</summary>
<nav
class="details-content"
>
<ul class="list-unstyled">
<li class="menu__item paragraph">
<a href="/policies/terms-of-service">
Terms of Service
</a>
</li>
<li class="menu__item paragraph">
<a href="/policies/refund-policy">
Refund Policy
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/cookie-policy">
Cookie Policy
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/privacy-policy">
Privacy Policy
</a>
</li>
<li class="menu__item paragraph">
<a href="https://twinings.co.uk/pages/promotion-terms-conditions">
Promotion Terms & Conditions
</a>
</li>
<li class="menu__item paragraph">
<a href="/pages/reviews-policy">
Reviews Policy
</a>
</li>
</ul>
</nav>
</details>
</accordion-custom>
</div>
</div>
<div
class="
group-block
group-block--height-fit
group-block--width-custom
border-style
spacing-style
size-style
"
style="
--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
--size-style-width:30%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
"
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="
group-block-content
layout-panel-flex
layout-panel-flex--column
mobile-column
"
style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 12px;
--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
>
<div id="shopify-block-AUHo1QVcxZUlmTXU2V__forms_inline_46LT3e" class="shopify-block shopify-app-block"><div
id='AUHo1QVcxZUlmTXU2V__forms_inline_46LT3e'
data-form-root='true'
data-forms-id='forms-root-243064'
data-forms-text-color='#202020'
data-forms-button-background-color='#202020'
data-forms-button-label-color='#ffffff'
data-forms-links-color='#1878b9'
data-forms-errors-color='#e02229'
data-forms-text-alignment='left'
data-forms-alignment='center'
data-forms-padding-top='0'
data-forms-padding-right='0'
data-forms-padding-bottom='24'
data-forms-padding-left='0'
></div>
<script>
window['ShopifyForms'] = {
...window['ShopifyForms'],
currentPageType: "index"
};
</script>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div><div id="shopify-section-sections--19944476213446__section_fpxaMT" class="shopify-section shopify-section-group-footer-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style="
"
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:
rgb(var(--color-border-rgb) / 1.0); --border-radius:
0px;
"
>
<div
class="
spacing-style
layout-panel-flex
layout-panel-flex--row
section-content-wrapper
"
style="
--flex-direction: row; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
--gap: 12px;
--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
--padding-block-start: 0px;--padding-block-end: 0px;
"
data-testid="section-content"
>
<div id="shopify-block-AT3RyQ3RJNElydU9mR__icon_fCPWGm" class="shopify-block icon-block">
<img src="//twinings.co.uk/cdn/shop/files/image_-_2026-05-15T140604.206.jpg?v=1778850386&width=1200" alt="" srcset="//twinings.co.uk/cdn/shop/files/image_-_2026-05-15T140604.206.jpg?v=1778850386&width=240 240w, //twinings.co.uk/cdn/shop/files/image_-_2026-05-15T140604.206.jpg?v=1778850386&width=352 352w, //twinings.co.uk/cdn/shop/files/image_-_2026-05-15T140604.206.jpg?v=1778850386&width=832 832w, //twinings.co.uk/cdn/shop/files/image_-_2026-05-15T140604.206.jpg?v=1778850386&width=1200 1200w" width="1200" height="1582" class="icon-block__media icon-block-AT3RyQ3RJNElydU9mR__icon_fCPWGm" style="width: 100px;" sizes="(min-width: 1024px) 1024px, 100vw, 100vw">
</div>
<rte-formatter class=" spacing-style text-block text-block--ATmFYanZIMnNhVGhmQ__text_gejKxP rte rte " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: fit-content; --max-width: var(--max-width--body-narrow); ">
<p>By Appointment to His Majesty King Charles III<br/>Tea and Coffee Merchants.<br/>R. Twining and Company Limited</p>
</rte-formatter>
</div>
</div>
</div>
<style> #shopify-section-sections--19944476213446__section_fpxaMT .section-content-wrapper.section-content-wrapper {justify-content: flex-end;} </style></div><div id="shopify-section-sections--19944476213446__divider_DcH7cB" class="shopify-section shopify-section-group-footer-group">
<div class="section-background color-scheme-1"></div>
<div
class="section section--full-width color-scheme-1"
data-testid="divider-sections--19944476213446__divider_DcH7cB"
>
<div
class="divider divider-sections--19944476213446__divider_DcH7cB spacing-style"
style="
--divider-justify-content: center;
--padding-block-start: 16px;--padding-block-end: 16px;
"
>
<span
class="divider__line"
style="
--divider-border-thickness: 1px;
--divider-flex-basis: 100%;
"
></span>
</div>
</div>
</div><div id="shopify-section-sections--19944476213446__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
>
<div
class="utilities utilities--blocks-2 spacing-style"
style="--padding-block-start: 20px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); --border-width: 0px; --gap: 24px;"
data-testid="footer-utilities"
>
<div
class="
footer-utilities__group-copyright
custom-typography
custom-font-size
"
style="
--color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);"
>
<span class="footer-utilities__text">
© 2026
<a href="/" title="">Twinings</a></span>
</div>
<div
class="social-icons__wrapper"
>
<div
class="social-icons__icon-wrapper"
>
<a
href="https://www.facebook.com/twiningsuk/"
target="_blank"
rel="noopener noreferrer"
aria-label="Facebook"
>
<span class="social-icons__icon-label">Facebook</span>
<svg
class="social-icons__icon icon-default"
aria-hidden="true"
focusable="false"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
>
<path d="M18 10.049C18 5.603 14.419 2 10 2c-4.419 0-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951Z" /></svg>
</a>
</div>
<div
class="social-icons__icon-wrapper"
>
<a
href="https://www.instagram.com/twiningsuk"
target="_blank"
rel="noopener noreferrer"
aria-label="Instagram"
>
<span class="social-icons__icon-label">Instagram</span>
<svg
class="social-icons__icon icon-default"
aria-hidden="true"
focusable="false"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
>
<path
fill-rule="evenodd"
d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.43 2.43 0 0 0-.912.593 2.486 2.486 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23 0 2.134.01 2.39.046 3.229.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046 2.134 0 2.39-.01 3.23-.046.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23 0-2.134-.01-2.39-.055-3.229-.027-.784-.164-1.204-.274-1.495a2.43 2.43 0 0 0-.593-.913 2.604 2.604 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045 1.1-.014 2.202.001 3.302.045.664.014 1.321.14 1.943.374a3.968 3.968 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.896 3.896 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.152 4.152 0 0 1-1.414-.922 4.128 4.128 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.44 4.44 0 0 1 .92-1.414 4.18 4.18 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805Zm1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93Zm5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355Z"
clip-rule="evenodd"
/></svg>
</a>
</div>
<div
class="social-icons__icon-wrapper"
>
<a
href="https://www.youtube.com/user/twiningsteauk"
target="_blank"
rel="noopener noreferrer"
aria-label="Youtube"
>
<span class="social-icons__icon-label">Youtube</span>
<svg
class="social-icons__icon icon-default"
aria-hidden="true"
focusable="false"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
>
<path d="M18.16 5.87c.34 1.309.34 4.08.34 4.08s0 2.771-.34 4.08a2.125 2.125 0 0 1-1.53 1.53c-1.309.34-6.63.34-6.63.34s-5.321 0-6.63-.34a2.125 2.125 0 0 1-1.53-1.53c-.34-1.309-.34-4.08-.34-4.08s0-2.771.34-4.08a2.173 2.173 0 0 1 1.53-1.53C4.679 4 10 4 10 4s5.321 0 6.63.34a2.173 2.173 0 0 1 1.53 1.53ZM8.3 12.5l4.42-2.55L8.3 7.4v5.1Z" /></svg>
</a>
</div>
<div
class="social-icons__icon-wrapper"
>
<a
href="https://twitter.com/twiningsuk"
target="_blank"
rel="noopener noreferrer"
aria-label="Twitter"
>
<span class="social-icons__icon-label">Twitter</span>
<svg
class="social-icons__icon icon-default"
aria-hidden="true"
focusable="false"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M7.27301 2.80005L10.8 7.82205L15.218 2.80005H16.986L11.586 8.93905L17.385 17.193H12.727L8.99701 11.883L4.32601 17.193H2.55801L8.21201 10.766L2.61501 2.80005H7.27301ZM13.515 15.925L5.07001 4.10905H6.47501L14.921 15.925H13.515Z"
fill="currentColor"
/></svg>
</a>
</div>
</div>
</div>
</div>
</div>
<!-- END sections: footer-group -->
</footer>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/dialog.js?v=150888536568694194021772550122"
type="module"
></script>
<script
src="//twinings.co.uk/cdn/shop/t/172/assets/predictive-search.js?v=149240552485540508541772550122"
type="module"
fetchpriority="low"
></script>
<dialog-component
id="search-modal"
class="search-modal"
>
<dialog
ref="dialog"
on:click="/closeDialogOnClickOutside"
on:keydown="/closeDialogOnEscapePress"
class="search-modal__content dialog-modal"
scroll-lock
aria-labelledby="search-modal-heading"
>
<h2
id="search-modal-heading"
class="visually-hidden"
>
Search
</h2>
<predictive-search-component
class="predictive-search color-scheme-1"
style="--product-corner-radius: 0px; --card-corner-radius: 4px;"
data-section-id="predictive-search"
data-testid="search-component--modal"
role="search"
aria-label="Search"
>
<form
action="/search"
method="get"
role="search"
class="predictive-search-form"
ref="form"
on:keydown="/onSearchKeyDown"
>
<div
class="predictive-search-form__header"
>
<div class="predictive-search-form__header-inner">
<label
for="cmdk-input"
class="visually-hidden"
>Search</label>
<input
class="search-input"
id="cmdk-input"
type="search"
name="q"
role="combobox"
aria-expanded="false"
aria-owns="predictive-search-results"
aria-controls="predictive-search-results"
aria-haspopup="listbox"
aria-autocomplete="list"
autocomplete="off"
placeholder="Search"
ref="searchInput"
on:input="/search"
on:keydown="/onSearchKeyDown"
>
<input
name="options[prefix]"
type="hidden"
value="last"
>
<span class="svg-wrapper predictive-search__icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
</span>
<button
type="button"
class="button-unstyled predictive-search__reset-button"
ref="resetButton"
hidden
on:click="/resetSearch"
>
Clear
</button>
</div>
<button
type="button"
class="button predictive-search__close-modal-button"
aria-label="Close dialog"
on:click="dialog-component/closeDialog"
ref="closeModalButton"
>
<span class="svg-wrapper">
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<div class="predictive-search-form__content-wrapper">
<div
class="predictive-search-form__content"
tabindex="-1"
ref="predictiveSearchResults"
on:click="/handleModalClick"
>
<div
id="predictive-search-results"
class="predictive-search-dropdown"
role="listbox"
aria-expanded="true"
style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);"
>
<div class="predictive-search-results__inner">
<div
id="predictive-search-products"
class="predictive-search-results__products"
data-testid="products-list-default--modal"
>
<h4 class="predictive-search-results__title">
Products
</h4>
<ul
class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled"
role="listbox"
aria-label="Products"
>
<li
class="predictive-search-results__card predictive-search-results__card--product"
ref="resultsItems[]"
>
<div
class="resource-card"
data-resource-type="product"
>
<a
class="resource-card__link"
href="/products/superblends-sleep-20-envelopes"
>
<span class="visually-hidden">
Superblends Sleep - 20 Envelopes
</span>
</a>
<div
class="resource-card__media"
style="--resource-card-aspect-ratio: 4 / 5;"
>
<img src="//twinings.co.uk/cdn/shop/files/Superblends_Sleep_Compressed_028d9b76-2763-434d-b94b-04238bdaf8fc.jpg?v=1727786149&width=500" alt="" srcset="//twinings.co.uk/cdn/shop/files/Superblends_Sleep_Compressed_028d9b76-2763-434d-b94b-04238bdaf8fc.jpg?v=1727786149&width=240 240w, //twinings.co.uk/cdn/shop/files/Superblends_Sleep_Compressed_028d9b76-2763-434d-b94b-04238bdaf8fc.jpg?v=1727786149&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;">
<img src="//twinings.co.uk/cdn/shop/files/Sleep_1600x1600_V2.jpg?v=1739542302&width=500" alt="Superblends Sleep - 20 Envelopes" srcset="//twinings.co.uk/cdn/shop/files/Sleep_1600x1600_V2.jpg?v=1739542302&width=240 240w, //twinings.co.uk/cdn/shop/files/Sleep_1600x1600_V2.jpg?v=1739542302&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" ref="" data-media-id="31274743398598" style="object-position: 50.0% 50.0%;">
</div>
<div class="resource-card__content">
<p class="resource-card__title paragraph">Superblends Sleep - 20 Envelopes</p>
<div ref="priceContainer">
<div>
<span class="price">£3.79</span>
</div>
<div class="ruk_rating_snippet" data-sku="superblends-sleep-20-envelopes;SBS1217-20;SBS1217-4X20E;"></div>
</div>
</div>
</div>
</li>
<li
class="predictive-search-results__card predictive-search-results__card--product"
ref="resultsItems[]"
>
<div
class="resource-card"
data-resource-type="product"
>
<a
class="resource-card__link"
href="/products/superblends-immune-support-20-envelopes"
>
<span class="visually-hidden">
Superblends Immune Support - 20 Envelopes
</span>
</a>
<div
class="resource-card__media"
style="--resource-card-aspect-ratio: 4 / 5;"
>
<img src="//twinings.co.uk/cdn/shop/files/Superblends_Immune_Support_Compressed_a78680b7-7f92-467d-8daf-449e35a938db.jpg?v=1740050094&width=500" alt="" srcset="//twinings.co.uk/cdn/shop/files/Superblends_Immune_Support_Compressed_a78680b7-7f92-467d-8daf-449e35a938db.jpg?v=1740050094&width=240 240w, //twinings.co.uk/cdn/shop/files/Superblends_Immune_Support_Compressed_a78680b7-7f92-467d-8daf-449e35a938db.jpg?v=1740050094&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;">
<img src="//twinings.co.uk/cdn/shop/files/Immune_Support_1600x1600_V1.jpg?v=1740050094&width=500" alt="Superblends Immune Support - 20 Envelopes" srcset="//twinings.co.uk/cdn/shop/files/Immune_Support_1600x1600_V1.jpg?v=1740050094&width=240 240w, //twinings.co.uk/cdn/shop/files/Immune_Support_1600x1600_V1.jpg?v=1740050094&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" ref="" data-media-id="31275015340230" style="object-position: 50.0% 50.0%;">
</div>
<div class="resource-card__content">
<p class="resource-card__title paragraph">Superblends Immune Support - 20 Envelopes</p>
<div ref="priceContainer">
<div>
<span class="price">£3.79</span>
</div>
<div class="ruk_rating_snippet" data-sku="superblends-immune-support-20-envelopes;SBIS0921-20;SBIS0921-4X20E;"></div>
</div>
</div>
</div>
</li>
<li
class="predictive-search-results__card predictive-search-results__card--product"
ref="resultsItems[]"
>
<div
class="resource-card"
data-resource-type="product"
>
<a
class="resource-card__link"
href="/products/superblends-wellbeing-collection-20-envelopes"
>
<span class="visually-hidden">
Superblends Wellbeing Collection - 20 Envelopes
</span>
</a>
<div
class="resource-card__media"
style="--resource-card-aspect-ratio: 4 / 5;"
>
<img src="//twinings.co.uk/cdn/shop/files/Superblends_Wellbeing_Collection_Compressed.jpg?v=1727778984&width=500" alt="" srcset="//twinings.co.uk/cdn/shop/files/Superblends_Wellbeing_Collection_Compressed.jpg?v=1727778984&width=240 240w, //twinings.co.uk/cdn/shop/files/Superblends_Wellbeing_Collection_Compressed.jpg?v=1727778984&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;">
<img src="//twinings.co.uk/cdn/shop/files/Wellbeing_1600x1600_V1.jpg?v=1739535576&width=500" alt="Superblends Wellbeing Collection - 20 Envelopes" srcset="//twinings.co.uk/cdn/shop/files/Wellbeing_1600x1600_V1.jpg?v=1739535576&width=240 240w, //twinings.co.uk/cdn/shop/files/Wellbeing_1600x1600_V1.jpg?v=1739535576&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" ref="" data-media-id="31274386194630" style="object-position: 50.0% 50.0%;">
</div>
<div class="resource-card__content">
<p class="resource-card__title paragraph">Superblends Wellbeing Collection - 20 Envelopes</p>
<div ref="priceContainer">
<div>
<span class="price">£3.79</span>
</div>
<div class="ruk_rating_snippet" data-sku="superblends-wellbeing-collection-20-envelopes;SBWBC0921-20;"></div>
</div>
</div>
</div>
</li>
<li
class="predictive-search-results__card predictive-search-results__card--product"
ref="resultsItems[]"
>
<div
class="resource-card"
data-resource-type="product"
>
<a
class="resource-card__link"
href="/products/fruits-selection-20-envelopes"
>
<span class="visually-hidden">
Fruit Discovery Collection - 20 Envelopes
</span>
</a>
<div
class="resource-card__media"
style="--resource-card-aspect-ratio: 4 / 5;"
>
<img src="//twinings.co.uk/cdn/shop/files/DAT-Fruit_Discovery_Collection_New_1.webp?v=1761842432&width=500" alt="" srcset="//twinings.co.uk/cdn/shop/files/DAT-Fruit_Discovery_Collection_New_1.webp?v=1761842432&width=240 240w, //twinings.co.uk/cdn/shop/files/DAT-Fruit_Discovery_Collection_New_1.webp?v=1761842432&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;">
</div>
<div class="resource-card__content">
<p class="resource-card__title paragraph">Fruit Discovery Collection - 20 Envelopes</p>
<div ref="priceContainer">
<div>
<span class="price">£3.79</span>
</div>
<div class="ruk_rating_snippet" data-sku="fruits-selection-20-envelopes;FHFS0116-20;"></div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="predictive-search-form__footer">
<button
class="button predictive-search__search-button"
ref="viewAllButton"
>
View all
</button>
</div>
</div>
</form>
</predictive-search-component>
</dialog>
</dialog-component>
<quick-add-dialog id="quick-add-dialog">
<dialog
class="quick-add-modal dialog-modal color-scheme-1"
ref="dialog"
scroll-lock
>
<button
ref="closeButton"
on:click="/closeDialog"
class="button button-unstyled close-button quick-add-modal__close"
aria-label="Close dialog"
><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
<div
id="quick-add-modal-content"
class="quick-add-modal__content"
></div>
</dialog>
</quick-add-dialog>
<button id="scrollToTopBtn" aria-label="Scroll to top"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</button>
<style>
#scrollToTopBtn {
position: fixed;
bottom: 15px;
right: 30px;
z-index: 999;
background: #d5b55a;
color: #fff;
border: none;
border-radius: 50%;
width: 44px;
height: 44px;
font-size: 22px;
cursor: pointer;
display: none;
align-items: center;
justify-content: center;
transition: opacity 0.3s ease, transform 0.3s ease;
}
#scrollToTopBtn:hover {
transform: translateY(-3px);
opacity: 0.85;
}
button#scrollToTopBtn svg {
rotate: 270deg;
}
</style>
<script>
const scrollBtn = document.getElementById('scrollToTopBtn');
window.addEventListener('scroll', () => {
if (window.pageYOffset > 300) {
scrollBtn.style.display = 'flex';
} else {
scrollBtn.style.display = 'none';
}
});
scrollBtn.addEventListener('click', () => {
window.scrollTo({
top: 0,
behavior: 'smooth',
});
});
</script>
<div id="shopify-block-AYjNLSHk4TmJUV2VSW__2783554875815837874" class="shopify-block shopify-app-block">
<!-- BEGIN app snippet: app-data -->
<script>
(function () {
const s = document.createElement('script');
s.src = 'https://cdn-accessibility.avada.io/scripttag/sea-accessibility-loader.min.js?v=' + Date.now();
s.defer = true;
document.head.appendChild(s);
})();
</script>
<link href='https://fonts.cdnfonts.com/css/noto-serif-gurmukhi' rel='stylesheet'>
<link href='https://fonts.cdnfonts.com/css/open-dyslexic' rel='stylesheet'>
<style>
@font-face {
font-family: 'Sea-Accessibility-Open-Dyslexic';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('https://fonts.cdnfonts.com/s/29616/open-dyslexic.woff') format('woff');
}
@font-face {
font-family: 'Sea-Accessibility';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('https://fonts.cdnfonts.com/s/107479/NotoSerifGurmukhi[wght].woff') format('woff');
}
@font-face {
font-family: 'Sea-Accessibility';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('https://fonts.cdnfonts.com/s/107479/NotoSerifGurmukhi[wght].woff') format('woff');
}
</style>
<script>
try {
const [dataMetafields = {}] = [
{"appStatus":true,"removeBrandingForNewShop":true,"disabledToggleClassAtModeReaderView":false,"showCloseButton":false,"redetectOnLocaleChange":false,"menuSetting":{"allowResizeContent":true,"allowChangeLanguage":true,"allowAccessibilityProfiles":true,"enableShowHideWidget":true,"allowResetAdjustment":true,"enableStatementLink":true,"enableContrast":true,"enableSaturation":true,"enableHighlightLinks":true,"enableTextSize":true,"enableTextAlignment":true,"enableLetterSpacing":true,"enableLineSpacing":true,"enableFont":true,"enableTextMagnifier":true,"enableMuteSound":true,"enableHideImages":true,"enableStopAnimations":true,"enableReaderView":true,"enableReadingGuide":true,"enablePageStructure":true,"enableBWCursor":true,"enableTextToSpeech":true,"enableAutoAltText":true,"statementLink":"https://twinings-uk.myshopify.com/pages/accessibility-statement","shopId":"Z7eQfJSKzp9bghnNjQ8p","createdAt":"2025-06-18T08:11:36.517Z","id":"ilCXIwDwsy4hk9zQrFUX"},"widgetSetting":{"preset":"mono","footerTitle":"Powered by Sea","detectLanguage":["browser-language"],"mobileRatio":"full-screen","buttonIcon":"pajamas","buttonSize":"small","textFont":"inherit","defaultLanguage":"en-US","customCSS":"","headerTitle":"","brandPrimaryColor":"#272D36","brandSecondaryColor":"#272D36","brandBgColor":"#F5F5F5","titleSectionTextColor":"#272D36","titleSectionBgColor":"#FFFFFF","resetButtonTextColor":"#FFFFFF","resetButtonBgColor":"#272D36","hideButtonTextColor":"#B50700","shopId":"Z7eQfJSKzp9bghnNjQ8p","id":"SoQZ1fU95Hra2ooPz15C","buttonPosition":"middle","position":"right","createdAt":"2025-06-18T08:11:36.518Z","inlineTextLocalized":{"en-US":"Accessibility","en-GB":"Accessibility","fr":"Accessibilité","de":"Barrierefreiheit","it":"Accessibilità","es":"Accesibilidad","el":"Προσβασιμότητα","pt-PT":"Acessibilidade","pt-BR":"Acessibilidade","cs":"Přístupnost","da":"Tilgængelighed","nl":"Toegankelijkheid","fi":"Esteettömyys","sv":"Tillgänglighet","no":"Tilgjengelighet","pl":"Dostępność","vi":"Trợ năng","ja":"アクセシビリティ","ko":"접근성","zh-CN":"无障碍","zh-TW":"無障礙","th":"การเข้าถึง","tr":"Erişilebilirlik","ru":"Доступность","he":"נגישות","hi":"सुलभता","id":"Aksesibilitas","et":"Ligipääsetavus","ro":"Accesibilitate","lt":"Prieinamumas","ar":"إمكانية الوصول"},"inlineTextMode":"worldwide"},"translations":{},"shopId":"Z7eQfJSKzp9bghnNjQ8p","lastUpdated":"2026-08-19T07:51:49.720Z"},
];
const isBlock = false;
const isV2Shop = false;
const initData = () => ({
...dataMetafields,
isBlock,
isV2Shop,
template: "index",
});
if (!window.SEA_ACCESSIBILITY) {
window.SEA_ACCESSIBILITY = initData();
}
window.SEA_ACCESSIBILITY = {...window.SEA_ACCESSIBILITY, ...initData()};
} catch (e) {
console.error('Error assigning sea accessibility variable', e);
}
</script>
<style id="sea-custom-css"></style>
<!-- END app snippet -->
</div><div id="shopify-block-AbmZNMkJoZTRRcUIvb__10830403595879607806" class="shopify-block shopify-app-block"><style>
.rio-withoutBranding .FloatingWidget .R-Logo,
.rio-withoutBranding .CarouselWidget .R-ReviewsioLogo,
.rio-withoutBranding .ElementsWidget .footer__reviewsLogo-container,
.rio-withoutBranding .QnaWidget .footer__reviewsLogo-container,
.rio-withoutBranding .MediaGalleryWidget-prefix .R-ReviewsioLogo,
.rio-withoutBranding .RatingBarWidget .R-PlatformIcon {
display: none !important;
}
</style>
<script>
window.__REVIEWS_EDITOR__ = false;
window.__REVIEWS_DEMO_CONFIG__ = {
store: 'ecommerce-demo-store',
sku: 'bunch_of_flowers_sku;blue_flowers_sku;white_flowers_sku;pastel_flowers_sku;summer_selection_sku',
widgetIds: {
nuggets: 'W10cpKyjl72VtHv6',
ugc: '7sG9C5qNeKpvhykZ',
floating: 'GBvqmKV1Zy9H4Mpd',
ratingBar: 'pxNMXi7FTlODgr8Q',
survey: 'uLJcD7bFpGMf1Z0C'
},
surveyCampaignId: '392'
};
var reviewsIoStore = 'twinings-uk.myshopify.com';
var reviewsIoEnableSyndication = false;
var reviewsIoLang = 'en';
</script>
<script defer src="https://cdn.shopify.com/extensions/019f1dcd-2e41-759b-8190-d404bf58416d/reviews-co-uk-product-and-merchant-review-collection-59/assets/reviewsio-preview.js"></script>
</div><div id="shopify-block-AY3pVa3ZJR0E3aHF6e__10436698916776057164" class="shopify-block shopify-app-block"><script id="subscription-helper">
if (!window.AppstleIncluded) {
window.AppstleIncluded = true;
window.RS = Window.RS || {};
RS.Config = {
"selectors": {
"payment_button_selectors": "form[action$='/cart/add'] .shopify-payment-button",
"subscriptionLinkSelector": ".c-account__col",
"atcButtonPlacement": "BEFORE",
"subscriptionLinkPlacement": "AFTER",
"cartRowSelector": "",
"cartLineItemSelector": "",
"cartLineItemPerQuantityPriceSelector": "",
"cartLineItemTotalPriceSelector": "",
"cartLineItemSellingPlanNameSelector": "",
"cartSubTotalSelector" : "",
"cartLineItemPriceSelector": "",
"cartLineItemPlacement": "BEFORE",
"cartHiddenAttributesSelector": "",
"buildABoxDiscountSelector": "",
},
"baseUrl": "https://subscription-admin.appstle.com",
"usedTranslation": "true",
"enableCartWidgetFeature": "false",
"storefrontAnalyticsForwardingEnabled": false,
"appstleStorefrontAnalyticsPath": "https://subscription-admin.appstle.com/assets/js/appstle-storefront-analytics.min.js?shop=twinings-uk.myshopify.com&v=1781260251301",
"useUrlWithCustomerId": "true",
"atcButtonSelector": "",
"moneyFormat": "\u00A3{{amount}}",
"oneTimePurchaseText": "One Time Purchase",
"minimumQuantityMessage": "",
"tapToSelectText": "Tap To Select",
"bundleDiscountTextV2": "bundle discount extra: {{bundleDiscount}} off",
"productPageUnitPriceSelectorV2": "",
"monthsFrequencyTextV2": "Months",
"monthlyLabelTextV2": "Monthly",
"monthFrequencyTextV2": "Month",
"weeksFrequencyTextV2": "Weeks",
"weeklyLabelTextV2": "Weekly",
"weekFrequencyTextV2": "Week",
"daysFrequencyTextV2": "Days",
"dayFrequencyTextV2": "day",
"yearsFrequencyTextV2": "Years",
"yearlyLabelTextV2": "Yearly",
"yearFrequencyTextV2": "Year",
"offFrequencyTextV2": "Off",
"prepayLabelTextV2": "Prepay",
"prepaidLabelTextV2": "Prepaid",
"prepaidSaveBadgeTextV2": "SAVE {{selectedDiscountPercentage}}",
"onetimeDescriptionTextV2": "",
"atcButtonTextV2": "",
"oneTimeFrequencyTextV2": "One Time",
"cancelAnytimeLabelTextV2": "Cancel Anytime",
"noSubscriptionLabelTextV2": "No Subscription",
"addToShipmentButtonTextV2": "Add to Shipment",
"addToShipmentProcessingV2": "Processing...",
"addToShipmentSuccessTextV2": "Success",
"addToShipmentErrorTextV2": "Error",
"addToShipmentTooltipTextV2": "Please avoid double delivery charges! Login to add this product to an upcoming delivery.",
"frequencyCombinedWidgetTextV2": "Frequency",
"selectDeliverOptionV2": "Select Delivery Option",
"subscribeAndSaveSuccessV2": "Subscription Selected",
"unsubscribeFrequencyTextV2": "One-time Purchase",
"deliveryEveryFrequencyTextV2": "Delivery Frequency",
"sellingPlanTitleTextNonPrepaid": "{{sellingPlanName}}",
"subscribeAndSaveInitalV2": "Subscribe and save",
"subscriptionDescriptionTextV2": "",
"atcButtonTextSelector": "",
"disableCartWidgetOnVariants": "",
"shop": "twinings-uk.myshopify.com",
"deliveryText": "delivery",
"purchaseOptionsText": "Purchase Options",
"manageSubscriptionButtonText": "",
"subscriptionOptionText": "Subscribe and save",
"sellingPlanSelectTitle": "DELIVERY FREQUENCY",
"subscriptionPriceDisplayText": "",
"tooltipTitle": "Subscription detail",
"showTooltipOnClick": "false",
"tooltipDesctiption": `<strong>Have complete control of your subscriptions<\/strong><br\/><br\/>Skip, reschedule, edit, or cancel deliveries anytime, based on your needs.`,
"tooltipDescriptionOnPrepaidPlan": "<b>Prepaid Plan Details<\/b><\/br> Total price: {{totalPrice}} ( Price for every delivery: {{pricePerDelivery}})",
"tooltipDescriptionOnMultipleDiscount": "<b>Discount Details<\/b><\/br> Initial discount is {{discountOne}} and then {{discountTwo}}",
"manualTranslation": "",
"tooltipDescriptionCustomization": "{{{defaultTooltipDescription}}} <\/br> {{{prepaidDetails}}} <\/br> {{{discountDetails}}}",
"orderStatusManageSubscriptionTitle": "Subscription",
"orderStatusManageSubscriptionDescription": "Continue to your account to view and manage your subscriptions. Please use the same email address that you used to buy the subscription.",
"orderStatusManageSubscriptionButtonText": "Manage your subscription",
"subscriptionOptionSelectedByDefault" : false,
"totalPricePerDeliveryText" : "{{prepaidPerDeliveryPrice}}\/delivery",
"memberOnlySellingPlansJson": {},
"nonMemberOnlySellingPlansJson": {},
"sellingPlansJson": [],
"widgetEnabled": true,
"showFreeGiftPrice" : true,
"showFreeGiftComparePrice" : true,
"enableFreeGiftLayout" : false,
"freeGiftLabelText": "+ Free {{productName}}",
"freeGiftBadgeText": "",
"showTooltip" : true,
"showCartWidgetOnBundleItems" : false,
"prepaidOptionSelectedByDefault" : false,
"disablePassingSellingPlanAsLineProperties" : true,
"updateThemePrice" : false,
"sortByDefaultSequence": false,
"showSubOptionBeforeOneTime": false,
"detectVariantFromURLParams": false,
"disableQueryParamsUpdate": false,
"showStaticTooltip": false,
"showAppstleLink": false,
"sellingPlanTitleText" : "{{sellingPlanName}} ({{sellingPlanPrice}}\/delivery)",
"oneTimePriceText" : "{{price}}",
"selectedPayAsYouGoSellingPlanPriceText" : "{{price}}",
"selectedPrepaidSellingPlanPriceText" : " {{totalPrice}}",
"selectedDiscountFormat" : "SAVE {{selectedDiscountPercentage}}",
"manageSubscriptionBtnFormat" : "<a href='https:\/\/twinings.co.uk\/apps\/subscriptions' class='appstle_manageSubBtn' ><button class='btn' style='padding: 2px 20px'>{{manageSubscriptionButtonText}}<\/button><\/a><br><br>",
"manageSubscriptionUrl" : "https:\/\/twinings.co.uk\/apps\/subscriptions",
"appstlePlanId": 163,
"showCheckoutSubscriptionBtn": true,
"priceSelector": "",
"reloadPriceSelector": "",
"landingPagePriceSelector": "",
"quickViewClickSelector": "",
"badgeTop": "",
"pricePlacement": "BEFORE",
"disableLoadingJquery": false,
"widgetEnabledOnSoldVariant": "true",
"switchRadioButtonWidget": false,
"appstlePlanName": "BUSINESS",
"appstlePlanFeatures": {"analytics": true, "webhookAccess": false, "enableAutoSync": false, "enableBundling": true, "enableSmsAlert": true, "enablePriceSync": false, "enableAutomation": false, "enableCartWidget": true, "enableAddressSync": false, "enableExternalApi": false, "enablePhasedRetry": false, "enableIntegrations": true, "enableQuickActions": false, "enableSummaryReports": true, "enableCustomEmailHtml": false, "enableWidgetPlacement": true, "enableShippingProfiles": true, "enableCustomEmailDomain": false, "enableDunningManagement": true, "subscriptionOrderAmount": 30000, "enableOrderConsolidation": false, "accessWidgetDesignOptions": true, "enableImmediatePlaceOrder": true, "enableInventoryManagement": true, "enableAdvancedSellingPlans": true, "enableBillingIntervalChange": true, "enableProductSwapAutomation": false, "enableCancellationManagement": true, "enableCustomerPortalSettings": true, "enableSubscriptionManagement": true, "enableBackupPaymentMethodRetry": false, "accessSubscriberLoyaltyFeatures": true, "enableContractPriceModification": true, "accessManualSubscriptionCreation": true, "enableNextBillingDateModification": true, "accessCustomerPortalProductUpsells": false, "enableStorefrontAnalyticsForwarding": true, "accessAdvanceSubscriptionPlanOptions": true},
"formMappingAttributeName": "",
"formMappingAttributeSelector": "",
"quickViewModalPollingSelector": "",
"scriptLoadDelay": "0",
"formatMoneyOverride": "false",
"enableAddToExistingSubscriptionFeature": "false",
"displayAddToExistingSubscriptionButtonForNotLoggedInV2": "",
"showAddToSubscriptionButtonOnlyOnSubscriptionProducts": "false",
"appstle_app_proxy_path_prefix": "apps\/subscriptions",
"updatePriceOnQuantityChange": "",
"widgetParentSelector": "",
"quantitySelector": "quantity-input *",
"enableAddJSInterceptor": "true",
"isDevEnabled": false,
"forceReloadWidgetSelector": "",
"forceReloadOnFreqChange": false,
"showPrepaidPlanSeparately": true,
"debugLogsEnabled": false,
"isUseStorefrontAPI": true,
"reBuyEnabled": "false",
"loyaltyDetailsLabelText": "",
"loyaltyPerkDescriptionTextV2": "{{#isDiscountTypeFreeProduct}}<div style='display: flex;'><div style='height: 60px; width: 60px; flex-shrink: 0; margin-right: 10px;'><img style='width: 100%' src={{{featured_image}}}><\/img><\/div><div>{{^isZeroBillingCycle}}<span class='appstle-loyalty-billing-cycle'>Only on <span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order,<\/span>{{\/isZeroBillingCycle}}<span class='appstle-free-product-loyalty'>{{#isZeroBillingCycle}}Get{{\/isZeroBillingCycle}}{{^isZeroBillingCycle}} get {{\/isZeroBillingCycle}} a FREE {{freeProductName}} {{#isZeroBillingCycle}}on your first order.{{\/isZeroBillingCycle}}<\/span><\/div><\/div>{{\/isDiscountTypeFreeProduct}}{{#isDiscountTypePercentage}}Get <span class='appstle-loyalty-discount'><span class='appstle-precentage-loyalty'>{{{discount}}}% off<\/span><\/span> on <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order and onwards<\/span>.{{\/isDiscountTypePercentage}}{{#isDiscountTypeShipping}}Get <span class='appstle-loyalty-discount'>shipping at <span class='appstle-shipping-loyalty'>{{{formatDiscountedPrice}}}<\/span><\/span> on <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order and onwards<\/span>.{{\/isDiscountTypeShipping}}{{#isDiscountTypeFixed}}Get <span class='appstle-loyalty-discount'><span class='appstle-fixed-loyalty'>{{{formatDiscountedPrice}}}<\/span> off<\/span> on <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order and onwards<\/span>.{{\/isDiscountTypeFixed}}{{#isDiscountTypeFixedPrice}}Get this product at <span class='appstle-loyalty-discount'><span class='appstle-fixed-price-loyalty'>{{{formatDiscountedPrice}}}<\/span><\/span> on <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order and onwards<\/span>.{{\/isDiscountTypeFixedPrice}}",
"widgetType": "WIDGET_TYPE_7",
"collectionWidgetType": "LEGACY",
"enableCompactProductPageWidget": false,
"showOneTimeComparePrice": false,
"showCombinedSellingPlanCartWidget": false,
"combinedCartWidgetSelector": "",
"removeUnsubscribeOption": false,
"widgetTemplateHtml": `{% raw %}{% endraw %}`,
"allWidgetTemplateHtml": "{\"WIDGET_TYPE_1\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_6\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n <div class=\\\"appstle_input_wrapper appstle_onetime_block\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper\\\">\\n {{oneTimePuchaseText}}\\n<div class=\\\"appstle-cancel-text\\\">{{{noSubscriptionLabelTextV2}}}</div>\\n</div>\\n <div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}</span></div>\\n</div>\\n </label>\\n \\n </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n \\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n{{^prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper appstle-selling-plan-label-name\\\">\\n {{{name}}}\\n<div class=\\\"appstle-cancel-text\\\">{{{cancelAnytimeLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_formattedCompareAtPrice appstle_price_block\\\">{{{formattedCompareAtPrice}}}</span>\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>\\n\\n\\n</div> \\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_formattext_block\\\"></span>\\n{{#showPricePerDay}}<div class=\\\"appstle-perday-price\\\">{{{pricePerDay}}}</div>{{/showPricePerDay}}\\n<div class=\\\"appstle-frequency-description\\\">\\n{{{frequencyDescription}}} \\n</div>\\n </div>\\n </label>\\n{{#showFormattedDiscountText}}\\n <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n{{/showFormattedDiscountText}}\\n<div class=\\\"appstle-sm-hide appstle-frequency-description\\\">{{{frequencyDescription}}} </div> \\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n<label for=\\\"{{sellingPlanId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper appstle-selling-plan-label-name\\\">\\n {{{name}}}\\n<div class=\\\"appstle-cancel-text\\\">{{{cancelAnytimeLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_formattedCompareAtPrice appstle_price_block\\\">{{{formattedCompareAtPrice}}}</span>\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n\\n</div> \\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block appstle_formattedPrepaidPerDeliveryPriceText\\\">{{{formattedPrepaidPerDeliveryPriceText}}}</span>\\n {{#showPricePerDay}}<div class=\\\"appstle-perday-price\\\">{{{pricePerDay}}}</div>{{/showPricePerDay}}\\n<div class=\\\"\\\">\\n<div class=\\\"appstle-frequency-description\\\">\\n{{{frequencyDescription}}} \\n</div>\\n</div>\\n</div>\\n</label>\\n{{#showFormattedDiscountText}}\\n <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n{{/showFormattedDiscountText}}\\n<div class=\\\"appstle-sm-hide appstle-frequency-description\\\">{{{frequencyDescription}}} </div> \\n\\n{{/prepaidFlag}}\\n \\n </div>\\n {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n <div class=\\\"appstle_input_wrapper appstle_onetime_block\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n<div class=\\\"appstle-selling-plan-name-wrapper\\\">\\n {{oneTimePuchaseText}}\\n<div class=\\\"appstle-cancel-text\\\">{{{noSubscriptionLabelTextV2}}}</div>\\n</div>\\n<div class=\\\"appstle-selling-plan-detail-wrapper\\\">\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">{{{oneTimePuchaseComparePriceAmount}}}</span>\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}</span>\\n\\n</div>\\n </label>\\n \\n </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\"> {{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n<div class=\\\"appstle-tootltip-parent\\\">\\n <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n <path\\n d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n ></path>\\n </svg>\\n <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n </div>\\n<div class=\\\"appstle_tooltip\\\">\\n <div class=\\\"appstle_tooltip_content\\\">\\n {{{toolTipDescription}}}\\n </div>\\n {{#showAppstleLink}}\\n <div class=\\\"appstle_tooltip_appstle\\\">\\n <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n POWERED BY APPSTLE </a>\\n </div>\\n {{/showAppstleLink}}\\n </div>\\n</div>\\n{{/showTooltip}}\\n<style>\\n.widgetSellingPlanWrapper {\\n display: grid;\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n gap: 1.5rem;\\n grid-auto-rows: 1fr;\\n margin-bottom: 6px;\\nmargin-top: 10px;\\n}\\n\\n.widgetSellingPlanWrapper input {\\n display: none;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n border-radius: 10px;\\n border: 1px solid rgba(var(--color-foreground));\\n padding: 0.5rem;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n display: block;\\n height: 100%;\\n width: 100%;\\n text-align: center;\\ncursor: pointer;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground)) !important;\\ncolor: rgba(var(--color-background)) !important;\\n}\\n.appstle_lowercase {\\n text-transform: lowercase;\\n}\\n\\n\\n.appstle_input_wrapper {\\n position: relative;\\n}\\n\\nspan.appstle_sellingPlan_discountText {\\n position: absolute;\\n background: rgba(var(--color-foreground));\\n color: rgba(var(--color-background));\\n border-radius: 3px;\\n padding: 1px 18px;\\n left: 50%;\\n display: block;\\n transform: translate(-50%, -50%);\\n white-space: nowrap;\\n}\\n\\nspan.appstle_sellingPlan_discountText:empty {\\n display: none !important;\\n}\\ndiv.appstle_span_wrapper{\\n\\tdisplay: flex;\\n\\tjustify-content: center;\\n}\\n</style>\\n<style>\\n.widgetSellingPlanWrapper {\\n grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\\n gap: 0.8rem !important;\\n}\\n\\n.appstle_sub_widget {\\n max-width: 100%!important;\\n} \\n\\n.widgetSellingPlanWrapper label {\\n height: auto !important;\\n border: none !important;\\n padding: 14px 5px !important;\\n display: flex !important;\\n justify-content: center !important;\\n align-items: center !important;\\n flex-direction: column;\\n max-width: 100% !important;\\n width: unset !important;\\nline-height: 20px;\\n}\\n\\n.appstle_how_does_it_work {\\n line-height: 16px !important;\\n margin: 6px 0px;\\n color: rgba(var(--color-background));\\n}\\n@media screen and (max-width: 800px) {\\n .appstle_how_does_it_work {\\n text-align: right;\\n }\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_formattext_block {\\ntext-align: right !important;\\n display: block;\\n}\\n\\n.appstle_span_wrapper {\\n align-items: baseline;\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_discount_block.appstle_formattedPrepaidPerDeliveryPriceText {\\n display: block;\\n text-align: right;\\n}\\n\\n.appstle_input_wrapper {\\n display: flex;\\n height: 100% !important;\\nflex-direction: column;\\n}\\n\\n.appstle_sub_widget input[type=radio]+label:before {\\n content: \\\"\\\";\\n position: absolute;\\n inset: 0;\\n border-radius: 12px;\\n padding: 2px;\\n background: #121212;\\n -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);\\n -webkit-mask-composite: xor;\\n mask-composite: exclude;\\n pointer-events: none;\\n z-index: 0;\\n transition: all 0.2s;\\n}\\n\\n.appstle_sub_widget input[type=radio]:checked+label:before {\\n content: \\\"\\\";\\n position: absolute;\\n inset: 0;\\n border-radius: 12px;\\n // padding: 4px;\\n// background: linear-gradient(to right,#Fef58f,#7A3900);\\n//background: #E53D29;\\n border: 2px transparent;\\n -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);\\n -webkit-mask-composite: xor;\\n mask-composite: exclude;\\n pointer-events: none;\\n z-index: 0;\\n}\\n\\nspan.appstle_sellingPlan_discountText {\\n background: rgba(var(--color-foreground));\\n border-radius: 100px !important;\\n padding: 0px 8px !important;\\n height: 20px;\\n display: flex !important;\\n justify-content: center;\\n align-items: center;\\n letter-spacing: 1px;\\nz-index: 2;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\ntext-decoration: line-through;\\n}\\n\\n\\nspan.appstle-popular {\\n position: absolute;\\n top: -40px;\\n background: black;\\n color: rgba(var(--color-background));\\n z-index: -3;\\n border-radius: 10px;\\n padding: 0px 10px 29px 10px;\\nleft: 0;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n border-radius: 14px;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n overflow: hidden;\\n}\\n\\n\\n.appstle-perday-price {\\ndisplay: none;\\n}\\n\\n .widgetSellingPlanWrapper {\\n grid-template-columns: repeat(1, minmax(0, 1fr)) !important;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n flex-direction: row;\\n justify-content: space-between !important;\\n align-items: flex-start !important;\\nwidth: 100% !important;\\n}\\n\\n.widgetSellingPlanWrapper label {\\n text-align: left;\\n padding: 16px !important;\\nflex-basis: unset;\\n}\\n\\n.appstle_span_wrapper {\\n justify-content: flex-end !important;\\n}\\n\\n.appstle-perday-price {\\n text-align: right;\\n}\\n\\n.widgetSellingPlanWrapper {\\n gap: 15px !important;\\n}\\n\\nspan.appstle-popular {\\n width: calc(100% - 20px);\\n text-align: center;\\n letter-spacing: 2px;\\n top: -30px;\\nleft: 0;\\n}\\n\\nspan.appstle_sellingPlan_discountText { \\nleft: unset !important;\\n right: 15px;\\n transform: translate(0, -50%) !important;\\n}\\n.appstle-cancel-text {\\n text-align: left;\\n}\\n\\n.appstle_input_wrapper label {\\n text-align: left !important;\\n}\\n\\n.widgetSellingPlanWrapper input:checked+label {\\n width: 100% !important;\\n margin: 0 !important;\\n}\\n.appstle_input_wrapper {\\n width: 100% !important;\\nflex-direction: row;\\n}\\n.widgetSellingPlanWrapper input:checked+label+span {\\n background: rgba(var(--color-background)) !important;\\n color:rgba(var(--color-foreground)) !important;\\n border: 2px solid rgba(var(--color-foreground));\\n}\\n.appstle_onetime_block .appstle_span_wrapper {\\n grid-column: 2;\\n}\\n.appstle-frequency-description {\\n text-align: right !important;\\n}\\n\\n\\n.appstle-sm-hide {\\n display: none;\\n}\\n\\n@media screen and (min-width: 800px) {\\n.appstle-lg-show {\\n display: block;\\n}\\n.appstle-lg-hide {\\n display: none;\\n}\\n\\n}\\n\\nspan.appstle_lowercase.appstle_sellingPlan_formattedCompareAtPrice.appstle_price_block {\\n text-decoration: line-through;\\n display: block;\\n margin-right: 3px;\\n color: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label .appstle_sellingPlan_formattedCompareAtPrice {\\ncolor:rgba(var(--color-background));\\n} \\n\\n.appstle_span_wrapper > * {\\nflex-shrink: 0\\n}\\n.appstle-selling-plan-detail-wrapper{\\ncolor: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label .appstle-selling-plan-detail-wrapper{\\ncolor: rgba(var(--color-background)) !important;\\n}\\n\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_7\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_8\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_2\":\"{% raw %}{% endraw %}\",\"WIDGET_TYPE_3\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n <div class=\\\"widgetSellingPlanWrapper appstle_subscription_wrapper\\\">\\n{{#showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper appstle_subscription_option\\\">\\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n {{^prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>\\n{{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\"> ({{{secondFormattedDiscountText}}})</span> {{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n</div>\\n \\n </label>\\n {{/prepaidFlag}}\\n {{#prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n {{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\"> ({{{secondFormattedDiscountText}}})</span>{{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n {{#formattedPrepaidPerDeliveryPriceText}}<span class=\\\"appstle_formattedPrepaidPerDeliveryPriceText\\\"> ({{{formattedPrepaidPerDeliveryPriceText}}})</span>{{/formattedPrepaidPerDeliveryPriceText}}\\n </div>\\n \\n </label>\\n {{/prepaidFlag}}\\n \\n </div>\\n {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n {{^requires_selling_plan}}\\n <div class=\\\"appstle_input_wrapper appstle_onetime\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"{{sellingPlanId}}\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{oneTimePuchaseText}}\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n{{{oneTimePuchaseAmount}}}</span>\\n </label>\\n \\n </div>\\n {{/requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper appstle_subscription_option\\\">\\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n {{^prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}</span>\\n{{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\"> ({{{secondFormattedDiscountText}}})</span> {{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n</div>\\n \\n </label>\\n {{/prepaidFlag}}\\n {{#prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\" class=\\\"appstle_widget_three\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n {{#showSecondFormattedDiscountText}}{{^isFixedPrice}}<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block\\\"> ({{{secondFormattedDiscountText}}})</span>{{/isFixedPrice}}{{/showSecondFormattedDiscountText}}\\n {{#formattedPrepaidPerDeliveryPriceText}}<span class=\\\"appstle_formattedPrepaidPerDeliveryPriceText\\\"> ({{{formattedPrepaidPerDeliveryPriceText}}})</span>{{/formattedPrepaidPerDeliveryPriceText}}\\n </div>\\n \\n </label>\\n {{/prepaidFlag}}\\n \\n </div>\\n {{/sellingPlanVariants}}\\n{{/showSubOptionBeforeOneTime}}\\n </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\">{{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n <path\\n d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n ></path>\\n </svg>\\n <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n </div>\\n<div class=\\\"appstle_tooltip appstle_tooltip_hover\\\">\\n <div class=\\\"appstle_tooltip_content\\\">\\n {{{toolTipDescription}}}\\n </div>\\n {{#showAppstleLink}}\\n <div class=\\\"appstle_tooltip_appstle\\\">\\n <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n POWERED BY APPSTLE\\n </a>\\n </div>\\n{{/showAppstleLink}}\\n </div>\\n{{/showTooltip}}\\n<style>.widgetSellingPlanWrapper {\\n display: grid;\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n gap: 0.5rem;\\n grid-auto-rows: 1fr;\\n margin-bottom: 6px;\\n}\\n.widgetSellingPlanWrapper input {\\n display: none;\\n}\\n.widgetSellingPlanWrapper label {\\n border-radius: 8px;\\n border: 1px solid rgba(var(--color-foreground));\\n padding: 0.5rem;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n display: block;\\n height: 100%;\\n width: 100%;\\n text-align: center;\\ncursor: pointer;\\ncolor: rgba(var(--color-foreground));\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground));\\n color: rgba(var(--color-background));\\n border: 1px solid rgba(var(--color-background)) !important;\\n}\\n.appstle_lowercase {\\n text-transform: lowercase;\\n}\\n.appstle_input_wrapper {\\n position: relative;\\n}\\nspan.appstle_sellingPlan_discountText {\\n position: absolute;\\n background-color: color: rgba(var(--color-foreground));\\n color: rgba(var(--color-background));\\n border-radius: 3px;\\n padding: 1px 18px;\\n left: 50%;\\n display: block;\\n transform: translate(-50%, -50%);\\n white-space: nowrap;\\n}\\nspan.appstle_sellingPlan_discountText:empty {\\n display: none !important;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price {\\n color: rgba(var(--color-foreground));\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\n color: rgba(var(--color-foreground));\\n text-decoration: line-through;\\n padding: 0 3px;\\n}\\n#appstle_subscription_widget0 .appstle_tooltip_wrapper {\\n margin-top: 8px;\\n margin-bottom: 16px;\\n}\\n.appstle_subscription_wrapper {\\n border: none !important;\\n}\\nlabel.appstle_widget_three {\\n display: flex;\\n flex-direction: column;\\n}\\n.widgetSellingPlanWrapper input:checked+label span {\\n color: rgba(var(--color-background)) !important;\\n}\\n.appstle_sub_widget .appstle_subscription_wrapper{\\n border-radius:unset !important;\\n}\\nspan.appstle_second_price_block:empty {\\n display: none !important;\\n}\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_4\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^requires_selling_plan}}\\n{{^showSubOptionBeforeOneTime}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n {{oneTimePuchaseText}}\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}/{{{oneTimeFrequencyText}}}</span>\\n </label>\\n </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <span class=\\\"appstle_sellingPlan_discountText\\\">{{{formattedDiscountText}}}</span>\\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}}>\\n{{^prepaidFlag}}\\n <label for=\\\"{{sellingPlanId}}\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{formattedPrice}}}<span>\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_formattext_block\\\">/{{{sellingPlanFrequencyText}}}{{#isFrequencySubsequent}}{{/isFrequencySubsequent}}</span>\\n</div>\\n </label>\\n{{/prepaidFlag}}\\n{{#prepaidFlag}}\\n<label for=\\\"{{sellingPlanId}}\\\">\\n {{{name}}}\\n<div class=\\\"appstle_span_wrapper\\\">\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_price_block\\\">{{{totalPrice}}}</span>\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_discount_block appstle_formattedPrepaidPerDeliveryPriceText\\\"> {{{formattedPrepaidPerDeliveryPriceText}}}</span>\\n</div>\\n</label>\\n{{/prepaidFlag}}\\n </div>\\n {{/sellingPlanVariants}}\\n{{^requires_selling_plan}}\\n{{#showSubOptionBeforeOneTime}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n {{oneTimePuchaseText}}\\n{{#showOneTimeComparePrice}}\\n<span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount_compare\\\">\\n {{{oneTimePuchaseComparePriceAmount}}}\\n</span>\\n{{/showOneTimeComparePrice}}\\n <span class=\\\"appstle_lowercase appstle_sellingPlan_price appstle_onetime_amount\\\">{{{oneTimePuchaseAmount}}}/{{{oneTimeFrequencyText}}}</span>\\n </label>\\n </div>\\n{{/showSubOptionBeforeOneTime}}\\n{{/requires_selling_plan}}\\n </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\"> {{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n <path\\n d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n ></path>\\n </svg>\\n <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n </div>\\n <div class=\\\"appstle_tooltip\\\">\\n <div class=\\\"appstle_tooltip_content\\\">\\n {{{toolTipDescription}}}\\n </div>\\n{{#showAppstleLink}}\\n <div class=\\\"appstle_tooltip_appstle\\\">\\n <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n POWERED BY APPSTLE\\n </a>\\n </div>\\n{{/showAppstleLink}}\\n </div>\\n{{/showTooltip}}\\n<style>\\n.widgetSellingPlanWrapper {\\n display: grid;\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n gap: 16px;\\n grid-auto-rows: 1fr;\\n margin-bottom: 6px;\\nmargin-top: 10px\\n}\\n.widgetSellingPlanWrapper input {\\n display: none;\\n}\\n.widgetSellingPlanWrapper label {\\n border-radius: 10px;\\n border: 1px solid rgba(var(--color-foreground, 0, 0, 0));\\n padding: 0.5rem;\\n display: flex !important;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n display: block;\\n height: 100%;\\n width: 100%;\\n text-align: center;\\ncursor: pointer;\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground, 0, 0, 0));\\n}\\n.appstle_lowercase {\\n text-transform: lowercase;\\n}\\n.appstle_input_wrapper {\\n position: relative;\\n}\\nspan.appstle_sellingPlan_discountText {\\n position: absolute;\\n font-size: 1.2rem;\\n background-color: rgba(var(--color-foreground, 0, 0, 0));\\n color: rgba(var(--color-background, 255, 255, 255));\\n border-radius: 3px;\\n border: 2px solid rgba(var(--color-background, 255, 255, 255));\\n padding: 1px 18px;\\n left: 50%;\\n display: block;\\n transform: translate(-50%, -50%);\\n white-space: nowrap;\\n}\\nspan.appstle_sellingPlan_discountText:empty {\\n display: none !important;\\n}\\nspan.appstle_lowercase.appstle_sellingPlan_price.appstle_onetime_amount_compare {\\ntext-decoration: line-through;\\n}\\n.appstle_tooltip_wrapper {\\n margin-bottom:10px;\\n}\\n.widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground, 0, 0, 0));\\n color: rgba(var(--color-background, 255, 255, 255));\\n border: 2px solid rgba(var(--color-background, 255, 255, 255)) !important;\\n}\\n</style>\\n</div>{% endraw %}\",\"WIDGET_TYPE_5\":\"{% raw %}<div id=\\\"appstle-widget-template\\\">\\n <div class=\\\"appstle_sub_widget\\\" id=\\\"appstle_subscription_widget{{widgetId}}\\\">\\n<div class=\\\"appstle_widget_title\\\">{{{purchaseOptionsText}}}</div>\\n <div class=\\\"widgetSellingPlanWrapper\\\">\\n{{^showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}/>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n {{{oneTimePuchaseText}}}\\n </label>\\n \\n </div>\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n {{#sellingPlanVariants}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" id=\\\"{{sellingPlanId}}\\\" value=\\\"{{sellingPlanId}}\\\" name=\\\"selling_plan\\\" {{#isChecked}}checked{{/isChecked}} />\\n <label for=\\\"{{sellingPlanId}}\\\">\\n {{{name}}}\\n </label>\\n \\n </div>\\n {{/sellingPlanVariants}}\\n{{#showSubOptionBeforeOneTime}}\\n{{^requires_selling_plan}}\\n <div class=\\\"appstle_input_wrapper\\\">\\n <input type=\\\"radio\\\" id=\\\"appstle_selling_plan_label_1{{widgetId}}\\\" name=\\\"selling_plan\\\" value=\\\"\\\" class=\\\"appstleSellingPlan{{widgetId}}\\\" {{^subscriptionOptionSelectedDefault}}checked{{/subscriptionOptionSelectedDefault}}/>\\n <label for=\\\"appstle_selling_plan_label_1{{widgetId}}\\\">\\n {{{oneTimePuchaseText}}}\\n </label>\\n \\n </div>\\n{{/requires_selling_plan}}\\n{{/showSubOptionBeforeOneTime}}\\n </div>\\n{{#showStaticTooltip}}\\n<div class=\\\"appstle_tooltip_wrapper_static\\\">{{{toolTipDescription}}}</div>\\n{{/showStaticTooltip}}\\n{{#showTooltip}}\\n <div data-appstle-icon=\\\"\\\" class=\\\"appstle_tooltip_wrapper\\\">\\n <svg width=\\\"90\\\" height=\\\"90\\\" viewBox=\\\"0 0 90 90\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"tooltip_subscription_svg\\\">\\n <path\\n d=\\\"M45 0C20.1827 0 0 20.1827 0 45C0 69.8173 20.1827 90 45 90C69.8173 90 90 69.8174 90 45C90.0056 44.6025 89.9322 44.2078 89.7839 43.8389C89.6357 43.47 89.4156 43.1342 89.1365 42.8511C88.8573 42.568 88.5247 42.3432 88.158 42.1897C87.7912 42.0363 87.3976 41.9573 87 41.9573C86.6024 41.9573 86.2088 42.0363 85.842 42.1897C85.4753 42.3432 85.1427 42.568 84.8635 42.8511C84.5844 43.1342 84.3643 43.47 84.2161 43.8389C84.0678 44.2078 83.9944 44.6025 84 45C84 66.5748 66.5747 84 45 84C23.4253 84 6 66.5747 6 45C6 23.4254 23.4253 6 45 6C56.1538 6 66.3012 10.5882 73.4375 18H65.4062C65.0087 17.9944 64.614 18.0678 64.2451 18.2161C63.8762 18.3643 63.5405 18.5844 63.2573 18.8635C62.9742 19.1427 62.7494 19.4753 62.596 19.842C62.4425 20.2088 62.3635 20.6024 62.3635 21C62.3635 21.3976 62.4425 21.7912 62.596 22.158C62.7494 22.5247 62.9742 22.8573 63.2573 23.1365C63.5405 23.4156 63.8762 23.6357 64.2451 23.7839C64.614 23.9322 65.0087 24.0056 65.4062 24H79.8125C80.6081 23.9999 81.3711 23.6838 81.9337 23.1212C82.4963 22.5586 82.8124 21.7956 82.8125 21V6.59375C82.821 6.18925 82.7476 5.78722 82.5966 5.41183C82.4457 5.03644 82.2205 4.69545 81.9344 4.40936C81.6483 4.12327 81.3073 3.898 80.9319 3.7471C80.5565 3.5962 80.1545 3.52277 79.75 3.53125C79.356 3.53941 78.9675 3.62511 78.6067 3.78344C78.2458 3.94177 77.9197 4.16963 77.6469 4.45402C77.3741 4.73841 77.16 5.07375 77.0168 5.44089C76.8737 5.80803 76.8042 6.19977 76.8125 6.59375V12.875C68.6156 4.86282 57.3081 0 45 0ZM43.75 20.75C43.356 20.7582 42.9675 20.8439 42.6067 21.0022C42.2458 21.1605 41.9197 21.3884 41.6469 21.6728C41.3741 21.9572 41.16 22.2925 41.0168 22.6596C40.8737 23.0268 40.8042 23.4185 40.8125 23.8125V47.375C40.8116 47.7693 40.8883 48.16 41.0385 48.5246C41.1886 48.8892 41.4092 49.2207 41.6875 49.5L54.0938 61.9375C54.6573 62.5011 55.4217 62.8177 56.2188 62.8177C57.0158 62.8177 57.7802 62.5011 58.3438 61.9375C58.9073 61.3739 59.224 60.6095 59.224 59.8125C59.224 59.0155 58.9073 58.2511 58.3438 57.6875L46.8125 46.1875V23.8125C46.821 23.408 46.7476 23.006 46.5966 22.6306C46.4457 22.2552 46.2205 21.9142 45.9344 21.6281C45.6483 21.342 45.3073 21.1168 44.9319 20.9658C44.5565 20.8149 44.1545 20.7415 43.75 20.75Z\\\"\\n ></path>\\n </svg>\\n <span class=\\\"appstle_tooltip_title\\\">{{{tooltipTitle}}}</span>\\n </div>\\n<div class=\\\"appstle_tooltip appstle_tooltip_hover\\\">\\n <div class=\\\"appstle_tooltip_content\\\">\\n {{{toolTipDescription}}}\\n </div>\\n {{#showAppstleLink}}\\n <div class=\\\"appstle_tooltip_appstle\\\">\\n <a href=\\\"https://appstle.com\\\" class=\\\"appstle_link\\\" target=\\\"_blank\\\">\\n POWERED BY APPSTLE\\n </a>\\n </div>\\n {{/showAppstleLink}}\\n </div>\\n{{/showTooltip}}\\n <style>\\n .widgetSellingPlanWrapper {\\n display: grid;\\n grid-template-columns: repeat(2, minmax(0, 1fr));\\n gap: 8px;\\n grid-auto-rows: 1fr;\\n margin-bottom: 6px;\\n margin-top: 10px;\\n }\\n \\n .widgetSellingPlanWrapper input {\\n display: none;\\n }\\n \\n .widgetSellingPlanWrapper label {\\n border-radius: 4px;\\n border: 1px solid rgba(var(--color-foreground));\\n padding: 0.5rem;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n display: block;\\n height: 100%;\\n width: 100%;\\n text-align: center;\\n \\t color: rgba(var(--color-foreground));\\ncursor: pointer;\\n }\\n \\n .widgetSellingPlanWrapper input:checked+label {\\n background-color: rgba(var(--color-foreground));\\n \\t color: rgba(var(--color-background));\\n }\\n .appstle_lowercase {\\n text-transform: lowercase;\\n }\\n \\n \\n .appstle_input_wrapper {\\n position: relative;\\n }\\n \\n span.appstle_sellingPlan_discountText {\\n position: absolute;\\n background-color: rgba(var(--color-foreground));\\n color: rgba(var(--color-background));\\n border-radius: 3px;\\n padding: 1px 18px;\\n left: 50%;\\n display: block;\\n transform: translate(-50%, -50%);\\n white-space: nowrap;\\n }\\n span.appstle_sellingPlan_discountText:empty {\\n display: none !important;\\n }\\n </style>\\n </div>{% endraw %}\"}",
"bundle": {},
"labels": `{\"appstle.subscription.wg.cartHiddenAttributesSelectorV2\":\"\",\"appstle.subscription.wg.daysFrequencyTextV2\":\"Days\",\"appstle.subscription.wg.subscribeAndSaveSuccessV2\":\"Subscription Selected\",\"appstle.subscription.wg.addToShipmentSuccessTextV2\":\"Success\",\"appstle.subscription.wg.monthFrequencyTextV2\":\"Month\",\"appstle.subscription.wg.addToShipmentButtonTextV2\":\"Add to Shipment\",\"appstle.subscription.wg.onetimeDescriptionTextV2\":\"\",\"appstle.subscription.wg.oneTimePurchaseTextV2\":\"One Time Purchase\",\"appstle.subscription.wg.loyaltyPerkDescriptionTextV2\":\"{{#isDiscountTypeFreeProduct}}<div style='display: flex;'><div style='height: 60px; width: 60px; flex-shrink: 0; margin-right: 10px;'><img style='width: 100%' src={{{featured_image}}}><\/img><\/div><div>{{^isZeroBillingCycle}}<span class='appstle-loyalty-billing-cycle'>Only on <span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order,<\/span>{{\/isZeroBillingCycle}}<span class='appstle-free-product-loyalty'>{{#isZeroBillingCycle}}Get{{\/isZeroBillingCycle}}{{^isZeroBillingCycle}} get {{\/isZeroBillingCycle}} a FREE {{freeProductName}} {{#isZeroBillingCycle}}on your first order.{{\/isZeroBillingCycle}}<\/span><\/div><\/div>{{\/isDiscountTypeFreeProduct}}{{#isDiscountTypePercentage}}Get <span class='appstle-loyalty-discount'><span class='appstle-precentage-loyalty'>{{{discount}}}% off<\/span><\/span> on <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order and onwards<\/span>.{{\/isDiscountTypePercentage}}{{#isDiscountTypeShipping}}Get <span class='appstle-loyalty-discount'>shipping at <span class='appstle-shipping-loyalty'>{{{formatDiscountedPrice}}}<\/span><\/span> on <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order and onwards<\/span>.{{\/isDiscountTypeShipping}}{{#isDiscountTypeFixed}}Get <span class='appstle-loyalty-discount'><span class='appstle-fixed-loyalty'>{{{formatDiscountedPrice}}}<\/span> off<\/span> on <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order and onwards<\/span>.{{\/isDiscountTypeFixed}}{{#isDiscountTypeFixedPrice}}Get this product at <span class='appstle-loyalty-discount'><span class='appstle-fixed-price-loyalty'>{{{formatDiscountedPrice}}}<\/span><\/span> on <span class='appstle-loyalty-billing-cycle'><span class='appstle-loyalty-billing-cycle-count'>{{{billingCycleBlock}}}<\/span> Order and onwards<\/span>.{{\/isDiscountTypeFixedPrice}}\",\"appstle.subscription.wg.bundleDiscountTextV2\":\"bundle discount extra: {{bundleDiscount}} off\",\"appstle.subscription.wg.atcButtonTextSelectorV2\":\"\",\"appstle.subscription.wg.oneTimeFrequencyTextV2\":\"One Time\",\"appstle.subscription.wg.allowFulfilmentCountViaPropertiesV2\":\"false\",\"appstle.subscription.wg.valdiateFormSelectorV2\":\"\",\"appstle.subscription.wg.monthsFrequencyTextV2\":\"Months\",\"appstle.subscription.wg.prepaidSaveBadgeTextV2\":\"SAVE {{selectedDiscountPercentage}}\",\"appstle.subscription.wg.manageSubscriptionButtonTextV2\":\"Manage Subscription\",\"appstle.subscription.wg.removeClassFromPriceElementV2\":\"\",\"appstle.subscription.wg.yearFrequencyTextV2\":\"Year\",\"appstle.subscription.wg.widgetPriceChangeListenerSelectorV2\":\"\",\"appstle.subscription.wg.atcButtonTextV2\":\"\",\"appstle.subscription.wg.noSubscriptionLabelTextV2\":\"No Subscription\",\"appstle.subscription.wg.cancelAnytimeLabelTextV2\":\"Cancel Anytime\",\"appstle.subscription.wg.addToShipmentErrorTextV2\":\"Error\",\"appstle.subscription.wg.weeksFrequencyTextV2\":\"Weeks\",\"appstle.subscription.wg.weeklyLabelTextV2\":\"Weekly\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonForNotLoggedInV2\":\"false\",\"appstle.subscription.wg.addToShipmentProcessingV2\":\"Processing...\",\"appstle.subscription.wg.showWidgetStaticV2\":\"false\",\"appstle.subscription.wg.deliveryEveryFrequencyTextV2\":\"Delivery Frequency\",\"appstle.subscription.wg.subscribeAndSaveInitalV2\":\"Subscribe and save\",\"appstle.subscription.wg.allowRefreshOnCartPageV2\":\"false\",\"appstle.subscription.wg.prepaidLabelTextV2\":\"Prepaid\",\"appstle.subscription.wg.monthlyLabelTextV2\":\"Monthly\",\"appstle.subscription.wg.displayAddToExistingSubscriptionButtonToSubscribersOnlyV2\":\"false\",\"appstle.subscription.wg.yearsFrequencyTextV2\":\"Years\",\"appstle.subscription.wg.addToShipmentTooltipTextV2\":\"Please avoid double delivery charges! Login to add this product to an upcoming delivery.\",\"appstle.subscription.wg.weekFrequencyTextV2\":\"Week\",\"appstle.subscription.wg.unsubscribeFrequencyTextV2\":\"One-time Purchase\",\"appstle.subscription.wg.widgetVariantChangeListenerSelectorV2\":\"\",\"appstle.subscription.wg.atcButtonTextSelectorObserverV2\":\"\",\"appstle.subscription.wg.dayFrequencyTextV2\":\"day\",\"appstle.subscription.wg.showPrepidPerDeliveryProductPriceV2\":\"false\",\"appstle.subscription.wg.offFrequencyTextV2\":\"Off\",\"appstle.subscription.wg.prepayLabelTextV2\":\"Prepay\",\"appstle.subscription.wg.productPageUnitPriceSelectorV2\":\"\",\"appstle.subscription.wg.showNewLoyaltyUI\":\"false\",\"appstle.subscription.wg.frequencyCombinedWidgetTextV2\":\"Frequency\",\"appstle.subscription.wg.sellingPlanTitleTextNonPrepaid\":\"{{sellingPlanName}}\",\"appstle.subscription.wg.selectDeliverOptionV2\":\"Select Delivery Option\",\"appstle.subscription.wg.yearlyLabelTextV2\":\"Yearly\"}`,
"css": {
"appstle_subscription_widget": {
"margin-top": "" ,
"margin-bottom": "",
},
"appstle_subscription_wrapper": {
"border-width": "",
"border-color": "",
},
"appstle_circle": {
"border-color": "",
},
"appstle_dot": {
"background-color": "",
},
"appstle_select": {
"padding-top": "",
"padding-bottom": "",
"padding-left": "",
"padding-right": "",
"border-width": "",
"border-style": "",
"border-color": "",
"border-radius": "",
},
"tooltip_subscription_svg": {
"fill": "",
},
"appstle_tooltip": {
"color": "",
"background-color": "",
},
"appstle_tooltip_border_top_color": {
"border-top-color": "",
},
"appstle_subscription_final_price": {
"color": "",
},
"appstle_widget_text_color": {
"color": "",
},
"appstle_selected_background": {
"background": "transparent",
},
"elementCSS": "[]",
"customCSS": ".appstle_one_time_text, .appstle_subscribe_save_text {\r\n font-family: \"DM Sans\", sans-serif;\r\n}\r\n\r\n\r\n",
"customerPortalCss": "",
"externalStyleTag": "",
"themeCss": "",
}
};
window.AppstleSubscription = window.AppstleSubscription || JSON.parse(JSON.stringify(RS));
sessionStorage['appstleSubscriptionConfig'] = JSON.stringify(RS.Config);
try {
window.appstle_build_a_box_labels = {"perDeliveryLabelTextV2":"\\/delivery","variantNotAvailable":"Not Available","saveDiscountText":"{{discount}}","bundleSummaryTextV2":"Your bundle is empty. Please add products to your bundles to see bundle summary here.","freeProductLabelTextV2":"Free","bundleDescriptionTextV2":"Our bundle of all bundles, The Ultimate Superfood Bundle delivers exactly what it promises - a complete superfood solution. With 7 superfood blends each created to empower every aspect of your health and wellbeing - from immunity and gut health to energy & better focus.","productDetails":"Product Details","failedToAddMsgText":"Your cart can't have more than {{maxProduct}} products","cart":"Cart","reviewBundleTextV2":"Review Bundle","addButtonText":"Add","minimumQuantityToCheckoutV2":"Minimum {{quantity}} quantity to checkout","buildBoxErrormsgV2":"Build a Box token is Invalid, Please reach out to support.","continueShopping":"Continue Shopping","failedToAddTitleText":"Failed to add","spendAmountGetDiscount":"Spend {{amount}} get {{percent}}% discount","maxiumQuantityToCheckoutV2":"Maxium {{quantity}} quantity to checkout","contentsOnModalTextV2":"Contents","nextStepButtonTextV2":"Next Step","choosePlanLifeStyleTextV2":"Choose a plan to match your lifestyle","selectMinimumProductButtonText":"Please select {{minProduct}} minimum product","subtotal":"Subtotal","buyQuantityGetDiscount":"Buy {{quantity}} get {{percent}}% discount","loyaltyTablePercentageTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>{{discount}}% off<\\/span><\\/span>.","loyaltyTablePriceTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get at <span class='appstle-loyalty-discount-amount'>{{price}}<\\/span><\\/span>.","myDeliveryText":"My {{selectedSellingPlanDisplayName}} delivery","removeItem":"Remove","productsToProceedText":"Please select products to proceed","previousStepButtonTextV2":"Previous step","loadMoreTextV2":"Load more","selectedFrequencyLabelText":"Selected Frequency","addToCartButtonTextV2":"Add To Cart","basePriceFormatFieldV2":"{{unitPrice}}\\/{{quantityUnit}}","title":"Build-A-Box","productPriceFormatField":"{{price}}","reviewOrdeDescriptionTextV2":"Check your items and select your required frequency plan","quantityLabelV2":"Quantity","minimumOrderAmountLabelTextV2":"Minimum order amount {{minOrderAmount}}.","subscriptionNotAvailableButtonV2":"Subscription not available","shoppingCart":"Shopping Cart","checkoutMessage":"Shipping and taxes calculated at checkout.","discountPopupCheckoutMessageV2":"Discount","selectedButtonTextV2":"Selected","congratsMessageText":null,"okBtnText":"Ok","tieredDiscount":"Tiered Discount","choosePlanLifeStyleDescriptionTextV2":"Cutoff each week to amend your meals is midnight on Thursday's. (Delivery Schedule is as follows: Gold Coast - Mondays | Brisbane & Sunshine Coast - Wednesdays)","orderNoteLabelTextV2":"Order Note","minimumToCheckoutV2":"Minimum {{quantity}} to checkout","loyaltyTableFixedTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>{{price}} off<\\/span><\\/span>.","editQuantity":"Edit Quantity","chooseProductsTextV2":"Choose Products","loyaltyTableFreeProductTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>FREE PRODUCT ({{productName}})<\\/span><\\/span>.","loyaltyTableShippingTextV2":"After <span class='appstle-loyalty-billing-cycle'><span class=''>{{billingCycle}}<\\/span> order<\\/span>, <span class='appstle-loyalty-discount'>get <span class='appstle-loyalty-discount-amount'>shipping at {{price}}<\\/span><\\/span>.","spentText":null,"quantityLabel":null,"addButtonV2":"Add","loyaltyTableFreeTrailTextV2":"Get <span class='appstle-loyalty-free-trial-discount'>{{discount}} <span class='appstle-loyalty-free-trial-discount-count' style='text-transform: lowercase;'>{{discountType}} <\\/span><\\/span> <span class='appstle-loyalty-free-trial-text'>free trial.<\\/span>","bundleCheckoutTextV2":"Checkout","reviewOrderTextV2":"Review Order","goBackButtonText":"Go Back","selectPlanTextV2":"Select Plan","viewProduct":"View Product","oneTimePurchaseTextV2":"One Time Purchase","bundleOnModalTextV2":"Bundle","proceedToCheckoutButtonText":"Proceed to checkout","pleaseWaitLabelTextV2":"Please wait...","typeToSearchPlaceholderTextV2":"Type to search","selectedProgressLabelTextV2":"Selected","outOfStockTextV2":"Out of stock"};
} catch (e) {
console.error("Error parsing build a box labels:", e);
}
var _RSConfig = _RSConfig || {};
_RSConfig.shop = 'twinings-uk.myshopify.com';
_RSConfig.shopMoneyFormat = '£{{amount}}';
_RSConfig.shopMoneyFormatWithCurrencyFormat = '£{{amount}} GBP';
}
</script>
<style id="appstle-payment-button-override">
.shopify-payment-button {display: none;}
</style>
<script>
let appstleCount = 0
function isAppstleJSInitiated() {
appstleCount++;
if (window?.["RSConfig"] || appstleCount > 20) {
let appstleStyleElement = document.querySelector('#appstle-payment-button-override');
if (appstleStyleElement) {
appstleStyleElement.remove();
}
} else {
setTimeout(isAppstleJSInitiated, 500)
}
}
isAppstleJSInitiated();
</script>
<style>
</style>
<script>
function pollAppstleInit() {
if (window?.appstleInit) {
window?.appstleInit()
} else {
setTimeout(pollAppstleInit, 30);
}
}
</script>
<script src="https://subscription-admin.appstle.com/assets/js/appstle-subscription.min.js?shop=twinings-uk.myshopify.com&v=1781260251301" defer ></script>
</div><div id="shopify-block-AQm9TRHFSWXVWZkxWc__15316669992541710076" class="shopify-block shopify-app-block"><script defer src="https://widget.reviews.io/rating-snippet/dist.js"></script>
<link rel="stylesheet" href="https://widget.reviews.io/rating-snippet/dist.css" />
<script>
(function () {
function initRatingSnippet() {
var hasStore = typeof reviewsIoStore !== 'undefined' && !!reviewsIoStore;
if (!hasStore) return;
if (typeof ratingSnippet !== 'function') return;
// Ensure the target element exists (rating-output block may render after this app embed).
if (!document.querySelector('.ruk_rating_snippet')) return;
var storeOverride = window.__REVIEWSIO_RATING_SNIPPET_STORE_OVERRIDE__;
var storeForSnippet = storeOverride || reviewsIoStore;
ratingSnippet("ruk_rating_snippet",{
store: storeForSnippet,
color: '#d5b55a',
textClr: '#333333',
linebreak: false,
usePolaris: true,
text: 'Reviews',
lang: (typeof reviewsIoLang !== 'undefined' && reviewsIoLang) ? reviewsIoLang : 'en',
mode: 'default',
showEmptyStars: false,
enableSyndication: (typeof reviewsIoEnableSyndication !== 'undefined') ? reviewsIoEnableSyndication : false
});
const reviewsIoModal = document.getElementById('reviews_fade');
if (reviewsIoModal) {
reviewsIoModal.classList.add('rio-withoutBranding');
}
}
// Retry to survive slow network/script timing.
var attempts = 0;
var MAX_RATING_SNIPPET_INIT_ATTEMPTS = 20;
var MAX_TIMEOUT_RETRY = 200;
function tick() {
attempts += 1;
initRatingSnippet();
if (attempts < MAX_RATING_SNIPPET_INIT_ATTEMPTS && (typeof ratingSnippet !== 'function' || !document.querySelector('.ruk_rating_snippet'))) {
window.setTimeout(tick, MAX_TIMEOUT_RETRY);
}
}
// Use window load to maximize chance that the external script executed.
window.addEventListener('load', tick);
})();
</script>
</div><div id="shopify-block-AcThYNTRkUW1SdzMyZ__6610233760104865948" class="shopify-block shopify-app-block"><script>
window.pushowlSubdomain = "twinings-uk.myshopify.com".split(".")[0]
window.isPushowlThemeAppExtentionEnabled = true
window.pushowlGUID = "705008ad-42c0-40ad-a07d-b9abec88b99e"
window.pushowlEnvironment = "production"
window.pushowlConfigSource = "pushowl"
window.pushowlConfigUrl = ""
</script>
</div><div id="shopify-block-AM05QbkZpaG5MWU93V__18228966181090706294" class="shopify-block shopify-app-block">
<script type="module" src="https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-upsell.js" defer="defer"></script>
<script type="module" src="https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-upsell-components.esm.js" defer="defer"></script>
<script>
window.lbupsellToken = "f231ac4033bc58cde5e896d27dec8ed3"
</script>
<script>
window.lbInitMode = "user";
window.lbComponentSrc = "https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-upsell-components.esm.js";</script>
<script type="text/javascript" src="https://cdn.shopify.com/extensions/019ff563-669d-7835-8bc9-ec10ad3f48e3/lb-upsell-436/assets/lb-utils.js" defer="defer"></script>
</div><script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
</body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 256
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 256 слишком много. Проведите оптимизацию сайта!
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 6.
Показать первые 100 внутренних ссылок
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /collections/black-tea |
<span class="visually-hidden">
Save up to 1/3rd off Black Tea >
</span>
|
|
Анализировать url |
| /collections/new-products |
<span class="menu-drawer__menu-item-text wrap-text">New</span>
|
|
Анализировать url |
| /collections/tea |
<span class="menu-drawer__menu-item-text wrap-text">Shop All Tea</span>
|
|
Анализировать url |
| /collections/superblends |
<span class="menu-drawer__menu-item-text wrap-text">Superblends</span>
|
|
Анализировать url |
| /collections/black-tea |
<span class="menu-drawer__menu-item-text wrap-text">Black Tea</span>
|
|
Анализировать url |
| /collections/fruit-herbal |
<span class="menu-drawer__menu-item-text wrap-text">Fruit & Herbal</span>
|
|
Анализировать url |
| /collections/tea-selection-packs |
<span class="menu-drawer__menu-item-text wrap-text">Tea Selection Packs</span>
|
|
Анализировать url |
| /collections/green-tea |
<span class="menu-drawer__menu-item-text wrap-text">Green Tea</span>
|
|
Анализировать url |
| /collections/international-tea-blends |
<span class="menu-drawer__menu-item-text wrap-text">International Blends</span>
|
|
Анализировать url |
| /collections/english-breakfast-tea |
<span class="menu-drawer__menu-item-text wrap-text">English Breakfast</span>
|
|
Анализировать url |
| /collections/earl-grey-tea |
<span class="menu-drawer__menu-item-text wrap-text">Earl Grey</span>
|
|
Анализировать url |
| /collections/lady-grey-tea |
<span class="menu-drawer__menu-item-text wrap-text">Lady Grey</span>
|
|
Анализировать url |
| /collections/darjeeling-tea |
<span class="menu-drawer__menu-item-text wrap-text">Darjeeling</span>
|
|
Анализировать url |
| /collections/assam-tea |
<span class="menu-drawer__menu-item-text wrap-text">Assam</span>
|
|
Анализировать url |
| /collections/decaffeinated-tea |
<span class="menu-drawer__menu-item-text wrap-text">Decaffeinated Tea</span>
|
|
Анализировать url |
| /collections/loose-leaf-tea |
<span class="menu-drawer__menu-item-text wrap-text">Loose Leaf</span>
|
|
Анализировать url |
| /collections/loose-leaf-pyramids |
<span class="menu-drawer__menu-item-text wrap-text">Loose Leaf Pyramids</span>
|
|
Анализировать url |
| /collections/cold-water-infusions |
<span class="menu-drawer__menu-item-text wrap-text">Cold Water Infusions</span>
|
|
Анализировать url |
| /collections/pick-mix-individual-tea-bags |
<span class="menu-drawer__menu-item-text wrap-text">Pick & Mix</span>
|
|
Анализировать url |
| /collections/herbal-tea-infusions |
<span class="menu-drawer__menu-item-text wrap-text">Herbal Infusions</span>
|
|
Анализировать url |
| /collections/redbush-rooibos-tea |
<span class="menu-drawer__menu-item-text wrap-text">Redbush</span>
|
|
Анализировать url |
| /collections/chai-tea |
<span class="menu-drawer__menu-item-text wrap-text">Chai Tea</span>
|
|
Анализировать url |
| /collections/matcha-tea |
<span class="menu-drawer__menu-item-text wrap-text">Matcha Tea</span>
|
|
Анализировать url |
| /collections/peach-teas-infusions |
<span class="menu-drawer__menu-item-text wrap-text">Peach</span>
|
|
Анализировать url |
| /collections/raspberry-tea |
<span class="menu-drawer__menu-item-text wrap-text">Raspberry</span>
|
|
Анализировать url |
| /collections/fruit-tea |
<span class="menu-drawer__menu-item-text wrap-text">Fruits</span>
|
|
Анализировать url |
| /collections/hibiscus-tea |
<span class="menu-drawer__menu-item-text wrap-text">Hibiscus</span>
|
|
Анализировать url |
| /collections/ginger-tea |
<span class="menu-drawer__menu-item-text wrap-text">Ginger</span>
|
|
Анализировать url |
| /collections/mint-tea |
<span class="menu-drawer__menu-item-text wrap-text">Mint</span>
|
|
Анализировать url |
| /collections/camomile-tea |
<span class="menu-drawer__menu-item-text wrap-text">Camomile</span>
|
|
Анализировать url |
| /collections/fennel-tea |
<span class="menu-drawer__menu-item-text wrap-text">Fennel</span>
|
|
Анализировать url |
| /collections/cinnamon-tea |
<span class="menu-drawer__menu-item-text wrap-text">Cinnamon</span>
|
|
Анализировать url |
| /collections/lemon-tea |
<span class="menu-drawer__menu-item-text wrap-text">Lemon</span>
|
|
Анализировать url |
| /collections/hot-chocolate-and-malt-drinks |
<span class="menu-drawer__menu-item-text wrap-text">Hot Chocolate & Malt Drinks</span>
|
|
Анализировать url |
| /collections/options-hot-chocolate |
<span class="menu-drawer__menu-item-text wrap-text">Options Hot Chocolate</span>
|
|
Анализировать url |
| /collections/ovaltine-malt-drinks |
<span class="menu-drawer__menu-item-text wrap-text">Ovaltine Malt Drinks</span>
|
|
Анализировать url |
| /collections/syrups |
<span class="menu-drawer__menu-item-text wrap-text">Syrups</span>
|
|
Анализировать url |
| /collections/sparkling-tea |
<span class="menu-drawer__menu-item-text wrap-text">Sparkling Tea</span>
|
|
Анализировать url |
| /collections/matcha-tea |
<span class="menu-drawer__menu-item-text wrap-text">Matcha Tea</span>
|
|
Анализировать url |
| /collections/superblends |
<span class="menu-drawer__menu-item-text wrap-text">Superblends</span>
|
|
Анализировать url |
| /collections/green-tea |
<span class="menu-drawer__menu-item-text wrap-text">Green Tea</span>
|
|
Анализировать url |
| /collections/fruit-herbal |
<span class="menu-drawer__menu-item-text wrap-text">Fruit & Herbal</span>
|
|
Анализировать url |
| /collections/benefit-teas |
<span class="menu-drawer__menu-item-text wrap-text">Benefit Teas</span>
|
|
Анализировать url |
| /collections/soulful-blends |
<span class="menu-drawer__menu-item-text wrap-text">Soulful Blends</span>
|
|
Анализировать url |
| /collections/sleep |
<span class="menu-drawer__menu-item-text wrap-text">Sleep</span>
|
|
Анализировать url |
| /collections/pause-unwind |
<span class="menu-drawer__menu-item-text wrap-text">Pause & Unwind</span>
|
|
Анализировать url |
| /collections/digestive-health |
<span class="menu-drawer__menu-item-text wrap-text">Digestive Health</span>
|
|
Анализировать url |
| /collections/immune-health |
<span class="menu-drawer__menu-item-text wrap-text">Immune Health</span>
|
|
Анализировать url |
| /collections/feel-good-tea |
<span class="menu-drawer__menu-item-text wrap-text">Feel Good</span>
|
|
Анализировать url |
| /collections/good-energy |
<span class="menu-drawer__menu-item-text wrap-text">Good Energy</span>
|
|
Анализировать url |
| /collections/live-well |
<span class="menu-drawer__menu-item-text wrap-text">Live Well</span>
|
|
Анализировать url |
| /collections/womens-health |
<span class="menu-drawer__menu-item-text wrap-text">Women's Health</span>
|
|
Анализировать url |
| /pages/twinings-sparkling-tea |
<span class="menu-drawer__menu-item-text wrap-text">Sparkling Tea</span>
|
|
Анализировать url |
| /collections/hampers-gift-sets |
<span class="menu-drawer__menu-item-text wrap-text">Hampers & Gift Sets</span>
|
|
Анализировать url |
| /collections/compartment-boxes |
<span class="menu-drawer__menu-item-text wrap-text">Compartment Boxes</span>
|
|
Анализировать url |
| /collections/filled-tea-jars |
<span class="menu-drawer__menu-item-text wrap-text">Filled Jars</span>
|
|
Анализировать url |
| /collections/twinings-collection-tea-bag-selection-boxes |
<span class="menu-drawer__menu-item-text wrap-text">Twinings Selection Boxes</span>
|
|
Анализировать url |
| /collections/discovery-collection |
<span class="menu-drawer__menu-item-text wrap-text">Discovery Collection</span>
|
|
Анализировать url |
| /collections/loose-tea-caddies |
<span class="menu-drawer__menu-item-text wrap-text">Tea Caddies</span>
|
|
Анализировать url |
| /collections/tea-experiences |
<span class="menu-drawer__menu-item-text wrap-text">Tea Experiences</span>
|
|
Анализировать url |
| /collections/gift-boxes-bags-and-hamper-baskets |
<span class="menu-drawer__menu-item-text wrap-text">Gift Boxes, Bags & Hamper Baskets</span>
|
|
Анализировать url |
| /collections/wellbeing-gift-sets |
<span class="menu-drawer__menu-item-text wrap-text">Wellbeing Gift Sets</span>
|
|
Анализировать url |
| /collections/teapots |
<span class="menu-drawer__menu-item-text wrap-text">Teapots</span>
|
|
Анализировать url |
| /collections/mugs |
<span class="menu-drawer__menu-item-text wrap-text">Mugs</span>
|
|
Анализировать url |
| /collections/teacups-saucers |
<span class="menu-drawer__menu-item-text wrap-text">Teacups & Saucers</span>
|
|
Анализировать url |
| /collections/tea-accessories |
<span class="menu-drawer__menu-item-text wrap-text">Tea Accessories</span>
|
|
Анализировать url |
| /collections/keepcup |
<span class="menu-drawer__menu-item-text wrap-text">KeepCups</span>
|
|
Анализировать url |
| /pages/teaware-by-brand |
<span class="menu-drawer__menu-item-text wrap-text">Teaware By Brand</span>
|
|
Анализировать url |
| /collections/all-teaware |
<span class="menu-drawer__menu-item-text wrap-text">All Teaware</span>
|
|
Анализировать url |
| /collections/luxury-biscuits |
<span class="menu-drawer__menu-item-text wrap-text">Luxury Biscuits</span>
|
|
Анализировать url |
| /collections/chocolate-fudge |
<span class="menu-drawer__menu-item-text wrap-text">Chocolate & Fudge</span>
|
|
Анализировать url |
| /collections/marmalade-preserves |
<span class="menu-drawer__menu-item-text wrap-text">Marmalade & Preserves</span>
|
|
Анализировать url |
| /collections/syrups |
<span class="menu-drawer__menu-item-text wrap-text">Syrups</span>
|
|
Анализировать url |
| /pages/confectionery-by-brand |
<span class="menu-drawer__menu-item-text wrap-text">Confectionery By Brand</span>
|
|
Анализировать url |
| /collections/biscuits-confectionery |
<span class="menu-drawer__menu-item-text wrap-text">All Confectionery</span>
|
|
Анализировать url |
| /collections/tea-gift-for-her |
<span class="menu-drawer__menu-item-text wrap-text">For Her</span>
|
|
Анализировать url |
| /collections/tea-gift-for-him |
<span class="menu-drawer__menu-item-text wrap-text">For Him</span>
|
|
Анализировать url |
| /collections/best-selling-tea-gifts |
<span class="menu-drawer__menu-item-text wrap-text">Best Selling</span>
|
|
Анализировать url |
| /collections/tea-gifts-under-10 |
<span class="menu-drawer__menu-item-text wrap-text">Under £10</span>
|
|
Анализировать url |
| /collections/tea-gifts-under-25 |
<span class="menu-drawer__menu-item-text wrap-text">Under £25</span>
|
|
Анализировать url |
| /collections/luxury-tea-gifts |
<span class="menu-drawer__menu-item-text wrap-text">Luxury Gifts</span>
|
|
Анализировать url |
| /collections/easter-tea-gifts |
<span class="menu-drawer__menu-item-text wrap-text">Easter Gifts</span>
|
|
Анализировать url |
| /blogs/news/why-twinings |
<span class="menu-drawer__menu-item-text wrap-text">Experience More With Twinings</span>
|
|
Анализировать url |
| /pages/twinings-flagship-store-216-strand |
<span class="menu-drawer__menu-item-text wrap-text">Twinings Flagship Store 216 Strand</span>
|
|
Анализировать url |
| /pages/tea-masterclass-tasting-experience |
<span class="menu-drawer__menu-item-text wrap-text">Tea Experiences & Masterclasses</span>
|
|
Анализировать url |
| /pages/history-of-tea-and-twinings |
<span class="menu-drawer__menu-item-text wrap-text">The History of Tea and Twinings</span>
|
|
Анализировать url |
| /pages/sourced-with-care |
<span class="menu-drawer__menu-item-text wrap-text">Sourced With Care</span>
|
|
Анализировать url |
| /pages/careers-at-twinings |
<span class="menu-drawer__menu-item-text wrap-text">Careers at Twinings</span>
|
|
Анализировать url |
| /blogs/news/where-is-tea-from |
<span class="menu-drawer__menu-item-text wrap-text">Where is Tea From?</span>
|
|
Анализировать url |
| /blogs/news/how-is-tea-made |
<span class="menu-drawer__menu-item-text wrap-text">How is Tea Made</span>
|
|
Анализировать url |
| /blogs/news/how-to-taste-tea |
<span class="menu-drawer__menu-item-text wrap-text">How to Taste Tea</span>
|
|
Анализировать url |
| /blogs/news/our-communi-tea-about-tea-tea-glossary |
<span class="menu-drawer__menu-item-text wrap-text">Tea Glossary</span>
|
|
Анализировать url |
| /blogs/recipes/tagged/drinks |
<span class="menu-drawer__menu-item-text wrap-text">Drinks</span>
|
|
Анализировать url |
| /blogs/recipes/tagged/breakfast |
<span class="menu-drawer__menu-item-text wrap-text">Breakfast</span>
|
|
Анализировать url |
| /blogs/recipes/tagged/lunch |
<span class="menu-drawer__menu-item-text wrap-text">Lunch</span>
|
|
Анализировать url |
| /blogs/recipes/tagged/dessert |
<span class="menu-drawer__menu-item-text wrap-text">Desserts</span>
|
|
Анализировать url |
| /blogs/recipes/tagged/ice-cream-lollies |
<span class="menu-drawer__menu-item-text wrap-text">Ice Cream & Lollies</span>
|
|
Анализировать url |
| /blogs/recipes/tagged/smoothies |
<span class="menu-drawer__menu-item-text wrap-text">Smoothies</span>
|
|
Анализировать url |
| /blogs/recipes/tagged/cakes |
<span class="menu-drawer__menu-item-text wrap-text">Cakes</span>
|
|
Анализировать url |
| /blogs/recipes/tagged/sandwiches |
<span class="menu-drawer__menu-item-text wrap-text">Sandwiches</span>
|
|
Анализировать url |
Внешние ссылки
Кол-во: 26
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 26 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| twinings.co.uk |
<span class="menu-drawer__menu-item-text wrap-text">Advent Calendar & Christmas Teas</span>
|
Анализировать url |
| twinings.co.uk |
<span class="menu-drawer__menu-item-text wrap-text">Meet the Team</span>
|
Анализировать url |
| twinings.co.uk |
<span class="menu-drawer__menu-item-text wrap-text">About Twinings</span>
|
Анализировать url |
| twinings.co.uk |
<span class="menu-drawer__menu-item-text wrap-text">Your Wellbeing</span>
|
Анализировать url |
| twinings.co.uk |
<span class="wrap-text">Advent Calendar & Christmas Teas</span>
|
Анализировать url |
| twinings.co.uk |
<span class="wrap-text">About Twinings</span>
|
Анализировать url |
| twinings.co.uk |
<span class="wrap-text">Meet the Team</span>
|
Анализировать url |
| twinings.co.uk |
<span class="wrap-text">About Tea</span>
|
Анализировать url |
| twinings.co.uk |
<span class="wrap-text">Latest News & Articles</span>
|
Анализировать url |
| twinings.co.uk |
<span class="wrap-text">About Twinings</span>
|
Анализировать url |
| twinings.co.uk |
<span class="wrap-text">Your Wellbeing</span>
|
Анализировать url |
| twinings.co.uk |
<span class="wrap-text">Recipes</span>
|
Анализировать url |
| twinings.co.uk |
Log in
|
Анализировать url |
| twinings.co.uk |
Log in
|
Анализировать url |
| twinings.co.uk |
Register Interest
|
Анализировать url |
| twinings.co.uk |
Read Article
|
Анализировать url |
| twinings.co.uk |
Media Enquiries
|
Анализировать url |
| trade.twinings.co.uk |
Trade Customers
|
Анализировать url |
| twinings.co.uk |
Sitemap
|
Анализировать url |
| twinings.co.uk |
Student Discount
|
Анализировать url |
| twinings.co.uk |
Key Workers Discount
|
Анализировать url |
| twinings.co.uk |
Promotion Terms & Conditions
|
Анализировать url |
| facebook.com |
<span class="social-icons__icon-label">Facebook</span>
<svg class="social-icons__icon icon-default" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20">
<path d="M18 10.049C18 5.603 14.419 2 10 2c-4.419 0-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951Z"></path></svg>
|
|
| instagram.com |
<span class="social-icons__icon-label">Instagram</span>
<svg class="social-icons__icon icon-default" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20">
<path fill-rule="evenodd" d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.43 2.43 0 0 0-.912.593 2.486 2.486 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23 0 2.134.01 2.39.046 3.229.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046 2.134 0 2.39-.01 3.23-.046.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23 0-2.134-.01-2.39-.055-3.229-.027-.784-.164-1.204-.274-1.495a2.43 2.43 0 0 0-.593-.913 2.604 2.604 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045 1.1-.014 2.202.001 3.302.045.664.014 1.321.14 1.943.374a3.968 3.968 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.896 3.896 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.152 4.152 0 0 1-1.414-.922 4.128 4.128 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.44 4.44 0 0 1 .92-1.414 4.18 4.18 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805Zm1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93Zm5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355Z" clip-rule="evenodd"></path></svg>
|
|
| youtube.com |
<span class="social-icons__icon-label">Youtube</span>
<svg class="social-icons__icon icon-default" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20">
<path d="M18.16 5.87c.34 1.309.34 4.08.34 4.08s0 2.771-.34 4.08a2.125 2.125 0 0 1-1.53 1.53c-1.309.34-6.63.34-6.63.34s-5.321 0-6.63-.34a2.125 2.125 0 0 1-1.53-1.53c-.34-1.309-.34-4.08-.34-4.08s0-2.771.34-4.08a2.173 2.173 0 0 1 1.53-1.53C4.679 4 10 4 10 4s5.321 0 6.63.34a2.173 2.173 0 0 1 1.53 1.53ZM8.3 12.5l4.42-2.55L8.3 7.4v5.1Z"></path></svg>
|
Анализировать url |
| twitter.com |
<span class="social-icons__icon-label">Twitter</span>
<svg class="social-icons__icon icon-default" aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.27301 2.80005L10.8 7.82205L15.218 2.80005H16.986L11.586 8.93905L17.385 17.193H12.727L8.99701 11.883L4.32601 17.193H2.55801L8.21201 10.766L2.61501 2.80005H7.27301ZM13.515 15.925L5.07001 4.10905H6.47501L14.921 15.925H13.515Z" fill="currentColor"></path></svg>
|
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Выполнен подробный анализ сайта twinings.com: готовность на 50%. Чтобы выполнить все условия и попасть на первую страницу выдачи поисковых систем требуется:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: