Help
RSS
API
Feed
Maltego
Contact
Domain > confectioncabin.net
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-04-06
18.164.78.97
(
ClassC
)
2024-04-14
108.156.83.9
(
ClassC
)
2025-04-08
18.161.6.111
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Tue, 08 Apr 2025 23:20:04 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://confectioncabin.net/X-Cache: Redirect from cloudfrontVia: 1.1 46673955829b59a6da0ab071e0b7fbea.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P1X-Amz-Cf-Id: tfYs2juGaeX19WPXVqH_5-ZWg8_zG9YPc-AFlaESJncuCKCF4ji9kA 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: 123207Connection: keep-aliveDate: Tue, 08 Apr 2025 23:20:05 GMTLast-Modified: Sat, 18 Jan 2025 12:57:49 GMTETag: c2b3cd31be39e33cae1075da053830e7x-amz-server-side-encryption: AES256Accept-Ranges: bytesServer: AmazonS3X-Cache: Miss from cloudfrontVia: 1.1 288c777a01e22425da9494dad7a69734.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P1X-Amz-Cf-Id: mC6o46p-IF5crAFt8OSXvUXWsGIvXfyLBXBxNU_M2HGiy0054MQ8IA head> meta nameviewport contentwidthdevice-width, initial-scale1> meta propertyog:title contentConfection Cabin - Gift box 10% off> meta propertyog:description contentConfection Cabin - Gift box 10% off> meta propertyog:image contenthttps://portals.helium10.com/cdnimages/1511/qdjscy6c3d7j-1.01-1x1-Rocksom-LTDA-MAE-105694.png> meta propertyog:url contentundefined> meta nametwitter:title contentConfection Cabin - Gift box 10% off> meta nametwitter:description contentConfection Cabin - Gift box 10% off> meta nametwitter:image contenthttps://portals.helium10.com/cdnimages/1511/qdjscy6c3d7j-1.01-1x1-Rocksom-LTDA-MAE-105694.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}}@charset UTF-8; .thumbs-display{display: block}.email-inputs{border: 1px solid red !important}.reviews-display{display: block}.selected-review{display: flex}.counter-display{display: flex}.discount-display{display: block}.price-display{display: inline-block}body{background: #FFF}discount{position: absolute; z-index: 10; min-width: 60px; padding: 15px; text-align: center; line-height: 26px}div-button{box-shadow: 0 0 7px rgba(0, 0, 0, 0.5)}div-button:hover{filter: brightness(110%); box-shadow: 0 0 12px rgba(0, 0, 0, 0.5)}div-button:active{filter: brightness(90%); box-shadow: 0 0 2px rgba(0, 0, 0, 0.5)}input:focus{outline: 1px solid #9C0A29}.checkmark{border: 1px solid #CCC; background-color: transparent}.checkbox-wrapper:hover input ~ .checkmark{background: rgba(0, 0, 0, 0.1)}.checkbox-wrapper input:checked ~ .checkmark{background-color: #9C0A29; border: 1px solid #9C0A29}header{z-index: 3}header container{padding: 10px 0; display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center; position: relative}header container > *{margin: 10px 0}header logo{height: 50px; margin-right: auto; width: auto}header logo img{height: 100%; width: auto; max-width: 100%; object-fit: contain}header div-button{margin-left: 20px}hero, about{overflow: visible; position: static}.hero-sunset-image{position: absolute; z-index: 2; top: 0; width: 70%; right: 0; opacity: 0.3; pointer-events: none}.subscribe-sunset-image{position: absolute; bottom: 0; left: 0; height: 100%; opacity: 0.3; transform: rotate(180deg); pointer-events: none}.subscribe-sunset-image img{width: auto; height: 100%; object-fit: contain; object-position: left}.hero-sunset-image-side{position: absolute; z-index: 1; bottom: -5%; width: 20%; left: 0; pointer-events: none}.hero-sunset-image-side img, .hero-sunset-image img{width: 100%; height: auto}.hero-image-block, .hero-text-block{display: inline-block; vertical-align: top; position: relative}.hero-image-block{width: 40%; margin-right: 10%; z-index: 0}.hero-image-block discount{top: 0; left: 0}.hero-text-block{width: 50%; z-index: 4}.hero-text-block text{padding: 10px 5px}.hero-image-block media{width: 100%}.hero-image-block media img{width: 100%; max-height: 30vw; object-fit: contain}.hero-price-container{margin: 30px 0 20px 0}hero price, hero listprice, action price, action listprice{vertical-align: middle}.about-thank-you-container{max-width: 1000px; text-align: center; padding: 10vw 0 15vw 0; position: relative; z-index: 3}.about-thank-you-title, .about-thank-you-subtitle{padding: 10px 5px}.about-thank-you-subtitle{margin-bottom: 40px}.about-thank-you-sunset-image-side img, .about-thank-you-sunset-image img{width: 100%; height: auto}.about-email-opt-in-container{max-width: 1000px; text-align: center; padding: 10vw 0; position: relative; z-index: 3}.about-email-opt-in-title, .about-email-opt-in-subtitle{padding: 10px 5px}.about-email-opt-in-list{max-width: 700px; margin: 0 auto 20px auto; text-align: left}.about-email-opt-in-list li{padding: 3px 0}.about-email-opt-in-sunset-image img{width: 100%; height: auto}.about-email-opt-in-input-container{max-width: 800px; margin: 0 auto}.about-email-opt-in-container .input-row{display: flex; flex-flow: row wrap; margin: 0 -5px}.about-email-opt-in-container .input-row div-button{margin: 5px; box-shadow: none; min-width: 170px}.about-email-opt-in-container .input-row .second-button{margin-left: auto}.about-email-opt-in-input-name, .about-email-opt-in-input-lastname, .about-email-opt-in-input-orderid, .about-email-opt-in-input-email{border: 2px solid #000; margin: 5px; background: transparent; padding: 10px; width: calc(50% - 10px)}.about-email-opt-in-input-orderid{width: 100%; margin-left: 0}.about-email-opt-in-input-email{flex-grow: 1}.b-container div-button{margin: 5px}action{overflow: visible}.action-info-container, action counter{margin-left: 40%; width: 60%; max-width: 600px}action counter{display: flex; justify-content: space-between}action counter div-full{display: inline-block; text-align: center; max-width: 25%}action days, action hours, action mins, action secs{color: #9C0A29; font-size: 5vw; font-weight: 300; display: block}.info-text-container{display: inline-block; vertical-align: top; margin-top: 40px; width: 40%; margin-right: 10%}store .info-text-container{margin-top: 0; width: 55%}store .info-thumbs-container{width: 35%}.info-desc{margin: 20px 0 0 30px}ul li{padding: 5px; list-style: none; text-decoration: none; margin-left: 40px}ul li::before{width: 40px; content: ◆; display: inline-block; margin-left: -40px}.info-price-container{margin: 40px 0 10px 0}.info-thumbs-container{display: inline-block; vertical-align: top; width: 50%; position: relative}.info-thumbs-container discount{top: 0; left: 0}nail{width: 100%; height: 30vw}nail > *{width: 100%; height: 100%; object-fit: contain}product media img{width: 100%; max-height: 40vw; object-fit: contain}info thumbs{width: calc(100% + 10px); margin: 20px -5px 0 -5px; text-align: center}store dot-container{width: 80%; max-width: 1000px; margin: 0 auto; display: block; padding-bottom: 80px}product > container{padding-bottom: 30px; max-width: 1000px}media-thumb{width: calc(100% / 9 - 20px); padding-top: calc(100% / 9 - 20px); display: inline-block; margin: 10px; position: relative}media-thumb .iframe, media-thumb img{height: 100%; width: 100%; object-fit: contain; border-radius: 10px}media-thumb .iframe{pointer-events: none}store-thumb{width: 100%; height: 100%; position: absolute; top: 0; left: 0}info a-thumb{display: inline-block; position: relative; vertical-align: bottom; width: calc(20% - 10px); padding-top: calc(20% - 10px); margin: 5px; border-radius: 10px; cursor: pointer}a-thumb img{width: 100%; height: 100%; object-fit: contain; position: absolute; top: 0; left: 0; border-radius: 10px}.selected-dot:after, .thumb-selected:after, media-thumb:hover:after{position: absolute; border-radius: 10px; content: ; display: block; top: 0; left: 0; height: 100%; width: 100%; background: rgba(255, 161, 95, 0.4); mix-blend-mode: normal; pointer-events: none; cursor: pointer}reviews container{max-width: 700px}.reviews-image-left, .reviews-image-right{position: absolute; width: calc(50% - 400px); height: 80%}.reviews-image-left img, .reviews-image-right img{width: 100%; height: 100%; object-fit: contain; object-position: left}.reviews-image-right{top: 0; right: 0}.reviews-image-right img{transform: rotate(180deg)}.reviews-image-left{bottom: 0; left: 0; opacity: .4}.reviews-gallery{width: 100%; height: 300px; display: block; overflow: hidden}.review{opacity: 1; transition: all .3s ease-in-out; flex-direction: column; justify-content: center; height: 300px; overflow: hidden}.review stars{font-size: 20px; color: #FFBC00; letter-spacing: 1px; padding: 5px}.review text{padding: 5px; overflow-x: hidden; overflow-y: scroll}.review text::-webkit-scrollbar{display: none}arrow{margin: 0 auto; text-align: center; display: block; width: 50px; font-weight: bold; position: relative; z-index: 2}arrow:hover{color: #9C0A29 !important}faq container{max-width: 1000px}question-container{margin-top: 40px}question{background: #FFDCC4; border-radius: 10px; transition: background .3s; padding: 20px; margin-bottom: 20px; cursor: pointer}.question-arrow{color: #000; font-size: 20px; transition: transform .3s; display: inline-block; width: 20px; text-align: center; vertical-align: top}question > text{display: inline-block; width: calc(100% - 35px); justify-content: space-between; transition: color .3s}answer{max-height: 0; margin-top: 0px; transition: all .3s ease-in-out; overflow: hidden; opacity: 0}.answer-open{filter: brightness(110%)}.answer-open answer{max-height: 500px !important; margin-top: 15px; opacity: 1}.answer-open .question-arrow{transform: rotate(180deg)}manychat text{padding: 10px 5px}footer container{padding: 40px 0}.footer-title{margin-bottom: 10px}.footer-social-media-title{margin-bottom: 15px}.footer-text{padding: 5px; margin-bottom: 30px}.footer-social-media{width: 120px; margin-right: 10%; display: inline-block; vertical-align: top}.footer-social-media svg{margin: 5px; width: 30px; height: 30px; fill: inherit; cursor: pointer}.footer-social-media svg:hover{fill: #9C0A29}.footer-text-container{width: calc(90% - 120px); display: inline-block; vertical-align: top}footer a{text-decoration: none; color: inherit}footer a:hover{color: #9C0A29 !important}policy, terms{padding: 5px; margin-right: 30px; white-space: nowrap}buttontree{overflow-x: visible}buttontree container{padding: 80px 0 !important}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 .about-email-opt-in-title{margin-top: 30px}buttontree .b-container{display: flex; flex-direction: column; align-items: center; margin-top: 30px; width: 100%}buttontree .b-container div-button{width: 50%; margin-bottom: 15px; border: 2px solid #000}buttontree .social-share-container{display: flex; justify-content: center}buttontree .social-share-container social-share{display: flex; flex-flow: row wrap; justify-content: center; min-height: 50px; min-width: 100px; margin-top: 30px}buttontree .social-share-container svg{width: 35px; height: 35px; cursor: pointer; margin: 7px 10px}buttontree .social-share-container svg:hover{fill: #9C0A29}.div-x{color: #000}.div-x:hover{color: #666}.form-content-container{text-align: center; max-width: 800px; margin: 10vw auto 50px auto}.form-upsell .form-content-container{max-width: 100%; margin-top: 6vw}.form-inputs-row{display: flex; align-items: center}.form-about-input-name, .form-about-input-lastname, .form-about-input-orderid, .form-about-input-email{border: 2px solid #000; padding: 8px; background: transparent}.form-about-input-email, .form-about-input-name{margin-right: 10px}.form-about-input-orderid, .form-about-input-name, .form-about-input-lastname{width: 100%; margin-bottom: 10px}.form-about-input-email{flex-grow: 1}.form-inputs-row div-button{min-width: 150px}.form-content-text{margin: 20px 0 40px 0}.form-coupon-content-text{margin: 20px 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}.checkbox-wrapper{text-align: left}.form-upsell .form-content{font-size: 0; max-width: 80%}.form-upsell-left, .form-upsell-right{display: inline-block; vertical-align: top; position: relative}.form-upsell-left{width: 40%; margin-right: 10%}.form-upsell-right{width: 50%}.form-upsell-left .discount{top: 0; left: 0}.form-upsell-left img{width: 100%; max-height: 60vh; object-fit: contain}.form-background-image{position: absolute; top: 0; width: 70%; right: 0; opacity: 0.3; pointer-events: none}.form-background-image img{width: 100%; height: auto}.form-upsell-right{text-align: left}.form-upsell-text{margin: 20px 0}.form-upsell-price-container{margin: 20px 0}.form-thank-you .download-pdf-button{padding: 10px 18px; border: 2px solid #000}.form-thank-you-b{display: inline-flex; flex-direction: column}.form-thank-you div-button{margin: 5px 10px}@media only screen and (max-width: 800px){.form-upsell-left{margin-right: 0; margin-bottom: 40px; width: 100%}.form-upsell-right{width: 100%}.form-content-container .iframe{height: 80vw !important}}@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}}@media only screen and (max-width: 800px){container:not(header container){padding: 40px 0 !important}.hero-sunset-image-side{z-index: 0}.hero-image-block{margin-right: 5%}.hero-text-block{width: 55%}action .counter-display, action .action-info-container{margin-left: 30%; width: 70%}.info-text-container{width: 100%; margin-top: 0; margin-right: 0}info .info-text-container{margin-bottom: 60px}.info-thumbs-container{width: 100%}nail{height: auto}nail img{height: auto; max-height: 80vh}product > container{display: flex; flex-direction: column-reverse}store .info-text-container, store .info-thumbs-container{width: 100%}store .info-thumbs-container{margin-bottom: 120px}store-thumb .iframe{pointer-events: none; height: 100%}store media{height: 40vw}store media img, store media .iframe{height: 100%; max-height: 100%}store dot-container{position: absolute; top: calc(40vw + 100px); left: 10%; text-align: center; padding-bottom: 0}reviews arrow{display: none}.reviews-gallery{height: auto}.review{height: auto; margin: 30px 0}.button-hidden{display: inline-block}}@media only screen and (max-width: 420px){header container > *{width: 100%; margin: 5px auto !important}logo{text-align: center}.b-container div-button{width: calc(100% - 40px); margin: 5px 0 !important}.second-button{margin-top: 0 !important}.hero-image-block{margin-top: 0; margin-right: 0; margin-bottom: 60px}.hero-image-block, .hero-text-block, .info-text-container, .info-price-container{width: 100%}.hero-image-block media img{max-height: 80vw}hero .iframe{height: 60vw !important}.info-desc{margin: 20px 0 0 0px}.action-info-container, action counter{margin-left: 0; width: 100%}action days, action hours, action mins, action secs{font-size: 10vw}action .counter-display, action .action-info-container{margin-left: 0; width: 100%}store media{height: 70vw}store dot-container{top: calc(70vw + 100px)}media-thumb{width: calc(20% - 20px); padding-top: calc(20% - 20px)}.about-email-opt-in-container .input-row{flex-direction: column}.about-email-opt-in-container .input-row .second-button{margin-left: 5px}.about-email-opt-in-container .input-row input{width: calc(100% - 10px)}.footer-social-media{width: 100% !important; margin-right: 0; margin-bottom: 40px}.footer-text-container{width: 100%}buttontree .b-container div-button{width: calc(100% - 40px)}}/style>header stylebackground: transparent> container> logo classvisibility-visible logo-imagehttps://portals.helium10.com/cdnimages/no-logo.png styleheight: 100px;> img srchttps://portals.helium10.com/cdnimages/no-logo.png class> /logo> /container> /header> about stylebackground: transparent idhovered> image-container classhero-sunset-image> img srchttps://portals.helium10.com/portals-templates/Sunset/images/sunset-image-01.png class> /image-container> container classabout-email-opt-in-container> text classabout-email-opt-in-title stylefont-family: Bai Jamjuree, sans-serif; font-size: 3rem; font-weight: 600; color: #000>Get 10% off EVERYTHING in our store. br>No minimums or maximums. /text> text classabout-email-opt-in-subtitle stylefont-family: "Bai Jamjuree", sans-serif; font-size: 1.13rem; font-weight: 300; color: rgb(0, 0, 0);>Please fill your details here to get your exclusive discount code /text> div-full classabout-email-opt-in-input-container> div-full classjs-checkbox-wrapper checkbox-wrapper> label> input classterms-checkbox typecheckbox nameterms onchangetermsChecked this.checked disabled> span classcheckmark> /span> text stylefont-family: "Bai Jamjuree", sans-serif; text-align: left; font-size: 1.13rem; 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 classinput-row> input classabout-email-opt-in-input-name namefirstName placeholderFirst Name Here... typetext stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #666 onkeyupformHandlers.inputValidation(this) disabled mandatorytrue> input classabout-email-opt-in-input-lastname namelastName placeholderLast Name Here... typetext stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #666 onkeyupformHandlers.inputValidation(this) disabled mandatorytrue> /div-full> input classabout-email-opt-in-input-orderid js-order-id nameorderId placeholderOrder ID Here... typetext stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #666 onkeyupformHandlers.inputValidation(this) disabled enabledno> div-full classinput-row> input classabout-email-opt-in-input-email typetext nameemail placeholderEmail Address Here... onkeyupformHandlers.inputValidation(this) stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #666 disabled> div-button activeyes classfirst-button onclickformHandlers.buttonClicked(this) stylefont-family: Bai Jamjuree, sans-serif; background: #000; color: #fff; font-size: 1.13rem; border-width: 2px; border-color: transparent;> Get your Code now/div-button> div-button classjs-second-button second-button display-none activeyes stylefont-family: Bai Jamjuree, sans-serif; background: #9C0A29; color: #fff; font-size: 1.13rem; border-width: 2px; border-color: transparent; onclickformHandlers.buttonClicked(this)> Learn More /div-button> /div-full> email-errors classvisibility-visible> text classjs-order-id-error errors-hidden stylefont-family: Bai Jamjuree, sans-serif; color:#f00; font-size: 0.88rem>You have entered an invalid Order ID! /text> text classjs-order-id-used errors-hidden stylefont-family: Bai Jamjuree, sans-serif; color:#f00; font-size: 0.88rem>Only one coupon available per Order ID! /text> text classjs-email-used stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #f00> /text> text classjs-email-format stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #f00>You have entered an invalid email address! /text> text classjs-empty-firstName stylefont-family: "Bai Jamjuree", sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0); display: none;>First name field is mandatory! /text> text classjs-empty-lastName stylefont-family: "Bai Jamjuree", sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0); display: none;>Last name field is mandatory! /text> /email-errors> /div-full> /container> /about> action stylebackground: transparent classdisplay-none> image-container classhero-sunset-image-side> img srchttps://portals.helium10.com/portals-templates/Sunset/images/sunset-image-02.png class> /image-container> container> counter classdisplay-none stylefont-family: Lato, sans-serif activeyes> div-full> days>0/days> counter-text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; font-weight: 300; color: #666> DAYS /counter-text> /div-full> div-full> hours>0/hours> counter-text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; font-weight: 300; color: #666> HRS /counter-text> /div-full> div-full> mins>0/mins> counter-text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; font-weight: 300; color: #666> MINS /counter-text> /div-full> div-full> secs>0/secs> counter-text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; font-weight: 300; color: #666> SECS /counter-text> /div-full> /counter> div-full classaction-info-container> div-full classhero-price-container> listprice stylefont-family: Bai Jamjuree, sans-serif; font-weight: 600; font-size: 2.25rem; color: #000 classdisplay-none> /listprice> price stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color:#666 classdisplay-none> was PRICE /price> /div-full> div-full classb-container> div-button scroll-button activeyes classfirst-button onclickformHandlers.buttonClicked(this) stylefont-family: Bai Jamjuree, sans-serif; background: #000; color: #fff; font-size: 1.13rem; border-width: 2px; border-color: transparent;> BUY NOW /div-button> div-button classjs-second-button second-button display-none activeyes stylefont-family: Bai Jamjuree, sans-serif; background: #9C0A29; color: #fff; font-size: 1.13rem; border-width: 2px; border-color: transparent; onclickformHandlers.buttonClicked(this)> Learn More /div-button> /div-full> /div-full> /container> /action> manychat stylebackground: rgb(255, 255, 255); display: none;> container> text stylefont-family: Bai Jamjuree, sans-serif; font-weight: 600; font-size: 2.25rem; color: #000> Not sure whats the right product for you? /text> text stylefont-family: Bai Jamjuree, sans-serif; font-weight: 300; font-size: 1.13rem; color: #000> Provide more detail here. Lorem ipsum dolor sit amet. /text> image-container> /image-container> div-full classjs-manychat-widget-container manychat-widget-container display-none>MANYCHAT/div-full> div-full classjs-manychat-widget-placeholder manychat-widget-placeholder stylefont-family: Bai Jamjuree, sans-serif; font-weight: 300; font-size: 1.13rem; color: #777> i>ManyChat Widget Placeholder/i> /div-full> /container> /manychat> form statehidden classis-visible> form-container classjs-form-email-collecting> image-container classform-background-image> img srchttps://portals.helium10.com/portals-templates/Sunset/images/sunset-image-01.png class> /image-container> form-title classform-title stylebackground: #fff> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1.13rem; font-weight: 600; color: #000> Subscribe Now /text> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> /form-title> div-full classform-content> div-full classform-content-container> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 2.25rem; font-weight: 600; color: #000> Subscribe to Our Newsletter /text> text classform-content-text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color: #000> 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 classjs-checkbox-wrapper checkbox-wrapper> label> input classterms-checkbox typecheckbox nameterms onchangetermsChecked this.checked disabled> span classcheckmark> /span> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; font-weight: 300; color: #666> By checking this box, I agree to opt-in for campaign updates /text> /label> /div-full> div-full classform-inputs> div-full classform-inputs-row> input classform-about-input-name namefirstName placeholderFirst Name Here... typetext stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color: #000 onkeyupformHandlers.inputValidation(this) disabled> input classform-about-input-lastname namelastName placeholderLast Name Here... typetext stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color: #000 onkeyupformHandlers.inputValidation(this) disabled> /div-full> input classform-about-input-orderid js-order-id nameorderId placeholderOrder ID Here... typetext stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color: #000 onkeyupformHandlers.inputValidation(this) disabled> div-full classform-inputs-row> input classform-about-input-email typetext nameemail placeholderEmail Address Here... stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color: #000 onkeyupformHandlers.inputValidation(this) disabled> div-button activeyes classfirst-button onclickformHandlers.buttonSubscribe() stylefont-family: Bai Jamjuree, sans-serif; background: #000; color: #fff; font-size: 1.13rem; border-width: 2px; border-color: transparent;> SUBSCRIBE /div-button> /div-full> email-errors classvisibility-hidden> text classjs-order-id-error errors-hidden stylefont-family: Bai Jamjuree, sans-serif; color:#f00; font-size: 0.88rem>You have entered an invalid Order ID! /text> text classjs-order-id-used errors-hidden stylefont-family: Bai Jamjuree, sans-serif; color:#f00; font-size: 0.88rem>Only one coupon available per Order ID! /text> text classjs-email-used errors-hidden stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #f00> Only one coupon available per household! /text> text classjs-email-format errors-hidden stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #f00> You have entered an invalid email address! /text> text classjs-empty-firstName errors-hidden stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #f00>First name field is mandatory! /text> text classjs-empty-lastName errors-hidden stylefont-family: Bai Jamjuree, sans-serif; font-size: 0.88rem; color: #f00>Last name field is mandatory! /text> /email-errors> /div-full> /div-full> /div-full> /form-container> form-container classjs-form-thank-you form-thank-you> image-container classform-background-image> img srchttps://portals.helium10.com/portals-templates/Sunset/images/sunset-image-01.png class> /image-container> form-title classform-title stylebackground: #fff> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1.13rem; font-weight: 600; color: #000> Thank You /text> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> /form-title> div-full classform-content> div-full classform-content-container> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 2.25rem; font-weight: 600; color: #000> Thank You For Subscribing! /text> text classform-content-text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color: #000> Provide more information here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eget varius lorem. Vestibulum viverra enim non lacinia iaculis. /text> div-full classform-thank-you-b> div-button classjs-download-pdf-button download-pdf-button display-none activeyes stylefont-family: Bai Jamjuree, sans-serif; background: transparent; color: #000; font-size: 1.13rem; border-width: 2px; border-color: transparent;> Download PDF /div-button> div-button shop-button activeyes classfirst-button onclickformHandlers.continueShopping(js-form-thank-you) stylefont-family: Bai Jamjuree, sans-serif; background: #000; color: #fff; font-size: 1.13rem; border-width: 2px; border-color: transparent;> SHOP NOW /div-button> /div-full> /div-full> /div-full> /form-container> form-container classjs-form-claim-coupon> image-container classform-background-image> img srchttps://portals.helium10.com/portals-templates/Sunset/images/sunset-image-01.png class> /image-container> form-title classform-title stylebackground: #fff> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1.13rem; font-weight: 600; color: #000> Claim Your Coupon /text> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> /form-title> div-full classform-content> div-full classform-content-container> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 2.25rem; font-weight: 600; color: #000> Youre all set! /text> text classform-coupon-content-text stylefont-family: "Bai Jamjuree", sans-serif; font-size: 1.13rem; color: rgb(0, 0, 0);> Thank you for subscribing! br>Please copy your Coupon code below br>You can then proceed to our Amazon store to claim your 10% discountbr> br> /text> div-full classform-coupon-container> div-full classjs-coupon-wrapper> text classjs-form-coupon-id form-coupon-id stylefont-family: Bai Jamjuree, sans-serif; font-size: 1.5rem; font-weight: 600; color:#000>COUPON/text> 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> /div-full> text classjs-no-coupons-left stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color: #666> Were sorry! No coupons left for this offer. /text> /div-full> div-button activeyes classfirst-button onclickformHandlers.continueShopping(js-form-claim-coupon) stylefont-family: Bai Jamjuree, sans-serif; background: #000; color: #fff; font-size: 1.13rem; border-width: 2px; border-color: transparent;> SHOP NOW /div-button> /div-full> /div-full> notification-coupon>Coupon copied to Clipboard: /notification-coupon> /form-container> form-container classjs-form-upsell form-upsell> image-container classform-background-image> img srchttps://portals.helium10.com/portals-templates/Sunset/images/sunset-image-01.png class> /image-container> form-title classform-title stylebackground: #fff> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1.13rem; font-weight: 600; color: #000> Upgrade Your Cart Now & Save /text> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> /form-title> div-full classform-content> div-full classform-content-container> div-full classform-upsell-left> media datamedia-0 asinUPSELL-ASIN> img srchttps://portals.helium10.com/cdnimages/1511/qdjscy6c3d7j-1.01-1x1-Rocksom-LTDA-MAE-105694.png stylevisibility: visible; class> /media> /div-full> div-full classform-upsell-right> div-full> text stylefont-family: Bai Jamjuree, sans-serif; font-size: 2.25rem; font-weight: 600; color: #000> UPSELL-TITLE /text> text classform-upsell-text stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color: #000> UPSELL-DESCRIPTION /text> div-full classform-upsell-price-container> listprice stylefont-family: Bai Jamjuree, sans-serif; font-size: 2.25rem; color: #000 classdisplay-none> UPSELL-D-P /listprice> price stylefont-family: Bai Jamjuree, sans-serif; font-size: 1rem; color:#666 classdisplay-none> WAS UPSELL-PRICE /price> /div-full> div-full> div-button onclickformHandlers.upsellRedirect(true) stylefont-family: Bai Jamjuree, sans-serif; background: #000; color: #fff; font-size: 1.13rem; border-width: 2px; border-color: transparent; classjs-redirect-button activeyes> YES! UPGRADE MY ORDER /div-button> /div-full> div-full> link-button stylefont-family: Bai Jamjuree, sans-serif; color: #666; font-size: 1rem; font-weight: 300 classjs-redirect-button onclickformHandlers.upsellRedirect(false)> No, Thanks. Proceed To Checkout /link-button> /div-full> /div-full> /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,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/TGmbkn,emailCollectingType:single,mandatoryFields:{value:firstName},{value:lastName},redirectUrl:/api/v1/p/redirect/TGmbkn,redirectUrls:https://www.amazon.co.uk/stores/page/FCDBD90C-8C99-4C9B-8589-3F3022509199?channelConfCab%20-10%20off,productSlug:TGmbkn,media:{data:https://portals.helium10.com/cdnimages/1511/qdjscy6c3d7j-1.01-1x1-Rocksom-LTDA-MAE-105694.png,isVideo:false},asinMedia:{asin:,media:{data:https://portals.helium10.com/cdnimages/1511/qdjscy6c3d7j-1.01-1x1-Rocksom-LTDA-MAE-105694.png,isVideo:false}},backgrounds:https://portals.helium10.com/portals-templates/Sunset/images/sunset-image-01.png,https://portals.helium10.com/portals-templates/Sunset/images/sunset-image-02.png})/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
]