Help
RSS
API
Feed
Maltego
Contact
Domain > gardenfairy.org
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-12-28
3.166.152.92
(
ClassC
)
2026-02-12
3.163.24.100
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Thu, 12 Feb 2026 19:09:22 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://gardenfairy.org/X-Cache: Redirect from cloudfrontVia: 1.1 fc36d22b58a363b02ecdd852a2e51610.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P2X-Amz-Cf-Id: EVEkRtW7yvRsgqx5FHmBodlrXLh9bOepYTBOE6prOmGVhgEkgMCzbg 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: 168818Connection: keep-aliveDate: Thu, 12 Feb 2026 19:09:24 GMTLast-Modified: Wed, 20 Apr 2022 09:27:05 GMTETag: 31ad05cd8502c1a4f54bfab1688fb80dAccept-Ranges: bytesServer: AmazonS3X-Cache: Miss from cloudfrontVia: 1.1 8502ceae0080b3523f89d1a518a99726.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P2X-Amz-Cf-Id: pl0-bPodwH6f57ZvTacI82vX1BLpTTgh86K1wW0VR5NvEoG3WoPhHA head> meta nameviewport contentwidthdevice-width, initial-scale1> meta propertyog:title contentGarden Fairies Metal Art. Fairy Alette is a Garden Fairy Like no Other Metal Outdoor Decor for Your Patio, pots, Lawn, Flower beds or Yard. Make Your Space Magical!> meta propertyog:description contentMeet Alette, one of our Somerset Quintessence Garden fairies. The name means little wing, this Original garden art by renowned Somerset Artist Róisín Murphy, captures the essence of playHigh Qualit> meta propertyog:image contenthttps://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg> meta propertyog:url contentundefined> meta nametwitter:title contentGarden Fairies Metal Art. Fairy Alette is a Garden Fairy Like no Other Metal Outdoor Decor for Your Patio, pots, Lawn, Flower beds or Yard. Make Your Space Magical!> meta nametwitter:description contentMeet Alette, one of our Somerset Quintessence Garden fairies. The name means little wing, this Original garden art by renowned Somerset Artist Róisín Murphy, captures the essence of playHigh Qualit> meta nametwitter:image contenthttps://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg> 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}}.reviews-display{overflow: hidden}.discount-display, .price-display, .image-display{display: inline-block}.counter-display{display: block}.email-inputs{border: 1px solid red !important}.image-none{display: none}input:focus{outline: none}.discount{padding: 5px}div-button{border-radius: 3px}div-button:hover{box-shadow: 0 0 10px rgba(0, 0, 0, 0.3)}div-button:active{filter: brightness(90%)}.checkbox-wrapper{text-align: left}.checkbox-wrapper:hover input ~ .checkmark{background-color: #d8e9e6; cursor: pointer}.checkbox-wrapper input:checked ~ .checkmark{background-color: #457d71; border: 1px solid #457d71}.checkbox-wrapper .checkmark{border: 1px solid #aaa; background-color: transparent}.bg-half{position: absolute; top: 0; left: 0; width: 50%; height: 100%}header .header-container{padding: 40px 0; justify-content: space-between; display: flex; flex-flow: row wrap; align-items: center}header logo{height: 50px; margin-right: auto; width: auto}header logo img{height: 100%; width: auto; max-width: 100%; object-fit: contain}header counter{text-align: right; padding: 10px}header counter days, header counter hours, header counter mins, header counter secs{margin-left: 5px; margin-right: -5px; font-weight: 600; font-size: 2.25rem; line-height: 1em}header counter counter-text{display: inline-block; padding: 0 3px; font-weight: 600; min-width: 15px; min-height: 15px}hero, .form-upsell-main-container, buttontree{position: relative}hero container, .form-upsell-main-container container, buttontree container{pointer-events: none}hero discount, .form-upsell-main-container discount, buttontree discount{display: block; width: 45%; text-align: right; margin-bottom: 5px; pointer-events: auto}hero .hero-div, .form-upsell-main-container .hero-div, buttontree .hero-div{display: flex; width: 100%}hero .hero-div-left, .form-upsell-main-container .hero-div-left, buttontree .hero-div-left{width: 45%; margin-right: 5%; position: relative; align-self: flex-start}hero .hero-div-left .image-container, .form-upsell-main-container .hero-div-left .image-container, buttontree .hero-div-left .image-container{position: relative; background: #fff; box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); width: 100%; padding-top: 100%; pointer-events: auto; z-index: 1}hero .hero-div-left .image-container .iframe, hero .hero-div-left .image-container img, .form-upsell-main-container .hero-div-left .image-container .iframe, .form-upsell-main-container .hero-div-left .image-container img, buttontree .hero-div-left .image-container .iframe, buttontree .hero-div-left .image-container img{width: calc(100% - 10px); height: calc(100% - 10px); object-fit: contain; margin: 5px; position: absolute; top: 0; left: 0}hero .hero-div-left .hero-div-empty, .form-upsell-main-container .hero-div-left .hero-div-empty, buttontree .hero-div-left .hero-div-empty{position: absolute; top: 58%; left: -11.8%; height: 30%; width: 123%; z-index: 0; pointer-events: auto}hero .hero-div-right, .form-upsell-main-container .hero-div-right, buttontree .hero-div-right{width: 45%; margin-left: 5%; display: flex; flex-direction: column}hero .hero-div-right .hero-subtext, .form-upsell-main-container .hero-div-right .hero-subtext, buttontree .hero-div-right .hero-subtext{margin: 10px 0 30px}hero .hero-div-right .hero-price-container, .form-upsell-main-container .hero-div-right .hero-price-container, buttontree .hero-div-right .hero-price-container{margin-top: auto; display: flex; flex-flow: row wrap; align-items: baseline}hero .hero-div-right .hero-b-container, .form-upsell-main-container .hero-div-right .hero-b-container, buttontree .hero-div-right .hero-b-container{margin-left: 5px}hero .hero-div-right div-button, .form-upsell-main-container .hero-div-right div-button, buttontree .hero-div-right div-button{margin: 10px 10px 0 0}hero .hero-div-right text, hero .hero-div-right listprice, hero .hero-div-right price, hero .hero-div-right div-button, hero .hero-div-right link-button, .form-upsell-main-container .hero-div-right text, .form-upsell-main-container .hero-div-right listprice, .form-upsell-main-container .hero-div-right price, .form-upsell-main-container .hero-div-right div-button, .form-upsell-main-container .hero-div-right link-button, buttontree .hero-div-right text, buttontree .hero-div-right listprice, buttontree .hero-div-right price, buttontree .hero-div-right div-button, buttontree .hero-div-right link-button{pointer-events: auto}store container{padding-bottom: 0}store container > text{text-align: center}store .store-subtitle{margin-top: 10px}store product-container{width: 108%; margin-left: -4%; margin-top: 90px; display: flex; flex-flow: row wrap; align-items: unset}store product{display: flex; justify-content: flex-end; flex-direction: column; width: 25%; margin: 0 4% 90px; position: relative}store discount{position: absolute; bottom: 100%}store media{position: relative; background: #fff; box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); width: 100%; padding-top: 100%; margin-bottom: 20px}store media .iframe, store media img{width: calc(100% - 10px); height: calc(100% - 10px); object-fit: contain; margin: 5px; position: absolute; top: 0; left: 0}store .store-product-title{margin-bottom: 5px}store .product-price-container{margin-top: auto; display: flex; flex-flow: row wrap; align-items: baseline}store div-button{width: 89%; background-color: #173a62; color: white}info{text-align: center}info .info-subtitle{margin: 10px 0 40px}info .info-container{display: flex; justify-content: space-between; margin-bottom: 50px}info .info-container .info-text{margin-top: 20px}info .info-container .image-container{position: relative; background: #fff; box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); width: 100%; padding-top: 100%}info .info-container .image-container .iframe, info .info-container .image-container img{width: calc(100% - 10px); height: calc(100% - 10px); object-fit: contain; margin: 5px; position: absolute; top: 0; left: 0}info .info-container div-full{width: calc(33% - 40px); text-align: left}info .info-b-container div-button{margin: 5px}action{text-align: center}action text{margin: 10px 0}action counter > div-full{display: inline-flex; justify-content: center; text-align: center; margin: 20px 7px}action counter .counter-number{font-size: 3rem}action .action-b-container{display: block; margin: 10px 30px}action .action-b-container > *{vertical-align: middle}action .action-b-container div-button{margin: 5px}action .action-b-container discount{margin: 5px 5px -3px}reviews container{pointer-events: none}reviews .bg-half{z-index: 0}reviews .reviews-container{display: flex; justify-content: space-between; align-items: center}reviews .reviews-title{text-align: center; margin-bottom: 40px; pointer-events: auto}reviews review-container{display: block; position: relative; width: 100%; overflow: hidden; white-space: nowrap; text-align: center; margin: 0 auto}reviews review{width: 40%; margin: 0 5%; display: inline-block; order: 1; transition: all .3s ease-in-out; white-space: normal}reviews .review-content{margin: 20px 15px; width: calc(100% - 30px); height: calc(100% - 40px); display: flex; flex-direction: column; text-align: left; pointer-events: auto}reviews .review-content .review-content text{white-space: normal; overflow-x: hidden}reviews .review-content .review-content text::-webkit-scrollbar{display: none}reviews .review-content .review-content-text{margin: 20px 0; flex-grow: 1; overflow-x: hidden}reviews .review-content stars{display: block; padding: 0 5px; margin-bottom: 5px; letter-spacing: 2px}reviews arrow{width: 40px; text-align: center; pointer-events: auto}reviews arrow:hover{color: #999 !important}reviews link-button{pointer-events: auto}faq container{max-width: 1000px}faq .faq-title{text-align: center}faq question-container{margin-top: 40px}faq question{position: relative; padding: 20px; margin-bottom: 20px; cursor: pointer; z-index: 1}faq question .question-arrow{color: #000; font-size: 20px; transition: transform .3s; display: inline-block; vertical-align: top; width: 20px; text-align: center}faq question > text{display: inline-block; justify-content: space-between; width: calc(100% - 35px); transition: color .3s}faq question answer{max-height: 0; margin-top: 0; transition: all .3s ease-in-out; overflow: hidden; opacity: 0}faq .question-animation{position: absolute; top: 0; left: 0; width: 70px; height: 100%; background-color: #cdece7; z-index: -1; transition: width .5s, height 1s}faq .answer-open answer{max-height: 500px !important; margin-top: 15px; opacity: 1}faq .answer-open .question-arrow{transform: rotate(180deg)}faq .answer-open .question-animation{width: 100%; height: 100%}manychat text{padding: 10px 5px}subscribe container{display: flex; pointer-events: none}subscribe .subscribe-div-left{width: 45%; margin-right: 5%; align-self: center; position: relative}subscribe .subscribe-div-left .image-container{position: relative; background: #fff; box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); width: 100%; padding-top: 100%; pointer-events: auto; z-index: 1}subscribe .subscribe-div-left .image-container .iframe, subscribe .subscribe-div-left .image-container img{width: calc(100% - 10px); height: calc(100% - 10px); object-fit: contain; margin: 5px; position: absolute; top: 0; left: 0}subscribe .subscribe-div-left .subscribe-div-empty{position: absolute; top: 58%; left: -11.8%; height: 30%; width: 123%; z-index: 0; pointer-events: auto}subscribe .subscribe-div-right{width: 45%; margin-left: 5%; display: flex; flex-direction: column}subscribe .subscribe-div-right text, subscribe .subscribe-div-right input, subscribe .subscribe-div-right .checkmark, subscribe .subscribe-div-right div-button{pointer-events: auto}subscribe .subscribe-div-right .subscribe-subtitle{margin: 20px 0}subscribe .subscribe-div-right .subscribe-inputs{margin-top: auto}subscribe .subscribe-div-right .subscribe-input-half, subscribe .subscribe-div-right .subscribe-input-full{margin: 5px; padding: 15px; border: solid 1px #333; transition: border .3s; background: transparent}subscribe .subscribe-div-right .subscribe-input-half:focus, subscribe .subscribe-div-right .subscribe-input-full:focus{border: solid 1px #457d71}subscribe .subscribe-div-right .subscribe-input-half{width: calc(50% - 10px)}subscribe .subscribe-div-right .subscribe-input-full{width: calc(100% - 10px)}subscribe .subscribe-div-right .checkbox-wrapper{margin-left: 5px}subscribe .subscribe-div-right div-button{margin: 5px}footer container{display: flex; justify-content: space-between; padding: 60px 0}footer text:first-of-type{margin-bottom: 20px}footer .footer-social-media{max-width: 200px; min-width: 250px; margin-right: 50px}footer .footer-social-media svg{width: 35px; height: 35px; fill: inherit; cursor: pointer; margin: 5px}footer .footer-social-media svg:hover{fill: #fff}footer .footer-text-container{max-width: 80%}footer .footer-text-container policy{display: block; margin-right: 20px}buttontree .b-tree-header{margin-bottom: 70px; display: flex}buttontree .b-tree-header logo{height: 50px; width: auto; z-index: 1; pointer-events: auto}buttontree .b-tree-header logo img{height: 100%; width: auto; max-width: 100%; object-fit: contain}buttontree .b-container{display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: 30px}buttontree .b-container div-button{width: calc(100% - 40px); margin: 0 0 15px 10px}buttontree social-share{max-width: none; width: 100%; margin: 20px 0; text-align: center; pointer-events: auto}buttontree social-share svg{width: 35px; height: 35px; cursor: pointer; margin: 7px}buttontree social-share svg:hover{fill: #092b51}form form-container > div-full{display: flex; height: 100%; position: relative}form form-container .div-x{position: absolute; top: 5px; left: auto; right: 10px}form .form-title{height: calc(100% - 70px); padding: 35px 0; width: 30%; border-top-right-radius: 0}form .form-title text{align-self: flex-start; margin-left: 30px}form .form-content{width: 70%; display: flex; flex-direction: column}form .form-content .subscribe-main-container, form .form-content .form-content-container{width: 50%; margin: auto}form .subscribe-input-half, form .subscribe-input-full{margin: 5px; padding: 15px; border: solid 1px #333; transition: border .3s; background: transparent}form .subscribe-input-half:focus, form .subscribe-input-full:focus{border: solid 1px #457d71}form .subscribe-input-half{width: calc(50% - 10px)}form .subscribe-input-full{width: calc(100% - 10px)}form .checkbox-wrapper{margin-left: 5px}form .form-thank-you .form-content-container text:nth-child(2){margin: 40px 0 80px}form .form-thank-you .form-thank-you-b{margin-left: 1px; display: inline-flex; flex-direction: column}form .form-claim-coupon .form-content-container text:first-of-type{margin-bottom: 40px}form .form-coupon-container{margin: 10px 0 50px}form .form-coupon-container .coupon-text{width: auto; vertical-align: middle}form .form-coupon-container svg{display: inline-block; vertical-align: top; width: 20px; text-align: unset; cursor: pointer; fill: #333; margin-top: 4px}form .form-coupon-container svg:hover{fill: #457d71}form .form-upsell > div-full{display: block}form .form-upsell .form-content, form .form-upsell .form-content-container{width: 100%; margin: 0}form .form-upsell form-title{height: auto; width: auto}form .form-upsell .form-upsell-main-container container{height: 100%}form .form-upsell link-button{display: block}form .form-upsell .hero-b-container{margin-left: 0 !important}form .subscribe-subtitle{margin: 5px 0 40px}form div-button{margin: 5px !important}@media only screen and (max-width: 800px){container{padding: 40px 0}hero .hero-div, .form-upsell-main-container .hero-div, buttontree .hero-div{flex-direction: column; align-items: center}hero .hero-div > *, .form-upsell-main-container .hero-div > *, buttontree .hero-div > *{width: 100%}hero .hero-div .hero-div-left, hero .hero-div .hero-div-right, .form-upsell-main-container .hero-div .hero-div-left, .form-upsell-main-container .hero-div .hero-div-right, buttontree .hero-div .hero-div-left, buttontree .hero-div .hero-div-right{margin: 0}hero .hero-div .hero-div-left, .form-upsell-main-container .hero-div .hero-div-left, buttontree .hero-div .hero-div-left{margin-bottom: 40px; align-self: flex-start}hero discount, .form-upsell-main-container discount, buttontree discount{width: 100%}hero .hero-div-empty, .form-upsell-main-container .hero-div-empty, buttontree .hero-div-empty{display: none}store product-container{width: 101.2%; margin-left: -0.66%}store product{width: 32%; margin: 0 0.66% 80px}store div-button{width: 80%}info .info-container div-full{width: calc(33% - 5px); text-align: left}reviews review{width: 100%}reviews .reviews-title{margin-bottom: 20px}subscribe container{flex-direction: column}subscribe .subscribe-div-left, subscribe .subscribe-div-right{width: 100%; margin: 0 0 20px 0; text-align: center}subscribe .subscribe-div-right input{width: calc(100% - 10px) !important}subscribe .subscribe-div-right div-button{width: calc(100% - 50px)}subscribe .subscribe-div-empty{display: none}footer .footer-social-media{min-width: 200px}form .subscribe-main-container, form .form-content-container{width: 90% !important; margin: 15vh 5% !important}form .form-upsell .form-content-container{width: 100% !important; margin: 0 !important}form form-title text{margin-left: 10px !important}}@media only screen and (max-width: 420px){header .header-container{flex-direction: column}header .header-container logo{max-width: 100%; margin: 0 auto 10px}header .header-container counter-text:first-of-type{width: 100%; text-align: center}hero .hero-b-container div-button, .form-upsell-main-container .hero-b-container div-button, buttontree .hero-b-container div-button{width: calc(100% - 40px)}store container{padding-bottom: 0}store product-container{width: 100%; margin-left: 0}store product{width: 100%; margin: 0 0 70px}store div-button{width: calc(100% - 40px)}info .info-container{display: flex; flex-direction: column; margin-bottom: 0}info .info-container div-full{width: 100%}info .info-text{margin-bottom: 30px}info .info-b-container div-button{width: calc(100% - 40px); margin: 5px 0}action .action-b-container{margin: 5px 0 0; width: 100%}action .action-b-container div-button{margin: 5px 0; width: calc(100% - 40px)}reviews arrow{display: none}reviews .review-content{width: 100%; margin: 30px 0}reviews link-button{width: 100%; margin: 0 auto; text-align: left; text-decoration: none}reviews .button-hidden{display: inline-block}reviews .selected-review{display: block}footer container{flex-direction: column}footer .footer-text-container{max-width: 100%}footer .footer-social-media{margin: 0 0 40px; max-width: none}buttontree .b-tree-header{justify-content: center}form form-container > div-full{flex-direction: column}form .div-x{z-index: 2}form form-title{width: 100% !important; height: 30px !important}form .form-content{width: 80%}form .form-content-container{width: 100% !important; margin: 50px 0 !important}form .form-upsell .form-content-container{width: 100% !important; margin: 0 !important}form div-button, form input{width: calc(100% - 50px) !important}form input{width: calc(100% - 10px) !important}form svg{width: 15px !important; margin-top: 2px}}/style>header stylebackground: rgb(255, 255, 255);> container classheader-container> logo classheader-logo visibility-visible logo-imagehttps://portals.helium10.com/cdnimages/1543443262/wmwn3prqlo8b-Original Logo.png styleheight: 200px;> img srchttps://portals.helium10.com/cdnimages/1543443262/wmwn3prqlo8b-Original Logo.png class> /logo> counter classheader-counter display-none activeyes stylefont-family: Dosis, sans-serif; color: rgb(85, 85, 85); font-size: 0.88rem;> counter-text stylefont-family: Dosis, sans-serif; font-size: 0.88rem; color: rgb(85, 85, 85);> the offer expires in /counter-text> br> days>0/days> counter-text stylefont-family: Dosis, sans-serif; font-size: 1.13rem; color: rgb(85, 85, 85);> D /counter-text> hours>0/hours> counter-text stylefont-family: Dosis, sans-serif; font-size: 1.13rem; color: rgb(85, 85, 85);> H /counter-text> mins>0/mins> counter-text stylefont-family: Dosis, sans-serif; font-size: 1.13rem; color: rgb(85, 85, 85);> M /counter-text> secs>0/secs> counter-text stylefont-family: Dosis, sans-serif; font-size: 1.13rem; color: rgb(85, 85, 85);> S /counter-text> /counter> /container> /header> hero stylebackground: rgb(255, 255, 255);> block classbg-half stylebackground: rgb(205, 236, 231);> /block> container> discount classjs-discount discount-display activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 3rem; font-weight: 600; color: rgb(12, 55, 104); background: transparent;> /discount> div-full classhero-div> div-full classhero-div-left> media classimage-container datamedia-0 asinB0913DC4ZG> img srchttps://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg stylevisibility: visible; class> /media> block classhero-div-empty stylebackground: rgb(255, 255, 255);> /block> /div-full> div-full classhero-div-right> text stylefont-family: Dosis, sans-serif; color: rgb(52, 107, 96); font-size: 3rem; font-weight: 600;> Somerset Quintessence/text> text classhero-subtext stylefont-family: Montserrat, sans-serif; color: rgb(129, 129, 129); font-size: 2.25rem;>Somerset: The ancient English Land of Summer.div> br> /div> div>Quintessence: The essence of a thing in its purest and most concentrated form. /div> /text> div-full classhero-price-container> listprice stylefont-family: Dosis, sans-serif; font-size: 3rem; color: rgb(12, 55, 104); font-weight: 600; classdisplay-none> $29.95 /listprice> price stylefont-family: Dosis, sans-serif; font-size: 1.5rem; color: rgb(140, 141, 147); font-weight: 600; classdisplay-none> $32.50 /price> /div-full> div-full classhero-b-container> div-button activeyes classfirst-button stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(12, 55, 104); onclickformHandlers.scrollToForm(this)> BUY NOW /div-button> div-button activeyes classjs-second-button second-button display-none stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(133, 97, 176); onclickformHandlers.scrollToForm(this)> Learn More /div-button> /div-full> /div-full> /div-full> /container> /hero> store stylebackground: rgb(153, 210, 198);> container> text classstore-title stylefont-family: Dosis, sans-serif; font-size: 3rem; font-weight: 600; color: rgb(52, 107, 96);> Bring Magic & Beauty into your world!/text> text classstore-subtitle stylefont-family: Montserrat, sans-serif; font-size: 1.5rem; color: rgb(75, 98, 89);>We provide exceptional quality long lasting garden decor, all our designs are unique, designed here in Somerset by our in-house artist. Exceptional quality products/text> product-template classdisplay-none> product classjs-info-slide product> discount classjs-discount display-none activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 2.25rem; font-weight: 600; color: rgb(12, 55, 104); background: transparent;> STOREFRONT-DISCOUNT% OFF /discount> media datamedia-0 asinSTOREFRONT-ASIN classproduct-image> img srchttps://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg stylevisibility: visible; class> /media> text classstore-product-title stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; font-weight: 600; color: rgb(92, 119, 110);> STOREFRONT-TITLE /text> div-full classproduct-price-container> listprice stylefont-family: Dosis, sans-serif; font-size: 2.25rem; color: rgb(12, 55, 104); font-weight: 600;> STOREFRONT-D-P /listprice> price stylefont-family: Dosis, sans-serif; font-size: 1rem; color: rgb(140, 141, 147); font-weight: 600; classdisplay-none> WAS STOREFRONT-PRICE /price> /div-full> div-button activeyes classjs-product-button onclickformHandlers.buttonClicked(this) stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; border-width: 2px; border-color: transparent;> BUY NOW /div-button> /product> /product-template> product-container classjs-product-container> product classjs-info-slide product> discount classjs-discount discount-display activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 2.25rem; font-weight: 600; color: rgb(12, 55, 104); background: transparent;> /discount> media datamedia-0 asinB0913DC4ZG classproduct-image> img srchttps://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg stylevisibility: visible; class> /media> text classstore-product-title stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; font-weight: 600; color: rgb(92, 119, 110);> Garden Fairies Metal Art. Fairy Alette is a Garden Fairy Like no Other Metal Outdoor Decor for Your Patio, pots, Lawn, Flower beds or Yard. Make Your Space Magical! /text> div-full classproduct-price-container> listprice stylefont-family: Dosis, sans-serif; font-size: 2.25rem; color: rgb(12, 55, 104); font-weight: 600;>$32.50/listprice> price stylefont-family: Dosis, sans-serif; font-size: 1rem; color: rgb(140, 141, 147); font-weight: 600; classprice-display> /price> /div-full> div-button activeyes classjs-product-button onclickformHandlers.buttonClicked(this) stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; border-width: 2px; border-color: transparent; data-param&button0> BUY NOW /div-button> /product> product classjs-info-slide product> discount classjs-discount display-none activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 2.25rem; font-weight: 600; color: rgb(12, 55, 104); background: transparent;> 50% OFF /discount> media datamedia-0 asinB08YK8C4VR classproduct-image> img srchttps://portals.helium10.com/cdnimages/1543443262/u7mreeoq8ogu-swk8zfb1ks1t6jmv.jpg stylevisibility: visible; class> /media> text classstore-product-title stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; font-weight: 600; color: rgb(92, 119, 110);> Somerset Quintessence Metal Bird Garden Art - Odins Raven Muninn | Pagan Decor | Viking Art | Metal Art | Garden Art | Backyard Art | Tree Art | Silhouette Art | High Grade Steel /text> div-full classproduct-price-container> listprice stylefont-family: Dosis, sans-serif; font-size: 2.25rem; color: rgb(12, 55, 104); font-weight: 600;>$34.50/listprice> price stylefont-family: Dosis, sans-serif; font-size: 1rem; color: rgb(140, 141, 147); font-weight: 600; classdisplay-none> WAS $34.50 /price> /div-full> div-button activeyes classjs-product-button onclickformHandlers.buttonClicked(this) stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; border-width: 2px; border-color: transparent; data-param&button1> BUY NOW /div-button> /product> product classjs-info-slide product> discount classjs-discount discount-display activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 2.25rem; font-weight: 600; color: rgb(12, 55, 104); background: transparent;> /discount> media datamedia-0 asinB0913FQQFR classproduct-image> img srchttps://portals.helium10.com/cdnimages/1543443262/wsz8dqycu12u-16vif1ks1t732a.jpg stylevisibility: visible; class> /media> text classstore-product-title stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; font-weight: 600; color: rgb(92, 119, 110);> Garden Fairies Metal Garden Art. Fairy Aurora is a Garden Fairy Like no Other Metal Outdoor Decor for Your Patio, pots, Lawn, Flower beds or Yard. Make Your Space Magical! /text> div-full classproduct-price-container> listprice stylefont-family: Dosis, sans-serif; font-size: 2.25rem; color: rgb(12, 55, 104); font-weight: 600;> $29.50/listprice> price stylefont-family: Dosis, sans-serif; font-size: 1rem; color: rgb(140, 141, 147); font-weight: 600; classprice-display> /price> /div-full> div-button activeyes classjs-product-button onclickformHandlers.buttonClicked(this) stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; border-width: 2px; border-color: transparent; data-param&button2> BUY NOW /div-button> /product> product classjs-info-slide product> discount classjs-discount display-none activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 2.25rem; font-weight: 600; color: rgb(12, 55, 104); background: transparent;> 50% OFF /discount> media datamedia-0 asinB08YK8MC2D classproduct-image> img srchttps://portals.helium10.com/cdnimages/1543443262/g908pgpxob7e-16vif1ks1t7jz4.jpg stylevisibility: visible; class> /media> text classstore-product-title stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; font-weight: 600; color: rgb(92, 119, 110);> Somerset Quintessence Metal Bird Garden Art - Odins Raven Huginn | Pagan Decor | Viking Art | Metal Art | Garden Art | Backyard Art | Tree Art | Silhouette Art | High Grade Steel /text> div-full classproduct-price-container> listprice stylefont-family: Dosis, sans-serif; font-size: 2.25rem; color: rgb(12, 55, 104); font-weight: 600;>Awaiting Stock/listprice> price stylefont-family: Dosis, sans-serif; font-size: 1rem; color: rgb(140, 141, 147); font-weight: 600; classdisplay-none> WAS $34.50 /price> /div-full> div-button activeyes classjs-product-button onclickformHandlers.buttonClicked(this) stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; border-width: 2px; border-color: transparent; data-param&button3> BUY NOW /div-button> /product> product classjs-info-slide product> discount classjs-discount display-none activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 2.25rem; font-weight: 600; color: rgb(12, 55, 104); background: transparent;> /discount> media datamedia-0 asinB09QMF5C31 classproduct-image transparencyno> img srchttps://portals.helium10.com/cdnimages/1543443262/t6oqp0tve0xx-byyytt1l27d7n16.jpg stylevisibility: visible; class> /media> text classstore-product-title stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; font-weight: 600; color: rgb(92, 119, 110);>Garden Fairies Metal Art. Fairy Bliss is a Garden Fairy Like no Other Metal Outdoor Decor for Your Patio, pots, Lawn, Flower beds or Yard. Make Your Space Magical! /text> div-full classproduct-price-container> listprice stylefont-family: Dosis, sans-serif; font-size: 2.25rem; color: rgb(12, 55, 104); font-weight: 600;> $32.50/listprice> price stylefont-family: Dosis, sans-serif; font-size: 1rem; color: rgb(140, 141, 147); font-weight: 600; classdisplay-none> WAS $34.50 /price> /div-full> div-button activeyes classjs-product-button onclickformHandlers.buttonClicked(this) stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; border-width: 2px; border-color: transparent; data-param&button4> BUY NOW /div-button> /product> /product-container> /container> /store> reviews stylebackground: rgb(255, 255, 255); rselected5> block classbg-half stylebackground: rgb(205, 236, 231);> /block> container> text classreviews-title stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-weight: 600; font-size: 3rem;> Hear It From Our Customers /text> div-full classreviews-container> arrow onclickmoveMultipleSlides(false, reviewSlide,{margin:5%}) stylefont-family: Dosis, sans-serif; font-size: 40px; color: rgb(96, 96, 96); visibility: visible;> < /arrow> review-template classjs-review-template display-none> review> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;> Catchy review title /text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;> Provide more detail here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. /text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;> Customer name /text> /div-full> /review> /review-template> review-container classjs-review-container js-review-slides-count reviews-display slidesl2 slidesm1 slidess1> review rid5 classdisplay-none> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Beautifully packaged/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>Delivered quickly and packaged beautifully . Absolutely love these metal staked garden fairies . Very high quality, just stunning ./text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;> Mike/text> /div-full> /review> review rid6 classdisplay-none> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Magical piece of Art/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>Excellent service all around . Delivered quickly and came in very nice box with protective plastic wrap sealing the fairy . This truly is a very beautiful, unique, quality metal fairy . Absolutely love this magical piece of art . Thank you ./text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>M/text> /div-full> /review> review rid7 classdisplay-none> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Fairy Magic/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>Fancy some fairy magic in your garden? My friend bought me this and I absolutely love it. She’s such a pretty thing! My daughter also loved it and wants one for her decked area. Just adds a certain unique something to my garden - very happy/text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>Sophie/text> /div-full> /review> review rid8 classdisplay-none> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Greenman Nature Decor/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>Love this green guy! Perfect as an addition to my garden scape, to place in mulch, hang on a fence, on stairs or attach to a tree. Give a a gift or treat yourself! I love him! Thank you💕🌏🧑🌾☀️🕊🙏/text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>Plumpdog/text> /div-full> /review> review rid9 classdisplay-none> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Here comes the Raven!/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>What a fabulous idea! This chap sits in my tree all year round looking out over my garden! I love these types of unique gifts, so personal and magical! Love love love it!!!!/text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>Ms Anderson/text> /div-full> /review> review rid0 classjs-selected-review selected-review stylemargin-left: 5%;> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Very nice detail!/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>Look at the dimensions so you know in advance what you are getting. I did so Im not surprised when it arrived. It is very nicely made and the detail will not disappoint. A little expensive perhaps but extremely nice and I think will do well outside year round. Whimsical and for me I consider it a very good deal. I might buy another one later./text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>Julie B/text> /div-full> /review> review rid1 classjs-selected-review selected-review stylemargin-left: 5%;> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>So cute/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>Just what I was looking for to add some wimsey to my yard. Nicely made and very sturdy./text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>loretta Y/text> /div-full> /review> review rid2 classjs-selected-review selected-review stylemargin-left: 5%;> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Quality Art!/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;> Beautifully crafted and the packaged with care with a note from the artists really made it extra special. I bought this to put on the tree where I buried my 19.6 years olde cat Raven. He was my heart healer and I loved him dearly. This is a special memorium for him. Ill post a picture when weve put it up./text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>Bonny/text> /div-full> /review> review rid3 classjs-selected-review selected-review stylemargin-left: 5%;> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Gorgeous/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>I bought this for my Daughter as a Christmas gift .. I couldn’t wait for Christmas so I’ll gave it to her ahead of Christmas .. she LOVED it .. it’s absolutely gorgeous .. super sturdy .. not flimsy at all .. I was soo impressed with its quality that I ordered another one for myself .. I am very happy with this purchase/text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>Gisele/text> /div-full> /review> review rid4 classjs-selected-review selected-review> div-full classreview-content> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem; font-weight: 600;>Quality Craftsmanship/text> text classreview-content-text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem;>Very pleased with this beautifully designed and crafted work of art./text> stars stylecolor: rgb(12, 55, 104); letter-spacing: 1px; font-size: 1.5rem;> ★★★★★ /stars> text stylefont-family: Montserrat, sans-serif; color: rgb(94, 94, 94); font-size: 1.13rem;>wile e/text> /div-full> /review> /review-container> arrow classarrow-right onclickmoveMultipleSlides(true, reviewSlide,{margin:5%}) stylefont-family: Dosis, sans-serif; font-size: 40px; color: rgb(96, 96, 96); visibility: visible;>> /arrow> /div-full> link-button classjs-button-hidden button-hidden onclickcontentSetters.setDivCollapsed() stylefont-family: Montserrat, sans-serif; color: rgb(32, 66, 111); font-size: 1rem; font-weight: 600;> Show More... /link-button> /container> /reviews> action stylebackground: rgb(23, 58, 98); classdisplay-none> container> text stylefont-family: Dosis, sans-serif; font-size: 3rem; color: rgb(255, 255, 255);> What are you waiting for? /text> text stylefont-family: Montserrat, sans-serif; font-size: 1rem; color: rgb(255, 255, 255);> Lorem ipsum dolor sit amet, consectetur dipisic ing elit /text> counter classdisplay-none stylefont-family: Dosis, sans-serif; activeyes> div-full> days classcounter-number stylecolor: #fff>0/days> counter-text stylefont-family: Dosis, sans-serif; color: #fff; font-size: 3rem>D /counter-text> /div-full> div-full> hours classcounter-number stylecolor: rgb(255, 255, 255);>0/hours> counter-text stylefont-family: Dosis, sans-serif; color: rgb(255, 255, 255); font-size: 3rem;>H /counter-text> /div-full> div-full> mins classcounter-number stylecolor: rgb(255, 255, 255);>0/mins> counter-text stylefont-family: Dosis, sans-serif; color: rgb(255, 255, 255); font-size: 3rem;>M /counter-text> /div-full> div-full> secs classcounter-number stylecolor: rgb(255, 255, 255);>0/secs> counter-text stylefont-family: Dosis, sans-serif; color: rgb(255, 255, 255); font-size: 3rem;>S /counter-text> /div-full> /counter> div-full classaction-b-container> discount classjs-discount display-none activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 3rem; font-weight: 600; color: rgb(71, 171, 150); background: transparent;> up to 50% OFF /discount> div-button activeyes classfirst-button stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(71, 171, 150); onclickformHandlers.scrollToForm(this)> BUY NOW /div-button> div-button activeyes classjs-second-button second-button display-none stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(104, 80, 134); onclickformHandlers.scrollToForm(this)> Learn More /div-button> /div-full> /container> /action> subscribe stylebackground: rgb(255, 255, 255); classdisplay-none> block classbg-half stylebackground: rgb(205, 236, 231);> /block> container> div-full classsubscribe-div-left> media classimage-container datamedia-0 asinPRODUCT-ASIN> img srchttps://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg stylevisibility: visible; class> /media> block classsubscribe-div-empty stylebackground: rgb(255, 255, 255);> /block> /div-full> div-full classsubscribe-div-right> text classsubscribe-title stylefont-family: Dosis, sans-serif; font-size: 3rem; color: rgb(69, 125, 113); font-weight: 600;> Subscribe To Our Newsletter /text> text classsubscribe-subtitle stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; color: rgb(129, 129, 129);>Stay updated with our latest offers and products releases/text> div classsubscribe-inputs> input typetext namefirstName placeholderFirst Name Here... classsubscribe-input-half stylefont-family: Montserrat, sans-serif; font-size: 1rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this) disabled mandatorytrue> input typetext namelastName placeholderLast Name Here... classsubscribe-input-half stylefont-family: Montserrat, sans-serif; font-size: 1rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this) disabled mandatorytrue> input classsubscribe-input-full js-order-id nameorderId placeholderOrder ID Here... typetext stylefont-family: Montserrat, sans-serif; font-size: 1rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this) disabled enabledno> input typetext nameemail placeholderEmail Address Here... classsubscribe-input-full stylefont-family: Montserrat, sans-serif; font-size: 1rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this) onkeypressformHandlers.buttonSubscribe(this) disabled> /div> div-full classjs-checkbox-wrapper checkbox-wrapper> label> input classterms-checkbox typecheckbox nameterms onchangetermsChecked this.checked disabled> span classcheckmark> /span> text stylefont-family: Montserrat, sans-serif; font-size: 0.88rem; color: rgb(129, 129, 129);> By checking this box, I agree to opt-in for campaign updates /text> /label> /div-full> email-errors classvisibility-visible> text classjs-order-id-error errors-hidden stylefont-family: Montserrat, sans-serif; color: rgb(255, 0, 0); font-size: 0.88rem;> You have entered an invalid Order ID! /text> text classjs-order-id-used errors-hidden stylefont-family: Montserrat, sans-serif; color: rgb(255, 0, 0); font-size: 0.88rem;> Only one coupon available per Order ID! /text> text classjs-email-used stylefont-family: Montserrat, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> /text> text classjs-email-format stylefont-family: Montserrat, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> /text> text classjs-empty-firstName stylefont-family: Montserrat, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0); display: none;> /text> text classjs-empty-lastName stylefont-family: Montserrat, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0); display: none;> /text> /email-errors> div> div-button activeyes form-button classfirst-button onclickformHandlers.buttonSubscribe(this) stylefont-family: Lato, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(23, 58, 98);> BUY NOW /div-button> div-button classjs-second-button second-button display-none activeyes stylefont-family: Lato, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(133, 97, 176); onclickformHandlers.buttonSubscribe(this)> Learn More /div-button> /div> /div-full> /container> /subscribe> faq stylebackground: rgb(255, 255, 255); display: none;> container> text classfaq-title stylefont-family: Dosis, sans-serif; font-size: 3rem; font-weight: 600; color: rgb(83, 130, 118);> Frequently Asked Questions /text> question-container> question onclickquestionOpened(this) classanswer-open> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem;> I want to return my product. What should I do? /text> div-full classquestion-arrow>⌵/div-full> answer> text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem; font-weight: 300;> Provide your answer here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum at iaculis dolor, ut sodales turpis consectetur adipiscing elit. /text> /answer> block classquestion-animation stylebackground: rgb(205, 236, 231);> /block> /question> question onclickquestionOpened(this) classanswer-open> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem;> Can I make an exchange? /text> div-full classquestion-arrow>⌵/div-full> answer> text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem; font-weight: 300;> Provide your answer here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum at iaculis dolor, ut sodales turpis consectetur adipiscing elit. /text> /answer> block classquestion-animation stylebackground: rgb(205, 236, 231);> /block> /question> question onclickquestionOpened(this) classanswer-open> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem;> Where do I input my coupon code? /text> div-full classquestion-arrow>⌵/div-full> answer> text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem; font-weight: 300;> Provide your answer here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum at iaculis dolor, ut sodales turpis consectetur adipiscing elit. /text> /answer> block classquestion-animation stylebackground: rgb(205, 236, 231);> /block> /question> question classanswer-open onclickquestionOpened(this)> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 1.5rem;> Is this product available internationally? /text> div-full classquestion-arrow>⌵/div-full> answer> text stylefont-family: Montserrat, sans-serif; color: rgb(81, 81, 81); font-size: 1rem; font-weight: 300;> Provide your answer here. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum at iaculis dolor, ut sodales turpis consectetur adipiscing elit. /text> /answer> block classquestion-animation stylebackground: rgb(205, 236, 231);> /block> /question> /question-container> /container> /faq> manychat stylebackground: rgb(255, 255, 255); display: none;> container> text stylefont-family: Dosis, sans-serif; color: rgb(83, 130, 118); font-size: 3rem; font-weight: 600;> Want to learn more? /text> text stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; color: rgb(129, 129, 129);> Simply click the button bellow. /text> 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: Arial, sans-serif; font-weight: 300; font-size: 1.13rem; color: rgb(119, 119, 119);> i>ManyChat Widget Placeholder/i> /div-full> /container> /manychat> footer stylebackground: rgb(23, 58, 98); display: none;> container> div-full classjs-footer-social-media footer-social-media opacity-none> text stylefont-family: Dosis, sans-serif; color: rgb(255, 255, 255); font-size: 1.5rem; font-weight: 600;> Contact Us /text> social-share links stylefill: #cdece7> svg classfacebook styledisplay: none onclickcontentSetters.redirectToSocial(this)> 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> /path> /svg> svg classinstagram styledisplay: none onclickcontentSetters.redirectToSocial(this)> 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> 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> 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> /path> /svg> svg classtwitter styledisplay: none onclickcontentSetters.redirectToSocial(this)> 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> /path> /svg> svg classpinterest styledisplay: none onclickcontentSetters.redirectToSocial(this)> 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> /path> /svg> svg classyoutube styledisplay: none onclickcontentSetters.redirectToSocial(this)> 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> 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> /path> /svg> svg classsnapchat styledisplay: none onclickcontentSetters.redirectToSocial(this)> 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> /path> /svg> svg classtiktok styledisplay: none onclickcontentSetters.redirectToSocial(this)> 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> /path> /svg> /social-share> /div-full> div-full classfooter-text-container> text stylefont-family: Dosis, sans-serif; color: rgb(255, 255, 255); font-size: 1.5rem; font-weight: 600;> Our Policy /text> text stylefont-family: Lato, sans-serif; color: rgb(255, 255, 255); font-size: 0.88rem; font-weight: 300;> A privacy policy is a statement or a legal document that discloses some or all of the ways a party gathers, uses, discloses, and manages a customer or clients data. It fulfils a legal requirement to protect a customer or clients privacy. br> br> br> policy templatecustom custom target_blank stylefont-family: Dosis, sans-serif; color: rgb(205, 236, 231); font-size: 1rem; onclickcontentSetters.goToUrl(this) data-url> Privacy Policy /policy> terms templatecustom custom target_blank stylefont-family: Dosis, sans-serif; color: rgb(205, 236, 231); font-size: 1rem; onclickcontentSetters.goToUrl(this) data-url> Terms of use /terms> /text> /div-full> /container> /footer> form statehidden> form-container classjs-form-email-collecting form-email-collecting> div-full> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> form-title classform-title stylebackground: rgb(205, 236, 231);> text stylefont-family: Dosis, sans-serif; font-size: 1.5rem; font-weight: 600; color: rgb(59, 64, 69);> Subscribe Now /text> /form-title> div-full classform-content> div-full classform-content-container> text classsubscribe-title stylefont-family: Dosis, sans-serif; font-size: 3rem; color: rgb(69, 125, 113); font-weight: 600;> Subscribe To Our Newsletter /text> text classsubscribe-subtitle stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; color: rgb(129, 129, 129);> Provide more detail here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna. /text> input typetext namefirstName placeholderFirst Name Here... classsubscribe-input-half stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this) disabled> input typetext namelastName placeholderLast Name Here... classsubscribe-input-half stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this) disabled> input classsubscribe-input-full js-order-id nameorderId placeholderOrder ID Here... typetext stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this) disabled> input typetext nameemail placeholderEmail Address Here... classsubscribe-input-full stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(102, 102, 102); onkeyupformHandlers.inputValidation(this) disabled> div-full classjs-checkbox-wrapper checkbox-wrapper> label> input classterms-checkbox typecheckbox nameterms onchangetermsChecked this.checked disabled> span classcheckmark> /span> text stylefont-family: Montserrat, sans-serif; font-size: 0.88rem; color: rgb(153, 153, 153);> By checking this box, I agree to opt-in for campaign updates /text> /label> /div-full> email-errors classvisibility-hidden> text classjs-order-id-error errors-hidden stylefont-family: Montserrat, sans-serif; color: rgb(255, 0, 0); font-size: 0.88rem;> You have entered an invalid Order ID! /text> text classjs-order-id-used errors-hidden stylefont-family: Lato, sans-serif; color: rgb(255, 0, 0); font-size: 0.88rem;>Only one coupon available per Order ID! /text> text classjs-email-used errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> Only one coupon available per household! /text> text classjs-email-format errors-hidden stylefont-family: Lato, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> You have entered an invalid email address! /text> text classjs-empty-firstName errors-hidden stylefont-family: Montserrat, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> First name field is mandatory ! /text> text classjs-empty-lastName errors-hidden stylefont-family: Montserrat, sans-serif; font-size: 0.88rem; color: rgb(255, 0, 0);> Last name field is mandatory ! /text> /email-errors> div-button activeyes classfirst-button onclickformHandlers.buttonSubscribe() stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(12, 55, 104);> SUBSCRIBE /div-button> /div-full> /div-full> /div-full> /form-container> form-container classjs-form-thank-you form-thank-you> div-full> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> form-title classform-title stylebackground: rgb(205, 236, 231);> text stylefont-family: Dosis, sans-serif; font-size: 1.5rem; font-weight: 600; color: rgb(59, 64, 69);> Thank You /text> /form-title> div-full classform-content> div-full classform-content-container> text stylefont-family: Dosis, sans-serif; font-size: 3rem; color: rgb(69, 125, 113); font-weight: 600;> Thank You For Subscribing! /text> text stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; color: rgb(129, 129, 129);> Provide more detail here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna. /text> div-full classform-thank-you-b> div-button classjs-download-pdf-button download-pdf-button display-none activeyes stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(71, 171, 150);> Download PDF /div-button> div-button activeyes shop-button classfirst-button onclickformHandlers.continueShopping(js-form-thank-you) stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(12, 55, 104);> SHOP NOW /div-button> /div-full> /div-full> /div-full> /div-full> /form-container> form-container classjs-form-claim-coupon form-claim-coupon> div-full> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> form-title classform-title stylebackground: rgb(205, 236, 231);> text stylefont-family: Dosis, sans-serif; font-size: 1.5rem; font-weight: 600; color: rgb(59, 64, 69);> Claim Your Coupon /text> /form-title> div-full classform-content> div-full classform-content-container> text stylefont-family: Dosis, sans-serif; font-size: 3rem; color: rgb(69, 125, 113); font-weight: 600;> Youre all set! /text> text stylefont-family: Montserrat, sans-serif; font-size: 1.13rem; color: rgb(129, 129, 129);> Thank you for subscribing! Your Coupon code: /text> div-full classform-coupon-container> div-full classjs-coupon-wrapper> text classjs-form-coupon-id coupon-text stylefont-family: Dosis, sans-serif; font-size: 1.5rem; color: rgb(71, 171, 150);>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 display-none stylefont-family: Lato, sans-serif; font-size: 1rem; color: rgb(170, 170, 170);> Were sorry! No coupons left for this offer. /text> /div-full> div-button activeyes shop-button classfirst-button onclickformHandlers.continueShopping(js-form-claim-coupon) stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(12, 55, 104);> SHOP NOW /div-button> /div-full> /div-full> /div-full> notification-coupon>Coupon copied to Clipboard: /notification-coupon> /form-container> form-container classjs-form-upsell form-upsell> div-full> div-full classdiv-x onclickformHandlers.closeForm()>×/div-full> form-title classform-title stylebackground: rgb(255, 255, 255);> text stylefont-family: Dosis, sans-serif; font-size: 1.5rem; font-weight: 600; color: rgb(59, 64, 69);> Upgrade Your Cart Now & Save /text> /form-title> block classform-content stylebackground: rgb(255, 255, 255);> div-full classform-content-container> div-full classform-upsell-main-container> block classbg-half stylebackground: rgb(205, 236, 231);> /block> container> discount classjs-discount display-none activeyes stylefont-family: Dosis, sans-serif; border-radius: 0px; font-size: 3rem; font-weight: 600; color: rgb(12, 55, 104); background: transparent;> UPSELL-DISCOUNT% OFF /discount> div-full classhero-div> div-full classhero-div-left> media classimage-container datamedia-0 asinUPSELL-ASIN> img srchttps://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg stylevisibility: visible; class> /media> block classhero-div-empty stylebackground: rgb(255, 255, 255);> /block> /div-full> div-full classhero-div-right> text stylefont-family: Dosis, sans-serif; color: rgb(52, 107, 96); font-size: 3rem; font-weight: 600;> UPSELL-TITLE /text> text classhero-subtext stylefont-family: Montserrat, sans-serif; color: rgb(129, 129, 129); font-size: 1rem;> UPSELL-DESCRIPTION /text> div-full classhero-price-container> listprice stylefont-family: Dosis, sans-serif; font-size: 3rem; color: rgb(12, 55, 104); font-weight: 600;> UPSELL-D-P /listprice> price stylefont-family: Dosis, sans-serif; font-size: 1.5rem; color: rgb(140, 141, 147); font-weight: 600;> UPSELL-PRICE /price> /div-full> div-full classhero-b-container> div-button activeyes stylefont-family: Montserrat, sans-serif; color: rgb(255, 255, 255); font-size: 1.13rem; border-width: 2px; border-color: transparent; background: rgb(12, 55, 104); onclickformHandlers.upsellRedirect(true) classjs-redirect-button> BUY NOW /div-button> link-button stylefont-family: Montserrat, sans-serif; text-decoration: underline; color: rgb(52, 58, 64); font-size: 1.13rem; background: transparent; classjs-redirect-button onclickformHandlers.upsellRedirect(false)> No, Thanks. Proceed To Checkout /link-button> /div-full> /div-full> /div-full> /container> /div-full> /div-full> /block> /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}, 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})}, success: (data, status) >{if (data.success){redirectTo data.url;couponId data.coupon;pdfUrl data.file;formHandlers.setFormStepData();formHandlers.showSubscribedForm()}}}))}}, 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: 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:storefront,viewer:deploy,countDown:false,artificialCountdown:false,couponEnabled:false,coupon:null,discount:null,discounts:true,false,true,false,false,upsellDiscount:null,gdprEnabled:true,embedWidgetEnabled:null,policyUrls:,termsUrls:,socialShare:,twoButtonRedirect:false,mailCollectingEnabled:false,couponForm:/api/v1/p/collect/eh3BxD,emailCollectingType:,mandatoryFields:{value:firstName},{value:lastName},redirectUrl:/api/v1/p/redirect/eh3BxD,redirectUrls:https://www.amazon.com/s/?keywordsfairies for fairy garden outdoor&ieUTF8&field-asinB0913DC4ZG&rhi:aps,ssx:relevance,https://www.amazon.com/s/?keywordsgarden decor&ieUTF8&field-asinB08YK8C4VR&rhi:aps,ssx:relevance,https://www.amazon.com/s/?keywordsfairy garden&ieUTF8&field-asinB0913FQQFR&rhi:aps,ssx:relevance,https://www.amazon.com/s/?keywordshalloween garden decor&ieUTF8&field-asinB08YK8MC2D&rhi:aps,ssx:relevance,https://www.amazon.com/gp/aws/cart/add.html?ASIN.1B09QMF5C31&Quantity.11,productSlug:eh3BxD,media:{data:https://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/nlcsu9f7i7qg-349fn1ks1t63zo.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/9c5ely7ylwxa-349fn1ks1t63zq.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/9s3b8xcav33c-349fn1ks1t63zs.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/ll7hfzy7bf8n-349fn1ks1t63zu.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/n5axllfpgiuk-349fn1ks1t63zw.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/rivshj43z7u6-349fn1ks1t63zy.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/vy1oa6gp4jnd-349fn1ks1t6400.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/vncdzzd2z7v6-349fn1ks1t6402.jpg,isVideo:false},asinMedia:{asin:B0913DC4ZG,media:{data:https://portals.helium10.com/cdnimages/1543443262/0mbp69hsqthd-349fn1ks1t63zm.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/nlcsu9f7i7qg-349fn1ks1t63zo.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/9c5ely7ylwxa-349fn1ks1t63zq.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/9s3b8xcav33c-349fn1ks1t63zs.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/ll7hfzy7bf8n-349fn1ks1t63zu.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/n5axllfpgiuk-349fn1ks1t63zw.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/rivshj43z7u6-349fn1ks1t63zy.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/vy1oa6gp4jnd-349fn1ks1t6400.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/vncdzzd2z7v6-349fn1ks1t6402.jpg,isVideo:false}},{asin:B08YK8C4VR,media:{data:https://portals.helium10.com/cdnimages/1543443262/u7mreeoq8ogu-swk8zfb1ks1t6jmv.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/286yptvrbx94-swk8zfb1ks1t6jmx.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/rqklt9i7wt4n-swk8zfb1ks1t6jmz.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/6mjgg9s3dway-swk8zfb1ks1t6jn1.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/m5nbmcydxsqy-swk8zfb1ks1t6jn3.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/b7073u4ys1jn-swk8zfb1ks1t6jn5.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/pe45udbllbz2-swk8zfb1ks1t6jn7.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/qocolg9jaquy-swk8zfb1ks1t6jn9.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/eojis55x22td-swk8zfb1ks1t6jnb.jpg,isVideo:false}},{asin:B0913FQQFR,media:{data:https://portals.helium10.com/cdnimages/1543443262/wsz8dqycu12u-16vif1ks1t732a.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/02c1ugf10rrx-16vif1ks1t732c.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/ez84kcmw3dkn-16vif1ks1t732e.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/dviut0ggsdvd-16vif1ks1t732g.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/pv7sfm344z8b-16vif1ks1t732i.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/ntgfwurl0890-16vif1ks1t732k.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/xm7ttmg69dqw-16vif1ks1t732m.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/f07slarfo30y-16vif1ks1t732o.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/938ehz7uyl81-16vif1ks1t732q.jpg,isVideo:false}},{asin:B08YK8MC2D,media:{data:https://portals.helium10.com/cdnimages/1543443262/g908pgpxob7e-16vif1ks1t7jz4.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/pu0gze9xuga6-16vif1ks1t7jz6.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/a8fp6zsgcobe-16vif1ks1t7jz8.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/zb7lphc5w1uu-16vif1ks1t7jza.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/t4luiujknose-16vif1ks1t7jzc.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/gy3nspyoln08-16vif1ks1t7jze.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/wtddq85opa8j-16vif1ks1t7jzg.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/vi50ox0ihgbw-16vif1ks1t7jzi.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/yvydrb8g4aaq-16vif1ks1t7jzk.jpg,isVideo:false}},{asin:B09QMF5C31,media:{data:https://portals.helium10.com/cdnimages/1543443262/t6oqp0tve0xx-byyytt1l27d7n16.jpg,isVideo:false},{data:https://portals.helium10.com/cdnimages/1543443262/zay1oe6h0gy5-byyytt1l27d7n18.jpg,isVideo:false}},backgrounds:})/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
]