Critical
Links lack accessible text
WCAG 2.4.4 (A)2 instances2 inspected pages
Links expose no accessible name, so screen-reader users cannot determine their destination.
Why it mattersLinks expose no accessible name, so screen-reader users cannot determine their destination.
Recommended correctionThis link's only content is an image with no text alternative. Provide meaningful alternative text on the linked image (its alt attribute) that identifies the link's destination or purpose. The link points to https://getsunmed.com/collections/mind.
View 2 affected elements
Component · Ref 3EFF7M
Affected pagehttps://getsunmed.com/blogs/blog/mindfulness-quotes
Element.rte__image
Markup<a href="https://getsunmed.com/collections/mind" target="_blank" class="rte__image"><img alt="" src="https://cdn.shopify.com/s/files/1/0555/1761/0061/files/blog_banners_mind_e669b5ad-ae99-475e-8ae0-2bc48e96bb08_1024x1024.jpg?v=1706123725" data-mce-selected="1"></a>
Component · Ref FPEEMD
Affected pagehttps://getsunmed.com/cart
Element.c-product__url
Markup<a class="c-product__url" href="">
</a>
Critical
Dropdown menus have no accessible name
WCAG 4.1.2 (A)1 instance1 inspected page
Select menus expose no programmatic name, so assistive technology cannot announce what the choice is for.
Why it mattersSelect menus expose no programmatic name, so assistive technology cannot announce what the choice is for.
Recommended correctionAdd an accessible name to the select element, such as a label or an aria-label attribute, so that assistive technology can announce the purpose of the dropdown menu. For example: <label for="ContactFormSubject">Select a topic:</label> <select id="ContactFormSubject" name="contact[Subject]" class="input-full">...</select> or <select id="ContactFormSubject" name="contact[Subject]" class="input-full" aria-label="Select a topic:">...</select>
View 1 affected element
Component · Ref ET8009
Affected pagehttps://getsunmed.com/pages/contact
Element#ContactFormSubject
Accessible nameGeneral Information
My Account
Order Status
Other
Markup<select id="ContactFormSubject" name="contact[Subject]" class="input-full">
<option>General Information</option>
<option>My Account</option>
<option>Order Status</option>
<option>Other</option>
</select>
High
ARIA hidden element must not be focusable or contain focusable elements
WCAG 4.1.2 (A)9 instances5 inspected pages
ARIA hidden element must not be focusable or contain focusable elements
Why it mattersARIA hidden element must not be focusable or contain focusable elements
Recommended correctionTo fix this issue, remove the 'tabindex' attribute or set it to '-1' for the element with the 'aria-hidden' attribute, and ensure that it does not contain any focusable elements. For example, you can modify the HTML to: <a class="in-page-link visually-hidden skip-link" aria-hidden="true" href="#MainContent" tabindex="-1">Skip to content</a>
View 9 affected elements
Component · Ref 4K4G96
Affected pagehttps://getsunmed.com/cart
Element.in-page-link
Accessible nameSkip to content
Markup<a class="in-page-link visually-hidden skip-link" aria-hidden="true" href="#MainContent">Skip to content</a>
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Component · Ref ELTCZG
Affected pagehttps://getsunmed.com/
Element.slideshow__slide--image_GfAhaC
Accessible name.slideshow__slide--image_GfAhaC .hero__title {
font-size: 40.0px;
}
@media only screen and (min-width: 769px) {
.slideshow__slide--image_GfAhaC .hero__title {
font-size: 80px;
}
}
.hero__image--image_GfAhaC{
object-position: center center;
}
Markup<div class="slideshow__slide slideshow__slide--image_GfAhaC" data-index="4" data-id="image_GfAhaC" aria-hidden="true" style="position: absolute; left: 0px; transform: translateX(-50%);">
Component · Ref ERU8TH
Affected pagehttps://getsunmed.com/
Element.slideshow__slide--image_rmakh7 > .hero__slide-link[aria-hidden="true"]
Markup<a href="https://live.zoho.com/mmhy-mfp-rzj" class="hero__slide-link" aria-hidden="true"></a>
High
Elements must only use permitted ARIA attributes
WCAG 4.1.2 (A)5 instances5 inspected pages
Elements must only use permitted ARIA attributes
Why it mattersElements must only use permitted ARIA attributes
Recommended correctionReview the usage of ARIA attributes on the 'Free Shipping Progress Bar' element to ensure only permitted attributes are used. Consider removing or replacing the 'aria-label' attribute if it's not necessary for the element's functionality.
View 5 affected elements
Component · Ref LV3PSU
Affected pagehttps://getsunmed.com/cart
Element.essential_free_shipping_bar_wrapper
Accessible nameFree Shipping Progress Bar
Markup<div class="essential_free_shipping_bar_wrapper free_shipping_bar_wrapper_clg2idp60170591gpvq5m56znw" aria-label="Free Shipping Progress Bar" style="display: flex;"><div><div class="free_shipping_bar_title_clg2idp60170591gpvq5m56znw h2">Free shipping on orders of $50 or more</div></div></div>
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
High
Hidden elements can still receive keyboard focus
WCAG 2.4.3 (A)50 instances5 inspected pages
An element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.
Why it mattersAn element is not visible but remains in the tab order, so a sighted keyboard user loses track of focus when it lands there.
Recommended correctionTo fix this issue, ensure that the element is removed from the tab order when it's not visible. This can be achieved by setting the 'tabindex' attribute to '-1' or by using JavaScript to remove the element from the DOM when it's hidden. Additionally, consider using ARIA attributes to provide a clear and consistent navigation experience for screen reader users.
View 50 affected elements
Component · Ref 6G6DRE
Affected pagehttps://getsunmed.com/pages/checkout-badges
Elementbutton#shopByConcern-tab
Accessible nameBy Categories
Markup<button id="shopByConcern-tab">By Categories</button>
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Component · Ref B9QWWE
Affected pagehttps://getsunmed.com/blogs/blog/mindfulness-quotes
Elementdiv:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div:nth-of-type(1) > div > a:nth-of-type(1)
Accessible namesearch
Markup<a href="#" class="site-nav__link site-nav__link--icon drawer-search-link" aria-label="search">
<span class="icon-link">
<svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 54 54">
<g id="layer1" transform="translate(-7, 0)">
<path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"></path>
</g>
</svg>
<span class="icon-text">Search</span>
</span>
</a> Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Component · Ref LDQXO4
Affected pagehttps://getsunmed.com/
Elementhtml > body > a
Accessible nameSkip to content
Markup<a class="in-page-link visually-hidden skip-link" aria-hidden="true" href="#MainContent">Skip to content</a>
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Component · Ref 8NGZ3T
Affected pagehttps://getsunmed.com/
Elementdiv:nth-of-type(2) > ul:nth-of-type(1) > div:nth-of-type(2) > div > li:nth-of-type(1) > a
Accessible nameRelax to the max
Beyond 1:1:1 IndicaLive Resin Gummies
Markup<a href="https://getsunmed.com/collections/shop-all/products/beyond-live-resin-1-1-1-indica-gummies">
<span class="title-top">Relax to <br> the max</span>
<img src="//getsunmed.com/cdn/shop/files/Beyond-Indica-1-1-1-Gummies-30ct-3300023_1_200x.jpg?v=1763617114" alt="Black jar labeled " beyond="" cbd:cbn:thc="" mixed="" berry="" vegan="" gummies="" with="" live="" resin="" hemp="" supplement."="" width="100%" height="100%">
<span>Beyond 1:1:1 Indica<br>Live Resin Gummies</span>
</a> Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Component · Ref 7O2VAO
Affected pagehttps://getsunmed.com/cart
Elementa#notepad-anchor-title
Accessible nameMy Shortlist
Markup<a href="#swym-wishlist" class="swym-background-color" id="notepad-anchor-title" aria-label="My Shortlist" data-swym-loaded="true"><i class="swym-icon swym-notepad-white"></i>My Shortlist</a>
Affected pages/ /blogs/blog/mindfulness-quotes /pages/contact /cart
High
Modal dialog does not trap keyboard focus
WCAG 2.4.3 (A)5 instances5 inspected pages
An open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.
Why it mattersAn open modal leaves the content behind it keyboard-focusable, so keyboard and screen reader users can tab out of the dialog into hidden page content.
Recommended correctionTo fix this issue, ensure that the modal dialog traps keyboard focus by setting the `inert` attribute on the container element behind the modal to prevent it from receiving keyboard focus. Additionally, verify that the modal's close button is properly focused when the modal is opened and that the modal's content is properly ordered to allow for logical keyboard navigation.
View 5 affected elements
Component · Ref CF75DQ
Affected pagehttps://getsunmed.com/blogs/blog/mindfulness-quotes
Elementdiv#swym-storefront-layout-container
Accessible nameMy Shortlist
Roledialog
Markup<div id="swym-storefront-layout-container" class="swym-storefront-layout-drawer swym-storefront-layout-hide-view swym-storefront-layout-drawer-position-left" role="dialog" aria-modal="true" aria-labelledby="swym-wishlist-title" tabindex="-1" aria-hidden="true" inert="">
<div class="swym-storefront-layout-backdrop"></div>
<div class="swym-storefront-layout-layout">
<button id="swym-storefront-layout-close-drawer-button" aria-label="Close" class="swym-storefront-layout-close-button">
<svg xmlns="http://www.w3.org/2000/svg" width="27" height="27" viewBox="0 0… Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
High
Interactive controls must not be nested
WCAG 4.1.2 (A)4 instances4 inspected pages
Interactive controls must not be nested
Why it mattersInteractive controls must not be nested
Recommended correctionTo fix this issue, ensure that interactive controls, such as buttons or toggles, are not nested inside other interactive elements. For the 'Yes No New to Sunmed' toggle, remove the 'role="switch"' attribute from the outer div and instead apply it to a single, non-interactive container element if necessary. Review the nearby HTML structure to ensure all interactive elements are properly separated and accessible.
View 4 affected elements
Component · Ref 9H475D
Affected pagehttps://getsunmed.com/pages/contact
Element.custom-toggle
Accessible nameYes No New to Sunmed
Roleswitch
Markup<div class="custom-toggle active" role="switch" aria-label="Yes No New to Sunmed" aria-checked="true" tabindex="0" data-a11y-bound="true" data-a11y-strict-watcher="true">
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact
Medium
Content sits outside any landmark region
WCAG 1.3.1 (A)5 instances5 inspected pages
Meaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.
Why it mattersMeaningful content is not contained in a landmark (header/nav/main/footer/aside), so assistive-technology users cannot reach it via landmark navigation.
Recommended correctionWrap primary content in <main> and other regions in appropriate landmark elements.
View 5 affected elements
Component · Ref HCQCJ7
Affected pagehttps://getsunmed.com/blogs/blog/mindfulness-quotes
Elementdiv#smOfferModal > div > div:nth-of-type(2) > p:nth-of-type(1)
Accessible nameTry 5 best sellers for $20.
Markup<p>Try 5 best sellers for $20.</p>
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Medium
Navigation regions are not distinguishable
WCAG 1.3.1 (A)10 instances5 inspected pages
The page has multiple navigation landmarks but they lack accessible names, so screen reader users cannot tell them apart.
Why it mattersThe page has multiple navigation landmarks but they lack accessible names, so screen reader users cannot tell them apart.
Recommended correctionAdd an accessible name to the navigation region using the 'aria-label' attribute, for example: <ul class="mobile-nav" role="navigation" aria-label="Main Navigation">
View 10 affected elements
Component · Ref 4O90UH
Affected pagehttps://getsunmed.com/
Elementdiv#NavDrawer > div:nth-of-type(1) > div:nth-of-type(2) > ul:nth-of-type(1)
Accessible nameBy Bestsellers
By Categories
Our top 3 best sellers:
Relax to the max
Beyond 1:1:1 IndicaLive Resin Gummies
Clinically provensleep breakthrough:
Full Spectrum SleepCBN Gummies
Our bestseller7 years in a row:
Full Spectrum ReliefCBD Cream
SEE ALL PRODUCTS
Sleep
Clarity
Relief
Energy
Pet
Weight Loss
Shop all
Search
Enter
View more
View more
Rachael's Story
LEARN MORE
LAST CHANCE FINDS
Rolenavigation
Markup<ul class="mobile-nav" role="navigation">
<div class="tabber">
<button id="bestSellers-tab" class="active">By Bestsellers</button>
<button id="shopByConcern-tab">By Categories</button>
<span class="bottom-bar" style="left: 0%;"></span>
</div>
<div class="bestSellers-tab tab-panel--active">
<li class="heading">
Our top 3 best sellers:
</li><div class="card-menu-wrap"><li class="product-bl… Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Component · Ref UCPUQW
Affected pagehttps://getsunmed.com/cart
Elementdiv#NavDrawer > div:nth-of-type(1) > div:nth-of-type(2) > ul:nth-of-type(1) > div:nth-of-type(3) > nav
Accessible nameSleep
Clarity
Relief
Energy
Pet
Weight Loss
Shop all
Markup<nav>
<ul class="menu-drawer__menu list-menu" role="list">
<li>
<div class="wrap-drop-main">
<a href="/collections/sleep" class="menu-drawer__menu-item list-menu__item li… Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Medium
Text has insufficient colour contrast
WCAG 1.4.3 (AA)29 instances4 inspected pages
Text and background colours do not meet the minimum contrast ratio, reducing legibility.
Why it mattersText and background colours do not meet the minimum contrast ratio, reducing legibility.
Recommended correctionTo improve the accessibility of this page, increase the contrast between the text color and background color of the element with class 'section-header__subtitle tk-interstate'. This can be achieved by changing the CSS to use a color combination that meets the minimum contrast ratio thresholds as defined by the Web Content Accessibility Guidelines (WCAG 2.1).
View 29 affected elements
Component · Ref DLRTAB
Affected pagehttps://getsunmed.com/cart
Element.section-header__subtitle
Accessible nameFeatured collection
Markup<h2 class="section-header__subtitle tk-interstate">
Featured collection
</h2> Component · Ref NKD4B5
Affected pagehttps://getsunmed.com/cart
Elementdiv[data-product-id="6796689637453"] > .grid-product__content > .grid-product__tag--custom.grid-product__tag
Accessible nameBestseller
Markup<div class="grid-product__tag grid-product__tag--custom">
Bestseller
</div> Component · Ref ITFZ0F
Affected pagehttps://getsunmed.com/
Element.site-nav--is-megamenu.site-nav--has-dropdown[aria-haspopup="true"]:nth-child(6) > .site-nav__link--has-dropdown.site-nav__link--underline.site-nav__link
Accessible nameDelta Collection
Markup<a href="/collections/delta-8-and-delta-9-thc-above-and-beyond-by-sunmed" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown">
Delta Collection
</a> Component · Ref 6RP1LA
Affected pagehttps://getsunmed.com/
Element#preferred-store
Accessible nameNot Specified
Markup<span id="preferred-store" style="font-size: .89em"> Not Specified</span>
Component · Ref 5590IU
Affected pagehttps://getsunmed.com/
Element.site-nav__link--has-dropdown.site-nav__link--underline[href$="sleep"]
Accessible nameSleep
Markup<a href="/collections/sleep" class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown">
Sleep
</a> Component · Ref 52YD9Z
Affected pagehttps://getsunmed.com/
Element.founder-text > span:nth-child(1)
Accessible nameRachael Quinn
Markup<span>Rachael Quinn</span>
Component · Ref A6P9MA
Affected pagehttps://getsunmed.com/cart
Element.grid-product__tag--sale
Accessible nameSale
Markup<div class="grid-product__tag grid-product__tag--sale">
Sale
</div> Component · Ref KKWE2
Affected pagehttps://getsunmed.com/
Element.site-nav.small--hide > .js-search-header.site-nav__link--icon[href$="search"] > .icon-link > .icon-text
Accessible nameSearch
Markup<span class="icon-text">Search</span>
Component · Ref LHL15N
Affected pagehttps://getsunmed.com/pages/contact
Element#contact-template--17515573018701__form > .btn[type="submit"]
Accessible nameSend
Markup<button type="submit" class="btn">
Send
</button> Component · Ref 3QZPPD
Affected pagehttps://getsunmed.com/
Element.site-nav__link--icon.small--hide[href$="account"] > .icon-link > .icon-text
Accessible nameLog in / Sign up
Markup<span class="icon-text">Log in / Sign up
</span>
Component · Ref 7JXA8Y
Affected pagehttps://getsunmed.com/
Element.site-nav-learn__link > .icon__fallback-text
Accessible nameLearn
Markup<span class="icon__fallback-text">Learn</span>
Component · Ref 2IWBX5
Affected pagehttps://getsunmed.com/pages/contact
Element#ContactFormSubject
Accessible nameGeneral Information
My Account
Order Status
Other
Markup<select id="ContactFormSubject" name="contact[Subject]" class="input-full">
<option>General Information</option>
<option>My Account</option>
<option>Order Status</option>
<option>Other</option>
</select> Component · Ref K3NPE7
Affected pagehttps://getsunmed.com/blogs/blog/mindfulness-quotes
Element.return-link
Accessible nameBack to Blog
Markup<a href="/blogs/blog" class="btn return-link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-arrow-left" viewBox="0 0 50 15"><path d="M50 5.38v4.25H15V15L0 7.5 15 0v5.38z"></path></svg> Back to Blog</a>
Component · Ref 98HCK3
Affected pagehttps://getsunmed.com/
Element.cart-link > .icon-text
Accessible nameCart
Markup<span class="icon-text">Cart</span>
Component · Ref 36K5IP
Affected pagehttps://getsunmed.com/
Elementa[href$="seltzers"]
Accessible nameSeltzers
Markup<a href="/collections/seltzers" class="site-nav__link site-nav__link--underline">
Seltzers
</a>
Medium
Touch targets are too small
WCAG 2.5.8 (AA)6 instances4 inspected pages
Interactive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.
Why it mattersInteractive controls are smaller than the 24×24px minimum target size, making them hard to activate reliably by touch.
Recommended correctionIncrease this <div>'s rendered area to at least 24 × 24 CSS pixels, or provide sufficient spacing from adjacent targets. Prefer increasing padding on the existing control (for example the button or link) rather than adding a separate non-interactive wrapper.
View 6 affected elements
Component · Ref QRIWQJ
Affected pagehttps://getsunmed.com/pages/checkout-badges
Element.custom-toggle
Accessible nameYes No New to Sunmed
Roleswitch
Markup<div class="custom-toggle active" role="switch" aria-label="Yes No New to Sunmed" aria-checked="true" tabindex="0" data-a11y-bound="true" data-a11y-strict-watcher="true">
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact
Component · Ref FHKNM1
Affected pagehttps://getsunmed.com/
Element.flickity-next
Accessible nameNext
Markup<button class="flickity-button flickity-prev-next-button flickity-next" type="button" aria-label="Next">
Component · Ref JR7A0C
Affected pagehttps://getsunmed.com/
Element.flickity-previous
Accessible namePrevious
Markup<button class="flickity-button flickity-prev-next-button flickity-previous" type="button" aria-label="Previous"><svg class="flickity-button-icon" viewBox="0 0 100 100"><path d="M 10,50 L 60,100 L 70,90 L 30,50 L 70,10 L 60,0 Z" class="arrow"></path></svg></button>
Low
Low-quality alternative text
WCAG 1.1.1 (A)42 instances5 inspected pages
Alt text looks like a filename, a generic word ("image", "photo"), or is duplicated across unrelated images — it likely does not describe the content.
Why it mattersAlt text looks like a filename, a generic word ("image", "photo"), or is duplicated across unrelated images — it likely does not describe the content.
Recommended correctionProvide a descriptive alternative text for the image that describes its content, such as 'Sleep collection product image'. Avoid using generic terms or filenames as alt text. Ensure that each image has a unique and descriptive alt text.
View 42 affected elements
Component · Ref S8K1NF
Affected pagehttps://getsunmed.com/pages/contact
Elementul > li:nth-of-type(3) > div > div > a > img
Markup<img src="//getsunmed.com/cdn/shop/collections/Sunmed_Website_Banner_Clarity-500x500_large.jpg?v=1788446334" alt="Clarity" loading="lazy">
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Component · Ref UUXDR0
Affected pagehttps://getsunmed.com/pages/checkout-badges
Elementdiv:nth-of-type(10) > div > div:nth-of-type(2) > div > div:nth-of-type(2) > img
Markup<img src="https://getsunmed.com/cdn/shop/files/Sleep_Gummy_Starter_Pack_0d7961f7-9ca9-4b82-a607-8dcff69fbbf9_1080x.png" alt="Sleep">
Affected pages/ /blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Component · Ref ROM5V9
Affected pagehttps://getsunmed.com/cart
Elementdiv:nth-of-type(1) > div:nth-of-type(2) > div > div > a:nth-of-type(1) > img:nth-of-type(2)
Markup<img class="medium-up--hide mob-hide-logo" src="//getsunmed.com/cdn/shop/files/sunmed_your_cbd_store-logo_170x.png?v=1718912886" srcset="//getsunmed.com/cdn/shop/files/sunmed_your_cbd_store-logo_170x.png?v=1718912886 1x, //getsunmed.com/cdn/shop/files/[email removed]?v=1718912886 2x" alt="Logo with a golden sun emblem and text " sunmed="" your="" cbd="" store"."="">
Affected pages/blogs/blog/mindfulness-quotes /pages/checkout-badges /pages/contact /cart
Low
Page has no level-one heading
WCAG 1.3.1 (A)2 instances2 inspected pages
The page exposes no <h1>, so its topic is not conveyed in the heading structure.
Why it mattersThe page exposes no <h1>, so its topic is not conveyed in the heading structure.
Recommended correctionAdd a single descriptive <h1> that names the page's primary purpose.
View 2 affected elements
Component · Ref O2V4IC
Affected pagehttps://getsunmed.com/pages/checkout-badges
Elementhtml > body
Accessible namePress Alt+1 for screen-reader mode, Alt+0 to cancelAccessibility Screen-Reader Guide, Feedback, and Issue Reporting | New windowFree shipping on orders of $50 or more
×
Try 5 best sellers for $20.
Inspire
Sleep
Unwind
Focus
Clarity
Mellow
Soothe
You save 68% — and the box ships free.
(Not sure how long we can hold this price.)
REVEAL OFFER
(function () {
function setCookie(name, value, days) {
var expires = '';
if (days) {
var date = new Date();
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
expires = '; expires=' + date.toUTCString();
}
document.cookie = name + '=' + encodeURIComponent(value) + expires + '; path=/';
}
var modal = null;
function openOfferModal() {
if (!modal) modal = document.getElementById('smOfferModal');
if (!modal) return;
modal.classList.add('is-open');
setCookie('sunmed_lightbox_seen', '1', 365);
}
function closeOfferModal() {
if (!modal) modal = document.getElementById('smOfferModal');
if (!modal) return;
modal.classList.remove('is-open');
}
function setBarState(bar, isYes) {
var toggle = bar.querySelector('.sm-switch');
if (!toggle) return;
toggle.classList.toggle('is-active', isYes);
toggle.setAttribute('aria-checked', isYes ? 'true' : 'false');
}
// Event delegation — works for any number of .sm-notify-bar
// instances on the page, including ones added after page load.
document.addEventListener('click', function (e) {
var yesEl = e.target.closest('.sm-toggle-yes, .sm-switch.is-active ~ .sm-toggle-yes');
var noEl = e.target.closest('.sm-toggle-no');
var switchEl = e.target.closest('.sm-switch');
var bar = e.target.closest('.sm-notify-bar');
if (!bar) return;
if (switchEl) {
var willBeYes = !switchEl.classList.contains('is-active');
setBarState(bar, willBeYes);
if (willBeYes) {
openOfferModal();
// GA tracking, mirrors previous "Yes" click event
if (window.dataLayer) {
window.dataLayer.push({
event: 'Floating_and_Gallery_Image',
eventCategory: 'Floating_and_Gallery_Image',
eventAction: 'HP - Floating_yes_click (D)'
});
}
}
return;
}
if (yesEl) {
setBarState(bar, true);
openOfferModal();
return;
}
if (noEl) {
setBarState(bar, false);
return;
}
});
document.addEventListener('click', function (e) {
if (e.target.id === 'smOfferModalClose') {
closeOfferModal();
return;
}
if (e.target.id === 'smOfferModal') {
closeOfferModal();
}
});
})();
html:has(.sm-offer-modal.is-open),
body:has(.sm-offer-modal.is-open) {
overflow: hidden;
}
/* ---------- Toggle bar (inline, repeatable) ---------- */
.sm-notify-bar {
display:none;
align-items: center;
gap: 16px;
background: #ffffff;
border: 1.5px solid #395657;
border-radius: 12px;
padding: 10px 22px;
font-family: Roboto, sans-serif;
width: 100%;
margin-bottom: 15px;
}
.sm-notify-label {
font-size: 14px;
font-weight: 700;
letter-spacing: 0.4px;
text-transform: uppercase;
color: #222;
white-space: nowrap;
}
.sm-toggle-group {
display: flex;
align-items: center;
gap: 10px;
}
.sm-toggle-text {
font-size: 15px;
font-weight: 500;
color: #333;
cursor: pointer;
user-select: none;
white-space: nowrap;
}
.sm-switch {
appearance: none;
-webkit-appearance: none;
border: none;
padding: 0;
width: 46px;
height: 26px;
border-radius: 999px;
background: #d9d9d9;
position: relative;
cursor: pointer;
transition: background 0.25s ease;
flex-shrink: 0;
}
.sm-switch.is-active {
background: #305456;
}
.sm-switch-knob {
position: absolute;
top: 3px;
left: 3px;
width: 20px;
height: 20px;
border-radius: 50%;
background: #fff;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
transition: transform 0.25s ease;
pointer-events: none;
}
.sm-switch.is-active .sm-switch-knob {
transform: translateX(20px);
}
/* ---------- Offer modal ---------- */
.sm-offer-modal {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.55);
z-index: -9;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.sm-offer-modal.is-open {
opacity: 1;
z-index: 9999999;
visibility: visible;
}
.sm-offer-modal-inner {
background: #fff;
padding: 30px 12px 35px;
border-radius: 12px;
max-width: 430px;
width: calc(100% - 40px);
text-align: center;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.sm-offer-modal-copy > p {
margin-bottom: 15px !important;
}
.sm-offer-modal-copy {
color: #000;
font-size: 18px;
line-height: 1.5;
margin: 0 0 26px;
text-align: center;
}
.sm-offer-modal-close {
position: absolute;
top: 4px;
right: 18px;
font-size: 30px;
cursor: pointer;
color: #111;
line-height: 1;
}
.sm-offer-modal-cta {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 10px 28px;
border-radius: 3px;
background: #305456;
color: #fff !important;
text-decoration: none;
font-size: 18px;
font-weight: 700;
transition: all 0.25s ease;
}
.sm-offer-modal-cta:hover {
transform: translateY(-1px);
}
@media (max-width:768px){
.sm-notify-bar {
display:inline-flex;
justify-content: space-around;
padding:13px 22px;
}
}
.sm-offer-product-grid {
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
margin-bottom: 15px;
}
.sm-offer-product-grid .sm-product {
flex: 1;
display: grid;
min-width: 61px;
}
.sm-offer-product-grid .sm-product > span {
font-size: 16px;
}
.sm-offer-product-grid .sm-product img {
aspect-ratio: 1/1;
border-radius: 50% !important;
object-fit: cover;
background: white;
box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.7);
}
@media (max-width:768px){
.sm-offer-product-grid {
flex-wrap:wrap;
max-width: 326px;
margin-left: auto;
margin-right: auto;
}
.sm-offer-product-grid .sm-product {
max-width:61px;
}
}
(function () {
var w = window;
var d = document;
var l = function () {
var data = btoa(
JSON.stringify({
Provider: 0,
SiteIdentifier: 'get-sunmed.myshopify.com',
CustomerIdentifier: '',
Timestamp: 'fe5b2b6718321a362317d578abbe882553707a40fbb23c695e58e67048e6aea4',
})
);
w.marselloSettings = { token: data };
var listener = function (event) {
if (event.data == 'signup') {
window.location.href = '/account/register';
} else if (event.data == 'signin') {
window.location.href = '/account/login';
} else if (event.data == 'logout') {
window.location.href = '/account/logout';
}
};
window…[truncated by Evolize: exceeded D1 value limit]
Markup<body class="template-page Getsunmed_SlideOutCartSubscription swym-ready" data-center-text="true" data-button_style="round-slight" data-type_header_capitalize="false" data-type_headers_align_text="true" data-type_product_capitalize="false" data-swatch_style="round" data-aos-easing="ease-out-quad" data-aos-duration="400" data-aos-delay="0" data-age-gate-watcher-attached="true"><span role="region" aria-label="Accessibility options" data-acsb-landmark-wrap="true" style="display: contents;"><span role="alert" data-acsb-sr-alert="true" data-acsb-sr-only="true" class="acsb-sr-alert acsb-sr-only" dat…
Affected pages/pages/checkout-badges /pages/contact