Help
RSS
API
Feed
Maltego
Contact
Domain > annaultra.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2023-06-25
54.230.31.53
(
ClassC
)
2023-06-25
54.230.31.108
(
ClassC
)
2023-06-25
54.230.31.114
(
ClassC
)
2025-03-28
13.35.116.15
(
ClassC
)
2026-01-31
3.169.173.105
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Sat, 31 Jan 2026 02:04:05 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://annaultra.com/X-Cache: Redirect from cloudfrontVia: 1.1 7d14d4fc1c149f1d429681a4c414c21a.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4X-Amz-Cf-Id: 4XrrsVQWDg7sIfoFs26ikILFpOh6SIMszB9SFWBwIg5WL9mRRq7WoA html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/html;charsetutf-8Content-Length: 124466Connection: keep-aliveDate: Fri, 30 Jan 2026 16:51:49 GMTLast-Modified: Wed, 26 Jul 2023 17:28:58 GMTETag: 7acbfe532c4b5933c650942e660e11e7x-amz-server-side-encryption: AES256Accept-Ranges: bytesServer: AmazonS3X-Cache: Hit from cloudfrontVia: 1.1 9b38ff4b39c6c0a269c601916dab060e.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4X-Amz-Cf-Id: LTbwrsCHr7KJqRXaXCGhSOB3m9-E0ie4i8eoKRwrXJNRPgO7SXfXfwAge: 33137 head> meta nameviewport contentwidthdevice-width, initial-scale1> meta propertyog:title contentYour Portal Name-(2)> meta propertyog:description contentYour Portal Name-(2)> meta propertyog:image contenthttps://portals.helium10.com/cdnimages/2141817443/bt8h25rktbdw-Screen Shot 2023-06-19 at 11.53.54 AM.png> meta propertyog:url contenthttps://portals.click/E5uKL5> meta nametwitter:title contentYour Portal Name-(2)> meta nametwitter:description contentYour Portal Name-(2)> meta nametwitter:image contenthttps://portals.helium10.com/cdnimages/2141817443/bt8h25rktbdw-Screen Shot 2023-06-19 at 11.53.54 AM.png> meta nametwitter:card contentsummary_large_image> /head>style classsharedStyle>/style>style> @import url(https://fonts.googleapis.com/css2?familyAnton&displayswap); @import url(https://fonts.googleapis.com/css2?familyBai+Jamjuree:wght@300;400;500;600;700&displayswap); @import url(https://fonts.googleapis.com/css2?familyLato:wght@300;400;700&displayswap); @import url(https://fonts.googleapis.com/css2?familyMontserrat:wght@300;400;500;600;700&displayswap); @import url(https://fonts.googleapis.com/css?familySriracha&displayswap); @import url(https://fonts.googleapis.com/css2?familyUbuntu:wght@300;400;500;700&displayswap); @import url(https://fonts.googleapis.com/css2?familyDosis:wght@300;400;600;700&displayswap); *{position: relative;}html{scroll-behavior: smooth; font-size: 16px;}@media only screen and (max-width: 800px){html{font-size: 14px;}}@media only screen and (max-width: 420px){html{font-size: 12px;}}body, div-body{margin: 0; display: flex !important; flex-direction: column; min-height: 100%;}::-webkit-scrollbar{width: 7px; height: 7px; background-color: transparent; cursor: pointer;}::-webkit-scrollbar-track{background-color: transparent; border: 1px solid #EEE;}::-webkit-scrollbar-thumb{border-radius: 3.5px; background: rgba(107, 112, 117, 0.64); cursor: pointer;}body::-webkit-scrollbar-track{background: #F1F3F6;}.text-bold{font-weight: 700;}.text-italic{font-style: italic;}.text-underline{text-decoration: underline;}.text-line-through{text-decoration: line-through;}.text-line-through.text-underline{text-decoration: line-through underline;}block, header, notification, hero, about, info, description, gallery, store, subscribe, reviews, action, manychat, faq, footer, buttontree{background-repeat: no-repeat !important; background-position: center !important; background-size: cover !important;}header, notification, hero, about, info, description, gallery, store, subscribe, reviews, action, manychat, faq, footer, buttontree{width: 100%; position: relative; display: block; overflow-x: hidden; z-index: 1;}hero, about, info, description, gallery, store, subscribe, reviews, action, manychat, faq, buttontree{flex-grow: 1;}background{z-index: -1; display: block; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;}background img{width: 100%; height: 100%; object-fit: cover;}container{width: 80%; position: relative; display: block; margin: 0 auto; font-size: 0; padding: 80px 0;}image-container, div-full, media, upsell-media, stars, review, review-container, review-template, dot-container, counter, counter-text, question-container, question, answer, social-share, a-thumb, nail, thumb, slide, slider-container, slider-template, product-template, product, product-container{display: block;}text{display: inline-block; width: calc(100% - 10px); min-height: 20px; padding-left: 5px; padding-right: 5px; max-width: calc(100% - 10px); overflow-x: hidden;}listprice, discount, price{min-height: 20px; padding-left: 5px; padding-right: 5px; max-width: calc(100% - 10px); overflow-x: hidden;}counter-text{overflow: hidden; min-height: 10px; vertical-align: bottom;}text::-webkit-scrollbar, listprice::-webkit-scrollbar, discount::-webkit-scrollbar, price::-webkit-scrollbar{width: 0;}ul, ol{margin: 0; padding: 0; list-style-position: inside;}div-button, link-button{display: inline-block; overflow: hidden; cursor: pointer; max-width: 100%; transition: all .2s;}div-button{line-height: 16px; padding: 12px 20px; text-align: center; min-height: 16px; min-width: 120px; border-style: solid;}link-button{padding: 5px; text-decoration: underline;}.button-hidden{display: none;}.checkbox-wrapper{position: relative; line-height: 20px; padding-left: 30px; margin: 10px 0;}.checkbox-wrapper > span, .checkbox-wrapper label{position: unset;}.checkbox-wrapper input{display: none;}.checkmark:after{content: ; position: absolute; display: none;}.checkbox-wrapper input:checked ~ .checkmark:after{display: block;}.checkbox-wrapper .checkmark:after{left: 6px; top: 3px; width: 4px; height: 8px; border: solid #FFF; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);}.checkmark{position: absolute; top: 0; left: 0; height: 18px; width: 18px;}manychat container{text-align: center;}.manychat-widget-container{margin: 0 auto !important; padding: 0 !important;}.manychat-widget-container > div > div{margin: 0 auto !important; padding: 0 !important;}.manychat-widget-container > div > div > div{margin: 20px;}@media only screen and (max-width: 400px){.manychat-widget-container > div > div > div{width: calc(80vw - 40px);}}form{position: fixed; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 10000; top: 0; left: 0;}form-container{display: block; border-radius: 10px; margin: 15px; width: calc(100% - 30px); height: calc(100% - 30px); background: #FFF; box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden; font-size: 0;}.form-title{padding: 0 10px 0 20px; height: 70px; display: flex; justify-content: space-between; border-radius: 10px 10px 0 0; z-index: 1;}.form-title text{align-self: center; letter-spacing: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}.div-x{font-size: 24px; margin-top: 3px; cursor: pointer; font-family: Arial, sans-serif;}.form-content{position: relative; width: 80%; height: calc(100% - 70px); align-self: center; margin: 0 auto; overflow-x: hidden;}.form-content::-webkit-scrollbar{width: 0;}.form-about-input-name, .form-about-input-lastname, .form-about-input-email, .form-about-input-orderid{line-height: 20px; padding: 10px;}email-errors{display: block; margin: 5px 0 20px; min-height: 25px;}.form-coupon-container{margin: 10px 0 50px 5px;}.form-coupon-id{width: auto;}.notification-show{opacity: 1; transform: translateX(50%) scale(1);}notification-coupon{font-family: Arial, sans-serif; box-shadow: -3px 1px 5px rgba(0, 0, 0, 0.2); display: block; position: fixed; border-radius: 5px; bottom: 20px; font-size: 14px; right: 50%; opacity: 0; transform: translateX(50%) scale(0.8); max-width: 400px; padding: 10px 20px; text-align: center; background: #444; color: #DDD; transition: all 0.2s; z-index: 10001;}.coupon-id{width: auto; max-width: 50%; word-break: break-all; overflow: visible;}.policy-separator{display: inline; overflow: visible;}.errors-hidden{display: none;}.errors-visible{display: block;}.visibility-hidden{visibility: hidden;}.visibility-visible{visibility: visible;}.arrows-hidden, .button-visibility{visibility: hidden;}.display-none{display: none;}.display-block{display: block;}.display-inline-block{display: inline-block;}.action-display, .subscribe-display{display: block;}.opacity-none{opacity: 0;}.iframe{width: 100%; height: 22vw; border: none;}.iframe:focus{outline: none;}.download-pdf-button{position: relative;}.download-pdf-button a{position: absolute; top: 0; left: 0; width: 100%; height: 100%;}arrow, policy, terms{cursor: pointer;}formstatehidden{display: none;}formstatethanks{display: block;}formstatethanks .js-form-email-collecting{display: none;}formstatethanks .js-form-thank-you{display: block;}formstatethanks .js-form-claim-coupon, formstatethanks .js-form-upsell{display: none;}formstateemail{display: block;}formstateemail .js-form-email-collecting{display: block;}formstateemail .js-form-thank-you, formstateemail .js-form-claim-coupon, formstateemail .js-form-upsell{display: none;}formstateupsell{display: block;}formstateupsell .js-form-email-collecting, formstateupsell .js-form-thank-you, formstateupsell .js-form-claim-coupon{display: none;}formstateupsell .js-form-upsell{display: block;}formstategroup .js-form-email-collecting, formstatesingle .js-form-email-collecting, formstatecoupon .js-form-email-collecting, formstategroup .js-form-thank-you, formstatesingle .js-form-thank-you, formstatecoupon .js-form-thank-you{display: none;}formstategroup .js-form-claim-coupon, formstatesingle .js-form-claim-coupon, formstatecoupon .js-form-claim-coupon{display: block;}formstategroup .js-form-upsell, formstatesingle .js-form-upsell, formstatecoupon .js-form-upsell{display: none;}formstatepdf{display: block;}formstatepdf .js-form-email-collecting{display: none;}formstatepdf .js-form-thank-you{display: block;}formstatepdf .js-form-thank-you .js-download-pdf-button{display: inline-block;}formstatepdf .js-form-claim-coupon, formstatepdf .js-form-upsell{display: none;}bodyviewertemplate activeno, bodyviewerportal activeno{opacity: 0;}bodyviewertemplate activeyes, bodyviewerportal activeyes{opacity: inherit;}bodyviewerdeploy activeno, bodyviewerpreview activeno{visibility: hidden;}bodyviewerdeploy activeyes, bodyviewerpreview activeyes{visibility: visible;}bodyviewerdeploy logo-hiddenyes, bodyviewerpreview logo-hiddenyes{visibility: hidden;}enabledno{display: none !important;}social-share{min-height: 20px;}@keyframes in{from{opacity: 0; width: 0; margin: 0;}to{opacity: 1; width: 20vw; margin: 1vw;}}@keyframes out{from{opacity: 1; width: 20vw; margin: 1vw;}to{opacity: 0; width: 0; margin: 0;}}@keyframes slideIn{0%{transform: translateX(-100%);}100%{transform: translateX(0);}}@keyframes slideOut{from{transform: translateY(0);}to{transform: translateY(300px);}}@keyframes slideOutOut{from{transform: translateY(-100%);}to{transform: translateY(0);}}@keyframes slideUp{from{transform: translateY(0);}to{transform: translateY(-300px);}}@keyframes slideRight{from{transform: translateX(100%);}to{transform: translateX(0%);}}@keyframes slideLeft{from{transform: translateX(0%);}to{transform: translateX(-100%);}}@keyframes slideLeftRight{from{transform: translateX(0%);}to{transform: translateX(100%);}}@keyframes slideLeftLeft{from{transform: translateX(-100%);}to{transform: translateX(0%);}}@keyframes fadeIn{from{opacity: 0;}to{opacity: 1;}}@keyframes fadeOut{from{opacity: 1;}to{opacity: 0;}}@keyframes bottomToTop{0%{bottom: -200px;}100%{bottom: 0;}}@keyframes leftToRight{0%{left: -500px;}100%{left: 0;}}@keyframes rightToLeft{0%{right: -500px;}100%{right: 0;}}.thumbs-display{display: flex;}.email-inputs{border: 1px solid red !important;}.reviews-display{display: block;}.info-content-display{display: flex;}.counter-display{display: block;}.discount-display{display: block;}.price-display{display: inline-block;}slider-template slide{display: flex;}div-button{border-radius: 4px;}div-button:hover{filter: brightness(90%);}div-button:active{filter: brightness(110%);}.second-button:hover{background: #F7F7F7 !important;}.discount{padding: 10px 20px;}media > *{width: 100%; height: 100% !important; object-fit: contain; object-position: center;}nail > *{width: 100%; height: 100% !important; object-fit: contain; object-position: left;}.marble-template-title{text-align: center; margin-bottom: 50px;}.checkmark{border: 1px solid #DDD; background-color: #FFF;}.checkbox-wrapper:hover input ~ .checkmark{background-color: #EEE;}.checkbox-wrapper input:checked ~ .checkmark{background-color: #407AF7; border: 1px solid #407AF7;}header container{padding: 10px 0; display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center;}header container > *{margin: 10px 0;}header logo{height: 50px; margin-right: auto; width: auto; position: relative; z-index: 3;}header logo img{height: 100%; width: auto; max-width: 100%; object-fit: contain;}header counter{z-index: 1; text-align: right; padding: 10px;}header counter-text{display: inline-block; padding: 0 3px;}header div-button{margin-left: 20px;}header days, header hours, header mins, header secs{margin-left: 7px; margin-right: -3px; font-size: 1rem;}hero container{display: flex;}.info-slide-display{display: flex;}.hero-text-block{margin-right: 40px; padding: 60px; display: flex; flex-direction: column; justify-content: center; width: 100%;}.hero-title, .hero-subtitle{padding: 10px 5px;}.hero-price-container{margin: 40px 0 20px 0;}.hero-image-block{min-width: 400px; width: 50%; position: relative; background: white; display: flex;}.hero-image-block > *{height: auto !important;}hero discount{position: absolute; right: 5px; top: 85px;}slide{display: flex;}.storefront-gallery-container{display: flex; align-items: center; justify-content: space-between;}.store-title{text-align: center; margin-bottom: 40px;}product{width: 23%; margin: 20px 1%;}product div-button{min-width: 80px;}product .iframe{height: calc(100% - 65px) !important; object-position: top;}.product-container{display: flex; justify-content: space-between; flex-flow: row wrap;}.product-image-container{position: relative; display: flex; flex-direction: column; align-items: start; padding: 15px; height: calc(78vw / 4);}.product-price-container{background: rgba(255, 255, 255, 0.5); margin: -15px -15px 0 -15px; padding: 15px; width: 100%;}.product-image-container > *:not(media){z-index: 1;}.product-image-container div-button{margin-top: auto;}.product-image{position: absolute; width: 100%; height: 100%; top: 0; left: 0;}.product-image img{width: 100%; height: 100%; object-fit: contain;}.store-product-title{padding: 10px 15px; width: calc(100% - 30px);}.about-thank-you-container{padding: 100px; text-align: center; max-width: 800px; margin: 0 auto; display: block;}.about-thank-you-container text{padding: 10px 5px;}.about-thank-you-b-container{margin-top: 40px;}.about-thank-you-b-container div-button{margin: 5px 10px;}.about-email-opt-in-main-container{max-width: 1000px; padding-top: 40px;}.about-email-opt-in-container{padding: 100px 5vw; text-align: center; display: block;}.about-email-opt-in-container > text{padding: 10px 5px;}.about-email-opt-in-input{margin-top: 40px;}.about-email-opt-in-input-name, .about-email-opt-in-input-lastname, .about-email-opt-in-input-birthday, .about-email-opt-in-input-orderid, .about-email-opt-in-input-email input{background: #FFF; border: 2px solid #666; line-height: 20px; border-radius: 4px; padding: 8px; font-size: 1rem;}.about-email-opt-in-input-birthday:focus, .about-email-opt-in-input-name:focus, .about-email-opt-in-input-lastname:focus, .about-email-opt-in-input-orderid:focus, .about-email-opt-in-input-email input:focus{outline-color: #407AF7 !important;}.about-email-opt-in-input-name, .about-email-opt-in-input-lastname{width: calc(50% - 10px); margin: 5px;}.about-email-opt-in-input-email{display: flex; flex-flow: row wrap;}.about-email-opt-in-input-email .second-button{margin-left: auto;}.about-email-opt-in-input-email > *{margin: 5px;}.about-email-opt-in-input-email input{flex-grow: 1;}.about-email-opt-in-input-birthday, .about-email-opt-in-input-orderid{width: calc(100% - 10px); margin: 5px;}.about-email-opt-in-list{padding: 5px; margin: 20px 0 20px 48px; text-align: left; width: calc(100% - 60px);}.about-email-opt-in-list li{padding: 5px 0;}email-errors{margin-bottom: 0 !important;}.info-thumbnail-container{width: 45%; display: inline-block; vertical-align: top; margin-top: 60px; min-height: 200px; position: relative; z-index: 2;}.info-thumbnail-container discount{left: 5px; top: 5px; position: absolute;}.info-thumbnail-container-nail{display: block; width: 100%; height: 30vw;}thumbs{width: calc(100% - 140px); margin: 10px -5px; height: 80px; justify-content: space-between;}a-thumb{width: 20%; height: 100%; margin: 10px; border-radius: 4px;}a-thumb > *{width: 100%; height: 100%; object-fit: contain; object-position: center; border-radius: 4px;}.thumb-selected{box-shadow: 0 0 0 2px #407AF7;}.info-info-container{margin-left: -130px; width: calc(55% + 130px); display: inline-block; vertical-align: top; border-radius: 4px; min-height: calc(30vw + 200px);}.info-info-container > div-full{margin: 70px 100px 70px 200px;}hero div-button, action div-button, .info-info-container div-button{margin: 10px 15px 0 0;}.info-info-container text{padding: 10px 5px;}.info-description{width: calc(100% - 50px); margin: 20px 0 40px 40px;}.info-info-container li{padding: 10px 5px;}.reviews-title{margin: 80px auto -30px auto; text-align: center; position: relative; width: 80%; display: block; z-index: 2;}.reviews-container{display: flex; justify-content: space-between; align-items: center;}review-container, review-template{display: block; position: relative; width: 100%; max-width: 960px; height: 380px; overflow: hidden; white-space: nowrap; text-align: center; margin: 0 auto;}dot{display: inline-block; font-size: 25px; width: 12px; height: 12px; margin: 4px; border-radius: 50%; cursor: pointer; background: #999;}.selected-dot{background: #407AF7;}.slide-dot-container{text-align: center; padding-bottom: 80px;}review{width: 280px; margin: 20px; height: 350px; border-radius: 4px; background: rgba(255, 255, 255, 0.7); position: relative; display: inline-block; order: 1; transition: all .3s ease-in-out;}.review-content{margin: 35px 30px; width: calc(100% - 60px); height: calc(100% - 70px); display: flex; flex-direction: column; text-align: left;}review stars{display: block; letter-spacing: 2px; margin-bottom: 5px;}.review-content text{padding: 5px; overflow: hidden; white-space: normal;}.review-content-text{margin-bottom: auto; overflow-y: scroll !important; overflow-x: hidden !important;}.review-content-text::-webkit-scrollbar{display: none;}arrow{width: 40px; text-align: center;}arrow:hover{color: #407AF7 !important;}.faq-question-container{max-width: 1000px; padding: 100px 0;}question{padding: 20px 0; cursor: pointer; border-bottom: 1px solid #D2D8E0;}.faq-question-container image-container{width: 100%; height: 1px; background: #D2D8E0;}question div-full{color: #1C356A; font-size: 20px; transition: transform .3s; display: inline-block; width: 20px; text-align: center;}question text{display: inline-block; width: calc(100% - 35px); justify-content: space-between; transition: color .3s;}question:hover > text{color: #1C356A;}answer{display: flex; max-height: 0; transition: all .3s ease-in-out; overflow: hidden; opacity: 0;}.answer-open answer{max-height: 500px !important; padding-top: 20px; opacity: 1;}.answer-open div-full{transform: rotate(180deg);}action container{display: flex;}.action-title{padding-bottom: 0;}.action-image-block{margin-right: 40px; width: 50%; position: relative; background: white; display: flex;}.action-image-block > *{height: auto !important;}.action-counter-block{padding: 60px; display: flex; flex-direction: column; justify-content: center; width: 100%;}.action-counter-block discount{padding: 10px 5px;}.action-counter{display: flex; text-align: center; justify-content: space-between; max-width: 500px; margin: 10px auto 10px 0;}.action-counter div-full{margin-right: 20px; letter-spacing: 2px; max-width: 25%;}subscribe counter{width: 100%;}subscribe .action-counter{width: 100%; margin: 20px auto;}subscribe days, subscribe hours, subscribe mins, subscribe secs, action days, action hours, action mins, action secs{font-size: 64px; font-weight: 300;}subscribe counter-text, action counter-text{display: block; padding: 0 5px;}.action-price-container{margin: 20px 0;}.manychat-container text{padding: 10px 5px;}footer container{padding: 60px 0;}.footer-social-media{display: inline-block; vertical-align: top; max-width: 200px; margin-right: 50px; margin-top: -5px; min-width: 20px;}.footer-social-media svg{width: 30px; height: 30px; fill: inherit; cursor: pointer; margin: 7px;}.footer-social-media svg:hover{fill: #407AF7;}.footer-text-container{width: calc(100% - 250px); display: inline-block; vertical-align: top;}policy, terms{display: inline-block; padding: 5px;}.policy-separator{padding: 0 10px; width: auto;}footer a{text-decoration: none; color: inherit;}footer a:hover{color: #407AF7 !important;}buttontree container{max-width: 1000px; padding-top: 40px; text-align: center;}buttontree container block{padding: 100px 5vw; margin-top: 50px; text-align: center; display: block;}buttontree container block > text{padding: 10px 5px;}buttontree .b-tree-header{display: flex; justify-content: center;}buttontree .b-tree-header logo{height: 50px; width: auto;}buttontree .b-tree-header logo img{height: 100%; width: auto; max-width: 100%; object-fit: contain;}buttontree .b-container{display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: 30px;}buttontree .b-container div-button{width: 50%; margin-bottom: 10px;}buttontree .b-tree-footer{display: flex; justify-content: center;}buttontree .b-tree-footer social-share{display: flex; flex-flow: row wrap; justify-content: center; min-height: 50px; min-width: 100px; margin: 60px 0; max-width: none;}buttontree .b-tree-footer social-share svg{width: 35px; height: 35px; cursor: pointer; margin: 7px 15px;}.div-x{color: #000;}.div-x:hover{color: #1C356A;}.form-about-input-name, .form-about-input-lastname, .form-about-input-email, .form-about-input-orderid{background: #FFF; border: 2px solid #1C356A;}.form-about-input-name{margin-right: 6px;}.form-about-input-name, .form-about-input-lastname{width: calc(50% - 5px); margin-bottom: 10px;}.form-about-input-orderid{width: calc(100% - 4px); margin-bottom: 10px;}.form-about-input-email{flex-grow: 1;}.form-coupon-container{margin: 10px 0 50px 0;}.form-coupon-id{width: auto;}.form-coupon-container svg{width: 20px; display: inline-block; cursor: pointer; fill: #000;}.form-coupon-container svg:hover{fill: #1C356A;}form-container{background: url(https://portals.helium10.com/portals-templates/Marble/images/marble-bg-01.jpg) no-repeat; background-size: cover;}.form-content-container{margin: 0 auto; padding: 10vw 5vw; text-align: center; max-width: 800px; display: block;}.checkbox-wrapper{text-align: left;}.form-content-title{margin-bottom: 40px;}.form-content-title text{padding: 10px 5px;}.form-inputs-row{display: flex; align-items: center;}.form-about-input-name, .form-about-input-lastname, .form-about-input-orderid, .form-about-input-email{padding: 8px;}.form-content-sub div-button{margin-left: 9px;}.form-thank-you-text{margin: 25px 0 65px 0;}.form-upsell-content .form-content-container{margin-bottom: 50px; padding: 0; background: none; max-width: 100%; display: flex;}.form-upsell-left{min-width: 60%; margin-right: 5%; background: rgba(255, 255, 255, 0.5);}.form-upsell-left-text-container{margin: 70px 50px; text-align: left;}.form-upsell-left-text-container text:first-child{margin-bottom: 30px;}.form-upsell-price-container{margin: 30px 0 10px 0;}.form-upsell-right{min-width: 35%; background: #FFF; position: relative;}.form-upsell-right .discount{position: absolute; top: 0; right: 0; padding: 15px;}.form-upsell-right media{display: flex; height: 100%;}.form-upsell-right media > *{height: auto !important;}.form-upsell-right .iframe, .form-upsell-right img{width: 100%; object-fit: contain;}.form-thank-you .download-pdf-button{padding: 10px 18px; border: 2px solid #407AF7;}.form-thank-you-b{display: inline-flex; flex-direction: column;}.form-thank-you div-button{margin: 10px;}@media only screen and (max-width: 800px){.form-upsell-content .form-content-container{flex-direction: column;}.form-upsell-left-text-container{margin: 70px 20px;}.form-upsell-left{margin-right: 0; margin-bottom: 40px;}.form-upsell-right{height: 70vw;}.form-upsell-right media > *{height: 100% !important;}upsell-media .iframe{height: 80vw;}subscribe days, subscribe hours, subscribe mins, subscribe secs, action days, action hours, action mins, action secs{font-size: 8vw;}}@media only screen and (max-width: 500px){.form-inputs input{width: 100%; margin: 0 0 10px 0;}.form-inputs-row{flex-direction: column;}.form-inputs-row div-button{width: calc(100% - 40px); margin: 0;}.form-content-container .iframe{height: 80vw !important;}}@media only screen and (max-width: 1350px){review-container, review-template{max-width: 640px;}product{width: 31%;}}@media only screen and (max-width: 950px){review-container, review-template{max-width: 320px;}}@media only screen and (max-width: 800px){container{padding: 40px 0;}review-container, review-template{max-width: 640px;}review-container, review-template{max-width: 320px;}.hero-container, hero info-content, slide{flex-direction: column;}hero discount{top: 55px;}.hero-text-block{margin-right: 0; margin-bottom: 40px; width: calc(100% - 40px); padding: 60px 20px;}.hero-image-block{width: 100%; min-width: auto; height: 80vw;}.hero-image-block > *{height: 100% !important;}.info-info-container{width: 100% !important; margin: 0 !important;}.info-thumbnail-container{margin: 0 0 50px 0 !important; width: 100% !important;}.info-thumbnail-container-nail{height: 80vw;}.info-thumbnail-container discount{top: 40px;}nail > *{object-position: center;}thumbs{width: calc(100% + 10px); justify-content: center;}.info-info-container > div-full{margin: 60px;}.info-info-container div-button{margin-top: 15px;}.info-info-container{min-height: auto;}.info-description{width: 100%; margin: 0;}product{width: 48%;}.product-image-container{height: calc(78vw / 3);}action container{flex-direction: column;}header container > *{margin: 10px auto;}header counter{margin-right: 0 !important; padding-right: 0;}header div-button{margin-right: 0 !important; margin-left: 15px !important;}header logo{margin-left: 0 !important;}.about-thank-you-container{padding: 20px 10px;}.about-email-opt-in-container{padding: 50px 5vw;}.about-email-opt-in-input{margin-top: 0;}.action-counter-block{width: calc(100% - 40px); padding: 20px;}.action-image-block{margin-right: 0; margin-bottom: 40px; width: 100%; height: 80vw;}.action-image-block > *{height: 100% !important;}.about-email-opt-in-list{margin-left: 20px; width: calc(100% - 30px);}.action-title text{margin-bottom: 0;}.product-image-container{height: calc(78vw / 2);}}@media only screen and (max-width: 420px){header container > *, header logo, header .second-button{margin: 5px auto !important;}header logo img{width: 100%;}header counter{width: 100%; text-align: center; padding-right: 10px;}header div-button{margin-left: auto !important;}footer{text-align: center;}.footer-social-media, .footer-text-container{width: 100%; max-width: 100%; margin: 10px 0;}.hero-container{width: 100%; margin: 0; padding-top: 40px;}.hero-text-block{padding: 60px 10%; width: 80%;}.hero-image-block{width: 80%; margin: 0 10%;}.reviews-container{width: 100%; padding-bottom: 80px !important;}reviews arrow{position: absolute;}reviews .arrow-right{right: 0;}reviews .reviews-title{margin-top: 40px;}info container{width: 100%; padding: 80px 0 0 0;}.info-info-container > div-full{margin: 20px 10%;}.info-thumbnail-container{width: 80% !important; margin: 0 10% 50px 10% !important;}.info-thumbnail-container discount{left: 0; top: 0;}.info-thumbnail-container a-thumb{height: 60%;}reviews arrow{bottom: 20px; transform: translateX(70px);}reviews .arrow-right{transform: translateX(-70px);}product{width: 98%;}.product-image-container{height: calc(78vw / 1);}action container:nth-child(2){width: 100%; margin: 0;}.action-image-block{width: 80%; margin: 0 auto 40px;}.action-counter-block{width: 80%; padding: 20px 10%;}.about-email-opt-in-input-email div-button{width: 100%;}.about-email-opt-in-input-name, .about-email-opt-in-input-lastname, .about-email-opt-in-input-email input{width: calc(100% - 10px);}.about-email-opt-in-input-email .second-button{margin-left: 5px;}.storefront-gallery-container{width: 100%; margin: 0; padding: 40px 0;}.storefront-gallery-container .hero-text-block{padding: 20px;}.product-container .hero-text-block{padding: 20px 10%;}.product-container media{margin: 0; width: 100%;}buttontree .b-container div-button{width: calc(100% - 40px);}buttontree social-share{width: 80% !important;}}/style>header stylebackground: transparent;> container> logo classvisibility-hidden logo-imagehttps://portals.helium10.com/cdnimages/no-logo.png styleheight: 50px;> img> /logo> counter classdisplay-none activeyes stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(52, 58, 64);> counter-text stylefont-family: Lato, sans-serif; font-size: 12px; color: rgb(52, 58, 64);> Sale Ends In /counter-text> br> days> /days> counter-text stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: #343A40>d /counter-text> hours> /hours> counter-text stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: #343A40>h /counter-text> mins> /mins> counter-text stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: #343A40>m /counter-text> secs> /secs> counter-text stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: #343A40>s /counter-text> /counter> /container> /header>about stylebackground: transparent;> container classabout-email-opt-in-main-container> block classabout-email-opt-in-container stylebackground: rgba(255, 255, 255, 0.7);> text stylefont-family: Lato, sans-serif; font-size: 2.25rem; color: rgb(28, 53, 106); font-weight: 700;> Claim Your Free One Year Warranty!/text> text stylefont-family: Lato, sans-serif; font-size: 1.13rem; color: rgb(0, 0, 0); font-weight: 300;> Enter the following details in order to claim one year of warranty on your Anna Ultra product!/text> div-full classemail-opt-in-warranty> div-full classjs-checkbox-wrapper checkbox-wrapper> label> input classterms-checkbox typecheckbox nameterms onchangetermsChecked this.checked> span classcheckmark> /span> text stylefont-family: Lato, sans-serif; text-align: left; font-size: 0.88rem; font-weight: 300; color: rgb(102, 102, 102);> By checking this box, I agree to opt-in for campaign updates /text> /label> /div-full> input classabout-email-opt-in-input-name namefirstName placeholderFirst Name Here... typetext stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this)> input classabout-email-opt-in-input-lastname namelastName placeholderLast Name Here... typetext stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this)> input classabout-email-opt-in-input-orderid js-order-id nameorderId placeholderOrder ID Here... typetext stylecolor: rgb(102, 102, 102); font-size: 0.88rem; font-family: Lato, sans-serif; onkeyupformHandlers.inputValidation(this)> div-full classabout-email-opt-in-input-email> input typetext nameemail placeholderEmail Address Here... onkeyupformHandlers.inputValidation(this) stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(102, 102, 102);> div-button classabout-email-opt-in-input-primary-button activeyes onclickformHandlers.buttonClicked(this) stylefont-family: Lato, sans-serif; color: rgb(255, 255, 255); font-size: 1rem; border-width: 2px; border-color: transparent; background: rgb(64, 122, 247);> SUBSCRIBE /div-button> div-button classjs-second-button second-button display-none activeyes onclickformHandlers.buttonClicked(this) stylefont-family: Lato, sans-serif; color: rgb(64, 122, 247); font-size: 1rem; border-width: 2px; border-color: #407af7; background: transparent;> Learn More /div-button> /div-full> email-errors classvisibility-hidden> text classjs-order-id-error errors-hidden stylefont-family: Lato, sans-serif; color: rgb(255, 0, 0); font-size: 0.88rem;> /text> text classjs-order-id-used errors-hidden stylefont-family: Lato, sans-serif; color: rgb(255, 0, 0); font-size: 0.88rem;> /text> text classjs-email-used errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> /text> text classjs-email-format errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> /text> text classjs-empty-firstName errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);>First Name field is mandatory ! /text> text classjs-empty-lastName errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);>Last Name field is mandatory ! /text> /email-errors> /div-full> /block> /container> /about>manychat stylebackground: transparent; display: none;> container classmanychat-container> text stylefont-family: Lato, sans-serif; font-size: 2.25rem; color: rgb(28, 53, 106); font-weight: 700;> Want to learn more? /text> text stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(28, 53, 106); font-weight: 700;> Simply click the button below. /text> div-full classjs-manychat-widget-container manychat-widget-container>MANYCHAT/div-full> div-full classjs-manychat-widget-placeholder manychat-widget-placeholder stylefont-family: Lato, sans-serif; text-align: center; font-weight: 300; font-size: 1.13rem; color: rgb(119, 119, 119);> i>ManyChat Widget Placeholder/i> /div-full> /container> /manychat>background bgdatabg-0> img> /background>form statehidden> form-container classjs-form-email-collecting> form-title classform-title stylebackground: transparent;> text stylefont-family: Lato, sans-serif; font-size: 1.13rem; font-weight: 700; color: rgb(0, 0, 0);> Subscribe Now /text> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> /form-title> div-full classform-content> block classform-content-container stylebackground: rgba(255, 255, 255, 0.7);> div-full classgray-border form-content-title> div-full> text stylefont-family: Lato, sans-serif; font-size: 2.25rem; font-weight: 700; color: rgb(28, 53, 106);> Subscribe to Our Newsletter /text> text stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(0, 0, 0);> Be among the first to know about upcoming promotional offers. Provide more information here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. /text> /div-full> /div-full> div-full classjs-checkbox-wrapper checkbox-wrapper> label> input classterms-checkbox typecheckbox nameterms onchangetermsChecked this.checked> span classcheckmark> /span> text stylefont-family: Lato, sans-serif; font-size: 0.88rem; font-weight: 300; color: rgb(102, 102, 102);> By checking this box, I agree to opt-in for campaign updates /text> /label> /div-full> div-full classform-content-sub> div-full classform-inputs> input classform-about-input-name namefirstName placeholderFirst Name Here... typetext stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(0, 0, 0); onkeyupformHandlers.inputValidation(this)> input classform-about-input-lastname namelastName placeholderLast Name Here... typetext stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(0, 0, 0); onkeyupformHandlers.inputValidation(this)> input classform-about-input-orderid js-order-id nameorderId placeholderOrder ID Here... typetext stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(0, 0, 0); onkeyupformHandlers.inputValidation(this)> div-full classform-inputs-row> input classform-about-input-email typetext nameemail placeholderEmail Address Here... stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(0, 0, 0); onkeyupformHandlers.inputValidation(this)> div-button activeyes classfirst-button onclickformHandlers.buttonSubscribe() stylefont-family: Lato, sans-serif; color: rgb(255, 255, 255); font-size: 1rem; border-width: 2px; border-color: transparent; background: rgb(64, 122, 247);> SUBSCRIBE /div-button> /div-full> /div-full> email-errors classvisibility-hidden> text classjs-order-id-error errors-hidden stylefont-family: Lato, sans-serif; color: rgb(255, 0, 0); font-size: 0.88rem;> You have entered an invalid Order ID! /text> text classjs-order-id-used errors-hidden stylefont-family: Lato, sans-serif; color: rgb(255, 0, 0); font-size: 0.88rem;>Only one coupon available per Order ID! /text> text classjs-email-used errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> Only one coupon available per household! /text> text classjs-email-format errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> You have entered an invalid email address! /text> text classjs-empty-firstName errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);>First Name field is mandatory ! /text> text classjs-empty-lastName errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);>Last Name field is mandatory ! /text> /email-errors> /div-full> /block> /div-full> /form-container> form-container classjs-form-thank-you form-thank-you> form-title classform-title stylebackground: transparent;> text stylefont-family: Lato, sans-serif; font-size: 1.13rem; font-weight: 700; color: rgb(0, 0, 0);> Thank You /text> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> /form-title> div-full classform-content> block classform-content-container stylebackground: rgba(255, 255, 255, 0.7);> text stylefont-family: Lato, sans-serif; font-size: 2.25rem; font-weight: 700; color: rgb(28, 53, 106);> Thank You For Subscribing! /text> text classform-thank-you-text stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(0, 0, 0);> /text> div-full classform-thank-you-b> div-button classjs-download-pdf-button download-pdf-button display-none activeyes stylefont-family: Lato, sans-serif; color: rgb(64, 122, 247); font-size: 1rem; border-width: 2px; border-color: transparent; background: transparent;> Download PDF /div-button> div-button activeyes shop-button classfirst-button onclickformHandlers.continueShopping() stylefont-family: Lato, sans-serif; color: rgb(255, 255, 255); font-size: 1rem; border-width: 2px; border-color: #407af7; background: rgb(64, 122, 247);> SHOP NOW /div-button> /div-full> /block> /div-full> /form-container> form-container classjs-form-claim-coupon> form-title classform-title stylebackground: transparent;> text stylefont-family: Lato, sans-serif; font-size: 1.13rem; font-weight: 700; color: rgb(0, 0, 0);> Claim Your Coupon /text> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> /form-title> div-full classform-content> block classform-content-container stylebackground: rgba(255, 255, 255, 0.7);> div-full classgray-border form-content-title> div-full> text stylefont-family: Lato, sans-serif; font-size: 2.25rem; font-weight: 700; color: rgb(28, 53, 106);> Youre all set! /text> /div-full> /div-full> div-full classform-content-sub> text stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(0, 0, 0);> Thank you for subscribing! Your Coupon code: /text> div-full classform-coupon-container> div-full classjs-coupon-wrapper> svg onclickformHandlers.copyCoupon() viewBox0 0 448 512 xmlnshttp://www.w3.org/2000/svg> path dM433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM352 32.491a15.88 15.88 0 0 1 7.431 4.195l51.882 51.883A15.885 15.885 0 0 1 415.508 96H352V32.491zM288 464c0 8.822-7.178 16-16 16H48c-8.822 0-16-7.178-16-16V144c0-8.822 7.178-16 16-16h80v240c0 26.51 21.49 48 48 48h112v48zm128-96c0 8.822-7.178 16-16 16H176c-8.822 0-16-7.178-16-16V48c0-8.822 7.178-16 16-16h144v72c0 13.2 10.8 24 24 24h72v240z> /path> /svg> text classjs-form-coupon-id form-coupon-id stylefont-family: Lato, sans-serif; font-size: 1.5rem; color: rgb(64, 122, 247);>COUPON/text> /div-full> text classjs-no-coupons-left display-none stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(129, 142, 152);> Were sorry! No coupons left for this offer. /text> /div-full> div-button activeyes shop-button classfirst-button onclickformHandlers.continueShopping() stylefont-family: Lato, sans-serif; color: rgb(255, 255, 255); font-size: 1rem; border-width: 2px; border-color: transparent; background: rgb(64, 122, 247);> SHOP NOW /div-button> /div-full> /block> /div-full> notification-coupon>Coupon copied to Clipboard: /notification-coupon> /form-container> form-container classjs-form-upsell> form-title classform-title stylebackground: transparent;> text stylefont-family: Lato, sans-serif; font-size: 1.13rem; font-weight: 700; color: rgb(0, 0, 0);> Upgrade Your Cart Now & Save /text> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> /form-title> div-full classform-content form-upsell-content> div-full classform-content-container> block classform-upsell-left stylebackground: rgba(255, 255, 255, 0.7);> div-full classform-upsell-left-text-container> text stylefont-family: Lato, sans-serif; font-size: 2.25rem; font-weight: 700; color: rgb(28, 53, 106);> UPSELL-TITLE /text> text stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(0, 0, 0);> UPSELL-DESCRIPTION /text> div-full classform-upsell-price-container> listprice stylefont-family: Lato, sans-serif; font-size: 1.5rem; color: rgb(0, 0, 0);> UPSELL-D-P /listprice> price stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(102, 102, 102);> WAS UPSELL-PRICE /price> /div-full> div-full> div-button onclickformHandlers.upsellRedirect(true) stylefont-family: Lato, sans-serif; color: rgb(255, 255, 255); font-size: 1rem; border-width: 2px; border-color: transparent; background: rgb(64, 122, 247); classjs-redirect-button activeyes> YES! UPGRADE MY ORDER /div-button> /div-full> div-full> link-button stylefont-family: Lato, sans-serif; color: rgb(64, 122, 247); font-size: 1rem; font-weight: 300; classjs-redirect-button onclickformHandlers.upsellRedirect(false)> No, Thanks. Proceed To Checkout /link-button> /div-full> /div-full> /block> div-full classform-upsell-right> discount-sq classjs-discount discount display-none activeyes stylefont-family: Lato, sans-serif; font-weight: 700; border-radius: 0px; font-size: 1.5rem; color: rgb(28, 53, 106); background: transparent;> UPSELL-DISCOUNT% OFF /discount-sq> media datamedia-0 asinUPSELL-ASIN> img> /media> /div-full> /div-full> /div-full> /form-container> /form>script srchttps://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js>/script>script classcustomScript> var $, options, images, videos, discount, termsChecked, scriptLoaded false, optInArray opt-in-stepper, opt-in, opt-in-presell, opt-in-warranty, opt-in-loyalty, opt-in-lead-magnet, updateTimeout undefined, couponId null, pdfUrl null, inProcess false, dateNow Date.now(), hoursNow new Date().getHours(), minuteNow new Date().getMinutes(), secondNow new Date().getSeconds(), redirectTo null, mailFormat /^((^>()\\\\.,;:\s@+(\.^>()\\\\.,;:\s@+)*)|(.+))@((\0-9{1,3}\.0-9{1,3}\.0-9{1,3}\.0-9{1,3}\)|((a-zA-Z\-0-9+\.)+a-zA-Z{2,}))$/, prevIndex 0, slideIndex 0, deviceWidth (window.innerWidth > 0) ? window.innerWidth : screen.width, galleryData {type: gallery, index: 0, count: deviceWidth 800 ? 1 : 3, animation: , container: js-slider-container, content: js-slider-content, class: js-slide-img,}, css {faqOpenedClass: answer-open, reviewSelectedClass: selected-review, thumbDisplay: thumbs-display, sliderWrapperNone: slider-wrapper-none, infoSlideDisplay: info-content-display, selectedDot: selected-dot, dot: dot, reviewDisplay: reviews-display, formInputsDisplay: form-inputs, notificationDisplay: notification-show, counterDisplay: counter-display, priceDisplay: price-display, discountDisplay: discount-display, actionDisplay: action-display, subscribeDisplay: subscribe-display, imageNone: image-none, invalidInput: email-inputs, errorsVisible: errors-visible, errorsHidden: errors-hidden, visibilityHidden: visibility-hidden, visibilityVisible: visibility-visible, displayNone: display-none, displayBlock: display-block, displayInlineBlock: display-inline-block, opacityNone: opacity-none}, jsSelectors {reviewContainer: js-review-container, reviewSlide: js-selected-review, reviewTemplate: js-review-template, reviewDotContainer: js-review-dot-container, multipleReviews: js-multiple-reviews, galleryContainer: js-product-container, gallerySlide: js-info-slide, galleryTemplate: js-product-template, galleryDotContainer: js-slide-dot-container, redirectButton: js-redirect-button, secondButton: js-second-button, storeFrontProductButton: js-product-button, formUpsell: js-form-upsell, formEmailCollect: js-form-email-collecting, formThankYou: js-form-thank-you, formCoupon: js-form-claim-coupon, pdfInput: js-download-pdf-button, emailUsedError: js-email-used, emailFormatError: js-email-format, couponWrapper: js-coupon-wrapper, noCouponError: js-no-coupons-left, couponId: js-form-coupon-id, policySeparator: js-policy-separator, iframe: js-iframe, discount: js-discount, checkboxWrapper: js-checkbox-wrapper, manyChatPlaceholder: js-manychat-widget-placeholder, manyChatWrapper: js-manychat-widget-container, footerSocialMedia: js-footer-social-media, buttonHidden: js-button-hidden, emailOrderIdErrorUsed: js-order-id-used, emailOrderIdErrorNone: js-order-id-error, emailOrderId: js-order-id, emptyFirstName: js-empty-firstName, emptyLastName: js-empty-lastName, birthdayDateError: js-birthday-date-error}, reviewSlide {type: reviews, wrapper: reviews, container: jsSelectors.reviewContainer, template: jsSelectors.reviewTemplate, class: jsSelectors.reviewSlide, containerDisplay: reviews-display, reviewSlideDisplay: review-slide-display, enableSlides: false, errorMessage: Reviews unavailable, dotContainer: jsSelectors.reviewDotContainer, slideDisplay: selected-review, slideTagName: review, slideIndex: 0, prevIndex: 0}, sliderData {type: slides, wrapper: gallery, container: jsSelectors.galleryContainer, template: jsSelectors.galleryTemplate, slideTagName: slide, class: jsSelectors.gallerySlide, slideDisplay: info-slide-display, enableSlides: false, errorMessage: Slides unavailable, containerDisplay: info-content-wrapper, dotContainer: jsSelectors.galleryDotContainer, slideIndex: 0, prevIndex: 0}, ajaxOptions {async: false, cache: false, timeout: 5000, error: (data) > undefined,}, updateCounter function (){let secondsInMilliseconds secondNow * 1000, minutesInMilliseconds minuteNow * 60000, hoursInMilliseconds options.artificialCountDownDate ? (options.artificialCountDownDate.split(:)0 * 3600000) + (options.artificialCountDownDate.split(:)1 * 60000) : (helpers.getHourByThree(hoursNow) - hoursNow + 3) * 3600000, distance options.artificialCountdown ? (options.artificialCountDownDate ? dateNow + hoursInMilliseconds - Date.now() : (dateNow + hoursInMilliseconds - (minutesInMilliseconds + secondsInMilliseconds)) - Date.now()) : (options.countDown ? new Date(options.countDown).getTime() : undefined) - Date.now(), days distance > 1 ? Math.floor(distance / (1000 * 60 * 60 * 24)) : 0, hours distance > 1 ? Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)) : 0, minutes distance > 1 ? Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)) : 0, seconds distance > 1 ? Math.floor((distance % (1000 * 60)) / 1000) : 0, f function (arr, value){for (let i 0;i arr.length;i++) arri.innerHTML value + };f(document.getElementsByTagName(days), days);f(document.getElementsByTagName(hours), hours);f(document.getElementsByTagName(mins), minutes);f(document.getElementsByTagName(secs), seconds);if (updateTimeout) clearTimeout(updateTimeout);if (distance > 0) updateTimeout setTimeout(updateCounter, 1000)}, thumbClick function (element){const nail document.getElementsByTagName(nail)0 ? document.getElementsByTagName(nail)0 : document.getElementsByClassName(js-slider-image)0, oldThumbs document.getElementsByName(thumb), thumbs (oldThumbs.length > 0 ? oldThumbs : document.getElementsByTagName(a-thumb)).length > 0 ? document.getElementsByTagName(a-thumb) : document.getElementsByClassName(js-slider-number), thumbContainer document.getElementsByTagName(thumbs)0 ? document.getElementsByTagName(thumbs)0 : document.getElementsByClassName(js-slider-numbers)0, sliderNumbers document.getElementsByClassName(js-slider-numbers);if (nail && thumbContainer && thumbs.length > 0){const image element.attributesdata-thumb.value, embed element.attributesdata-video.value;nail.innerHTML ;if (embed && embed ! null && embed ! undefined){const attrs controls, allowfullscreen, mozallowfullscreen, msallowfullscreen, oallowfullscreen, webkitallowfullscreen;let iframe document.createElement(iframe);attrs.forEach(e > iframe.setAttribute(e, ));iframe.classList.add(iframe);iframe.src embed;nail.appendChild(iframe);if (sliderNumbers) setTimeout(() > iframe.style.opacity 1, 100)}else{let img document.createElement(img);img.src image;nail.appendChild(img);if (sliderNumbers) setTimeout(() > img.style.opacity 1, 100)}thumbContainer.classList.add(thumbs.length 1 ? display-none : thumbs-display);for (let i 0;i thumbs.length;i++){if (!sliderNumbers){thumbsi.firstElementChild.src thumbsi.attributesdata-thumb.value ? thumbsi.attributesdata-thumb.value : }thumbsi.classList.remove(thumb-selected)}element.classList.add(thumb-selected)}}, moveSlides function (directionRight, data){const sliderContainer document.getElementsByTagName(data.container)0;if (sliderContainer){const slides sliderContainer.children;data.index + directionRight ? 1 : -1;data.index data.index % images.length;if (data.index 0) data.index + images.length;let outToRight data.count - 1, target directionRight ? (data.index images.length - outToRight ? data.index : data.index - images.length) + outToRight : data.index;let newElement createElements(imagestarget.data, data, directionRight);let counterPart slidesdirectionRight ? slides.length - data.count - 1 : data.count;newElement.style.animation in .4s 1;counterPart.style.animation out .4s 1;setTimeout(() >{counterPart.classList.add(css.displayNone);setTimeout(() > sliderContainer.removeChild(counterPart))}, 200)}}, createElements function (target, data, directionRight){const container document.getElementsByClassName(data.container)0, content document.getElementsByClassName(data.content)0, clone content.cloneNode(true);if (clone){clone.getElementsByTagName(img)0.src target;containerdirectionRight ? append : prepend(clone.firstElementChild)}}, initDotSlider function (sliderObj){const container document.getElementsByClassName(sliderObj.container)0, slides container ? container.getElementsByClassName(sliderObj.class) : , template document.getElementsByClassName(sliderObj.template)0;sliderObj.slideIndex sliderObj.slideIndex > slides.length - 1 ? slides.length - 1 : sliderObj.slideIndex;if (container && template){if (sliderObj.enableSlides){const dotContainer document.getElementsByClassName(sliderObj.dotContainer)0;if (dotContainer){dotContainer.innerHTML ;if (!container.classList.contains(jsSelectors.multipleReviews)){for (let i 0;i slides.length;i++){if (!container.hasAttribute(vertical-animation)){if (i sliderObj.slideIndex) helpers.toggleClasses(slidesi, css.displayNone, sliderObj.slideDisplay);else helpers.toggleClasses(slidesi, sliderObj.slideDisplay, css.displayNone)}let dot dotContainer.classList.contains(js-dot-thumbs) ? document.createElement(media-thumb) : document.createElement(span);switch (sliderObj.type){case reviews: dot.innerHTML `dot classjs-dot onclickslideToIndex(${i},reviewSlide)>/dot>`;break;case slides: if (dotContainer.classList.contains(js-dot-thumbs)){let slideMediaAsin slidesi.getElementsByTagName(media)0;dot.innerHTML `store-thumb datamedia-0 asin${slideMediaAsin.getAttribute(asin)} onclickslideToIndex(${i},sliderData)>img>/store-thumb>`}else dot.innerHTML `dot classjs-dot onclickslideToIndex(${i},sliderData)>/dot>`;break}if (slides.length > 1) dotContainer.appendChild(dot)}if (dotContainer.classList.contains(js-dot-thumbs)) contentSetters.setMediaData(options.asinMedia, dotContainer.getElementsByTagName(store-thumb));const selectedDot dotContainer.classList.contains(js-dot-thumbs) ? dotContainer.getElementsByTagName(store-thumb)sliderObj.slideIndex : dotContainer.getElementsByTagName(dot)sliderObj.slideIndex;if (selectedDot) selectedDot.classList.add(css.selectedDot);else console.log(`Selected dot is undefined, ${sliderObj.slideIndex}`)}}else console.log(`${sliderData.errorMessage}, dotContainer is undefined!`)}container.classList(sliderObj.enableSlides && slides.length > 0) ? remove : add(css.displayNone);container.classList(sliderObj.enableSlides && slides.length > 0) ? add : remove(sliderObj.containerDisplay);template.classList(sliderObj.enableSlides && slides.length > 0) ? add : remove(css.displayNone);template.classList(sliderObj.enableSlides && slides.length > 0) ? remove : add(sliderObj.containerDisplay);if (options.viewer deploy) helpers.toggleClasses(template, sliderObj.containerDisplay, css.displayNone)}else console.log(`${sliderObj.errorMessage}`)}, disableReviewSlider function (sliderObj){const reviewContainer document.getElementsByClassName(js-review-container)0, reviews reviewContainer ? reviewContainer.getElementsByClassName(js-selected-review) : undefined, showMoreButton document.getElementsByClassName(js-button-hidden)0;if (reviewContainer && reviews){for (let i 0;i reviews.length;i++) helpers.toggleClasses(reviewsi, css.displayNone, css.reviewSelectedClass);if ((options.viewer deploy || options.viewer preview) && reviews.length 1) showMoreButton.style.display none}}, animateSlides function (sliderData, elements, direction){const setAnimation function (index, animation){if (elementsindex) elementsindex.style.animation `${animation}0.3s 1`;else console.log(`slider animation missing index: ${index}`, elements)};setAnimation(sliderData.prevIndex, direction ? slideLeft : slideLeftRight );setAnimation(sliderData.slideIndex, direction ? slideRight : slideLeftLeft )}, showSlide function (n, direction, sliderData){const container document.getElementsByClassName(sliderData.container)0, slides container.getElementsByClassName(sliderData.class), dotContainer document.getElementsByClassName(sliderData.dotContainer)0;if (container && dotContainer){sliderData.slideIndex (n > slides.length - 1 ? 0 : (n 0 ? slides.length - 1 : n));sliderData.prevIndex direction ? (sliderData.slideIndex - 1 0 ? slides.length - 1 : sliderData.slideIndex - 1) : (sliderData.slideIndex + 1 > slides.length - 1 ? 0 : sliderData.slideIndex + 1);for (let i 0;i slides.length;i++){dotContainer.childreni.firstChild.classList.remove(i sliderData.slideIndex ? css.dot : css.selectedDot);dotContainer.childreni.firstChild.classList.add(i sliderData.slideIndex ? css.selectedDot : css.dot)}animateSlides(sliderData, slides, direction);setTimeout(() >{for (let i 0;i slides.length;i++){if (i sliderData.slideIndex) helpers.toggleClasses(slidesi, css.displayNone, sliderData.slideDisplay);else helpers.toggleClasses(slidesi, sliderData.slideDisplay, css.displayNone)}}, 200)}}, moveMultipleSlides function (direction, data, styleProperty undefined){if (inProcess) return;inProcess true;let container document.getElementsByClassName(`${data.container}`)0, elements container ? container.getElementsByClassName(`${data.class}`) : , margin styleProperty ? styleProperty.margin : 20px;let cloneNode direction ? elements0 : elementselements.length - 1;if (direction){if (container.getAttribute(data-slide-type) vertical){elements0.style.animation slideUp 0.4s 1;elements1.style.animation slideUp 0.4s 1}else{elements0.style.marginLeft `calc(-${elements0.offsetWidth}px - ${margin})`}}else{if (container.getAttribute(data-slide-type) vertical){elements0.style.animation slideOut 0.4s 1}else{containerdirection ? append : prepend(cloneNode);elements0.style.animation slideIn 0.4s 1;elements1.style.animation slideIn 0.4s 1;if (elements2) elements2.style.animation slideIn 0.4s 1;if (elements3) elements3.style.animation slideIn 0.4s 1}}setTimeout(function (){if (direction){if (container.getAttribute(data-slide-type) vertical){containerdirection ? append : prepend(cloneNode);for (let i 0;i elements.length;i++) elementsi.style.animation }else{elements0.style.marginLeft `${margin}`;containerdirection ? append : prepend(cloneNode)}}else{for (let i 0;i elements.length;i++) elementsi.style.animation ;if (container.getAttribute(data-slide-type) vertical){containerdirection ? append : prepend(cloneNode);elements0.style.animation slideOutOut 0.4s 1}}inProcess false}, !direction && container.getAttribute(data-slide-type) vertical ? 200 : 400)}, slideToIndex function (n, sliderObj){let container document.getElementsByClassName(sliderObj.container)0;let direction n - sliderObj.prevIndex > 0;if (!container.hasAttribute(vertical-animation)) showSlide(n, direction, sliderObj);else dotSlideClick(n, direction, sliderObj);sliderObj.prevIndex n}, dotSlideClick function (n, direction, sliderObj){const container document.getElementsByClassName(sliderObj.container)0, dotContainer document.getElementsByClassName(sliderObj.dotContainer)0, slides container.getElementsByClassName(sliderObj.class), nSlidesWidth slidesn.offsetWidth, prevSlidesWidth slidessliderObj.prevIndex.offsetWidth;slidessliderObj.prevIndex.style.transform `translateX(-${n * prevSlidesWidth}px)`;slidesn.style.transform `translateX(-${n * nSlidesWidth}px)`;if (dotContainer){for (let i 0;i slides.length;i++){dotContainer.childreni.firstChild.classList.remove(i n ? css.dot : css.selectedDot);dotContainer.childreni.firstChild.classList.add(i n ? css.selectedDot : css.dot);if (n 0) slidesi.style.transform }}}, showButtonTreeButtons function (){let buttons document.getElementsByClassName(button-tree-url);if (buttons.length > 0 && options.redirectUrls.length > 0 && Array.isArray(options.redirectUrls)){for (let i 0;i options.redirectUrls.length;i++){buttonsi.classList.remove(display-none);buttonsi.setAttribute(data-param, `&button${i}`)}}if (buttons.length > 0 && !Array.isArray(options.redirectUrls)){for (let i 0;i 4;i++){buttonsi.classList.remove(display-none)}}}, questionOpened function (element){if (options.viewer preview || options.viewer deploy) element.classListelement.classList.contains(css.faqOpenedClass) ? remove : add(css.faqOpenedClass)}, formHandlers {portalClick: function (collect, parameter undefined){let count collect ? ?counttrue : ?countfalse, redirectButton document.getElementsByClassName(jsSelectors.redirectButton)0, linkParam, url;switch (options.category){case storefront: case button-tree: linkParam parameter;url `${options.redirectUrl}/status${count}${linkParam}`;break;default: linkParam redirectButton ? redirectButton.getAttribute(data-param) : ;url options.twoButtonRedirect true ? `${options.redirectUrl}/status${count}${linkParam}` : `${options.redirectUrl}/status${count}`}if ($){$.ajax(Object.assign({}, ajaxOptions,{url: url, type: GET, success: (data, status) >{if (data.success) redirectTo data.url}}))}}, openForm: function (){const form document.getElementsByTagName(form)0;if (form){if (options.mailCollectingEnabled true) form.setAttribute(state, email);else{if (options.category upsell){form.setAttribute(state, upsell)}else formHandlers.redirect(true)}contentSetters.setBodyOverflow()}}, clearErrorMessages: function (){const errorMessages document.getElementsByTagName(email-errors)0, emailInputs document.getElementsByTagName(input), emailUsed document.getElementsByTagName(email-used)0;if (errorMessages){errorMessages.classList.add(css.visibilityHidden);errorMessages.classList.remove(css.visibilityVisible);emailInputs.email.classList.remove(css.invalidInput);emailInputs.orderId.classList.remove(css.invalidInput)}else{emailUsed.classList.add(css.visibilityHidden);emailUsed.classList.remove(css.visibilityVisible)}}, closeForm: function (){const forms document.getElementsByTagName(form)0;if (options.viewer preview || options.viewer deploy){if (forms){forms.setAttribute(state, hidden);contentSetters.setBodyOverflow();formHandlers.clearErrorMessages()}}}, redirect: function (collect null, parameter undefined){if (options.viewer deploy){if(options.emailCollectingType ! email || storefront, button-tree.includes(options.category)) formHandlers.portalClick(collect, parameter);if (redirectTo) window.top.location.href redirectTo;else formHandlers.closeForm()}}, buttonSubscribe: function (element null){let emailInputs document.getElementsByTagName(input);let firstNameValidation formHandlers.mandatoryInputValidation().firstNameValidation;let lastNameValidation formHandlers.mandatoryInputValidation().lastNameValidation;let emailValidation formHandlers.mandatoryInputValidation().emailValidation;if (element ! null){let linkParam element.classList.contains(second-button) ? &button1 : &button0;let redirectButton document.getElementsByClassName(jsSelectors.redirectButton)0;redirectButton.setAttribute(data-param, `${linkParam}`)}if (emailInputs.email && options.viewer deploy){if (mailFormat.test(emailInputs.email.value)){let firstName emailInputs.firstName ? emailInputs.firstName.value : null, lastName emailInputs.lastName ? emailInputs.lastName.value : null, productModel emailInputs.productModel ? emailInputs.productModel.value : null, amazonOrder emailInputs.orderId ? emailInputs.orderId.value : null, birthDay emailInputs.birthday ? emailInputs.birthday.value : null;if ((event.keyCode 13 || event.type click)) formHandlers.checkEmail(emailInputs.email.value, firstName, lastName, productModel, amazonOrder, birthDay)}let inputsValidations firstNameValidation, lastNameValidation, emailValidation;for (let inputValidation of inputsValidations){if (!inputValidation.validation){formHandlers.showErrorMessages(inputValidation.validation, inputValidation.validationData);break}}}}, buttonClicked: function (element){if (options.viewer deploy){switch (options.category){case landing: case thank-you: let linkParam element.classList.contains(second-button) ? &button1 : &button0;let redirectButton document.getElementsByClassName(jsSelectors.redirectButton)0;redirectButton.setAttribute(data-param, `${linkParam}`);formHandlers.setFormStepData();formHandlers.openForm();break;case upsell: formHandlers.setFormStepData();formHandlers.openForm();break;case storefront: if (element){let scrolledSection document.getElementsByTagName(store)0;if (element.hasAttribute(scroll-button)) scrolledSection.scrollIntoView();else if (element.hasAttribute(form-button)){formHandlers.buttonSubscribe(element)}else formHandlers.redirect(true, element.getAttribute(data-param))}break;case button-tree: if (element){if (element.getAttribute(data-param)){formHandlers.redirect(true, element.getAttribute(data-param))}}default : if (element){const formWrapper document.getElementsByTagName(about)0;const formButtons formWrapper ? formWrapper.getElementsByTagName(div-button) : ;for (let i 0;i formButtons.length;i++){if (element formButtonsi) formHandlers.buttonSubscribe(element);else formWrapper.scrollIntoView()}}formHandlers.setFormStepData()}}}, collectEmail: function (data){let firstNameValidation formHandlers.mandatoryInputValidation().firstNameValidation;let lastNameValidation formHandlers.mandatoryInputValidation().lastNameValidation;if (firstNameValidation.validation && lastNameValidation.validation){if ($) $.ajax(Object.assign({}, ajaxOptions,{url: `${options.couponForm}/status?count${options.emailCollectingType single ? true : false}`, type: POST, data: data, statusCode:{410: () >{formHandlers.setSingleUseStep();formHandlers.setFormStepData();formHandlers.showSubscribedForm()}, 403: () > formHandlers.showErrorMessages(false,{type: email, error: email-used}), 413: () > formHandlers.showErrorMessages(false,{type: orderId, error: order-id-used}), 499: () > formHandlers.showErrorMessages(false,{type: orderId, error: order-id-error}), 418: () > formHandlers.showErrorMessages(false,{type: birthdayDate, error: birthday-date-error})}, success: (data, status) >{if (data.success){redirectTo data.url;couponId data.coupon;pdfUrl data.file;formHandlers.setFormStepData();formHandlers.showSubscribedForm();formHandlers.showErrorMessages(true,{type: birthdayDate, error: birthday-date-error})}}}))}}, showSubscribedForm: function (){const form document.getElementsByTagName(form)0;switch (options.emailCollectingType){case pdf: form.setAttribute(state, pdf);break;case group: form.setAttribute(state, group);break;case single: form.setAttribute(state, single);break;default: switch (options.category){case upsell: form.setAttribute(state, upsell);break;case storefront: form.setAttribute(state, thanks);break;default : form.setAttribute(state, thanks)}}}, inputValidation: function (element){if (updateTimeout) clearTimeout(updateTimeout);updateTimeout setTimeout(function (){let firstNameInput formHandlers.mandatoryInputValidation().firstNameValidation;let lastNameInput formHandlers.mandatoryInputValidation().lastNameValidation;let emailInput formHandlers.mandatoryInputValidation().emailValidation;if (!document.getElementsByTagName(input).orderId.classList.contains(css.invalidInput)){let validationArr firstNameInput, lastNameInput, emailInput;for (let inputValidation of validationArr){if (element.getAttribute(name) inputValidation.validationData.type){formHandlers.showErrorMessages(inputValidation.validation, inputValidation.validationData)}}}}, 1000)}, mandatoryInputValidation: function (){let inputs document.getElementsByTagName(input), firstNameValidation true, lastNameValidation true;if ((inputs.firstName && inputs.firstName.getAttribute(mandatory))){firstNameValidation !!inputs.firstName.value}if (inputs.lastName && inputs.lastName.getAttribute(mandatory)){lastNameValidation !!inputs.lastName.value}return{firstNameValidation:{validation: firstNameValidation, validationData:{type: firstName, error: empty-firstName}}, lastNameValidation:{validation: lastNameValidation, validationData:{type: lastName, error: empty-lastName}}, emailValidation:{validation: mailFormat.test(inputs.email.value), validationData:{type: email, error: email-format}}}}, checkEmail: function (email, firstName null, lastName null, productModel null, amazonOrder null, birthDay null){if ($){formHandlers.collectEmail({email: email, firstName: firstName, lastName: lastName, birthday: birthDay, amazonOrderId: amazonOrder, productModel: productModel, gdpr: termsChecked})}}, showErrorMessages: function (validation, errorData){const emailInputs document.getElementsByTagName(input), errors document.getElementsByTagName(email-errors)0;if (errors){errors.classListvalidation ? add : remove(css.visibilityHidden);errors.classListvalidation ? remove : add(css.visibilityVisible);const validations {type: birthdayDate, inputEl: emailInputs.birthday, errorElements: {validationType: birthday-date-error, element: errors.getElementsByClassName(jsSelectors.birthdayDateError)0},},{type: email, inputEl: emailInputs.email, errorElements: {validationType: email-used, element: errors.getElementsByClassName(jsSelectors.emailUsedError)0},{validationType: email-format, element: errors.getElementsByClassName(jsSelectors.emailFormatError)0},},{type: orderId, inputEl: emailInputs.orderId, errorElements: {validationType: order-id-used, element: errors.getElementsByClassName(jsSelectors.emailOrderIdErrorUsed)0},{validationType: order-id-error, element: errors.getElementsByClassName(jsSelectors.emailOrderIdErrorNone)0},},{type: firstName, inputEl: emailInputs.firstName, errorElements: {validationType: empty-firstName, element: errors.getElementsByClassName(jsSelectors.emptyFirstName)0}, ,},{type: lastName, inputEl: emailInputs.lastName, errorElements: {validationType: empty-lastName, element: errors.getElementsByClassName(jsSelectors.emptyLastName)0},}, ;const errorObj validations.find(element > element.type errorData.type);const errorElementData errorObj ? errorObj.errorElements.find(el > el.validationType errorData.error) : undefined;for (let errorText of errors.getElementsByTagName(text)) errorText.style.display none;for (let input of emailInputs) input.classList.remove(css.invalidInput);if (errorObj.inputEl && errorElementData.element){errorObj.inputEl.classListvalidation ? remove : add(css.invalidInput);errorElementData.element.style.display validation ? none : block}}}, copyCoupon: function (){let templateCoupon document.createElement(textarea), notificationCoupon document.getElementsByTagName(notification-coupon)0;if (options.viewer deploy){document.body.appendChild(templateCoupon);templateCoupon.value couponId;templateCoupon.select();document.execCommand(copy);document.body.removeChild(templateCoupon);if (notificationCoupon){notificationCoupon.innerText ;notificationCoupon.innerText `Coupon copied to Clipboard: ${couponId}`;notificationCoupon.classList.add(css.notificationDisplay);setTimeout(() > notificationCoupon.classList.remove(css.notificationDisplay), 2000)}}}, scrollToForm: function (el){let linkParam el.classList.contains(second-button) ? &button1 : &button0;let redirectButton document.getElementsByClassName(jsSelectors.redirectButton)0;redirectButton.setAttribute(data-param, `${linkParam}`);if (options.viewer deploy){let scrolledSection, template options.category storefront ? document.getElementsByTagName(store)0 : optInArray.includes(options.category), about document.getElementsByTagName(about)0, subscribe document.getElementsByTagName(subscribe)0;if (options.category storefront) scrolledSection template;else if (template && about && !subscribe) scrolledSection about;else scrolledSection subscribe;if (options.category thank-you && !scrolledSection) formHandlers.buttonClicked(el);else{if ((options.mailCollectingEnabled && scrolledSection) || options.category storefront) scrolledSection.scrollIntoView();else{if (options.category upsell){const form document.getElementsByTagName(form)0;form.setAttribute(state, upsell)}else formHandlers.redirect(!options.mailCollectingEnabled)}}}}, upsellRedirect: function (upgradeOrder){if (options.viewer deploy){if ($){let linkParam upgradeOrder ? &button1 : &button0;$.ajax({async: false, cache: false, timeout: 5000, url: `${options.redirectUrl}/status?count${options.mailCollectingEnabled ? false : true}${linkParam}`, type: GET, error: (data) > undefined, success: (data, status) >{if (data.success) redirectTo data.url}})}if (redirectTo) window.top.location.href redirectTo;else formHandlers.closeForm()}}, setSingleUseStep: function (){const couponWrapper document.getElementsByClassName(jsSelectors.couponWrapper)0, errorMessage document.getElementsByClassName(jsSelectors.noCouponError)0;helpers.toggleClasses(couponWrapper, css.displayBlock, css.displayNone);helpers.toggleClasses(errorMessage, css.displayNone, css.displayInlineBlock)}, setFormStepData: function (){switch (options.emailCollectingType){case group: case single: const couponCode document.getElementsByClassName(jsSelectors.couponId)0;couponCode.innerText couponId;break;case pdf: const pdfInput document.getElementsByClassName(jsSelectors.pdfInput)0;pdfInput.setAttribute(download-url, pdfUrl);helpers.downloadPdf()}}, setFormInputFieldMandatory: function (){let inputs document.getElementsByTagName(input), firstNameError document.getElementsByClassName(jsSelectors.emptyFirstName)0, lastNameError document.getElementsByClassName(jsSelectors.emptyLastName)0, subscribe document.getElementsByTagName(subscribe)0;if (firstNameError && lastNameError){firstNameError.style.display none;lastNameError.style.display none;if (Array.isArray(options.mandatoryFields)){for (let mandatoryField of options.mandatoryFields){inputs`${mandatoryField.value}`.setAttribute(mandatory, true);if (options.viewer portal || options.viewer template){if (mandatoryField firstName) firstNameError.style.display block;if (mandatoryField lastName) lastNameError.style.display block}if (mandatoryField lastName && subscribe){let subscribeLastName subscribe.getElementsByTagName(input).lastName;if (!subscribeLastName){inputs.firstName.setAttribute(mandatory, true);inputs.lastName.removeAttribute(mandatory)}}}}}}, continueShopping: function (){if (options.viewer deploy){switch (options.category){case upsell: const form document.getElementsByTagName(form)0;form.setAttribute(state, upsell);break;case storefront: formHandlers.closeForm();break;default: formHandlers.redirect(!options.mailCollectingEnabled);break}}}}, contentSetters {setPolicyUrls: function (policyArray, type){const docs document.getElementsByTagName(type);if (docs){for (let i 0;i docs.length;i++){let urlId Number(docsi.getAttribute(template));let urlHref Array.isArray(policyArray) && policyArray.length > 0 ? (docsi.getAttribute(template) custom ? docsi.getAttribute(custom) : (Number.isInteger(urlId) ? policyArray.find(element > element.id urlId).url : docsi.getAttribute(custom))) : docsi.getAttribute(custom);docsi.setAttribute(data-url, urlHref);if (options.viewer deploy || options.viewer preview){const separator document.getElementsByClassName(jsSelectors.policySeparator)0;docsi.classListurlHref ? add : remove(css.displayNone);docsi.classListurlHref ? remove : add(css.displayInlineBlock);if (docs0.classList.contains(css.displayNone) && separator) separator.classList.add(css.displayNone)}}}}, goToUrl: function (element){if (element) if (options.viewer deploy) window.open(element.getAttribute(data-url), element.getAttribute(target))}, setThumbnailData: function (dataArray){let thumbContainer document.getElementsByTagName(thumbs)0, thumbnailCount images.length 5 ? images.length : 5, nailWrapper document.getElementsByTagName(nail)0, oldThumbs document.getElementsByTagName(thumb);if (oldThumbs.length 0){if (thumbContainer){if (thumbContainer.firstElementChild) thumbContainer.innerHTML ;for (let i 0;i thumbnailCount;i++){if (dataArrayi){let thumbHtml `a-thumb data-thumb${dataArrayi} data-videonull onmouseoverthumbClick(this)> img src${dataArrayi}> /a-thumb>`;let element new DOMParser().parseFromString(thumbHtml, text/html).body.firstChild;thumbContainer.append(element)}}if (images0 undefined && nailWrapper) nailWrapper.style.display none;let firstThumb document.getElementsByTagName(a-thumb)0;thumbClick(firstThumb)}}}, setSlideNumberData: function (dataArray){let sliderNumbersContainer document.getElementsByClassName(js-slider-numbers)0, sliderNumberCount images.length 5 ? images.length : 5, sliderImage document.getElementsByClassName(js-slider-image)0;if (sliderNumbersContainer){if (sliderNumbersContainer.firstElementChild) sliderNumbersContainer.innerHTML ;for (let i 0;i sliderNumberCount;i++){if (dataArrayi){let sliderNumberHtml dataArrayi + 1 && i ! 4 ? `span classslider-number js-slider-number data-videonull data-thumb${dataArrayi} onclickthumbClick(this)>${i + 1}span classslider-number-line>-/span>/span>` : `span classslider-number js-slider-number data-videonull data-thumb${dataArrayi} onclickthumbClick(this)>${i + 1}/span>`;let element new DOMParser().parseFromString(sliderNumberHtml, text/html).body.firstChild;if (sliderNumberCount 2) element.style.visibility hidden;sliderNumbersContainer.append(element)}}if (images0 undefined && sliderImage) sliderImage.style.display none;if (!sliderImage.getElementsByTagName(img)0.getAttribute(src) || sliderImage.getElementsByTagName(img)0.getAttribute(src)?.includes(static/images)){let firstThumb document.getElementsByClassName(js-slider-number)0;if (firstThumb){firstThumb.classList.add(thumb-selected);sliderImage.getElementsByTagName(img)0.setAttribute(src, firstThumb.getAttribute(data-thumb));sliderImage.getElementsByTagName(img)0.style.opacity 1}}}}, setSlidesIds: function (){const reviewContainer document.getElementsByClassName(jsSelectors.reviewContainer), galleryContainer document.getElementsByClassName(jsSelectors.galleryContainer);if (reviewContainer && reviewContainer.length !0){for (let k 0;k reviewContainer.length;k++){let reviews reviewContainerk ? reviewContainerk.getElementsByTagName(review) : undefined;if (reviews) for (let i 0;i reviews.length;i++) if(!reviewsi.getAttribute(rid)) reviewsi.setAttribute(rid, i)}}if (galleryContainer && galleryContainer.length !0){for (let k 0;k galleryContainer.length;k++){let slides galleryContainerk ? galleryContainerk.getElementsByTagName(slide) : undefined;if (slides) for (let i 0;i slides.length;i++) slidesi.setAttribute(gid, i)}}}, setGalleryOrder: function (){let thumbs document.getElementsByTagName(a-thumb);let galleryOrder ;for (let i 0;i thumbs.length;i++) galleryOrder.push(thumbsi.getAttribute(data-thumb))}, setPopUpDisplay: function (){const form document.getElementsByTagName(form)0;if (form) form.setAttribute(state, hidden)}, setGalleryArrowsDisplay: function (container, arrows, slides){let elements container ? container.getElementsByClassName(slides) : undefined;let deviceWidth window.innerWidth;if (elements && arrows.length > 0){for (let i 0;i arrows.length;i++){if (container.classList.contains(jsSelectors.multipleReviews) && deviceWidth > 1300) arrowsi.classListelements.length 4 ? add : remove(arrows-hidden);else if (container.classList.contains(jsSelectors.multipleReviews) && deviceWidth > 940) arrowsi.classListelements.length 3 ? add : remove(arrows-hidden);else arrowsi.classListelements.length > 1 ? remove : add(arrows-hidden)}}}, setFormErrorState: function (){const form document.getElementsByTagName(form)0, emailErrors document.getElementsByTagName(email-errors)0, errorMessages emailErrors ? emailErrors.getElementsByTagName(text) : , jsOrderIdError document.getElementsByClassName(js-order-id-used)0, jsOrderError document.getElementsByClassName(js-order-id-error)0;if (form){switch (options.viewer){case template: case portal: helpers.switchClasses(emailErrors, (options.viewer template) || (options.viewer portal), css.visibilityHidden, css.visibilityVisible);for (let i 0;i errorMessages.length;i++) errorMessagesi.classList.remove(css.errorsHidden);if (options.orderCheck ! true){jsOrderIdError?.classList.add(css.errorsHidden);jsOrderError?.classList.add(css.errorsHidden)}break;case deploy: formHandlers.clearErrorMessages();break}}}, setMediaData: function (mediaSrc, elements){for (let i 0;i elements.length;i++){let asinElements mediaSrc.find((el) > el.asin elementsi.getAttribute(asin));contentSetters.setElementMediaData(elementsi, asinElements ? asinElements.media : mediaSrc0.media)}}, setElementMediaData: function (element, mediaSrc){let data element.attributesdata.value.split(-), transparency element.attributestransparency, index Number(data1), isTransparent transparency && transparency.value yes, elementSrc element.firstElementChild.src;if (!Array.isArray(mediaSrc) || mediaSrc.length 0){console.log(No images/videos found in template!);return}let type mediaSrcindex mediaSrc.length ? index : index % mediaSrc.length?.isVideo ? video : image;switch (type){case image: const targetUrl mediaSrcindex mediaSrc.length ? index : index % mediaSrc.length.data;if (targetUrl){const imageUrl `${isTransparent ? targetUrl.replace(.jpg, .png) : targetUrl}`;if (elementSrc ! imageUrl){element.innerHTML ;let img document.createElement(img);img.src imageUrl;element.appendChild(img);img.style.visibility visible}}else console.log(Images are unavailable, images);break;case video: const embedUrl mediaSrcindex mediaSrc.length ? index : index % mediaSrc.length.data;if (elementSrc ! embedUrl){if (embedUrl){element.innerHTML ;const attrs controls, allowfullscreen, mozallowfullscreen, msallowfullscreen, oallowfullscreen, webkitallowfullscreen;let elementHtml (embedUrl.includes(youtube) || embedUrl.includes(vimeo)) ? `iframe src${embedUrl} width100% styleborder: none>/iframe>` : `video width100% controls>source src${embedUrl} typevideo/mp4>/video>`;let video (embedUrl.includes(youtube) || embedUrl.includes(vimeo)) ? document.createElement(iframe) : document.createElement(video);video.innerHTML elementHtml;attrs.forEach(e > video.setAttribute(e, ));if (element.classList.contains(background-video)){let videoType amazon;if (embedUrl.includes(youtube)) videoType youtube;if (embedUrl.includes(vimeo)) videoType vimeo;switch (videoType){case youtube: let youtubeId embedUrl.split(embed/)1;let youtubeVideo embedUrl + `?autoplay1&mute1&loop1&controls0&playlist${youtubeId}`;video.src youtubeVideo;break;case vimeo: let vimeoVideo embedUrl + ?autoplaytrue&mutedtrue&looptrue&autopausefalse&controlsfalse;video.src vimeoVideo;break;case amazon: video.muted true;video.autoplay true;video.loop true;video.src embedUrl;break}}else video.src embedUrl;video.classList.add(jsSelectors.iframe);video.classList.add(iframe);video.style.visibility visible;element.appendChild(video)}else console.log(Videos are unavailable, videos)}break}}, setBackgroundData: function (){const background document.getElementsByTagName(background)0;if (background){const url background.getAttribute(bgdata), data url.split(-), index Number(data1);if (background.firstElementChild) background.firstElementChild.src options.backgroundsindex}}, setVideosPointerEvent: function (){let videos document.getElementsByClassName(jsSelectors.iframe);for (let i 0;i videos.length;i++) videosi.style.pointerEvents (options.viewer portal) || (options.viewer template) ? none : auto}, setSliderCount: function (data, wrapper, contentContainer){let sliderCount undefined, slides {slidesL: contentContainer && contentContainer.getAttribute(slidesL) ? contentContainer.getAttribute(slidesL) : galleryData.count, slidesM: contentContainer && contentContainer.getAttribute(slidesM) ? contentContainer.getAttribute(slidesM) : galleryData.count, slidesS: contentContainer && contentContainer.getAttribute(slidesS) ? contentContainer.getAttribute(slidesS) : galleryData.count,};const resize new ResizeObserver(entries >{let deviceWidth entries0.contentRect.width, sliderArrows wrapper.getElementsByTagName(arrow);if (deviceWidth > 1350) sliderCount +slides.slidesL;else if (deviceWidth > 950 && deviceWidth 1350) sliderCount +slides.slidesM;else if (deviceWidth 950 && deviceWidth > 420) sliderCount +slides.slidesS;else if (deviceWidth 420) sliderCount 1;if (data.length sliderCount + 1) for (let i 0;i sliderArrows.length;i++) sliderArrowsi.style.visibility hidden;else for (let i 0;i sliderArrows.length;i++) sliderArrowsi.style.visibility visible});resize.observe(document.getElementsByTagName(body)0)}, setGalleryData: function (){const sliderWrapper Array.from(document.getElementsByTagName(slider-wrapper)), sliderContainer Array.from(document.getElementsByTagName(slider-container));for (let j 0;j sliderContainer?.length;j++){if (sliderWrapperj && sliderContainerj){if (sliderContainerj.firstElementChild) sliderContainerj.innerHTML ;let arrows sliderWrapperj.getElementsByTagName(arrow);let galleryImages images;if (Array.isArray(galleryImages) && galleryImages.length > 0){galleryImages.push(galleryImages.shift());for (let i 0;i galleryImages.length;i++) createElements(galleryImagesi.data, galleryData, true);this.setSliderCount(galleryImages, sliderWrapperj, sliderContainerj)}sliderWrapperj.classList(galleryImages.length 0) ? add : remove(css.sliderWrapperNone);if (galleryImages.length 2) for (let i 0;i arrows.length;i++) arrowsi.classList.add(css.displayNone)}}}, setDynamicGalleryData: function (galleryData){const galleryWrapper document.getElementsByTagName(galleryData.wrapper)0, galleryContainer document.getElementsByClassName(galleryData.container)0, selectedElements document.getElementsByClassName(galleryData.class), slidesSelected galleryData.type reviews ? rselected : gselected, selectedReviews document.getElementsByClassName(js-selected-review), showMoreButton document.getElementsByClassName(jsSelectors.buttonHidden)0;if (galleryWrapper && galleryContainer){let allSlides galleryContainer.getElementsByTagName(galleryData.slideTagName), selectedSlides galleryWrapper.getAttribute(slidesSelected);if (options.viewer ! template){let rSelectedArray selectedSlides.split(,).map(Number);selectedSlides galleryData.type reviews ? rSelectedArray.reduce((a, b) > a + b, 0) : galleryWrapper.getAttribute(slidesSelected);for (let slide of allSlides){helpers.toggleClasses(slide, galleryData.class, css.displayNone);helpers.toggleClasses(slide, galleryData.slideDisplay, css.displayNone)}const slideArray Array.from(allSlides);const availableSlides slideArray.filter(el > el.getAttribute(galleryData.type reviews ? rid : gid) selectedSlides);const sortedSlides availableSlides.sort((a, b) > a.getAttribute(galleryData.type reviews ? rid : gid) - b.getAttribute(galleryData.type reviews ? rid : gid));for (let availableSlide of sortedSlides){galleryContainer.append(availableSlide);helpers.toggleClasses(availableSlide, css.displayNone, galleryData.class);helpers.toggleClasses(availableSlide, css.displayNone, galleryData.slideDisplay)}if ((options.viewer deploy || options.viewer preview) && selectedElements.length 1 && galleryData.type reviews) showMoreButton.style.display none;if (galleryContainer.classList.contains(js-review-slides-count)) contentSetters.setSliderCount(selectedReviews, galleryWrapper, galleryContainer);else contentSetters.setGalleryArrowsDisplay(galleryContainer, galleryWrapper.getElementsByTagName(arrow), galleryData.class)}}}, setReviewsOnResize: function (){window.onresize function (){let deviceWidth (window.innerWidth > 0) ? window.innerWidth : screen.width;if (deviceWidth 800) disableReviewSlider();else initDotSlider(reviewSlide);contentSetters.setReviewSlideHeight(deviceWidth)}}, setReviewContainerAttr: function (){const reviewContainer document.getElementsByTagName(review-container)0;if (reviewContainer && reviewContainer.hasAttribute(collapsed)) reviewContainer.removeAttribute(collapsed)}, setDiscountDisplay: function (){const discountElements document.getElementsByClassName(jsSelectors.discount), price document.getElementsByTagName(price);for (let i 0;i options.discounts.length;i++){switch (options.category){case landing: discount options.discountsi;for (let i 0;discountElements && i discountElements.length;i++) discountElementsi.classListdiscount || options.viewer template ? remove : add(css.displayNone);for (let i 0;price && i price.length;i++) pricei.classList.add(!discount || options.viewer template ? css.displayNone : css.priceDisplay);break;case upsell: discount options.discounts0;for (let i 0;discountElements && i discountElements.length;i++) discountElementsi.classListdiscount ? remove : add(css.displayNone);for (let i 0;price && i price.length;i++) pricei.classList.add(!discount || options.viewer template ? css.displayNone : css.priceDisplay);let upsellDiscount options.discounts1;let upsellWrapper document.getElementsByClassName(jsSelectors.formUpsell)0;if (upsellDiscount && upsellWrapper){let upsellDiscounts upsellWrapper.getElementsByClassName(jsSelectors.discount), upsellPrice upsellWrapper.getElementsByTagName(price);for (let i 0;i upsellDiscounts.length;i++){upsellDiscountsi.classListupsellDiscount || options.viewer template ? remove : add(css.displayNone);upsellDiscountsi.classListupsellDiscount || options.viewer template ? add : remove(css.discountDisplay)}for (let i 0;i upsellPrice.length;i++){upsellPricei.classListupsellDiscount || options.viewer template ? remove : add(css.displayNone);upsellPricei.classListupsellDiscount || options.viewer template ? add : remove(css.priceDisplay)}}break;case storefront: let productsContainer document.getElementsByTagName(product-container)0, products productsContainer ? productsContainer.getElementsByTagName(product) : , productDiscount productsi ? productsi.getElementsByClassName(jsSelectors.discount)0 : undefined, productPrice productsi ? productsi.getElementsByTagName(price)0 : undefined, productsTemplate document.getElementsByTagName(product-template)0, productTemplate productsTemplate?.getElementsByTagName(product) ? productsTemplate.getElementsByTagName(product) : , productTemplateDiscount productTemplatei ? productTemplatei.getElementsByClassName(jsSelectors.discount)0 : undefined, productTemplatePrice productTemplatei ? productTemplatei.getElementsByTagName(price)0 : undefined, header Array.from(document.getElementsByTagName(header)), hero Array.from(document.getElementsByTagName(hero)), action Array.from(document.getElementsByTagName(action)), headerDiscount header ? header.flatMap(h > h.getElementsByClassName(jsSelectors.discount)0) : undefined, heroDiscount hero ? hero.flatMap(h > h.getElementsByClassName(jsSelectors.discount)0) : undefined, heroListPrice hero ? hero.flatMap(h > h.getElementsByTagName(listprice)0) : undefined, heroPrice hero ? hero.flatMap(h > h.getElementsByTagName(price)0) : undefined, actionListPrice action ? action.flatMap(a > a.getElementsByTagName(listprice)0) : undefined, actionPrice action ? action.flatMap(a > a.getElementsByTagName(price)0) : undefined;if (productDiscount) helpers.switchClasses(productDiscount, options.discountsi, css.displayNone, css.discountDisplay);if (productPrice) helpers.switchClasses(productPrice, options.discountsi, css.displayNone, css.priceDisplay);if (headerDiscount) headerDiscount.forEach(h > helpers.switchClasses(h, (Array.isArray(options.discounts) ? options.discounts.some((element) > element true) : undefined) || options.viewer template, css.displayNone, css.discountDisplay));if (heroDiscount) heroDiscount.forEach(h > helpers.switchClasses(h, (Array.isArray(options.discounts) ? options.discounts.some((element) > element true) : undefined) || options.viewer template, css.displayNone, css.discountDisplay));if (heroListPrice) heroListPrice.forEach(h > helpers.toggleClasses(h, css.priceDisplay, css.displayNone));if (heroPrice) heroPrice.forEach(h > helpers.toggleClasses(h, css.priceDisplay, css.displayNone));if (actionListPrice) actionListPrice.forEach(a > helpers.toggleClasses(a, css.priceDisplay, css.displayNone));if (actionPrice) actionPrice.forEach(a > helpers.toggleClasses(a, css.priceDisplay, css.displayNone));if (productTemplateDiscount) helpers.switchClasses(productTemplateDiscount, options.viewer template, css.displayNone, css.discountDisplay);if (productTemplatePrice) helpers.switchClasses(productTemplatePrice, options.viewer template, css.displayNone, css.priceDisplay);break}}}, setStoreFrontProductLinks: function (){let productContainer document.getElementsByTagName(product-container);let index 0;for (let i 0;i productContainer.length;i++){let productButtons productContaineri.getElementsByClassName(jsSelectors.storeFrontProductButton);for (let c 0;c productButtons.length;c++){productButtonsc.setAttribute(data-param, `&button${index}`);index index + 1}}}, setProductTemplateView: function (){const store document.getElementsByTagName(store)0;const productTemplate store ? store.getElementsByTagName(product-template)0 : undefined;if (productTemplate) helpers.switchClasses(productTemplate, options.viewer template && options.category storefront, css.displayNone, css.displayBlock)}, setHtmlData: function (){const inputs document.getElementsByTagName(input), orderIdInput document.getElementsByClassName(jsSelectors.emailOrderId)0, noCouponsLeft document.getElementsByClassName(jsSelectors.noCouponError), logo document.getElementsByTagName(logo), imgTags document.getElementsByTagName(img), counters document.getElementsByTagName(counter), discounts document.getElementsByClassName(jsSelectors.discount), price document.getElementsByTagName(price), listPrice document.getElementsByTagName(listprice), checkboxWrapper document.getElementsByClassName(jsSelectors.checkboxWrapper)0, secondButton document.getElementsByClassName(jsSelectors.secondButton), media document.getElementsByTagName(media), actions document.getElementsByTagName(action), questions document.getElementsByTagName(question), couponCode document.getElementsByClassName(jsSelectors.couponId)0, subscribe document.getElementsByTagName(subscribe), manyChat document.getElementsByTagName(manychat)0, embedWidgetWrapper document.getElementsByClassName(jsSelectors.manyChatWrapper)0, embedWidgetPlaceholder document.getElementsByClassName(jsSelectors.manyChatPlaceholder)0, storeFrontWrapper document.getElementsByTagName(store)?.0, productsContainer document.getElementsByTagName(product-container)0, productGalleryArrows storeFrontWrapper ? storeFrontWrapper.getElementsByTagName(arrow) : ;for (let i 0;i inputs.length;i++){if ((options.viewer portal) || (options.viewer template)) inputsi.disabled true;else inputsi.removeAttribute(disabled)}for (let i 0;i noCouponsLeft.length;i++) noCouponsLefti.classList((options.viewer portal) || (options.viewer template)) && options.emailCollectingType single ? remove : add(css.displayNone);if (logo && logo.length !0){for(let j 0;j logo.length;j++){helpers.toggleClasses(logoj, css.visibilityHidden, css.visibilityVisible);logoj.firstElementChild.src logoj.attributeslogo-image.value;if (logoj.attributeslogo-image.value.includes(no-logo) && (options.viewer deploy || options.viewer preview)) logoj.setAttribute(logo-hidden, yes)}}for (let i 0;i imgTags.length;i++) imgTagsi.className ;if (checkboxWrapper) checkboxWrapper.classList(options.gdprEnabled false) ? add : remove(css.displayNone);if (couponCode) couponCode.innerHTML couponId undefined || !couponId || couponId ? COUPON : `${couponId}`;if (optInArray.includes(options.category) || options.category landing || options.category thank-you){for (let i 0;i secondButton.length;i++) helpers.switchClasses(secondButtoni, options.twoButtonRedirect true || options.viewer template, css.displayNone, css.displayInlineBlock)}if (options.manyChat false && manyChat) manyChat.style.display none;if (embedWidgetWrapper && embedWidgetPlaceholder){embedWidgetWrapper.classList(options.viewer portal || options.viewer template) ? add : remove(css.displayNone);embedWidgetPlaceholder.classList(options.viewer deploy) ? add : remove(css.displayNone)}if ((options.countDown ? new Date(options.countDown).getTime() : undefined) || options.artificialCountdown true){for (let i 0;i counters.length;i++) helpers.toggleClasses(countersi, css.displayNone, css.counterDisplay)}else{for (let i 0;i counters.length;i++) helpers.toggleClasses(countersi, css.counterDisplay, css.displayNone)}contentSetters.setMediaData(options.asinMedia, media);contentSetters.setDiscountDisplay();if (optInArray.includes(options.category) || options.category thank-you){for (let i 0;i listPrice.length;i++) helpers.toggleClasses(listPricei, css.priceDisplay, css.displayNone);for (let i 0;i price.length;i++) helpers.toggleClasses(pricei, css.priceDisplay, css.displayNone);for (let i 0;i discounts.length;i++) helpers.toggleClasses(discountsi, css.discountDisplay, css.displayNone)}for (let i 0;i actions.length;i++){if ((options.countDown ? new Date(options.countDown).getTime() : undefined) || options.artificialCountdown true) helpers.toggleClasses(actionsi, css.displayNone, css.actionDisplay);else helpers.toggleClasses(actionsi, css.actionDisplay, css.displayNone)}for (let i 0;i subscribe.length;i++){if (options.mailCollectingEnabled) helpers.toggleClasses(subscribei, css.displayNone, css.subscribeDisplay);else helpers.toggleClasses(subscribei, css.subscribeDisplay, css.displayNone)}for (let i 0;i questions.length;i++) questionsi.classList(options.viewer portal || options.viewer template) ? add : remove(css.faqOpenedClass);contentSetters.setVideosPointerEvent();contentSetters.setProductTemplateView();if (options.category storefront && storeFrontWrapper) this.setSliderCount(productsContainer.children, storeFrontWrapper, productsContainer);if (orderIdInput) orderIdInput.setAttribute(enabled, options.orderCheck true ? yes : no)}, redirectToSocial: function (element){let link element.getAttribute(data-link);if (link && options.viewer deploy) window.top.location.href link}, setSocialShareHtml: function (){let socialShare document.getElementsByTagName(social-share)0, socialShares document.getElementsByTagName(social-share), socialLinks socialShare ? socialShare.getAttribute(links) : undefined, svgOpt {facebook: path dM26.8,0H3.2C1.4,0,0,1.4,0,3.2v23.6C0,28.6,1.4,30,3.2,30h6h2.7c0.3,0,0.5-0.2,0.5-0.5c0-3,0-6.5,0-9.3c0-0.2-0.1-0.3-0.3-0.3c-1.2,0-2.3,0-3.5,0c-0.3,0-0.4-0.1-0.4-0.4c0-1.4,0-2.7,0-4.1c0-0.3,0.1-0.4,0.4-0.4c1.1,0,2.3,0,3.4,0c0.3,0,0.4-0.1,0.4-0.4c-0.2-2.7-0.4-6.3,1.9-8.2c2.6-2.1,7.6-1.2,7.8-1.2c0.2,0,0.2,0.1,0.2,0.3c0,1.2,0.1,2.4,0,3.5c0,0.2-0.1,0.3-0.3,0.3c-0.6,0-1.3,0-1.9,0c-1.6,0-2.5,0.9-2.5,2.5c0,0.9,0,1.9,0,2.8c0,0.3,0.1,0.4,0.4,0.4c1.3,0,2.6,0,3.9,0c0.2,0,0.1,0,0.2,0.3c-0.1,0.7-0.5,3.4-0.6,4.2c0,0.3-0.2,0.3-0.4,0.3c-1.2,0-2.3,0-3.5,0c-0.2,0.4,0,6.2,0,9.6c0,0.3,0.2,0.5,0.5,0.5h8.7c1.8,0,3.2-1.4,3.2-3.2V3.2C30,1.4,28.6,0,26.8,0z/>},{instagram: path dM23.8,10.7c-0.1-1.4-0.4-3-1.8-3.8c-0.8-0.5-1.7-0.6-2.6-0.7c-2.2-0.2-4.4-0.2-6.6-0.1c-0.7,0-1.5,0-2.2,0.1c-0.4,0.1-0.8,0.1-1.2,0.2C8,6.7,6.9,7.6,6.5,9.2c-0.1,0.5-0.2,1-0.2,1.6c0,0.7,0,1.4-0.1,2.1c0,0.7,0,1.4,0,2.1c0,0.7,0,1.5,0,2.2c0,0.7,0,1.4,0.1,2.1c0.1,0.6,0.1,1.2,0.3,1.7c0.1,0.1,0.1,0.2,0.1,0.4c0.6,1.4,1.7,2.1,3.2,2.3c1.7,0.2,3.4,0.2,5.1,0.2c0.7,0,1.4,0,2.1,0c0.7,0,1.5-0.1,2.2-0.1c0.3-0.1,0.7-0.1,1-0.2c1.6-0.3,2.7-1.2,3.2-2.8c0.1-0.5,0.2-1,0.2-1.5c0-0.7,0-1.4,0.1-2.1c0-0.7,0-1.5,0-2.2c0-0.7,0-1.4,0-2.1C23.9,12.1,23.9,11.4,23.8,10.7z M20.1,17.2c-0.1,0.4-0.4,0.8-0.6,1.1c-1.1,1.8-3.7,2.5-5.6,2.1c-1.6-0.4-3.3-1.6-3.8-3.2c-0.4-0.7-0.5-1.4-0.5-2.2c0-0.7,0.1-1.5,0.4-2.1c0.1-0.4,0.3-0.8,0.6-1.1c1.2-1.8,3.7-2.6,5.8-2.1c1.7,0.4,3,1.7,3.6,3.2C20.7,14.2,20.8,15.8,20.1,17.2z M21.5,10.3c-0.6,0.4-1.2,0.3-1.7-0.2c-0.4-0.5-0.4-1.1-0.1-1.6C20.1,8,20.5,7.9,21,8c0.5,0.1,1,0.5,1,1C22.1,9.5,22.1,10,21.5,10.3z/>path dM26.8,0H3.2C1.4,0,0,1.4,0,3.2v23.6C0,28.6,1.4,30,3.2,30H5h4.2h2.7h6.2H26h0.8c1.8,0,3.2-1.4,3.2-3.2V3.2C30,1.4,28.6,0,26.8,0z M25.8,17.2c0,0.7,0,1.4,0,2.1c0,0.7-0.1,1.4-0.3,2.1c-0.2,1.2-0.9,2.1-1.8,2.8c-0.6,0.5-1.4,0.9-2.1,1.1c-0.7,0.2-1.4,0.3-2.1,0.3c-0.7,0.1-1.5,0.1-2.2,0.1c-0.7,0-1.4,0-2.1,0c-2,0-4,0.1-5.9-0.2c-0.2,0-0.4,0-0.5-0.1c-2-0.5-3.3-2.1-3.9-3.9c-0.2-0.7-0.3-1.4-0.3-2.1c0-0.7-0.1-1.4,0-2.1c-0.1-0.7,0-1.5,0-2.2c0-0.7,0-1.4,0-2.1c0-0.7,0-1.4,0-2.1c0-0.8,0.1-1.5,0.3-2.2c0.5-2,2-3.2,3.9-3.9c0.7-0.2,1.4-0.3,2.1-0.3c0.7-0.1,1.5-0.1,2.2-0.1c0.7,0,1.4,0,2.1,0c0.7,0,1.4,0,2.1,0c0.7,0,1.5,0,2.2,0.1c0.7,0,1.4,0,2.1,0.4c1.9,0.5,3.3,2,3.9,3.8c0.2,0.7,0.3,1.5,0.3,2.2c0,0.7,0.1,1.4,0,2.1c0.1,0.7,0,1.4,0,2.1C25.8,15.7,25.9,16.4,25.8,17.2z/>path dM17.2,12.1c-0.6-0.4-1.3-0.7-2.1-0.7c-0.8,0-1.5,0.2-2.1,0.7c-0.3,0.3-0.5,0.5-0.8,0.8c-0.4,0.6-0.7,1.3-0.7,2.1c0,0.8,0.3,1.5,0.7,2.2c0.2,0.2,0.5,0.5,0.7,0.7c0.6,0.4,1.4,0.7,2.1,0.7c0.7,0,1.4-0.3,2.1-0.6c0.3-0.3,0.6-0.5,0.9-0.9c0.4-0.7,0.7-1.4,0.7-2.1c0-0.8-0.3-1.5-0.7-2.1C17.7,12.6,17.4,12.3,17.2,12.1z/>},{twitter: path dM8.6,0c0.7,0,1.4,0,2.1,0c0.7,0,1.5,0,2.2,0c0.7,0,1.4,0,2.1,0c0.7,0,1.4,0,2.1,0c0.7,0,1.5,0,2.2,0c0.7,0,1.4,0,2.1,0c0.7,0,1.4,0,2.1,0c0.7,0,1.5,0,2.2,0c0.6,0.1,1.2,0,1.7,0.1C28.9,0.4,29.9,1.6,30,3c0,0.4,0,0.9,0,1.3c0,0.7,0,1.4,0,2.1c0,0.7,0,1.4,0,2.1c0,0.7,0,1.5,0,2.2c0,0.7,0,1.4,0,2.1c0,0.7,0,1.4,0,2.1c0,0.7,0,1.5,0,2.2c0,0.7,0,1.4,0,2.1c0,0.7,0,1.4,0,2.1c0,0.7,0,1.5,0,2.2c0,0.7,0,1.4,0,2.1c0,0.4,0,0.8,0,1.2c-0.1,1.7-1.5,3-3.2,3c-0.4,0-0.7,0-1.1,0c-0.7,0-1.5,0-2.2,0c-0.7,0-1.4,0-2.1,0c-0.7,0-1.4,0-2.1,0c-0.7,0-1.5,0-2.2,0c-0.7,0-1.4,0-2.1,0c-0.7,0-1.4,0-2,0c-2.8,0-5.6,0-8.4,0c-0.1,0-0.2,0-0.3,0c-0.6-0.1-1.3,0-1.9-0.1C1,29.5,0.1,28.3,0,27c0-0.4,0-0.9,0-1.3c0-0.7,0-1.4,0-2.1c0-0.7,0-1.5,0-2.2c0-0.7,0-1.4,0-2.1c0-0.7,0-1.4,0-2.1c0-0.7,0-1.5,0-2.2c0-0.7,0-1.4,0-2.1c0-0.7,0-1.4,0-2.1C0,10,0,9.3,0,8.6c0-0.7,0-1.4,0-2.1C0,5.7,0,5,0,4.3C0,3.9,0,3.5,0,3c0.1-1.6,1.4-2.9,3.1-3c0.4,0,0.8,0,1.2,0C5,0,5.7,0,6.5,0C7.2,0,7.9,0,8.6,0z M6.5,7.9C6.2,7.7,6,7.4,5.8,7.1C5.5,7.6,5.3,8,5.3,8.6c-0.2,0.8-0.1,1.6,0.2,2.3c0.2,0.6,0.5,1.1,1,1.5c0.1,0.2,0.4,0.3,0.6,0.6c-0.2,0-0.4,0-0.6,0c-0.3-0.1-0.5-0.2-0.8-0.2c-0.2,0-0.4-0.3-0.5-0.2c-0.2,0.1,0,0.4,0,0.6c0.3,1.6,1.2,2.7,2.7,3.4c0.2,0.1,0.4,0.1,0.6,0.3c-0.7,0.2-1.2,0.2-1.8,0c0,0.2,0,0.2,0.1,0.3c0.3,0.9,0.9,1.6,1.7,2c0.1,0.1,0.1,0.1,0.2,0.1c0.6,0.3,1.2,0.5,1.9,0.5c0,0,0,0.1,0,0.1c-1.3,0.9-2.7,1.5-4.3,1.7c-0.6,0-1.3,0.1-2,0.1c0.7,0.4,1.3,0.8,2,1c0.7,0.3,1.4,0.5,2.2,0.6c0.9,0.2,1.8,0.3,2.7,0.2c0.6,0,1.1,0,1.6-0.1c0.7-0.1,1.4-0.2,2.1-0.5c0.7-0.2,1.5-0.5,2.1-0.9c0.4-0.2,0.8-0.4,1.2-0.8c0.4-0.2,0.7-0.5,1-0.8c0.5-0.4,0.9-0.8,1.3-1.3c0.4-0.4,0.7-0.8,1-1.3c0.2-0.2,0.3-0.5,0.5-0.8c0.4-0.7,0.7-1.3,0.9-2.1c0.3-0.7,0.5-1.5,0.5-2.2c0.2-0.7,0.2-1.4,0.1-2.1c0-0.1,0-0.1,0-0.2c0.8-0.6,1.5-1.3,2.2-2.2c-0.8,0.3-1.5,0.5-2.2,0.6c-0.1,0-0.1,0-0.3,0c0.1-0.1,0.3-0.2,0.4-0.3c0.6-0.6,1.2-1.1,1.4-2c0,0,0,0,0,0c0,0-0.1,0-0.1,0c-0.5,0.2-0.9,0.4-1.4,0.6c-0.3,0.1-0.6,0.1-0.9,0.2c-0.3,0.1-0.5,0.1-0.7-0.2c-0.2-0.2-0.4-0.3-0.6-0.4c-0.9-0.6-1.8-0.8-2.9-0.6c-0.5,0-1,0.2-1.4,0.4c-0.8,0.4-1.4,1-1.8,1.7c-0.5,0.9-0.7,1.8-0.5,2.8c0,0.3,0,0.3-0.3,0.3c-0.5-0.1-1.1-0.1-1.6-0.2c-0.7-0.2-1.5-0.4-2.2-0.7c-0.1,0-0.2-0.1-0.3-0.1c-0.6-0.3-1.3-0.7-1.9-1C8.1,9.3,7.6,8.9,7.1,8.6C6.9,8.3,6.7,8.1,6.5,7.9z/>},{pinterest: path dM0,15c0-3.8,0-7.6,0-11.4C0,1.4,1.3,0,3.6,0c5.9,0,11.8,0,17.8,0c1.7,0,3.4,0,5.1,0c0.9,0,1.7,0.2,2.4,0.8C29.6,1.5,30,2.4,30,3.4c0,5.3,0,10.6,0,15.9c0,2.4,0,4.9,0,7.3c0,1-0.3,1.8-1,2.5c-0.6,0.6-1.4,0.9-2.2,0.9c-5.3,0-10.7,0-16,0c-0.4,0-0.5,0-0.2-0.4c1.3-2.1,1.9-4.5,2.5-6.9c0-0.2,0-0.5,0.2-0.5c0.2-0.1,0.2,0.2,0.4,0.4c0.9,0.9,2,1.4,3.3,1.4c2.5,0.1,4.6-1,6.2-3c1.5-1.8,2.2-4,2.4-6.4c0.1-1.7-0.1-3.3-0.9-4.9c-1.1-2.2-2.7-3.7-5-4.6C16.3,4,13,4.1,9.9,5.6C6.6,7.2,4.9,10,4.6,13.7c-0.1,2.2,0.5,4.1,1.8,5.8c0.4,0.5,0.8,0.8,1.4,1.1c0.3,0.2,0.5,0.1,0.6-0.3c0.2-0.6,0.3-1.1,0.4-1.7c0.1-0.2,0-0.4-0.1-0.6c-1.4-2.1-1.5-4.3-0.6-6.5c1.3-3.1,4.4-4.6,7.7-4.2c1.5,0.2,2.9,0.7,4,1.8c1.2,1.2,1.9,2.7,2,4.3c0.1,1.9-0.2,3.7-1.1,5.3c-0.8,1.4-1.9,2.5-3.6,2.7c-1.1,0.2-2.2-0.2-2.7-1.1c-0.4-0.6-0.4-1.3-0.2-2c0.4-1.3,0.7-2.5,1.1-3.8c0.2-0.6,0.2-1.2,0.2-1.8c-0.2-1.8-1.8-2.3-3.2-1.6c-1.2,0.7-1.6,1.8-1.7,3.1c-0.1,0.9,0,1.7,0.3,2.6c0.1,0.3,0.1,0.5,0,0.8c-0.6,2.6-1.3,5.1-1.8,7.7c-0.3,1.5-0.3,3-0.1,4.6C9.1,30.1,8.9,30,8.8,30c-0.9,0-1.8,0-2.7,0c-0.9,0-1.8,0-2.7,0C1.4,30,0,28.6,0,26.7C0,22.8,0,18.9,0,15C0,15,0,15,0,15z/>},{youtube: path dM15,30c-3.9,0-7.7,0-11.6,0c-2,0-3.4-1.4-3.4-3.4c0-3.8,0-7.6,0-11.4c0-3.9,0-7.8,0-11.7c0-0.7,0.1-1.4,0.5-2C1.3,0.4,2.4,0,3.6,0c3,0,6,0,9,0c4.5,0,9,0,13.5,0c0.4,0,0.8,0,1.2,0.1C28.9,0.4,30,1.7,30,3.4c0,3.8,0,7.6,0,11.4c0,4,0,7.9,0,11.9c0,1.2-0.5,2.2-1.5,2.9C28,29.9,27.4,30,26.8,30C22.8,30,18.9,30,15,30C15,30,15,30,15,30z M15.1,23.5c1.9,0,3.9,0,5.8-0.1c1.1-0.1,2.3-0.1,3.4-0.4c1.2-0.3,2-1,2.3-2.2c0.3-1.1,0.3-2.3,0.4-3.4c0.1-2.5,0.1-5-0.3-7.4c-0.2-1.2-0.6-2.2-1.8-2.7c-0.5-0.2-1.1-0.3-1.6-0.4c-2.3-0.2-4.6-0.2-7-0.3c-2-0.1-4,0-6,0.1c-1.3,0-2.7,0.1-4,0.3c-1.5,0.2-2.6,1-3,2.7C3.1,10.7,3,12,2.9,13.2c-0.1,2.3-0.1,4.7,0.3,7c0.1,0.7,0.3,1.4,0.8,2c0.6,0.7,1.5,0.9,2.3,1c1.6,0.2,3.3,0.2,4.9,0.3C12.6,23.5,13.8,23.5,15.1,23.5z/>path dM12.5,15c0-1.1,0-2.1,0-3.2c0-0.4,0-0.4,0.4-0.2c1.9,1.1,3.8,2.1,5.6,3.2c0.1,0.1,0.3,0.1,0.3,0.2c0,0.1-0.2,0.2-0.3,0.2c-1.8,1-3.7,2.1-5.5,3.1c-0.1,0-0.1,0.1-0.2,0.1c-0.3,0.2-0.3,0.1-0.3-0.2c0-0.8,0-1.5,0-2.3C12.5,15.7,12.5,15.4,12.5,15z/>},{snapchat: path dM15,30c-3.9,0-7.8,0-11.8,0C1.5,30,0,28.5,0,26.8c0-7.9,0-15.7,0-23.6C0,1.4,1.4,0,3.2,0c7.9,0,15.7,0,23.6,0C28.6,0,30,1.4,30,3.2c0,7.9,0,15.7,0,23.6c0,1.7-1.4,3.2-3.2,3.2C22.9,29.9,18.9,30,15,30z M8.7,13.1c-0.3-0.1-0.7-0.1-1.1-0.2c-0.5-0.2-1-0.2-1.4,0.1c-0.5,0.4-0.6,1-0.1,1.4c0.3,0.2,0.7,0.4,1,0.5c0.3,0.1,0.7,0.2,1,0.4c0.5,0.3,0.6,0.6,0.4,1.1c-0.4,1-1.1,1.9-1.9,2.6c-0.7,0.6-1.6,1.1-2.6,1.3c-0.6,0.1-0.7,0.6-0.3,1.1c0.1,0.1,0.2,0.2,0.4,0.3c0.6,0.2,1.2,0.5,1.9,0.6c0.5,0.1,0.7,0.3,0.8,0.7C7,23.9,7.1,24,8,23.8c0,0,0.1,0,0.1,0c1.2-0.2,2.4-0.1,3.4,0.7c0.2,0.2,0.5,0.4,0.8,0.5c1.5,1,3.2,1.1,4.8,0.4c0.6-0.3,1.1-0.7,1.7-1.1c0.4-0.2,0.8-0.5,1.3-0.5c0.7-0.1,1.5,0,2.2,0.1c0.6,0,0.8-0.1,0.9-0.6c0.1-0.7,0.4-0.9,1.1-1c0.6-0.1,1.2-0.4,1.8-0.6c0.3-0.1,0.5-0.4,0.5-0.8c-0.1-0.4-0.4-0.5-0.7-0.5c-2.2-0.5-3.4-2-4.3-4c-0.2-0.4-0.1-0.8,0.4-1c0.3-0.2,0.6-0.3,0.9-0.4c0.4-0.2,0.8-0.3,1.1-0.6c0.5-0.3,0.4-1,0-1.3c-0.4-0.3-0.8-0.4-1.3-0.2c-0.3,0.1-0.5,0.2-0.8,0.2c-0.3,0.1-0.5,0-0.5-0.4c0-1,0.1-1.9,0.1-2.9c0-2-1-3.5-2.6-4.6c-1.4-1-3-1.2-4.7-1c-2.1,0.3-3.7,1.4-4.8,3.2c-0.7,1.3-0.6,2.7-0.5,4.1C8.7,12.1,8.7,12.5,8.7,13.1z/>},{tiktok: path dM2.8,0C10.9,0,19,0,27.1,0C29,0.5,30,2,30,4c-0.1,7.4,0,14.8,0,22.3c0,2.2-1.5,3.7-3.7,3.7c-7.5,0-15,0-22.6,0c-0.3,0-0.5,0-0.8-0.1c-1.5-0.3-2.5-1.3-2.9-2.8C0,19,0,10.9,0,2.8C0.4,1.3,1.3,0.4,2.8,0z M18.6,10.8c0.2,0.1,0.3,0.3,0.4,0.4c1,1.2,2.3,1.8,3.8,1.9c0.3,0,0.6,0,0.6-0.4c0-0.8,0-1.6,0-2.4c0-0.3-0.2-0.4-0.4-0.5c-2.4-0.5-3.8-1.9-4.4-4.3C18.5,5.1,18.4,5,18.1,5c-0.5,0-1.1,0-1.6,0c-0.6,0-0.7,0-0.7,0.6c0,2,0,4.1,0,6.1c0,2.3,0,4.7,0,7c0,1.8-1.4,3.2-3.2,3.2c-1.6,0-3.1-1.3-3.2-2.9c-0.1-1.9,1.1-3.3,3-3.4c0.3,0,0.5-0.2,0.5-0.5c0-0.6,0-1.1,0-1.7c0-0.6-0.1-0.7-0.7-0.6c-3.5,0.1-6.2,3.6-5.5,7c0.6,3.3,3.7,5.4,7,4.9c2.6-0.4,4.7-2.7,4.9-5.4c0.2-2.7,0-5.4,0.1-8.1C18.5,11.2,18.5,11,18.6,10.8z/>};if (socialShare){socialShare.innerHTML ;Array.from(socialShares).forEach(socialShare >{for (let i 0;i svgOpt.length;i++){let key Object.keys(svgOpti)0;socialShare.innerHTML + `svg class${key} styledisplay: none onclickcontentSetters.redirectToSocial(this)>${svgOptikey}/svg>`}})}if (socialLinks){let links socialLinks.split(,), socialIcons socialShare.getElementsByTagName(svg), footerSocial document.getElementsByClassName(jsSelectors.footerSocialMedia)0;if (footerSocial) footerSocial.classList.remove(css.opacityNone);for (let icon of socialIcons) icon.style.display none;for (let link of links){let properties link.split(;);let element document.getElementsByClassName(`${properties0}`)0;if (element){element.style.display inline-block;element.setAttribute(data-link, `${properties1}`)}else{const defaultIcons facebook, twitter, instagram;for (let elementClass of defaultIcons){let socialIcon document.getElementsByClassName(elementClass)0;if (socialIcon) socialIcon.style.display inline-block;else console.log(`Element with ${elementClass}dont exist!`)}}}}else contentSetters.setSocialShareButtons();if (socialLinks undefined && (options.viewer deploy || options.viewer preview)) helpers.toggleClasses(socialShare, footer-social-media, css.displayNone)}, setSocialShareButtons: function (){let socialShare document.getElementsByTagName(social-share)0, socialLinks socialShare ? socialShare.getAttribute(links) : undefined;if ((Array.isArray(socialShare) && socialShare.length > 0) || (socialLinks && socialLinks ! undefined)){for (let i 0;i socialShare.length;i++){let element document.getElementsByClassName(socialSharei.type)0;if (element){element.setAttribute(data-link, socialSharei.url);element.style.display inline-block}}}else{const footerSocial document.getElementsByClassName(jsSelectors.footerSocialMedia)0;if (footerSocial) footerSocial.classList.add(options.viewer deploy || options.viewer preview ? css.displayNone : css.opacityNone)}}, setSocialShareColor: function (){const socialShare document.getElementsByTagName(social-share)0, socialIcons socialShare ? socialShare.getElementsByTagName(svg) : undefined;if (socialIcons) for (let icon of socialIcons) icon.style.fill `${socialShare.style.color}`}, setBodyOverflow: function (){const body document.getElementsByTagName(body)0, form document.getElementsByTagName(form)0;if (body && form) body.style.overflow form.getAttribute(state) hidden ? : hidden}, setReviewSlideHeight: function (viewport){const reviewContainer document.getElementsByTagName(review-container)0;if (reviewContainer && !reviewContainer.classList.contains(jsSelectors.multipleReviews)){const reviewSlide reviewContainer ? reviewContainer.getElementsByClassName(js-selected-review)0 : undefined;const height reviewSlide ? reviewSlide.offsetHeight : undefined;if (!reviewContainer.hasAttribute(collapsed)){if (reviewSlide && (options.viewer deploy || options.viewer preview)) reviewContainer.style.height viewport > 800 ? auto : `${height}px`;if (reviewContainer.hasAttribute(data-slide-type)){if ((options.viewer template || options.viewer portal) && viewport 800) reviewContainer.style.height auto;else reviewContainer.style.height `${height}px`}if (reviewContainer.hasAttribute(reviews-collapsed)) reviewContainer.style.height options.viewer deploy || options.viewer preview ? `${height}px` : auto}}}, setDivCollapsed: function (){const reviewContainer document.getElementsByTagName(review-container)0;const reviewSlide reviewContainer ? reviewContainer.getElementsByClassName(js-selected-review)0 : undefined;const height reviewSlide ? reviewSlide.innerHeight : undefined;const divButton document.getElementsByClassName(js-button-hidden)0;switch (options.viewer){case deploy: case preview: if (reviewSlide){reviewContainer.setAttribute(collapsed, true);reviewContainer.style.height reviewContainer.innerHeight height ? : height;divButton.style.display reviewContainer.innerHeight height ? none : inline-block;document.getElementsByTagName(reviews)0.scrollIntoView()}break;default: reviewContainer.style.height auto;break}}, setContainerAnimation: function (){const animationContainers {containers: ...document.querySelectorAll(.will-fadeIn), delayContainers: ...document.querySelectorAll(.will-fadein-delay), bottomToTopContainer: ...document.querySelectorAll(.slide-in-animation)};let options {rootMargin: 100px, threshold: 0.2, 0.9};const callback (entries) >{entries.forEach(entry >{const{target} entry;if (entry.intersectionRatio > 0.2 && target.classList.contains(will-fadeIn)){target.classList.add(is-visible)}else if (entry.intersectionRatio > 0.2 && target.classList.contains(will-fadein-delay)){target.children0.classList.add(is-visible);const elements target.children1.children;for (let i 0;i elements.length;i++){let elem elementsi;elem.classList.add(is-visible)}}else if (entry.intersectionRatio > 0.2 && target.classList.contains(slide-in-animation)){target.classList.add(is-visible-animation)}})};const observer new IntersectionObserver(callback, options);for (let i 0;i Object.keys(animationContainers).length;i++){let key Object.keys(animationContainers)i;if (animationContainerskey) animationContainerskey.forEach(container > observer.observe(container))}}}, helpers {getHourByThree: function (number){if ((number % 3) 0) return number;number++;return helpers.getHourByThree(number)}, toggleClasses: function (element, removedClass, newClass){if (element){element.classList.remove(`${removedClass}`);element.classList.add(`${newClass}`)}}, downloadPdf: function (){let linkWrapper document.getElementsByClassName(jsSelectors.pdfInput)0;if (linkWrapper.firstElementChild) linkWrapper.firstElementChild.remove();let link document.createElement(a);link.download download.pdf;link.href linkWrapper.getAttribute(download-url);link.target _blank;if (linkWrapper) linkWrapper.append(link)}, formStateDisplay: function (form, formSteps, element){helpers.toggleClasses(form, css.displayNone, css.displayBlock);for (let step of formSteps) helpers.toggleClasses(step, css.displayBlock, css.displayNone);helpers.toggleClasses(element, css.displayNone, css.displayBlock)}, switchClasses: function (element, boolean, removedClass, newClass){if (element){element.classListboolean ? remove : add(removedClass);element.classListboolean ? add : remove(newClass)}}}, refreshState function (){const deviceWidth (window.innerWidth > 0) ? window.innerWidth : screen.width;contentSetters.setHtmlData();contentSetters.setGalleryOrder();if (options.category storefront) contentSetters.setStoreFrontProductLinks();contentSetters.setBackgroundData();contentSetters.setFormErrorState();contentSetters.setPolicyUrls(options.policyUrls, policy);contentSetters.setPolicyUrls(options.termsUrls, terms);contentSetters.setDynamicGalleryData(sliderData);initDotSlider(sliderData);contentSetters.setSocialShareHtml();contentSetters.setDynamicGalleryData(reviewSlide);contentSetters.setReviewSlideHeight(deviceWidth);if (deviceWidth > 800) initDotSlider(reviewSlide);contentSetters.setBodyOverflow();showButtonTreeButtons()}, inputValidation function (){formHandlers.inputValidation()}, buttonClicked function (){formHandlers.buttonClicked()}, closeForm function (){formHandlers.closeForm()}, buttonSubscribe function (){formHandlers.buttonSubscribe()}, scrollToForm function (){formHandlers.scrollToForm()}, copyCoupon function (link){formHandlers.copyCoupon()}, redirect function (collect null){formHandlers.redirect(collect)}, startup function (opt){options opt;termsChecked options.gdprEnabled ! true, images Array.isArray(options.media) ? options.media.filter(e > e.isVideo false) : ;videos Array.isArray(options.media) ? options.media.filter(e > e.isVideo true) : ;document.querySelectorAll(contenteditabletrue).forEach(x > x.removeAttribute(contenteditable));const body document.getElementsByTagName(body)0;let imagesArray images.map(image > image.data);contentSetters.setSlidesIds();if (body) body.setAttribute(viewer, options.viewer);contentSetters.setThumbnailData(imagesArray);contentSetters.setSlideNumberData(imagesArray);switch (options.viewer){case `\\VIEWER\\`: console.log(VIEWER IS NOT DEFINED);break;case portal: case preview: case template: sliderData.enableSlides true;reviewSlide.enableSlides true;break;case deploy: if ($) $.get(`/api/v1/p/view/${options.productSlug}`, (data, status) > undefined);sliderData.enableSlides true;reviewSlide.enableSlides true;break}updateCounter();contentSetters.setReviewContainerAttr();contentSetters.setGalleryData();contentSetters.setPopUpDisplay();contentSetters.setReviewsOnResize();contentSetters.setContainerAnimation();refreshState();formHandlers.setFormInputFieldMandatory();contentSetters.setSocialShareButtons()}, load function(){scriptLoaded true};load();/script>script>startup({loaded:false,category:opt-in-warranty,orderCheck:true,viewer:deploy,countDown:false,artificialCountdown:false,couponEnabled:false,coupon:null,discount:null,discounts:false,upsellDiscount:null,gdprEnabled:true,embedWidgetEnabled:null,policyUrls:,termsUrls:,socialShare:,twoButtonRedirect:false,mailCollectingEnabled:true,couponForm:/api/v1/p/collect/E5uKL5,emailCollectingType:email,mandatoryFields:{value:firstName},{value:lastName},redirectUrl:/api/v1/p/redirect/E5uKL5,redirectUrls:,productSlug:E5uKL5,media:{data:https://portals.helium10.com/cdnimages/2141817443/fq6ohk6ph01v-Screen Shot 2023-06-19 at 11.53.54 AM.png,isVideo:false},asinMedia:{asin:,media:{data:https://portals.helium10.com/cdnimages/2141817443/fq6ohk6ph01v-Screen Shot 2023-06-19 at 11.53.54 AM.png,isVideo:false}},backgrounds:https://portals.helium10.com/portals-templates/Marble/images/marble-bg-01.jpg,https://portals.helium10.com/portals-templates/Marble/images/marble-bg-02.jpg})/script>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]