1<!doctype html> 2<html 3 4 lang="en" 5> 6 <head> 7 <meta name="p:domain_verify" content="207bae5a35d6cb16a7402a68e4bfa570"/> 8 <meta name="facebook-domain-verification" content="weoibcsugnio79d5q6iko2cpvvu6ov" /> 9<meta name="google-site-verification" content="5rZMEHWA8F7oUpA7iFeTzz0BduiClzQCrxjsZ4ZGo78" /> 10 <!-- Added by APP PLAZA --> 11 12 13 <!-- /Added by APP PLAZA --><link 14 rel="icon" 15 type="image/png" 16 href="//perfectlyposh.com/cdn/shop/files/favicon.png?crop=center&height=32&v=1778884143&width=32" 17 > 18 19 20 21 22<meta charset="utf-8"> 23<meta 24 http-equiv="X-UA-Compatible" 25 content="IE=edge" 26> 27<meta 28 name="viewport" 29 content="width=device-width,initial-scale=1" 30> 31<meta 32 name="view-transition" 33 content="same-origin" 34> 35<meta 36 name="theme-color" 37 content="" 38> 39 40<meta 41 property="og:site_name" 42 content="Perfectly Posh" 43> 44<meta 45 property="og:url" 46 content="https://perfectlyposh.com/pages/about" 47> 48<meta 49 property="og:title" 50 content="About" 51> 52<meta 53 property="og:type" 54 content="website" 55> 56<meta 57 property="og:description" 58 content="Good. Clean. Fun. Discover naturally based skincare, bath, body, hair, and self-care products made with feel-good ingredients. Cruelty-free, USA-made, and designed to help you look good, feel amazing, and enjoy every moment of self-care." 59><meta 60 property="og:image" 61 content="http://perfectlyposh.com/cdn/shop/files/image_10fb7a76-2b0f-4d5d-b0ad-14bac2877669.png?v=1782368732" 62 > 63 <meta 64 property="og:image:secure_url" 65 content="https://perfectlyposh.com/cdn/shop/files/image_10fb7a76-2b0f-4d5d-b0ad-14bac2877669.png?v=1782368732" 66 > 67 <meta 68 property="og:image:width" 69 content="1734" 70 > 71 <meta 72 property="og:image:height" 73 content="907" 74 ><meta 75 name="twitter:card" 76 content="summary_large_image" 77> 78<meta 79 name="twitter:title" 80 content="About" 81> 82<meta 83 name="twitter:description" 84 content="Good. Clean. Fun. Discover naturally based skincare, bath, body, hair, and self-care products made with feel-good ingredients. Cruelty-free, USA-made, and designed to help you look good, feel amazing, and enjoy every moment of self-care." 85> 86 87<title> 88 About 89 – Perfectly Posh</title> 90 91<link 92 rel="canonical" 93 href="https://perfectlyposh.com/pages/about" 94> 95 96 97<link href="//perfectlyposh.com/cdn/shop/t/1/assets/overflow-list.css?v=16727044177065489451777514867" as="style" rel="preload"> 98<link href="//perfectlyposh.com/cdn/shop/t/1/assets/base.css?v=110558660533795380521777514867" rel="stylesheet" type="text/css" media="all" /> 99 100<link 101 rel="preload" 102 as="font" 103 href="//perfectlyposh.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2" 104 type="font/woff2" 105 crossorigin 106 fetchpriority="low" 107 ><link 108 rel="preload" 109 as="font" 110 href="//perfectlyposh.com/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2" 111 type="font/woff2" 112 crossorigin 113 fetchpriority="low" 114 ><link 115 rel="preload" 116 as="font" 117 href="//perfectlyposh.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2" 118 type="font/woff2" 119 crossorigin 120 fetchpriority="low" 121 ><link 122 rel="preload" 123 as="font" 124 href="//perfectlyposh.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2" 125 type="font/woff2" 126 crossorigin 127 fetchpriority="low" 128 > 129 130
131<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 131
131
132<script type="importmap"> 133 { 134 "imports": { 135 "@theme/overflow-list": "//perfectlyposh.com/cdn/shop/t/1/assets/overflow-list.js?v=46858356770684902511777514867", 136 "@theme/product-title": "//perfectlyposh.com/cdn/shop/t/1/assets/product-title-truncation.js?v=81744426891537421781777514867", 137 "@theme/component": "//perfectlyposh.com/cdn/shop/t/1/assets/component.js?v=184240237101443119871777514867", 138 "@theme/dialog": "//perfectlyposh.com/cdn/shop/t/1/assets/dialog.js?v=150888536568694194021777514867", 139 "@theme/events": "//perfectlyposh.com/cdn/shop/t/1/assets/events.js?v=1118589085892804011777514867", 140 "@theme/focus": "//perfectlyposh.com/cdn/shop/t/1/assets/focus.js?v=60436577539430446401777514867", 141 "@theme/morph": "//perfectlyposh.com/cdn/shop/t/1/assets/morph.js?v=104045809772310330131777514867", 142 "@theme/paginated-list": "//perfectlyposh.com/cdn/shop/t/1/assets/paginated-list.js?v=95298315036233333871777514867", 143 "@theme/performance": "//perfectlyposh.com/cdn/shop/t/1/assets/performance.js?v=171015751390534793081777514867", 144 "@theme/product-form": "//perfectlyposh.com/cdn/shop/t/1/assets/product-form.js?v=142170751179338062901777514867", 145 "@theme/recently-viewed-products": "//perfectlyposh.com/cdn/shop/t/1/assets/recently-viewed-products.js?v=94729125001750262651777514867", 146 "@theme/scrolling": "//perfectlyposh.com/cdn/shop/t/1/assets/scrolling.js?v=162288454571026455011777514867", 147 "@theme/section-renderer": "//perfectlyposh.com/cdn/shop/t/1/assets/section-renderer.js?v=123311117485513785771777514867", 148 "@theme/section-hydration": "//perfectlyposh.com/cdn/shop/t/1/assets/section-hydration.js?v=108434990705342316311777514867", 149 "@theme/money-formatting": "//perfectlyposh.com/cdn/shop/t/1/assets/money-formatting.js?v=182191346160333327151777514867", 150 "@theme/utilities": "//perfectlyposh.com/cdn/shop/t/1/assets/utilities.js?v=28506172887375975941777514867", 151 "@theme/variant-picker": "//perfectlyposh.com/cdn/shop/t/1/assets/variant-picker.js?v=24924540959574313291777514867", 152 "@theme/media-gallery": "//perfectlyposh.com/cdn/shop/t/1/assets/media-gallery.js?v=14624021005636302161777514867", 153 "@theme/quick-add": "//perfectlyposh.com/cdn/shop/t/1/assets/quick-add.js?v=114575661933533593881777514867", 154 "@theme/paginated-list-aspect-ratio": "//perfectlyposh.com/cdn/shop/t/1/assets/paginated-list-aspect-ratio.js?v=25254270272143792451777514867", 155 "@theme/popover-polyfill": "//perfectlyposh.com/cdn/shop/t/1/assets/popover-polyfill.js?v=119029313658895111201777514867", 156 "@theme/component-quantity-selector": "//perfectlyposh.com/cdn/shop/t/1/assets/component-quantity-selector.js?v=67906657287482036641777514867", 157 "@theme/comparison-slider": "//perfectlyposh.com/cdn/shop/t/1/assets/comparison-slider.js?v=106705562947035711941777514867", 158 "@theme/sticky-add-to-cart": "//perfectlyposh.com/cdn/shop/t/1/assets/sticky-add-to-cart.js?v=48956925339276737091777514867", 159 "@theme/fly-to-cart": "//perfectlyposh.com/cdn/shop/t/1/assets/fly-to-cart.js?v=48483246440248933081777514867" 160 } 161 } 162</script>
162 163
164<script 165 src="//perfectlyposh.com/cdn/shop/t/1/assets/view-transitions.js?v=7106414069516106341777514867" 166 async 167 168></script>
168 169 170<link 171 rel="modulepreload" 172 href="//perfectlyposh.com/cdn/shop/t/1/assets/utilities.js?v=28506172887375975941777514867" 173 fetchpriority="low" 174> 175<link 176 rel="modulepreload" 177 href="//perfectlyposh.com/cdn/shop/t/1/assets/component.js?v=184240237101443119871777514867" 178 fetchpriority="low" 179> 180<link 181 rel="modulepreload" 182 href="//perfectlyposh.com/cdn/shop/t/1/assets/section-renderer.js?v=123311117485513785771777514867" 183 fetchpriority="low" 184> 185<link 186 rel="modulepreload" 187 href="//perfectlyposh.com/cdn/shop/t/1/assets/section-hydration.js?v=108434990705342316311777514867" 188 fetchpriority="low" 189> 190<link 191 rel="modulepreload" 192 href="//perfectlyposh.com/cdn/shop/t/1/assets/morph.js?v=104045809772310330131777514867" 193 fetchpriority="low" 194> 195 196 197 198<link 199 rel="modulepreload" 200 href="//perfectlyposh.com/cdn/shop/t/1/assets/focus.js?v=60436577539430446401777514867" 201 fetchpriority="low" 202> 203<link 204 rel="modulepreload" 205 href="//perfectlyposh.com/cdn/shop/t/1/assets/recently-viewed-products.js?v=94729125001750262651777514867" 206 fetchpriority="low" 207> 208<link 209 rel="modulepreload" 210 href="//perfectlyposh.com/cdn/shop/t/1/assets/scrolling.js?v=162288454571026455011777514867" 211 fetchpriority="low" 212> 213<link 214 rel="modulepreload" 215 href="//perfectlyposh.com/cdn/shop/t/1/assets/events.js?v=1118589085892804011777514867" 216 fetchpriority="low" 217>
218<script 219 src="//perfectlyposh.com/cdn/shop/t/1/assets/popover-polyfill.js?v=119029313658895111201777514867" 220 type="module" 221 fetchpriority="low" 222></script>
vendor: 1 bytes, line 222
222
223<script 224 src="//perfectlyposh.com/cdn/shop/t/1/assets/overflow-list.js?v=46858356770684902511777514867" 225 type="module" 226 fetchpriority="low" 227></script>
vendor: 1 bytes, line 227
227
228<script 229 src="//perfectlyposh.com/cdn/shop/t/1/assets/quick-add.js?v=114575661933533593881777514867" 230 type="module" 231 fetchpriority="low" 232></script>
232 233 234
234<script 235 src="//perfectlyposh.com/cdn/shop/t/1/assets/cart-discount.js?v=107077853990124422021777514867" 236 type="module" 237 fetchpriority="low" 238 ></script>
238 239 240
241<script 242 src="//perfectlyposh.com/cdn/shop/t/1/assets/dialog.js?v=150888536568694194021777514867" 243 type="module" 244 fetchpriority="low" 245></script>
vendor: 1 bytes, line 245
245
246<script 247 src="//perfectlyposh.com/cdn/shop/t/1/assets/variant-picker.js?v=24924540959574313291777514867" 248 type="module" 249 fetchpriority="low" 250></script>
vendor: 1 bytes, line 250
250
251<script 252 src="//perfectlyposh.com/cdn/shop/t/1/assets/product-card.js?v=28695665944407642501777514867" 253 type="module" 254 fetchpriority="low" 255></script>
vendor: 1 bytes, line 255
255
256<script 257 src="//perfectlyposh.com/cdn/shop/t/1/assets/product-form.js?v=142170751179338062901777514867" 258 type="module" 259 fetchpriority="low" 260></script>
vendor: 1 bytes, line 260
260
261<script 262 src="//perfectlyposh.com/cdn/shop/t/1/assets/fly-to-cart.js?v=48483246440248933081777514867" 263 type="module" 264 fetchpriority="low" 265></script>
vendor: 1 bytes, line 265
265
266<script 267 src="//perfectlyposh.com/cdn/shop/t/1/assets/accordion-custom.js?v=97588419883090888471777514867" 268 type="module" 269 fetchpriority="low" 270></script>
vendor: 1 bytes, line 270
270
271<script 272 src="//perfectlyposh.com/cdn/shop/t/1/assets/media.js?v=37825095869491791421777514867" 273 type="module" 274 fetchpriority="low" 275></script>
vendor: 1 bytes, line 275
275
276<script 277 src="//perfectlyposh.com/cdn/shop/t/1/assets/product-price.js?v=83480980452100801711777514867" 278 type="module" 279 fetchpriority="low" 280></script>
vendor: 1 bytes, line 280
280
281<script 282 src="//perfectlyposh.com/cdn/shop/t/1/assets/product-sku.js?v=121804655373531320511777514867" 283 type="module" 284 fetchpriority="low" 285></script>
vendor: 1 bytes, line 285
285
286<script 287 src="//perfectlyposh.com/cdn/shop/t/1/assets/product-title-truncation.js?v=81744426891537421781777514867" 288 type="module" 289 fetchpriority="low" 290></script>
vendor: 1 bytes, line 290
290
291<script 292 src="//perfectlyposh.com/cdn/shop/t/1/assets/product-inventory.js?v=81520546963552472391777514867" 293 type="module" 294 fetchpriority="low" 295></script>
vendor: 1 bytes, line 295
295
296<script 297 src="//perfectlyposh.com/cdn/shop/t/1/assets/show-more.js?v=94563802205717136101777514867" 298 type="module" 299 fetchpriority="low" 300></script>
vendor: 1 bytes, line 300
300
301<script 302 src="//perfectlyposh.com/cdn/shop/t/1/assets/slideshow.js?v=168726587398279102001777514867" 303 type="module" 304 fetchpriority="low" 305></script>
vendor: 1 bytes, line 305
305
306<script 307 src="//perfectlyposh.com/cdn/shop/t/1/assets/layered-slideshow.js?v=30135417790894624731777514867" 308 type="module" 309 fetchpriority="low" 310></script>
vendor: 1 bytes, line 310
310
311<script 312 src="//perfectlyposh.com/cdn/shop/t/1/assets/anchored-popover.js?v=95953304814728754461777514867" 313 type="module" 314 fetchpriority="low" 315></script>
vendor: 1 bytes, line 315
315
316<script 317 src="//perfectlyposh.com/cdn/shop/t/1/assets/floating-panel.js?v=151277338116891310371777514867" 318 type="module" 319 fetchpriority="low" 320></script>
vendor: 1 bytes, line 320
320
321<script 322 src="//perfectlyposh.com/cdn/shop/t/1/assets/video-background.js?v=25237992823806706551777514867" 323 type="module" 324 fetchpriority="low" 325></script>
vendor: 1 bytes, line 325
325
326<script 327 src="//perfectlyposh.com/cdn/shop/t/1/assets/component-quantity-selector.js?v=67906657287482036641777514867" 328 type="module" 329 fetchpriority="low" 330></script>
vendor: 1 bytes, line 330
330
331<script 332 src="//perfectlyposh.com/cdn/shop/t/1/assets/media-gallery.js?v=14624021005636302161777514867" 333 type="module" 334 fetchpriority="low" 335></script>
vendor: 1 bytes, line 335
335
336<script 337 src="//perfectlyposh.com/cdn/shop/t/1/assets/rte-formatter.js?v=40306132146590816021777514867" 338 type="module" 339 fetchpriority="low" 340></script>
vendor: 1 bytes, line 340
340
341<script 342 src="//perfectlyposh.com/cdn/shop/t/1/assets/volume-pricing.js?v=15442793518842484731777514867" 343 type="module" 344 fetchpriority="low" 345></script>
vendor: 1 bytes, line 345
345
346<script 347 src="//perfectlyposh.com/cdn/shop/t/1/assets/price-per-item.js?v=144512917617120124431777514867" 348 type="module" 349 fetchpriority="low" 350></script>
vendor: 1 bytes, line 350
350
351<script 352 src="//perfectlyposh.com/cdn/shop/t/1/assets/volume-pricing-info.js?v=94479640769665442661777514867" 353 type="module" 354 fetchpriority="low" 355></script>
355 356 357 358 359 360
361<script 362 src="//perfectlyposh.com/cdn/shop/t/1/assets/auto-close-details.js?v=58350291535404441581777514867" 363 defer="defer" 364></script>
364 365
366<script> 367 const Theme = { 368 translations: { 369 placeholder_image: `Placeholder image`, 370 added: `Added`, 371 recipient_form_fields_visible: `Recipient form fields are now visible`, 372 recipient_form_fields_hidden: `Recipient form fields are now hidden`, 373 recipient_form_error: `There was an error with the form submission`, 374 items_added_to_cart_one: `1 item added to cart`, 375 items_added_to_cart_other: `{{ count }} items added to cart`, 376 cart_count: `Total items in cart`, 377 }, 378 routes: { 379 cart_add_url: '/cart/add.js', 380 cart_change_url: '/cart/change', 381 cart_update_url: '/cart/update', 382 cart_url: '/cart', 383 predictive_search_url: '/search/suggest', 384 search_url: '/search', 385 }, 386 template: { 387 name: 'page.pf-258e770a', 388 }, 389 }; 390</script>
390 391<style data-shopify> 392@font-face { 393 font-family: Inter; 394 font-weight: 400; 395 font-style: normal; 396 font-display: swap; 397 src: url("//perfectlyposh.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"), 398 url("//perfectlyposh.com/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff"); 399} 400@font-face { 401 font-family: Inter; 402 font-weight: 700; 403 font-style: normal; 404 font-display: swap; 405 src: url("//perfectlyposh.com/cdn/fonts/inter/inter_n7.02711e6b374660cfc7915d1afc1c204e633421e4.woff2") format("woff2"), 406 url("//perfectlyposh.com/cdn/fonts/inter/inter_n7.6dab87426f6b8813070abd79972ceaf2f8d3b012.woff") format("woff"); 407} 408@font-face { 409 font-family: Inter; 410 font-weight: 400; 411 font-style: italic; 412 font-display: swap; 413 src: url("//perfectlyposh.com/cdn/fonts/inter/inter_i4.feae1981dda792ab80d117249d9c7e0f1017e5b3.woff2") format("woff2"), 414 url("//perfectlyposh.com/cdn/fonts/inter/inter_i4.62773b7113d5e5f02c71486623cf828884c85c6e.woff") format("woff"); 415} 416@font-face { 417 font-family: Inter; 418 font-weight: 700; 419 font-style: italic; 420 font-display: swap; 421 src: url("//perfectlyposh.com/cdn/fonts/inter/inter_i7.b377bcd4cc0f160622a22d638ae7e2cd9b86ea4c.woff2") format("woff2"), 422 url("//perfectlyposh.com/cdn/fonts/inter/inter_i7.7c69a6a34e3bb44fcf6f975857e13b9a9b25beb4.woff") format("woff"); 423} 424@font-face { 425 font-family: Inter; 426 font-weight: 500; 427 font-style: normal; 428 font-display: swap; 429 src: url("//perfectlyposh.com/cdn/fonts/inter/inter_n5.d7101d5e168594dd06f56f290dd759fba5431d97.woff2") format("woff2"), 430 url("//perfectlyposh.com/cdn/fonts/inter/inter_n5.5332a76bbd27da00474c136abb1ca3cbbf259068.woff") format("woff"); 431} 432@font-face { 433 font-family: Inter; 434 font-weight: 500; 435 font-style: italic; 436 font-display: swap; 437 src: url("//perfectlyposh.com/cdn/fonts/inter/inter_i5.4474f48e6ab2b1e01aa2b6d942dd27fa24f2d99f.woff2") format("woff2"), 438 url("//perfectlyposh.com/cdn/fonts/inter/inter_i5.493dbd6ee8e49f4ad722ebb68d92f201af2c2f56.woff") format("woff"); 439} 440 441 442 :root { 443 /* Page Layout */ 444 --sidebar-width: 25rem; 445 --narrow-content-width: 36rem; 446 --normal-content-width: 42rem; 447 --wide-content-width: 46rem; 448 --narrow-page-width: 90rem; 449 --normal-page-width: 120rem; 450 --wide-page-width: 150rem; 451 452 /* Section Heights */ 453 --section-height-small: 15rem; 454 --section-height-medium: 25rem; 455 --section-height-large: 35rem; 456 457 @media screen and (min-width: 40em) { 458 --section-height-small: 40svh; 459 --section-height-medium: 55svh; 460 --section-height-large: 70svh; 461 } 462 463 @media screen and (min-width: 60em) { 464 --section-height-small: 50svh; 465 --section-height-medium: 65svh; 466 --section-height-large: 80svh; 467 } 468 469 /* Letter spacing */ 470 --letter-spacing-sm: 0.06em; 471 --letter-spacing-md: 0.13em; 472 473 /* Font families */ 474 --font-body--family: Inter, sans-serif; 475 --font-body--style: normal; 476 --font-body--weight: 400; 477 --font-subheading--family: Inter, sans-serif; 478 --font-subheading--style: normal; 479 --font-subheading--weight: 500; 480 --font-heading--family: Inter, sans-serif; 481 --font-heading--style: normal; 482 --font-heading--weight: 700; 483 --font-accent--family: Inter, sans-serif; 484 --font-accent--style: normal; 485 --font-accent--weight: 700; 486 487 /* Margin sizes */ 488 --font-heading--spacing: 0.25em; 489 --font-h1--spacing: var(--font-heading--spacing); 490 --font-h2--spacing: var(--font-heading--spacing); 491 --font-h3--spacing: var(--font-heading--spacing); 492 --font-h4--spacing: var(--font-heading--spacing); 493 --font-h5--spacing: var(--font-heading--spacing); 494 --font-h6--spacing: var(--font-heading--spacing); 495 --font-paragraph--spacing: 0.5em; 496 497 /* Heading colors */ 498 --font-h1--color: var(--color-foreground-heading); 499 --font-h2--color: var(--color-foreground-heading); 500 --font-h3--color: var(--color-foreground-heading); 501 --font-h4--color: var(--color-foreground-heading); 502 --font-h5--color: var(--color-foreground-heading); 503 --font-h6--color: var(--color-foreground-heading); 504 505 /** Z-Index / Layering */ 506 --layer-section-background: -2; 507 --layer-lowest: -1; 508 --layer-base: 0; 509 --layer-flat: 1; 510 --layer-raised: 2; 511 --layer-heightened: 4; 512 --layer-sticky: 8; 513 --layer-window-overlay: 10; 514 --layer-header-menu: 12; 515 --layer-overlay: 16; 516 --layer-menu-drawer: 18; 517 --layer-temporary: 20; 518 519 /* Max-width / Measure */ 520 --max-width--body-normal: 32.5em; 521 --max-width--body-narrow: 22.75em; 522 523 --max-width--heading-normal: 32.5em; 524 --max-width--heading-narrow: 19.5em; 525 526 --max-width--display-normal: 13em; 527 --max-width--display-narrow: 9.75em; 528 --max-width--display-tight: 3.25em; 529 530 /* Letter-spacing / Tracking */ 531 --letter-spacing--display-tight: -0.03em; 532 --letter-spacing--display-normal: 0em; 533 --letter-spacing--display-loose: 0.03em; 534 535 --letter-spacing--heading-tight: -0.03em; 536 --letter-spacing--heading-normal: 0em; 537 --letter-spacing--heading-loose: 0.03em; 538 539 --letter-spacing--body-tight: -0.03em; 540 --letter-spacing--body-normal: 0em; 541 --letter-spacing--body-loose: 0.03em; 542 543 /* Line height / Leading */ 544 --line-height: 1; 545 546 --line-height--display-tight: 1; 547 --line-height--display-normal: 1.1; 548 --line-height--display-loose: 1.2; 549 550 --line-height--heading-tight: 1.15; 551 --line-height--heading-normal: 1.25; 552 --line-height--heading-loose: 1.35; 553 554 --line-height--body-tight: 1.2; 555 --line-height--body-normal: 1.4; 556 --line-height--body-loose: 1.6; 557 558 /* Typography presets */ 559 --font-size--paragraph: 0.875rem;--font-size--h1: clamp(3.0rem, 5.6vw, 3.5rem);--font-size--h2: clamp(2.25rem, 4.8vw, 3.0rem);--font-size--h3: 2.0rem;--font-size--h4: 1.5rem;--font-size--h5: 0.875rem;--font-size--h6: 0.75rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-loose);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-tight);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-loose);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-loose); 560 561 /* Hardcoded font sizes */ 562 --font-size--3xs: 0.625rem; 563 --font-size--2xs: 0.75rem; 564 --font-size--xs: 0.8125rem; 565 --font-size--sm: 0.875rem; 566 --font-size--md: 1rem; 567 --font-size--lg: 1.125rem; 568 --font-size--xl: 1.25rem; 569 --font-size--2xl: 1.5rem; 570 --font-size--3xl: 2rem; 571 --font-size--4xl: 2.5rem; 572 --font-size--5xl: 3rem; 573 --font-size--6xl: 3.5rem; 574 575 /* Menu font sizes */ 576 --menu-font-sm--size: 0.875rem; 577 --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14)); 578 --menu-font-md--size: 1rem; 579 --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16)); 580 --menu-font-lg--size: 1.125rem; 581 --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18)); 582 --menu-font-xl--size: 1.25rem; 583 --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20)); 584 --menu-font-2xl--size: 1.75rem; 585 --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28)); 586 587 /* Colors */ 588 --color-error: #8B0000; 589 --color-success: #006400; 590 --color-white: #FFFFFF; 591 --color-white-rgb: 255 255 255; 592 --color-black: #000000; 593 --color-instock: #3ED660; 594 --color-lowstock: #EE9441; 595 --color-outofstock: #C8C8C8; 596 597 /* Opacity */ 598 --opacity-5: 0.05; 599 --opacity-8: 0.08; 600 --opacity-10: 0.1; 601 --opacity-15: 0.15; 602 --opacity-20: 0.2;
603 --opacity-25: 0.25; 604 --opacity-30: 0.3; 605 --opacity-40: 0.4; 606 --opacity-50: 0.5; 607 --opacity-60: 0.6; 608 --opacity-70: 0.7; 609 --opacity-80: 0.8; 610 --opacity-85: 0.85; 611 --opacity-90: 0.9; 612 --opacity-subdued-text: var(--opacity-70); 613 614 --shadow-button: 0 2px 3px rgb(0 0 0 / 20%); 615 --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent); 616 617 /* Spacing */ 618 --margin-3xs: 0.125rem; 619 --margin-2xs: 0.3rem; 620 --margin-xs: 0.5rem; 621 --margin-sm: 0.7rem; 622 --margin-md: 0.8rem; 623 --margin-lg: 1rem; 624 --margin-xl: 1.25rem; 625 --margin-2xl: 1.5rem; 626 --margin-3xl: 1.75rem; 627 --margin-4xl: 2rem; 628 --margin-5xl: 3rem; 629 --margin-6xl: 5rem; 630 631 --scroll-margin: 50px; 632 633 --padding-3xs: 0.125rem; 634 --padding-2xs: 0.25rem; 635 --padding-xs: 0.5rem; 636 --padding-sm: 0.7rem; 637 --padding-md: 0.8rem; 638 --padding-lg: 1rem; 639 --padding-xl: 1.25rem; 640 --padding-2xl: 1.5rem; 641 --padding-3xl: 1.75rem; 642 --padding-4xl: 2rem; 643 --padding-5xl: 3rem; 644 --padding-6xl: 4rem; 645 646 --gap-3xs: 0.125rem; 647 --gap-2xs: 0.3rem; 648 --gap-xs: 0.5rem; 649 --gap-sm: 0.7rem; 650 --gap-md: 0.9rem; 651 --gap-lg: 1rem; 652 --gap-xl: 1.25rem; 653 --gap-2xl: 2rem; 654 --gap-3xl: 3rem; 655 656 --spacing-scale-sm: 0.6; 657 --spacing-scale-md: 0.7; 658 --spacing-scale-default: 1.0; 659 660 /* Checkout buttons gap */ 661 --checkout-button-gap: 10px; 662 663 /* Borders */ 664 --style-border-width: 1px; 665 --style-border-radius-xs: 0.2rem; 666 --style-border-radius-sm: 0.6rem; 667 --style-border-radius-md: 0.8rem; 668 --style-border-radius-50: 50%; 669 --style-border-radius-lg: 1rem; 670 --style-border-radius-pills: 40px; 671 --style-border-radius-inputs: 4px; 672 --style-border-radius-buttons-primary: 14px; 673 --style-border-radius-buttons-secondary: 14px; 674 --style-border-width-primary: 0px; 675 --style-border-width-secondary: 1px; 676 --style-border-width-inputs: 1px; 677 --style-border-radius-popover: 14px; 678 --style-border-popover: 1px none rgb(var(--color-border-rgb) / 50%); 679 --style-border-drawer: 1px none rgb(var(--color-border-rgb) / 50%); 680 --style-border-swatch-opacity: 10%; 681 --style-border-swatch-width: 1px; 682 --style-border-swatch-style: solid; 683 684 /* Animation */ 685 --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1); 686 --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1); 687 --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955); 688 --animation-speed-fast: 0.0625s; 689 --animation-speed: 0.125s; 690 --animation-speed-slow: 0.2s; 691 --animation-speed-medium: 0.15s; 692 --animation-easing: ease-in-out; 693 --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1); 694 --drawer-animation-speed: 0.2s; 695 --animation-values-slow: var(--animation-speed-slow) var(--animation-easing); 696 --animation-values: var(--animation-speed) var(--animation-easing); 697 --animation-values-fast: var(--animation-speed-fast) var(--animation-easing); 698 --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete; 699 --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94); 700 --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0); 701 --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); 702 --animation-timing-default: cubic-bezier(0, 0, 0.2, 1); 703 --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1); 704 --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1); 705 /* Spring definitions suffixed with perceptual duration (d<ms>) and bounce (b<%>)*/ 706 --spring-d300-b0-easing: linear(0, 0.0033 0.81%, 0.027 2.42%, 0.0916 4.84%, 0.4745 15.32%, 0.6422 20.97%, 0.7175, 0.7789, 0.8283 30.64%, 0.876, 0.9111 38.71%, 0.941, 0.9611 48.39%, 0.9707, 0.978 54.84%, 0.9885 62.1%, 0.9949 70.97%, 0.9982 82.26%, 0.9997 100%); 707 --spring-d300-b0-duration: 0.4980s; 708 --spring-d280-b0-easing: linear(0, 0.0044, 0.0164 1.85%, 0.085 4.63%, 0.4571 14.81%, 0.575 18.52%, 0.6505, 0.7148 24.07%, 0.7849, 0.8393, 0.8809 35.18%, 0.9189, 0.9453 44.44%, 0.9662, 0.9793 55.55%, 0.9894 62.95%, 0.995 71.28%, 0.9982 82.39%, 0.9997 99.98%); 709 --spring-d280-b0-duration: 0.4648s; 710 --spring-d260-b0-easing: linear(0, 0.0058, 0.0216 2.15%, 0.0748 4.29%, 0.4646 15.03%, 0.5673, 0.655, 0.7279, 0.7872, 0.8349, 0.8727 34.36%, 0.9107, 0.9379 42.95%, 0.9609 48.31%, 0.9778 54.76%, 0.9887 62.27%, 0.9948 70.86%, 0.9983 82.67%, 0.9997 99.85%); 711 --spring-d260-b0-duration: 0.4316s; 712 --spring-d220-b0-easing: linear( 713 0, 714 0.0093 1.37%, 715 0.0696 4.12%, 716 0.4667 15.09%, 717 0.6322 20.58%, 718 0.6986 23.32%, 719 0.7793 27.44%, 720 0.8219 30.18%, 721 0.8721, 722 0.9089 38.42%, 723 0.9427, 724 0.9644, 725 0.978 54.88%, 726 0.9881 61.74%, 727 0.9944 69.97%, 728 0.998 80.95%, 729 0.9996 98.78% 730 ); 731 --spring-d220-b0-duration: 0.3818s; 732 --spring-d180-b0-easing: linear(0, 0.0234, 0.0805 4.48%, 0.4865 15.68%, 0.6211 20.16%, 0.7696 26.88%, 0.8064 29.12%, 0.8646, 0.9063, 0.9358, 0.9563 47.04%, 0.9757, 0.9867 60.48%, 0.9941 69.44%, 0.9979 80.64%, 0.9996 98.56%); 733 --spring-d180-b0-duration: 0.2988s; 734 735 /* View transitions */ 736 /* View transition old */ 737 --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut; 738 739 /* View transition new */ 740 --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition; 741 742 /* Focus */ 743 --focus-outline-width: 0.09375rem; 744 --focus-outline-offset: 0.2em; 745 746 /* Badges */ 747 --badge-blob-padding-block: 1px; 748 --badge-blob-padding-inline: 12px 8px; 749 --badge-rectangle-padding-block: 1px; 750 --badge-rectangle-padding-inline: 6px; 751 @media screen and (min-width: 750px) { 752 --badge-blob-padding-block: 4px; 753 --badge-blob-padding-inline: 16px 12px; 754 --badge-rectangle-padding-block: 4px; 755 --badge-rectangle-padding-inline: 10px; 756 } 757 758 /* Icons */ 759 --icon-size-2xs: 0.6rem; 760 --icon-size-xs: 0.85rem; 761 --icon-size-sm: 1.25rem; 762 --icon-size-md: 1.375rem; 763 --icon-size-lg: 1.5rem; 764 --icon-stroke-width: 1.5px; 765 766 /* Input */ 767 --input-email-min-width: 200px; 768 --input-search-max-width: 650px; 769 --input-padding-y: 0.8rem; 770 --input-padding-x: 0.8rem; 771 --input-padding: var(--input-padding-y) var(--input-padding-x); 772 --input-box-shadow-width: var(--style-border-width-inputs); 773 --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border); 774 --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border); 775 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 776 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 777 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
778 --input-textarea-min-height: 55px; 779 780 /* Checkbox */ 781 --checkbox-size: 22px; 782 --checkbox-border-radius: 7px; 783 --checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55)); 784 --checkbox-label-padding: 8px; 785 786 @media screen and (min-width: 750px) { 787 --checkbox-size: 16px; 788 --checkbox-border-radius: 5px; 789 --checkbox-label-padding: 6px; 790 } 791 792 /* Button size */ 793 --button-size-sm: 30px; 794 --button-size-md: 36px; 795 --button-size: var(--minimum-touch-target); 796 --button-padding-inline: 24px; 797 --button-padding-block: 16px; 798 799 /* Button font-family */ 800 --button-font-family-primary: var(--font-body--family); 801 --button-font-family-secondary: var(--font-body--family); 802 803 /* Button text case */ 804 --button-text-case: ; 805 --button-text-case-primary: default; 806 --button-text-case-secondary: default; 807 808 /* Borders */ 809 --border-color: rgb(var(--color-border-rgb) / var(--opacity-50)); 810 --border-width-sm: 1px; 811 --border-width-md: 2px; 812 --border-width-lg: 5px; 813 --border-radius-sm: 0.25rem; 814 815 /* Drawers */ 816 --drawer-inline-padding: 25px; 817 --drawer-menu-inline-padding: 2.5rem; 818 --drawer-header-block-padding: 20px; 819 --drawer-content-block-padding: 10px; 820 --drawer-header-desktop-top: 0rem; 821 --drawer-padding: calc(var(--padding-sm) + 7px); 822 --drawer-height: 100dvh; 823 --drawer-width: 95vw; 824 --drawer-max-width: 500px; 825 826 /* Variant Picker Swatches */ 827 --variant-picker-swatch-width-unitless: 34; 828 --variant-picker-swatch-height-unitless: 34; 829 --variant-picker-swatch-width: 34px; 830 --variant-picker-swatch-height: 34px; 831 --variant-picker-swatch-radius: 32px; 832 --variant-picker-border-width: 1px; 833 --variant-picker-border-style: solid; 834 --variant-picker-border-opacity: 10%; 835 836 /* Variant Picker Buttons */ 837 --variant-picker-button-radius: 14px; 838 --variant-picker-button-border-width: 1px; 839 840 /* Slideshow */ 841 --slideshow-controls-size: 3.5rem; 842 --slideshow-controls-icon: 2rem; 843 --peek-next-slide-size: 3rem; 844 845 /* Utilities */ 846 --backdrop-opacity: 0.15; 847 --backdrop-color-rgb: var(--color-shadow-rgb); 848 --minimum-touch-target: 44px; 849 --disabled-opacity: 0.5; 850 --skeleton-opacity: 0.025; 851 852 /* Shapes */ 853 --shape--circle: circle(50% at center); 854 --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%); 855 --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); 856 --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883
856% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%); 857 858 /* Buy buttons */ 859 --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm)); 860 861 /* Card image width and height variables */ 862 --card-width-small: 10rem; 863 864 --height-small: 10rem; 865 --height-medium: 11.5rem; 866 --height-large: 13rem; 867 --height-full: 100vh; 868 869 @media screen and (min-width: 750px) { 870 --height-small: 17.5rem; 871 --height-medium: 21.25rem; 872 --height-large: 25rem; 873 } 874 875 /* Modal */ 876 --modal-max-height: 65dvh; 877 --quick-add-modal-height: min(38.5rem, 96vh); 878 --quick-add-modal-width: min(54rem, 96vw); 879 --quick-add-modal-gallery-width: 24rem; 880 881 /* Card styles for search */ 882 --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5)); 883 --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30)); 884 --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 885 886 /* Cart */ 887 --cart-primary-font-family: var(--font-body--family); 888 --cart-primary-font-style: var(--font-body--style); 889 --cart-primary-font-weight: var(--font-body--weight); 890 --cart-secondary-font-family: var(--font-secondary--family); 891 --cart-secondary-font-style: var(--font-secondary--style); 892 --cart-secondary-font-weight: var(--font-secondary--weight); 893 } 894</style> 895 896 897<style data-shopify> 898 899 900 :root, 901 902 903 904 .color-scheme-1 { 905 --color-background: rgb(255 255 255 / 1.0); 906 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 907 --color-background-rgb: 255 255 255; 908 --opacity-5-15: 0.05; 909 --opacity-10-25: 0.1; 910 --opacity-35-55: 0.35; 911 --opacity-40-60: 0.4; 912 --opacity-30-60: 0.3; 913 --color-foreground: rgb(0 0 0 / 0.81); 914 --color-foreground-rgb: 0 0 0; 915 --color-foreground-heading: rgb(0 0 0 / 1.0); 916 --color-foreground-heading-rgb: 0 0 0; 917 --color-primary: rgb(0 0 0 / 0.81); 918 --color-primary-rgb: 0 0 0; 919 --color-primary-hover: rgb(0 0 0 / 1.0); 920 --color-primary-hover-rgb: 0 0 0; 921 --color-border: rgb(0 0 0 / 0.06); 922 --color-border-rgb: 0 0 0; 923 --color-shadow: rgb(0 0 0 / 1.0); 924 --color-shadow-rgb: 0 0 0; 925 --color-primary-button-text: rgb(255 255 255 / 1.0); 926 --color-primary-button-background: rgb(0 0 0 / 1.0); 927 --color-primary-button-border: rgb(0 0 0 / 1.0); 928 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 929 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 930 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 931 --color-secondary-button-text: rgb(0 0 0 / 1.0); 932 --color-secondary-button-background: rgb(0 0 0 / 0.0); 933 --color-secondary-button-border: rgb(0 0 0 / 1.0); 934 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 935 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 936 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 937 --color-input-background: rgb(255 255 255 / 0.78); 938 --color-input-text: rgb(51 51 51 / 1.0); 939 --color-input-text-rgb: 51 51 51; 940 --color-input-border: rgb(223 223 223 / 1.0); 941 --color-input-hover-background: rgb(0 0 0 / 0.01); 942 --color-variant-background: rgb(255 255 255 / 1.0); 943 --color-variant-border: rgb(0 0 0 / 0.13); 944 --color-variant-text: rgb(0 0 0 / 1.0); 945 --color-variant-text-rgb: 0 0 0; 946 --color-variant-hover-background: rgb(245 245 245 / 1.0); 947 --color-variant-hover-text: rgb(0 0 0 / 1.0); 948 --color-variant-hover-border: rgb(230 230 230 / 1.0); 949 --color-selected-variant-background: rgb(0 0 0 / 1.0); 950 --color-selected-variant-border: rgb(0 0 0 / 1.0); 951 --color-selected-variant-text: rgb(255 255 255 / 1.0); 952 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 953 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 954 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 955 956 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 957 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 958 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 959 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 960 --font-h1--color: var(--color-foreground-heading); 961 --font-h2--color: var(--color-foreground-heading); 962 --font-h3--color: var(--color-foreground-heading); 963 --font-h4--color: var(--color-foreground-heading); 964 --font-h5--color: var(--color-foreground-heading); 965 --font-h6--color: var(--color-foreground-heading); 966 967 /* Shadows */ 968 969 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 970 971 972 --shadow-blur: 20px; 973 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 974 975 } 976 977 978 979 980 .color-scheme-2 {
981 --color-background: rgb(245 245 245 / 1.0); 982 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 983 --color-background-rgb: 245 245 245; 984 --opacity-5-15: 0.05; 985 --opacity-10-25: 0.1; 986 --opacity-35-55: 0.35; 987 --opacity-40-60: 0.4; 988 --opacity-30-60: 0.3; 989 --color-foreground: rgb(0 0 0 / 0.81); 990 --color-foreground-rgb: 0 0 0; 991 --color-foreground-heading: rgb(0 0 0 / 1.0); 992 --color-foreground-heading-rgb: 0 0 0; 993 --color-primary: rgb(0 0 0 / 0.81); 994 --color-primary-rgb: 0 0 0; 995 --color-primary-hover: rgb(255 255 255 / 1.0); 996 --color-primary-hover-rgb: 255 255 255; 997 --color-border: rgb(223 223 223 / 1.0); 998 --color-border-rgb: 223 223 223; 999 --color-shadow: rgb(0 0 0 / 1.0); 1000 --color-shadow-rgb: 0 0 0; 1001 --color-primary-button-text: rgb(255 255 255 / 1.0); 1002 --color-primary-button-background: rgb(0 0 0 / 1.0); 1003 --color-primary-button-border: rgb(0 0 0 / 1.0); 1004 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1005 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1006 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1007 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1008 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1009 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1010 --color-secondary-button-hover-text: rgb(0 0 0 / 1.0); 1011 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1012 --color-secondary-button-hover-border: rgb(51 51 51 / 0.73); 1013 --color-input-background: rgb(0 0 0 / 0.0); 1014 --color-input-text: rgb(0 0 0 / 0.53); 1015 --color-input-text-rgb: 0 0 0; 1016 --color-input-border: rgb(0 0 0 / 0.13); 1017 --color-input-hover-background: rgb(255 255 255 / 0.36); 1018 --color-variant-background: rgb(255 255 255 / 1.0); 1019 --color-variant-border: rgb(230 230 230 / 1.0); 1020 --color-variant-text: rgb(0 0 0 / 1.0); 1021 --color-variant-text-rgb: 0 0 0; 1022 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1023 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1024 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1025 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1026 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1027 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1028 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1029 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1030 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1031 1032 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1033 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1034 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1035 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1036 --font-h1--color: var(--color-foreground-heading); 1037 --font-h2--color: var(--color-foreground-heading); 1038 --font-h3--color: var(--color-foreground-heading); 1039 --font-h4--color: var(--color-foreground-heading); 1040 --font-h5--color: var(--color-foreground-heading); 1041 --font-h6--color: var(--color-foreground-heading); 1042 1043 /* Shadows */ 1044 1045 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1046 1047 1048 --shadow-blur: 20px; 1049 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1050 1051 } 1052 1053 1054 1055 1056 .color-scheme-3 { 1057 --color-background: rgb(238 241 234 / 1.0); 1058 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1059 --color-background-rgb: 238 241 234; 1060 --opacity-5-15: 0.05; 1061 --opacity-10-25: 0.1; 1062 --opacity-35-55: 0.35; 1063 --opacity-40-60: 0.4; 1064 --opacity-30-60: 0.3; 1065 --color-foreground: rgb(0 0 0 / 0.81); 1066 --color-foreground-rgb: 0 0 0; 1067 --color-foreground-heading: rgb(0 0 0 / 1.0); 1068 --color-foreground-heading-rgb: 0 0 0; 1069 --color-primary: rgb(0 0 0 / 0.81); 1070 --color-primary-rgb: 0 0 0; 1071 --color-primary-hover: rgb(0 0 0 / 1.0); 1072 --color-primary-hover-rgb: 0 0 0; 1073 --color-border: rgb(0 0 0 / 0.81); 1074 --color-border-rgb: 0 0 0; 1075 --color-shadow: rgb(0 0 0 / 1.0); 1076 --color-shadow-rgb: 0 0 0; 1077 --color-primary-button-text: rgb(255 255 255 / 1.0); 1078 --color-primary-button-background: rgb(0 0 0 / 1.0); 1079 --color-primary-button-border: rgb(0 0 0 / 1.0); 1080 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1081 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1082 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1083 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1084 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1085 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1086 --color-secondary-button-hover-text: rgb(0 0 0 / 0.81); 1087 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1088 --color-secondary-button-hover-border: rgb(0 0 0 / 0.81); 1089 --color-input-background: rgb(0 0 0 / 0.0); 1090 --color-input-text: rgb(0 0 0 / 0.81); 1091 --color-input-text-rgb: 0 0 0; 1092 --color-input-border: rgb(0 0 0 / 0.81); 1093 --color-input-hover-background: rgb(255 255 255 / 0.36); 1094 --color-variant-background: rgb(255 255 255 / 1.0); 1095 --color-variant-border: rgb(230 230 230 / 1.0); 1096 --color-variant-text: rgb(0 0 0 / 1.0); 1097 --color-variant-text-rgb: 0 0 0; 1098 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1099 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1100 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1101 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1102 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1103 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1104 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1105 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1106 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1107 1108 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1109 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1110 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1111 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1112 --font-h1--color: var(--color-foreground-heading); 1113 --font-h2--color: var(--color-foreground-heading); 1114 --font-h3--color: var(--color-foreground-heading); 1115 --font-h4--color: var(--color-foreground-heading); 1116 --font-h5--color: var(--color-foreground-heading); 1117 --font-h6--color: var(--color-foreground-heading); 1118 1119 /* Shadows */ 1120 1121 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1122 1123 1124 --shadow-blur: 20px; 1125 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1126 1127 } 1128 1129 1130 1131 1132 .color-scheme-4 { 1133 --color-background: rgb(225 237 245 / 1.0); 1134 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1135 --color-background-rgb: 225 237 245; 1136 --opacity-5-15: 0.05; 1137 --opacity-10-25: 0.1; 1138 --opacity-35-55: 0.35; 1139 --opacity-40-60: 0.4; 1140 --opacity-30-60: 0.3; 1141 --color-foreground: rgb(0 0 0 / 0.81); 1142 --color-foreground-rgb: 0 0 0; 1143 --color-foreground-heading: rgb(0 0 0 / 1.0); 1144 --color-foreground-heading-rgb: 0 0 0; 1145 --color-primary: rgb(0 0 0 / 0.81); 1146 --color-primary-rgb: 0 0 0; 1147 --color-primary-hover: rgb(0 0 0 / 1.0); 1148 --color-primary-hover-rgb: 0 0 0; 1149 --color-border: rgb(29 54 134 / 0.5); 1150 --color-border-rgb: 29 54 134; 1151 --color-shadow: rgb(0 0 0 / 1.0); 1152 --color-shadow-rgb: 0 0 0; 1153 --color-primary-button-text: rgb(255 255 255 / 1.0); 1154 --color-primary-button-background: rgb(0 0 0 / 1.0); 1155 --color-primary-button-border: rgb(29 54 134 / 1.0); 1156 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1157 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1158 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1159 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1160 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1161 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1162 --color-secondary-button-hover-text: rgb(0 0 0 / 0.81); 1163 --color-secondary-button-hover-background: rgb(255 255 255 / 0.36); 1164 --color-secondary-button-hover-border: rgb(0 0 0 / 0.81); 1165 --color-input-background: rgb(0 0 0 / 0.0); 1166 --color-input-text: rgb(0 0 0 / 0.81); 1167 --color-input-text-rgb: 0 0 0; 1168 --color-input-border: rgb(0 0 0 / 0.81); 1169 --color-input-hover-background: rgb(255 255 255 / 0.36); 1170 --color-variant-background: rgb(255 255 255 / 1.0); 1171 --color-variant-border: rgb(230 230 230 / 1.0); 1172 --color-variant-text: rgb(0 0 0 / 1.0); 1173 --color-variant-text-rgb: 0 0 0; 1174 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1175 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1176 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1177 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1178 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1179 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1180 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1181 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1182 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1183 1184 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1185 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1186 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1187 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1188 --font-h1--color: var(--color-foreground-heading); 1189 --font-h2--color: var(--color-foreground-heading); 1190 --font-h3--color: var(--color-foreground-heading); 1191 --font-h4--color: var(--color-foreground-heading); 1192 --font-h5--color: var(--color-foreground-heading); 1193 --font-h6--color: var(--color-foreground-heading); 1194 1195 /* Shadows */ 1196 1197 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1198 1199 1200 --shadow-blur: 20px; 1201 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1202 1203 } 1204 1205 1206 1207 1208 .color-scheme-5 { 1209 --color-background: rgb(51 51 51 / 1.0); 1210 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1211 --color-background-rgb: 51 51 51; 1212 --opacity-5-15: 0.15; 1213 --opacity-10-25: 0.25; 1214 --opacity-35-55: 0.55; 1215 --opacity-40-60: 0.6; 1216 --opacity-30-60: 0.6; 1217 --color-foreground: rgb(255 255 255 / 1.0); 1218 --color-foreground-rgb: 255 255 255; 1219 --color-foreground-heading: rgb(255 255 255 / 1.0); 1220 --color-foreground-heading-rgb: 255 255 255; 1221 --color-primary: rgb(255 255 255 / 1.0); 1222 --color-primary-rgb: 255 255 255; 1223 --color-primary-hover: rgb(255 255 255 / 0.69); 1224 --color-primary-hover-rgb: 255 255 255; 1225 --color-border: rgb(255 255 255 / 0.69); 1226 --color-border-rgb: 255 255 255; 1227 --color-shadow: rgb(0 0 0 / 1.0); 1228 --color-shadow-rgb: 0 0 0; 1229 --color-primary-button-text: rgb(0 0 0 / 1.0); 1230 --color-primary-button-background: rgb(255 255 255 / 1.0); 1231 --color-primary-button-border: rgb(255 255 255 / 1.0); 1232 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1233 --color-primary-button-hover-background: rgb(0 0 0 / 1.0); 1234 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1235 --color-secondary-button-text: rgb(255 255 255 / 1.0); 1236 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1237 --color-secondary-button-border: rgb(255 255 255 / 0.69); 1238 --color-secondary-button-hover-text: rgb(255 255 255 / 0.93); 1239 --color-secondary-button-hover-background: rgb(255 255 255 / 0.04); 1240 --color-secondary-button-hover-border: rgb(255 255 255 / 0.69); 1241 --color-input-background: rgb(51 51 51 / 1.0); 1242 --color-input-text: rgb(255 255 255 / 0.93); 1243 --color-input-text-rgb: 255 255 255; 1244 --color-input-border: rgb(255 255 255 / 0.69); 1245 --color-input-hover-background: rgb(255 255 255 / 0.04); 1246 --color-variant-background: rgb(255 255 255 / 1.0); 1247 --color-variant-border: rgb(230 230 230 / 1.0); 1248 --color-variant-text: rgb(0 0 0 / 1.0); 1249 --color-variant-text-rgb: 0 0 0; 1250 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1251 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1252 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1253 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1254 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1255 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1256 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1257 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1258 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1259 1260 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1261 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1262 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1263 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1264 --font-h1--color: var(--color-foreground-heading); 1265 --font-h2--color: var(--color-foreground-heading); 1266 --font-h3--color: var(--color-foreground-heading); 1267 --font-h4--color: var(--color-foreground-heading); 1268 --font-h5--color: var(--color-foreground-heading); 1269 --font-h6--color: var(--color-foreground-heading); 1270 1271 /* Shadows */ 1272 1273 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1274 1275 1276 --shadow-blur: 20px; 1277 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1278 1279 } 1280 1281 1282 1283 1284 .color-scheme-6 { 1285 --color-background: rgb(0 0 0 / 0.0); 1286 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1287 --color-background-rgb: 0 0 0; 1288 --opacity-5-15: 0.15; 1289 --opacity-10-25: 0.25; 1290 --opacity-35-55: 0.55; 1291 --opacity-40-60: 0.6; 1292 --opacity-30-60: 0.6; 1293 --color-foreground: rgb(255 255 255 / 1.0); 1294 --color-foreground-rgb: 255 255 255; 1295 --color-foreground-heading: rgb(255 255 255 / 1.0); 1296 --color-foreground-heading-rgb: 255 255 255; 1297 --color-primary: rgb(255 255 255 / 1.0); 1298 --color-primary-rgb: 255 255 255; 1299 --color-primary-hover: rgb(255 255 255 / 0.69); 1300 --color-primary-hover-rgb: 255 255 255; 1301 --color-border: rgb(230 230 230 / 1.0); 1302 --color-border-rgb: 230 230 230; 1303 --color-shadow: rgb(0 0 0 / 1.0); 1304 --color-shadow-rgb: 0 0 0; 1305 --color-primary-button-text: rgb(0 0 0 / 1.0); 1306 --color-primary-button-background: rgb(255 255 255 / 1.0); 1307 --color-primary-button-border: rgb(255 255 255 / 1.0); 1308 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1309 --color-primary-button-hover-background: rgb(0 0 0 / 1.0); 1310 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1311 --color-secondary-button-text: rgb(255 255 255 / 1.0);
1311 1312 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1313 --color-secondary-button-border: rgb(255 255 255 / 1.0); 1314 --color-secondary-button-hover-text: rgb(255 255 255 / 1.0); 1315 --color-secondary-button-hover-background: rgb(255 255 255 / 0.08); 1316 --color-secondary-button-hover-border: rgb(255 255 255 / 1.0); 1317 --color-input-background: rgb(255 255 255 / 1.0); 1318 --color-input-text: rgb(0 0 0 / 0.53); 1319 --color-input-text-rgb: 0 0 0; 1320 --color-input-border: rgb(0 0 0 / 0.13); 1321 --color-input-hover-background: rgb(250 250 250 / 1.0); 1322 --color-variant-background: rgb(255 255 255 / 1.0); 1323 --color-variant-border: rgb(230 230 230 / 1.0); 1324 --color-variant-text: rgb(0 0 0 / 1.0); 1325 --color-variant-text-rgb: 0 0 0; 1326 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1327 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1328 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1329 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1330 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1331 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1332 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1333 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1334 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1335 1336 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1337 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1338 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1339 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1340 --font-h1--color: var(--color-foreground-heading); 1341 --font-h2--color: var(--color-foreground-heading); 1342 --font-h3--color: var(--color-foreground-heading); 1343 --font-h4--color: var(--color-foreground-heading); 1344 --font-h5--color: var(--color-foreground-heading); 1345 --font-h6--color: var(--color-foreground-heading); 1346 1347 /* Shadows */ 1348 1349 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1350 1351 1352 --shadow-blur: 20px; 1353 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1354 1355 } 1356 1357 1358 1359 1360 .color-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7 { 1361 --color-background: rgb(0 0 0 / 0.0); 1362 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1363 --color-background-rgb: 0 0 0; 1364 --opacity-5-15: 0.15; 1365 --opacity-10-25: 0.25; 1366 --opacity-35-55: 0.55; 1367 --opacity-40-60: 0.6; 1368 --opacity-30-60: 0.6; 1369 --color-foreground: rgb(0 0 0 / 1.0); 1370 --color-foreground-rgb: 0 0 0; 1371 --color-foreground-heading: rgb(0 0 0 / 1.0); 1372 --color-foreground-heading-rgb: 0 0 0; 1373 --color-primary: rgb(0 0 0 / 1.0); 1374 --color-primary-rgb: 0 0 0; 1375 --color-primary-hover: rgb(0 0 0 / 0.53); 1376 --color-primary-hover-rgb: 0 0 0; 1377 --color-border: rgb(230 230 230 / 1.0); 1378 --color-border-rgb: 230 230 230; 1379 --color-shadow: rgb(0 0 0 / 1.0); 1380 --color-shadow-rgb: 0 0 0; 1381 --color-primary-button-text: rgb(255 255 255 / 1.0); 1382 --color-primary-button-background: rgb(0 0 0 / 1.0); 1383 --color-primary-button-border: rgb(0 0 0 / 1.0); 1384 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1385 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1386 --color-primary-button-hover-border: rgb(51 51 51 / 1.0); 1387 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1388 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1389 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1390 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1391 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1392 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1393 --color-input-background: rgb(255 255 255 / 1.0); 1394 --color-input-text: rgb(0 0 0 / 0.53); 1395 --color-input-text-rgb: 0 0 0; 1396 --color-input-border: rgb(0 0 0 / 0.13); 1397 --color-input-hover-background: rgb(250 250 250 / 1.0); 1398 --color-variant-background: rgb(255 255 255 / 1.0); 1399 --color-variant-border: rgb(230 230 230 / 1.0); 1400 --color-variant-text: rgb(0 0 0 / 1.0); 1401 --color-variant-text-rgb: 0 0 0; 1402 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1403 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1404 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1405 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1406 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1407 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1408 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1409 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1410 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1411 1412 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1413 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1414 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1415 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1416 --font-h1--color: var(--color-foreground-heading); 1417 --font-h2--color: var(--color-foreground-heading); 1418 --font-h3--color: var(--color-foreground-heading); 1419 --font-h4--color: var(--color-foreground-heading); 1420 --font-h5--color: var(--color-foreground-heading); 1421 --font-h6--color: var(--color-foreground-heading); 1422 1423 /* Shadows */ 1424 1425 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1426 1427 1428 --shadow-blur: 20px; 1429 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1430 1431 } 1432 1433 1434 1435 1436 .color-scheme-c014d933-41a8-4367-8672-604285ff2bbd { 1437 --color-background: rgb(209 229 213 / 1.0); 1438 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1439 --color-background-rgb: 209 229 213; 1440 --opacity-5-15: 0.05; 1441 --opacity-10-25: 0.1; 1442 --opacity-35-55: 0.35; 1443 --opacity-40-60: 0.4; 1444 --opacity-30-60: 0.3; 1445 --color-foreground: rgb(0 0 0 / 0.81); 1446 --color-foreground-rgb: 0 0 0; 1447 --color-foreground-heading: rgb(0 0 0 / 1.0); 1448 --color-foreground-heading-rgb: 0 0 0; 1449 --color-primary: rgb(0 0 0 / 0.81); 1450 --color-primary-rgb: 0 0 0; 1451 --color-primary-hover: rgb(0 0 0 / 1.0); 1452 --color-primary-hover-rgb: 0 0 0; 1453 --color-border: rgb(0 0 0 / 0.06); 1454 --color-border-rgb: 0 0 0; 1455 --color-shadow: rgb(0 0 0 / 1.0); 1456 --color-shadow-rgb: 0 0 0; 1457 --color-primary-button-text: rgb(255 255 255 / 1.0); 1458 --color-primary-button-background: rgb(0 0 0 / 1.0); 1459 --color-primary-button-border: rgb(0 0 0 / 1.0); 1460 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1461 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1462 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1463 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1464 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1465 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1466 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1467 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1468 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1469 --color-input-background: rgb(255 255 255 / 0.78); 1470 --color-input-text: rgb(51 51 51 / 1.0); 1471 --color-input-text-rgb: 51 51 51; 1472 --color-input-border: rgb(223 223 223 / 1.0); 1473 --color-input-hover-background: rgb(0 0 0 / 0.01); 1474 --color-variant-background: rgb(255 255 255 / 1.0); 1475 --color-variant-border: rgb(0 0 0 / 0.13); 1476 --color-variant-text: rgb(0 0 0 / 1.0); 1477 --color-variant-text-rgb: 0 0 0; 1478 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1479 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1480 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1481 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1482 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1483 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1484 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1485 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1486 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1487 1488 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1489 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1490 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1491 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1492 --font-h1--color: var(--color-foreground-heading); 1493 --font-h2--color: var(--color-foreground-heading); 1494 --font-h3--color: var(--color-foreground-heading); 1495 --font-h4--color: var(--color-foreground-heading); 1496 --font-h5--color: var(--color-foreground-heading); 1497 --font-h6--color: var(--color-foreground-heading); 1498 1499 /* Shadows */ 1500 1501 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1502 1503 1504 --shadow-blur: 20px; 1505 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1506 1507 } 1508 1509 1510 1511 1512 .color-scheme-f8ca35a6-e5e1-4424-97e1-12faa822d27c { 1513 --color-background: rgb(252 245 235 / 1.0); 1514 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1515 --color-background-rgb: 252 245 235; 1516 --opacity-5-15: 0.05; 1517 --opacity-10-25: 0.1; 1518 --opacity-35-55: 0.35; 1519 --opacity-40-60: 0.4; 1520 --opacity-30-60: 0.3; 1521 --color-foreground: rgb(0 0 0 / 0.81); 1522 --color-foreground-rgb: 0 0 0; 1523 --color-foreground-heading: rgb(0 0 0 / 1.0); 1524 --color-foreground-heading-rgb: 0 0 0; 1525 --color-primary: rgb(0 0 0 / 0.81); 1526 --color-primary-rgb: 0 0 0; 1527 --color-primary-hover: rgb(0 0 0 / 1.0); 1528 --color-primary-hover-rgb: 0 0 0; 1529 --color-border: rgb(0 0 0 / 0.06); 1530 --color-border-rgb: 0 0 0; 1531 --color-shadow: rgb(0 0 0 / 1.0); 1532 --color-shadow-rgb: 0 0 0; 1533 --color-primary-button-text: rgb(255 255 255 / 1.0); 1534 --color-primary-button-background: rgb(0 0 0 / 1.0); 1535 --color-primary-button-border: rgb(0 0 0 / 1.0); 1536 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1537 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1538 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1539 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1540 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1541 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1542 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1543 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1544 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1545 --color-input-background: rgb(255 255 255 / 0.78); 1546 --color-input-text: rgb(51 51 51 / 1.0); 1547 --color-input-text-rgb: 51 51 51; 1548 --color-input-border: rgb(223 223 223 / 1.0); 1549 --color-input-hover-background: rgb(0 0 0 / 0.01); 1550 --color-variant-background: rgb(255 255 255 / 1.0); 1551 --color-variant-border: rgb(0 0 0 / 0.13); 1552 --color-variant-text: rgb(0 0 0 / 1.0); 1553 --color-variant-text-rgb: 0 0 0; 1554 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1555 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1556 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1557 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1558 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1559 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1560 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1561 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1562 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1563 1564 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1565 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1566 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1567 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1568 --font-h1--color: var(--color-foreground-heading); 1569 --font-h2--color: var(--color-foreground-heading); 1570 --font-h3--color: var(--color-foreground-heading); 1571 --font-h4--color: var(--color-foreground-heading); 1572 --font-h5--color: var(--color-foreground-heading); 1573 --font-h6--color: var(--color-foreground-heading); 1574 1575 /* Shadows */ 1576 1577 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1578 1579 1580 --shadow-blur: 20px; 1581 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1582 1583 } 1584 1585 1586 1587 1588 .color-scheme-31e8c502-e6f1-4269-a9db-1d6b61739a40 { 1589 --color-background: rgb(244 145 161 / 1.0); 1590 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1591 --color-background-rgb: 244 145 161; 1592 --opacity-5-15: 0.05; 1593 --opacity-10-25: 0.1; 1594 --opacity-35-55: 0.35; 1595 --opacity-40-60: 0.4; 1596 --opacity-30-60: 0.3; 1597 --color-foreground: rgb(255 255 255 / 0.81); 1598 --color-foreground-rgb: 255 255 255; 1599 --color-foreground-heading: rgb(255 255 255 / 1.0); 1600 --color-foreground-heading-rgb: 255 255 255; 1601 --color-primary: rgb(255 255 255 / 0.81); 1602 --color-primary-rgb: 255 255 255; 1603 --color-primary-hover: rgb(228 61 88 / 1.0); 1604 --color-primary-hover-rgb: 228 61 88; 1605 --color-border: rgb(0 0 0 / 0.06); 1606 --color-border-rgb: 0 0 0; 1607 --color-shadow: rgb(0 0 0 / 1.0); 1608 --color-shadow-rgb: 0 0 0; 1609 --color-primary-button-text: rgb(0 0 0 / 1.0); 1610 --color-primary-button-background: rgb(255 255 255 / 1.0); 1611 --color-primary-button-border: rgb(0 0 0 / 1.0); 1612 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1613 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1614 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1615 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1616 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1617 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1618 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1619 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1620 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1621 --color-input-background: rgb(255 255 255 / 0.78); 1622 --color-input-text: rgb(51 51 51 / 1.0); 1623 --color-input-text-rgb: 51 51 51; 1624 --color-input-border: rgb(223 223 223 / 1.0); 1625 --color-input-hover-background: rgb(0 0 0 / 0.01); 1626 --color-variant-background: rgb(255 255 255 / 1.0); 1627 --color-variant-border: rgb(0 0 0 / 0.13); 1628 --color-variant-text: rgb(0 0 0 / 1.0); 1629 --color-variant-text-rgb: 0 0 0; 1630 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1631 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1632 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1633 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1634 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1635 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1636 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1637 --color-selected-variant-hover-text:
1637rgb(255 255 255 / 1.0); 1638 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1639 1640 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1641 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1642 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1643 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1644 --font-h1--color: var(--color-foreground-heading); 1645 --font-h2--color: var(--color-foreground-heading); 1646 --font-h3--color: var(--color-foreground-heading); 1647 --font-h4--color: var(--color-foreground-heading); 1648 --font-h5--color: var(--color-foreground-heading); 1649 --font-h6--color: var(--color-foreground-heading); 1650 1651 /* Shadows */ 1652 1653 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1654 1655 1656 --shadow-blur: 20px; 1657 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1658 1659 } 1660 1661 1662 1663 1664 .color-scheme-75163c7b-dd83-42dc-af2f-12c2bf80ab59 { 1665 --color-background: rgb(240 243 237 / 1.0); 1666 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1667 --color-background-rgb: 240 243 237; 1668 --opacity-5-15: 0.05; 1669 --opacity-10-25: 0.1; 1670 --opacity-35-55: 0.35; 1671 --opacity-40-60: 0.4; 1672 --opacity-30-60: 0.3; 1673 --color-foreground: rgb(0 0 0 / 0.81); 1674 --color-foreground-rgb: 0 0 0; 1675 --color-foreground-heading: rgb(0 0 0 / 1.0); 1676 --color-foreground-heading-rgb: 0 0 0; 1677 --color-primary: rgb(0 0 0 / 0.81); 1678 --color-primary-rgb: 0 0 0; 1679 --color-primary-hover: rgb(0 0 0 / 1.0); 1680 --color-primary-hover-rgb: 0 0 0; 1681 --color-border: rgb(0 0 0 / 0.06); 1682 --color-border-rgb: 0 0 0; 1683 --color-shadow: rgb(0 0 0 / 1.0); 1684 --color-shadow-rgb: 0 0 0; 1685 --color-primary-button-text: rgb(255 255 255 / 1.0); 1686 --color-primary-button-background: rgb(0 0 0 / 1.0); 1687 --color-primary-button-border: rgb(0 0 0 / 1.0); 1688 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1689 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1690 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1691 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1692 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1693 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1694 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1695 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1696 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1697 --color-input-background: rgb(255 255 255 / 0.78); 1698 --color-input-text: rgb(51 51 51 / 1.0); 1699 --color-input-text-rgb: 51 51 51; 1700 --color-input-border: rgb(223 223 223 / 1.0); 1701 --color-input-hover-background: rgb(0 0 0 / 0.01); 1702 --color-variant-background: rgb(255 255 255 / 1.0); 1703 --color-variant-border: rgb(0 0 0 / 0.13); 1704 --color-variant-text: rgb(0 0 0 / 1.0); 1705 --color-variant-text-rgb: 0 0 0; 1706 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1707 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1708 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1709 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1710 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1711 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1712 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1713 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1714 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1715 1716 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1717 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1718 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1719 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1720 --font-h1--color: var(--color-foreground-heading); 1721 --font-h2--color: var(--color-foreground-heading); 1722 --font-h3--color: var(--color-foreground-heading); 1723 --font-h4--color: var(--color-foreground-heading); 1724 --font-h5--color: var(--color-foreground-heading); 1725 --font-h6--color: var(--color-foreground-heading); 1726 1727 /* Shadows */ 1728 1729 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1730 1731 1732 --shadow-blur: 20px; 1733 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1734 1735 } 1736 1737 1738 1739 1740 .color-scheme-7428e935-b223-4598-9dc4-78c24b04e5d6 { 1741 --color-background: rgb(211 18 102 / 1.0); 1742 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1743 --color-background-rgb: 211 18 102; 1744 --opacity-5-15: 0.05; 1745 --opacity-10-25: 0.1; 1746 --opacity-35-55: 0.35; 1747 --opacity-40-60: 0.4; 1748 --opacity-30-60: 0.3; 1749 --color-foreground: rgb(255 255 255 / 0.81); 1750 --color-foreground-rgb: 255 255 255; 1751 --color-foreground-heading: rgb(255 255 255 / 1.0); 1752 --color-foreground-heading-rgb: 255 255 255; 1753 --color-primary: rgb(255 255 255 / 0.81); 1754 --color-primary-rgb: 255 255 255; 1755 --color-primary-hover: rgb(255 179 212 / 1.0); 1756 --color-primary-hover-rgb: 255 179 212; 1757 --color-border: rgb(0 0 0 / 0.06); 1758 --color-border-rgb: 0 0 0; 1759 --color-shadow: rgb(0 0 0 / 1.0); 1760 --color-shadow-rgb: 0 0 0; 1761 --color-primary-button-text: rgb(255 255 255 / 1.0); 1762 --color-primary-button-background: rgb(255 255 255 / 1.0); 1763 --color-primary-button-border: rgb(0 0 0 / 1.0); 1764 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1765 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1766 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1767 --color-secondary-button-text: rgb(255 255 255 / 1.0); 1768 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1769 --color-secondary-button-border: rgb(255 255 255 / 1.0); 1770 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1771 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1772 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1773 --color-input-background: rgb(255 255 255 / 0.78); 1774 --color-input-text: rgb(51 51 51 / 1.0); 1775 --color-input-text-rgb: 51 51 51; 1776 --color-input-border: rgb(223 223 223 / 1.0); 1777 --color-input-hover-background: rgb(0 0 0 / 0.01); 1778 --color-variant-background: rgb(255 255 255 / 1.0); 1779 --color-variant-border: rgb(0 0 0 / 0.13); 1780 --color-variant-text: rgb(0 0 0 / 1.0); 1781 --color-variant-text-rgb: 0 0 0; 1782 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1783 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1784 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1785 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1786 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1787 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1788 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1789 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1790 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1791 1792 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1793 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1794 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1795 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1796 --font-h1--color: var(--color-foreground-heading); 1797 --font-h2--color: var(--color-foreground-heading); 1798 --font-h3--color: var(--color-foreground-heading); 1799 --font-h4--color: var(--color-foreground-heading); 1800 --font-h5--color: var(--color-foreground-heading); 1801 --font-h6--color: var(--color-foreground-heading); 1802 1803 /* Shadows */ 1804 1805 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1806 1807 1808 --shadow-blur: 20px; 1809 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1810 1811 } 1812 1813 1814 1815 1816 .color-scheme-33425aff-5b18-4143-8aae-041d65a8b7ec { 1817 --color-background: rgb(255 255 255 / 1.0); 1818 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1819 --color-background-rgb: 255 255 255; 1820 --opacity-5-15: 0.05; 1821 --opacity-10-25: 0.1; 1822 --opacity-35-55: 0.35; 1823 --opacity-40-60: 0.4; 1824 --opacity-30-60: 0.3; 1825 --color-foreground: rgb(211 18 102 / 1.0); 1826 --color-foreground-rgb: 211 18 102; 1827 --color-foreground-heading: rgb(211 18 102 / 1.0); 1828 --color-foreground-heading-rgb: 211 18 102; 1829 --color-primary: rgb(211 18 102 / 1.0); 1830 --color-primary-rgb: 211 18 102; 1831 --color-primary-hover: rgb(255 179 212 / 1.0); 1832 --color-primary-hover-rgb: 255 179 212; 1833 --color-border: rgb(0 0 0 / 0.06); 1834 --color-border-rgb: 0 0 0; 1835 --color-shadow: rgb(0 0 0 / 1.0); 1836 --color-shadow-rgb: 0 0 0; 1837 --color-primary-button-text: rgb(255 255 255 / 1.0); 1838 --color-primary-button-background: rgb(211 18 102 / 1.0); 1839 --color-primary-button-border: rgb(0 0 0 / 1.0); 1840 --color-primary-button-hover-text: rgb(211 18 102 / 1.0); 1841 --color-primary-button-hover-background: rgb(255 255 255 / 1.0); 1842 --color-primary-button-hover-border: rgb(211 18 102 / 1.0); 1843 --color-secondary-button-text: rgb(211 18 102 / 1.0); 1844 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1845 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1846 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1847 --color-secondary-button-hover-background: rgb(255 179 212 / 1.0); 1848 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1849 --color-input-background: rgb(255 255 255 / 0.78); 1850 --color-input-text: rgb(51 51 51 / 1.0); 1851 --color-input-text-rgb: 51 51 51; 1852 --color-input-border: rgb(223 223 223 / 1.0); 1853 --color-input-hover-background: rgb(0 0 0 / 0.01); 1854 --color-variant-background: rgb(255 255 255 / 1.0); 1855 --color-variant-border: rgb(0 0 0 / 0.13); 1856 --color-variant-text: rgb(0 0 0 / 1.0); 1857 --color-variant-text-rgb: 0 0 0; 1858 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1859 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1860 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1861 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1862 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1863 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1864 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1865 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1866 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1867 1868 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1869 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1870 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1871 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1872 --font-h1--color: var(--color-foreground-heading); 1873 --font-h2--color: var(--color-foreground-heading); 1874 --font-h3--color: var(--color-foreground-heading); 1875 --font-h4--color: var(--color-foreground-heading); 1876 --font-h5--color: var(--color-foreground-heading); 1877 --font-h6--color: var(--color-foreground-heading); 1878 1879 /* Shadows */ 1880 1881 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1882 1883 1884 --shadow-blur: 20px; 1885 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1886 1887 } 1888 1889 1890 1891 1892 .color-scheme-9849422c-7564-4742-9a4a-e1175289f620 { 1893 --color-background: rgb(253 248 245 / 1.0); 1894 /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */ 1895 --color-background-rgb: 253 248 245; 1896 --opacity-5-15: 0.05; 1897 --opacity-10-25: 0.1; 1898 --opacity-35-55: 0.35; 1899 --opacity-40-60: 0.4; 1900 --opacity-30-60: 0.3; 1901 --color-foreground: rgb(0 0 0 / 0.81); 1902 --color-foreground-rgb: 0 0 0; 1903 --color-foreground-heading: rgb(0 0 0 / 1.0); 1904 --color-foreground-heading-rgb: 0 0 0; 1905 --color-primary: rgb(0 0 0 / 0.81); 1906 --color-primary-rgb: 0 0 0; 1907 --color-primary-hover: rgb(0 0 0 / 1.0); 1908 --color-primary-hover-rgb: 0 0 0; 1909 --color-border: rgb(0 0 0 / 0.06); 1910 --color-border-rgb: 0 0 0; 1911 --color-shadow: rgb(0 0 0 / 1.0); 1912 --color-shadow-rgb: 0 0 0; 1913 --color-primary-button-text: rgb(255 255 255 / 1.0); 1914 --color-primary-button-background: rgb(0 0 0 / 1.0); 1915 --color-primary-button-border: rgb(0 0 0 / 1.0); 1916 --color-primary-button-hover-text: rgb(255 255 255 / 1.0); 1917 --color-primary-button-hover-background: rgb(51 51 51 / 1.0); 1918 --color-primary-button-hover-border: rgb(0 0 0 / 1.0); 1919 --color-secondary-button-text: rgb(0 0 0 / 1.0); 1920 --color-secondary-button-background: rgb(0 0 0 / 0.0); 1921 --color-secondary-button-border: rgb(0 0 0 / 1.0); 1922 --color-secondary-button-hover-text: rgb(51 51 51 / 1.0); 1923 --color-secondary-button-hover-background: rgb(250 250 250 / 1.0); 1924 --color-secondary-button-hover-border: rgb(51 51 51 / 1.0); 1925 --color-input-background: rgb(255 255 255 / 0.78); 1926 --color-input-text: rgb(51 51 51 / 1.0); 1927 --color-input-text-rgb: 51 51 51; 1928 --color-input-border: rgb(223 223 223 / 1.0); 1929 --color-input-hover-background: rgb(0 0 0 / 0.01); 1930 --color-variant-background: rgb(255 255 255 / 1.0); 1931 --color-variant-border: rgb(0 0 0 / 0.13); 1932 --color-variant-text: rgb(0 0 0 / 1.0); 1933 --color-variant-text-rgb: 0 0 0; 1934 --color-variant-hover-background: rgb(245 245 245 / 1.0); 1935 --color-variant-hover-text: rgb(0 0 0 / 1.0); 1936 --color-variant-hover-border: rgb(230 230 230 / 1.0); 1937 --color-selected-variant-background: rgb(0 0 0 / 1.0); 1938 --color-selected-variant-border: rgb(0 0 0 / 1.0); 1939 --color-selected-variant-text: rgb(255 255 255 / 1.0); 1940 --color-selected-variant-hover-background: rgb(26 26 26 / 1.0); 1941 --color-selected-variant-hover-text: rgb(255 255 255 / 1.0); 1942 --color-selected-variant-hover-border: rgb(26 26 26 / 1.0); 1943 1944 --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10)); 1945 --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15)); 1946 --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50)); 1947 --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60)); 1948 --font-h1--color: var(--color-foreground-heading); 1949 --font-h2--color: var(--color-foreground-heading); 1950 --font-h3--color: var(--color-foreground-heading); 1951 --font-h4--color: var(--color-foreground-heading); 1952 --font-h5--color: var(--color-foreground-heading); 1953 --font-h6--color: var(--color-foreground-heading); 1954 1955 /* Shadows */ 1956 1957 --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1958 1959 1960 --shadow-blur: 20px; 1961 --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15)); 1962 1963 } 1964 1965 1966 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-6, .col
1966or-scheme-58084d4c-a86e-4d0a-855e-a0966e5043f7, .color-scheme-c014d933-41a8-4367-8672-604285ff2bbd, .color-scheme-f8ca35a6-e5e1-4424-97e1-12faa822d27c, .color-scheme-31e8c502-e6f1-4269-a9db-1d6b61739a40, .color-scheme-75163c7b-dd83-42dc-af2f-12c2bf80ab59, .color-scheme-7428e935-b223-4598-9dc4-78c24b04e5d6, .color-scheme-33425aff-5b18-4143-8aae-041d65a8b7ec, .color-scheme-9849422c-7564-4742-9a4a-e1175289f620 { 1967 color: var(--color-foreground); 1968 background-color: var(--color-background); 1969 } 1970</style> 1971 1972 1973
1973<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
1973<meta name="google-site-verification" content="5rZMEHWA8F7oUpA7iFeTzz0BduiClzQCrxjsZ4ZGo78"> 1974<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/82549899508/digital_wallets/dialog"> 1975<meta id="in-context-paypal-metadata" data-shop-id="82549899508" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 1976<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
1976<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
1976 1977<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
1978<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&shop_id=82549899508" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1978
1978
1979<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":82549899508,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/82549899508","merchantName":"Perfectly Posh","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Perfectly Posh","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 1979
1979
1980<script id="shopify-features" type="application/json">{"accessToken":"3b5547f53dc21e5765acab946d308715","betas":["rich-media-storefront-analytics"],"domain":"perfectlyposh.com","predictiveSearch":true,"shopId":82549899508,"locale":"en"}</script>
vendor: 1 bytes, line 1980
1980
1981<script>var Shopify = Shopify || {}; 1982Shopify.shop = "perfectlyposh-2.myshopify.com"; 1983Shopify.locale = "en"; 1984Shopify.currency = {"active":"USD","rate":"1.0"}; 1985Shopify.country = "US"; 1986Shopify.theme = {"name":"Horizon","id":161340162292,"schema_name":"Horizon","schema_version":"3.5.1","theme_store_id":2481,"role":"main"}; 1987Shopify.theme.handle = "null"; 1988Shopify.theme.style = {"id":null,"handle":null}; 1989Shopify.cdnHost = "perfectlyposh.com/cdn"; 1990Shopify.routes = Shopify.routes || {}; 1991Shopify.routes.root = "/"; 1992Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 1993Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 1994Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 1995Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 1995
1995
1996<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 1996
1996
1997<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 1997
1997
1998<script> 1999 window.ShopifyPay = window.ShopifyPay || {}; 2000 window.ShopifyPay.apiHost = "shop.app\/pay"; 2001 window.ShopifyPay.redirectState = null; 2002</script>
vendor: 1 bytes, line 2002
2002
2003<script> 2004 window.Shopify = window.Shopify || {}; 2005 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 2006 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 2007 window.Shopify.SignInWithShop.eligible = true; 2008</script>
vendor: 1 bytes, line 2008
2008
2009<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 2009
2009
2010<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 2010
2010
2011<script type="module"> 2012 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 2013 2014 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 2015 2016</script>
vendor: 1 bytes, line 2016
2016
2017<script> 2018 window.Shopify = window.Shopify || {}; 2019 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 2020 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 2021</script>
vendor: 1 bytes, line 2021
2021
2022<script id="__st">var __st={"a":82549899508,"offset":-18000,"reqid":"2f0ae8e9-b97b-40b7-8bd9-cf10a98ccde0-1790857714","pageurl":"perfectlyposh.com\/pages\/about","s":"pages-133996577012","u":"e40d374b7390","p":"page","rtyp":"page","rid":133996577012};</script>
vendor: 1 bytes, line 2022
2022
2023<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 2023
2023
2024<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 2024
2024
2025<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//perfectlyposh.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 2025
2025
2026<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//perfectlyposh.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
2026<script crossorigin="anonymous" defer="defer" src="//perfectlyposh.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 2026
2026
2027<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 2027
2027
2028<script> 2029 window.Shopify = window.Shopify || {}; 2030 window.Shopify.MCP = window.Shopify.MCP || {}; 2031 window.Shopify.MCP.enabled = true; 2032 window.Shopify.MCP.shop = "perfectlyposh-2.myshopify.com"; 2033 window.Shopify.MCP.mcpEndpoint = "https:\/\/perfectlyposh.com\/api\/mcp"; 2034 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 2035</script>
vendor: 1 bytes, line 2035
2035
2036<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/perfectlyposh.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 2037</script>
vendor: 1 bytes, line 2037
2037
2038<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://perfectlyposh.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 2039</script>
vendor: 1 bytes, line 2039
2039
2040<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 2041 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 2042</script>
vendor: 1 bytes, line 2042
2042
2043<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 2044</script>
2044 2045<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://perfectlyposh.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 2046<style id="shopify-accelerated-checkout-cart"> 2047 #shopify-buyer-consent { 2048 margin-top: 1em; 2049 display: inline-block; 2050 width: 100%; 2051} 2052 2053#shopify-buyer-consent.hidden { 2054 display: none; 2055} 2056 2057#shopify-subscription-policy-button { 2058 background: none; 2059 border: none; 2060 padding: 0; 2061 text-decoration: underline; 2062 font-size: inherit; 2063 cursor: pointer; 2064} 2065 2066#shopify-subscription-policy-button::before { 2067 box-shadow: none; 2068} 2069 2070 </style> 2071<link rel="compression-dictionary" href="//perfectlyposh.com/cdn/shop/t/1/compiled_assets/styles.css?v=120740528661463257291779828089" crossorigin="anonymous"> 2072<link rel="stylesheet" media="screen" href="//perfectlyposh.com/cdn/shop/t/1/compiled_assets/styles.css?v=120740528661463257291779828089&subset=ABYAAAAAAAAAGAAAAAhhAAAIgQAADgAAAAhEhAsCCA" crossorigin="anonymous">
2073<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
2073 2074 2075 2076 <!-- PageFly meta image --> 2077 2078 2079<!-- PageFly Header Render begins --> 2080 2081
2081<script> 2082 window.addEventListener('load', () => { 2083 // fallback for gtag when not initialized 2084 if(typeof window.gtag !== 'function') { 2085 window.gtag = (str1, str2, obj) => { 2086 } 2087 } 2088 }) 2089 </script>
2089 2090 <style>.__pf .pf-c-ct,.__pf .pf-c-lt,.__pf .pf-c-rt{align-content:flex-start}.__pf .oh,.pf-sr-only{overflow:hidden}.__pf img,.__pf video{max-width:100%;border:0;vertical-align:middle}.__pf [tabIndex],.__pf button,.__pf input,.__pf select,.__pf textarea{touch-action:manipulation}.__pf:not([data-pf-editor-version=gen-2]) :focus-visible{outline:0!important;box-shadow:none!important}.__pf:not([data-pf-editor-version=gen-2]) :not(input):not(select):not(textarea):not([data-active=true]):focus-visible{border:none!important}.__pf *,.__pf :after,.__pf :before{box-sizing:border-box}.__pf [disabled],.__pf [readonly]{cursor:default}.__pf [data-href],.__pf button:not([data-pf-id]):hover{cursor:pointer}.__pf [disabled]:not([disabled=false]),.pf-dialog svg{pointer-events:none}.__pf [hidden]{display:none!important}.__pf [data-link=inherit]{color:inherit;text-decoration:none}.__pf [data-pf-placeholder]{outline:0;height:auto;display:none;pointer-events:none!important}.__pf .pf-ifr,.__pf [style*="--ratio"] img{height:100%;left:0;top:0;width:100%;position:absolute}.__pf .pf-r,.__pf .pf-r-eh>.pf-c{display:flex}.__pf [style*="--cw"]{padding:0 15px;width:100%;margin:auto;max-width:var(--cw)}.__pf .pf-ifr{border:0}.__pf .pf-bg-lazy{background-image:none!important}.__pf .pf-r{flex-wrap:wrap}.__pf .pf-r-dg{display:grid}.__pf [style*="--c-xs"]{max-width:calc(100%/12*var(--c-xs));flex-basis:calc(100%/12*var(--c-xs))}.__pf [style*="--s-xs"]{margin:0 calc(-1 * var(--s-xs))}.__pf [style*="--s-xs"]>.pf-c{padding:var(--s-xs)}.__pf .pf-r-ew>.pf-c{flex-grow:1;flex-basis:0}.__pf [style*="--ew-xs"]>.pf-c{flex-basis:calc(100% / var(--ew-xs));max-width:calc(100% / var(--ew-xs))}.__pf [style*="--ratio"]{position:relative;padding-bottom:var(--ratio)}.main-content{padding:0}.footer-section,.site-footer,.site-footer-wrapper,main .accent-background+.shopify-section{margin:0}@media (max-width:767.4999px){.__pf .pf-hide{display:none!important}}@media (max-width:1024.4999px) and (min-width:767.5px){.__pf .pf-sm-hide{display:none!important}}@media (max-width:1199.4999px) and (min-width:1024.5px){.__pf .pf-md-hide{display:none!important}}@media (min-width:767.5px){.__pf [style*="--s-sm"]{margin:0 calc(-1 * var(--s-sm))}.__pf [style*="--c-sm"]{max-width:calc(100%/12*var(--c-sm));flex-basis:calc(100%/12*var(--c-sm))}.__pf [style*="--s-sm"]>.pf-c{padding:var(--s-sm)}.__pf [style*="--ew-sm"]>.pf-c{flex-basis:calc(100% / var(--ew-sm));max-width:calc(100% / var(--ew-sm))}}@media (min-width:1024.5px){.__pf [style*="--s-md"]{margin:0 calc(-1 * var(--s-md))}.__pf [style*="--c-md"]{max-width:calc(100%/12*var(--c-md));flex-basis:calc(100%/12*var(--c-md))}.__pf [style*="--s-md"]>.pf-c{padding:var(--s-md)}.__pf [style*="--ew-md"]>.pf-c{flex-basis:calc(100% / var(--ew-md));max-width:calc(100% / var(--ew-md))}}@media (min-width:1199.5px){.__pf [style*="--s-lg"]{margin:0 calc(-1 * var(--s-lg))}.__pf [style*="--c-lg"]{max-width:calc(100%/12*var(--c-lg));flex-basis:calc(100%/12*var(--c-lg))}.__pf [style*="--s-lg"]>.pf-c{padding:var(--s-lg)}.__pf [style*="--ew-lg"]>.pf-c{flex-basis:calc(100% / var(--ew-lg));max-width:calc(100% / var(--ew-lg))}.__pf .pf-lg-hide{display:none!important}}.__pf .pf-r-eh>.pf-c>div{width:100%}.__pf .pf-c-lt{justify-content:flex-start;align-items:flex-start}.__pf .pf-c-ct{justify-content:center;align-items:flex-start}.__pf .pf-c-rt{justify-content:flex-end;align-items:flex-start}.__pf .pf-c-lm{justify-content:flex-start;align-items:center;align-content:center}.__pf .pf-c-cm{justify-content:center;align-items:center;align-content:center}.__pf .pf-c-rm{justify-content:flex-end;align-items:center;align-content:center}.__pf .pf-c-cb,.__pf .pf-c-lb,.__pf .pf-c-rb{align-content:flex-end}.__pf .pf-c-lb{justify-content:flex-start;align-items:flex-end}.__pf .pf-c-cb{justify-content:center;align-items:flex-end}.__pf .pf-c-rb{justify-content:flex-end;align-items:flex-end}.pf-no-border:not(:focus-visible){border:none;outline:0}.pf-sr-only{position:absolute;width:1px;height:1px;padding:0;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}.pf-close-dialog-btn,.pf-dialog{background:0 0;border:none;padding:0}.pf-visibility-hidden{visibility:hidden}.pf-dialog{top:50%;left:50%;transform:translate(-50%,-50%);max-height:min(calc(9/16*100vw),calc(100% - 6px - 2em));-webkit-overflow-scrolling:touch;overflow:hidden;margin:0}.pf-dialog::backdrop{background:rgba(0,0,0,.9);opacity:1}.pf-close-dialog-btn{position:absolute;top:0;right:0;height:16px;margin-bottom:8px;
2090cursor:pointer}.pf-close-dialog-btn:not(:focus-visible){box-shadow:none}.pf-dialog-content{display:block;margin:24px auto auto;width:100%;height:calc(100% - 24px)}.pf-dialog-content>*{width:100%;height:100%;border:0}</style> 2091<style></style> 2092<style>.pf-color-scheme-1,.pf-color-scheme-2{--pf-scheme-btn-text-color:rgb(255, 255, 255);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-1{--pf-scheme-bg-color:rgba(255, 255, 255, 0);--pf-scheme-text-color:rgb(0, 0, 0);--pf-scheme-btn-bg-color:rgb(145, 157, 169);--pf-scheme-border-color:rgba(0, 0, 0);--pf-scheme-shadow-color:rgb(0, 0, 0, 0.25)}.pf-color-scheme-2,.pf-color-scheme-3{--pf-scheme-text-color:rgb(18, 18, 18);--pf-scheme-btn-bg-color:rgb(18, 18, 18);--pf-scheme-border-color:rgb(18, 18, 18)}.pf-color-scheme-2{--pf-scheme-bg-color:rgb(255, 255, 255);--pf-scheme-shadow-color:rgb(18, 18, 18)}.pf-color-scheme-3{--pf-scheme-bg-color:rgb(243, 243, 243);--pf-scheme-btn-text-color:rgb(243, 243, 243);--pf-scheme-shadow-color:rgb(18, 18, 18);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-4,.pf-color-scheme-5,.pf-color-scheme-6{--pf-scheme-text-color:rgb(255, 255, 255);--pf-scheme-btn-bg-color:rgb(255, 255, 255);--pf-scheme-border-color:rgb(255, 255, 255);--pf-scheme-shadow-color:rgb(18, 18, 18);background-color:var(--pf-scheme-bg-color);background-image:var(--pf-scheme-bg-gradient-color);border-color:var(--pf-scheme-border-color);color:var(--pf-scheme-text-color)}.pf-color-scheme-4{--pf-scheme-bg-color:rgb(36, 40, 51);--pf-scheme-btn-text-color:rgb(0, 0, 0)}.pf-color-scheme-5{--pf-scheme-bg-color:rgb(18, 18, 18);--pf-scheme-btn-text-color:rgb(18, 18, 18)}.pf-color-scheme-6{--pf-scheme-bg-color:rgb(51, 79, 180);--pf-scheme-btn-text-color:rgb(51, 79, 180)}[data-pf-type^=Button]{background-color:var(--pf-scheme-btn-bg-color);background-image:var(--pf-scheme-btn-bg-gradient-color);color:var(--pf-scheme-btn-text-color)}@media all{.__pf .pf-field-1,.__pf .pf-field-2,.__pf .pf-field-3,.__pf .pf-field-4,.__pf .pf-field-5,.__pf .pf-field-6{background-color:#fdfdfd;border:.66px solid #8a8a8a;border-radius:8px;padding:6px 12px}}</style> 2093<style id="pf-shopify-font">div.__pf {--pf-shopify-font-family-type-body-font: Inter, sans-serif; 2094 --pf-shopify-font-style-type-body-font: normal; 2095 --pf-shopify-font-weight-type-body-font: 400; 2096--pf-shopify-font-family-type-subheading-font: Inter, sans-serif; 2097 --pf-shopify-font-style-type-subheading-font: normal; 2098 --pf-shopify-font-weight-type-subheading-font: 500; 2099--pf-shopify-font-family-type-heading-font: Inter, sans-serif; 2100 --pf-shopify-font-style-type-heading-font: normal; 2101 --pf-shopify-font-weight-type-heading-font: 700; 2102--pf-shopify-font-family-type-accent-font: Inter, sans-serif; 2103 --pf-shopify-font-style-type-accent-font: normal; 2104 --pf-shopify-font-weight-type-accent-font: 700;}</style> 2105<link rel="stylesheet" href="//perfectlyposh.com/cdn/shop/t/1/assets/pagefly-animation.css?v=35569424405882025761777517341" media="print" onload="this.media='all'"> 2106 2107 2108 2109<style>.ffFBJG,.gdMpOS{position:relative}.ckdstx{--pf-sample-color:#5d6b82;--pf-border-color:#d1d5db}.clbmpw{max-width:100%;display:inline-block;overflow:auto;height:auto;aspect-ratio:var(--pf-aspect-ratio-value)}.clbmpw [data-href]{cursor:pointer}.ffFBJG{display:flex}.ffFBJG.pf-flex-section{margin:auto}.gdMpOS{padding:20px 15px}@media (min-width:1024.5px){.gdMpOS{padding:20px 24px}}@media all{.__pf.__pf_OeQOEcv0 .pf-46_,.__pf.__pf_OeQOEcv0 .pf-9_{padding:0}.__pf.__pf_OeQOEcv0 .pf-10_{align-self:stretch;height:fit-content;flex-basis:unset;--pf-aspect-ratio-value:unset;object-fit:cover;object-position:center center;aspect-ratio:var(--pf-image-ratio)}.__pf.__pf_OeQOEcv0 .pf-47_{align-self:stretch;height:fit-content;flex-basis:unset;--pf-aspect-ratio-value:16/8;object-fit:cover;object-position:center bottom;aspect-ratio:16/8}.__pf.__pf_OeQOEcv0 .pf-46_>.pf-flex-section,.__pf.__pf_OeQOEcv0 .pf-9_>
2109.pf-flex-section{display:flex;max-width:unset;flex-flow:column;justify-content:flex-start;align-items:flex-start;gap:0;height:fit-content}}@media (max-width:767.4999px){.__pf.__pf_OeQOEcv0 .pf-10_{flex-basis:unset;min-height:unset;max-height:none;--pf-aspect-ratio-value:11/9;aspect-ratio:11/9;object-position:left center}.__pf.__pf_OeQOEcv0 .pf-46_>.pf-flex-section,.__pf.__pf_OeQOEcv0 .pf-9_>.pf-flex-section{flex-flow:column}.__pf.__pf_OeQOEcv0 .pf-47_{flex-basis:unset;object-position:left bottom;object-fit:cover;--pf-aspect-ratio-value:15/15;aspect-ratio:15/15}}</style><!-- PageFly Header Render ends --> 2110<meta name="facebook-domain-verification" content="weoibcsugnio79d5q6iko2cpvvu6ov" /> 2111<!-- BEGIN app block: shopify://apps/nabu-sitemap/blocks/script-block/019a48d3-2232-78e2-beee-2e82022152d4 -->
2112<script> 2113(function() { 2114 'use strict'; 2115 const container = document.getElementById('adnabu-sitemap-container'); 2116 if (window.location.pathname.includes('/apps/sitemap') && container) { 2117 container.remove(); 2118 } 2119})(); 2120</script>
2120 2121 2122 2123<!-- END app block --><!-- BEGIN app block: shopify://apps/seolab-seo-optimizer/blocks/app_embed/faf700f6-3b71-45c3-86d4-83ea9f7d9216 --> 2124 2125 2126
2127<script type="text/javascript"> 2128 document.addEventListener("DOMContentLoaded",function(e){var n=window.location.href;if(n.indexOf("#seotid")>-1){var t=n.split("#seotid");let p=new Headers;p.append("Content-Type","application/json");let o=new FormData;o.append("shop","perfectlyposh-2.myshopify.com"),o.append("tid",t[1]),o.append("type","add_traffic"),fetch("/apps/seo-lab",{method:"POST",headers:{Accept:"application/json"},body:o}).then(e=>e.json()).then(e=>{window.history.replaceState({}, '', t[0])})}else fetch(n,{method:"HEAD"}).then(e=>{if(404===e.status){var t=n.split(window.location.origin);let p=new FormData;p.append("shop","perfectlyposh-2.myshopify.com"),p.append("url",t[1]),p.append("type","unresolve_url_recieve"),fetch("/apps/seo-lab",{method:"POST",headers:{Accept:"application/json"},body:p}).then(e=>e.json()).then(e=>{e.success&&console.log("Added")})}})}); 2129</script>
2129 2130 2131 2132 2133 2134 2135 2136 2137 2138<!-- END app block --><!-- BEGIN app block: shopify://apps/webrex-ai-seo-schema/blocks/webrexSeoEmbed/283875bf-bf86-4e78-831b-502ad0c4a5c2 --> 2139 2140<!-- BEGIN app snippet: removeScript -->
2141<script id="ws_json_ld_script">if(window.ws_script){document.getElementById('ws_json_ld_script')?.remove()}else{window.ws_script=true;const wsRemoveAllNonWebrex=()=>{document.querySelectorAll('script[type="application/ld+json"]').forEach((el)=>{if(el.classList.contains('webrex_seo_schema'))return;el.remove()});document.querySelectorAll('[itemscope]').forEach((el)=>{el.removeAttribute('itemscope')})};wsRemoveAllNonWebrex();if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',wsRemoveAllNonWebrex,{once:true})}else{const startTime=Date.now();const interval=setInterval(()=>{wsRemoveAllNonWebrex();if(Date.now()-startTime>=5000){clearInterval(interval)}},300)}}</script>
2141 2142<!-- END app snippet --> 2143 2144 2145 2146 2147 2148 2149 2150<!-- BEGIN app snippet: breadcrumb --> 2151 2152 2153 2154 2155 2156<!-- END app snippet --> 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170<!-- END app block --><!-- BEGIN app block: shopify://apps/ab-google-analytics/blocks/analytics/2fc433fa-79f5-4d1d-bab2-983d42099561 -->
2170<script> 2171 (function() { 2172 var analyticsAppUrl = 'https://analytics-integration.onrender.com'; 2173 var analyticsShopDomain = 'perfectlyposh-2.myshopify.com'; 2174 var measurementId = null; 2175 2176 async function loadMeasurementId() { 2177 try { 2178 const response = await fetch(`${analyticsAppUrl}/analytics?shopDomain=${encodeURIComponent(analyticsShopDomain)}`, { 2179 method: "GET", 2180 headers: { 2181 "Content-Type": "application/json" 2182 } 2183 }); 2184 2185 const data = await response.json(); 2186 if (data.success && data.data && data.data.measurementId) { 2187 measurementId = data.data.measurementId; 2188 initializeAnalytics(); 2189 } 2190 } catch (error) { 2191 console.error('Error loading Analytics Measurement ID:', error); 2192 } 2193 } 2194 2195 function initializeAnalytics() { 2196 if (!measurementId) { 2197 return; 2198 } 2199 2200 window.dataLayer = window.dataLayer || []; 2201 function gtag(){dataLayer.push(arguments);} 2202 gtag('js', new Date()); 2203 gtag('config', measurementId); 2204 2205 var script = document.createElement('script'); 2206 script.async = true; 2207 script.src = 'https://www.googletagmanager.com/gtag/js?id=' + measurementId; 2208 document.head.appendChild(script); 2209 } 2210 2211 loadMeasurementId(); 2212 })(); 2213</script>
2213 2214 2215 2216 2217<!-- END app block --><!-- BEGIN app block: shopify://apps/hoppy-free-shipping/blocks/shipping_bar/66159626-1fb8-4d18-901f-af7b6a63adaa --> 2218<link href="//cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/swiper-scoped.css" rel="stylesheet" type="text/css" media="all" /> 2219<link href="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/swiper.js" as="script" rel="preload"> 2220<link href="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/script.js" as="script" rel="preload"> 2221 2222 2223
2224<script async>window.hoppy_free_shipping = { 2225 shipping: [{ 2226 "id": "ffac516b-d32a-4c50-926e-0e70fa7ec0dc", 2227 "design": {"initial_color":"","final_color":"","goal_message_color":"#202223","shipping_bar_width":100,"button_font_weight":[],"goal_icons":[],"_id":"6a15084718972dfed3a89896"}, 2228 "placement": {"pages_type":"every_page","visibility_by_login":"all","customer_display":"all","specific_tag_for_display":"","specific_amt_for_display":"","customer_hide":"none","specific_tag_for_hide":"","specific_amt_for_hide":"","exclude_products":"none","enable_bar":true,"enable_condition":["always"],"total_orders":0,"max_cart_value":0,"last_order_before_value":30,"last_order_before_unit":"days","last_order_after_value":30,"last_order_after_unit":"days","excluded_products":[],"pages":[],"allowed_all_location":false,"delay":0,"locations":[{"code":"US","name":"United States","_id":"6a1ef699853d839daaeba796"}],"_id":"6a1507e10c63f97087d16a76"}, 2229 "published": true, 2230 "name": "Goal Based Free Shipping Upsell", 2231 "type": "goal_based", 2232 "visibility": "desktop_mobile", 2233 "allow_utm_source": null, 2234 "visitors": [], 2235 "utmCode": "", 2236 "exclude": null, 2237 "created_by_sidekick": null, 2238 "orientation": null, 2239 "translations": [], 2240 "scheduled": {"start":null,"end":null}, 2241 "upsell": {"upsell_title":"","recommendation_type":"complementary","auto_slide":true,"slide_interval":5,"max_products":3,"upsell_type":"freq_bought","cta_type":"add_to_cart","cta_text_before":"Add to Cart","cta_text_after":"Add Another","upsell_prod":[]}, 2242 "content": {"discount_combination":true,"exclude_type":"none","excluded_from_goals":[],"unique_products":false,"show_goal_reached_message":true,"reward_application":"all","specific_market_goals":[],"goals":[{"goal":50,"progress_message":"You're {order-value-progress} away from free shipping!","reward_type":"free_shipping","reward_value":"","discount_label":"Free Shipping","excluded_shipping_methods":["Express"],"exclude_methods":true,"_id":"6a1507e10c63f97087d16a78"}],"currency":"USD","money_format":"store_default","currencySymbol":"$","cta_open_new_tab":true,"show_currency_symbol":true,"currency_symbol_position":"before","message":"Free shipping for orders over {order-value}","close_icon":false,"goal_reached_message":"Congratulations! You've got free shipping!","button_text":{"initial_message":"Shop Now","progress_messages":["Shop Now"],"goal_reached":"Shop Now"},"cta":"none","cta_link":"https:\/\/www.shopify.com","goal_type":"cart_total_amount","progress_calculation":"before_discount_cart","multiple_market":false,"_id":"6a1507e10c63f97087d16a77"}, 2243 "product_page": {"enabled":true,"type":"product_page","upsell_enabled":false,"placement_type":"custom","design":{"template":"minimal","position":"top","sticky":false,"close_icon_color":"#202223","color":"#FFFFFF","angle":47,"initial_color":"#DDDDDD","final_color":"#FFFFFF","border_radius":8,"background_pattern":"none","background":"single","border_size":0,"border_color":"#c5c8d1","spacing_inside_top":0,"spacing_inside_bottom":16,"spacing_outside_top":20,"spacing_outside_bottom":20,"progress_bar_bg_color":"#c5d2de","progress_bar_color":"#202223","progress_bar_corner_radius":4,"message_size":16,"price_text_size":16,"price_text_color":"#202223","show_progress_bar":true,"checkout_message_size":"base","checkout_message_color":"info","checkout_price_text_size":"base","checkout_price_text_color":"info","price_text_animation":"none","message_color":"#202223","goal_message_color":"#202223","bar_type":"basic_bar","multiple_goals_marker":"one","bar_width":90,"shipping_bar_width":100,"bar_height":8,"bar_space_above":10,"bar_space_below":20,"button_color":"#202223","button_text_size":16,"button_text_color":"#FFFFFF","button_corner_radius":10,"neon_animation_color":"#9d4edd","count_up_speed":1,"button_style":"round","button_font_weight":["bold"],"button_font_style":"normal","button_animation":"none","button_hover":"none","font":"custom","font_weight":"inherit","
2243icon":"","iconSource":"","iconId":"","icon_position":"before","goal_icons":[],"fireworks":"none","custom_css":"\n.futureblink-free-shipping { \n\n}\n\n.futureblink-free-shipping .futureblink-message {\n\n}\n\n.futureblink-free-shipping .futureblink-icon {\n\n}\n\n.futureblink-free-shipping .futureblink-cta-button {\n\n}\n\n.futureblink-free-shipping .futureblink-price-text {\n\n}\n","custom_css_applied":false,"icon_size":32,"icon_color":"#000000","upsell_section_title_size":14,"upsell_section_title_color":"#000000","upsell_title_size":14,"upsell_title_color":"#202223","upsell_arrow_size":20,"upsell_price_color":"#202223","upsell_price_size":14,"upsell_arrow_color":"#202223","upsell_button_color":"#202223","upsell_button_text_size":14,"upsell_button_text_color":"#FFFFFF","upsell_button_corner_radius":10,"upsell_button_style":"round","upsell_button_font_weight":"bold","upsell_button_font_style":"normal","_id":"6a1507e10c63f97087d16a79"}}, 2244 "cart_page": null, 2245 "cart_page_only": {"enabled":true,"type":"cart_page_only","upsell_enabled":false,"placement_type":"custom","design":{"template":"minimal","position":"top","sticky":false,"close_icon_color":"#202223","color":"#FFFFFF","angle":47,"initial_color":"#DDDDDD","final_color":"#FFFFFF","border_radius":8,"background_pattern":"none","background":"single","border_size":0,"border_color":"#c5c8d1","spacing_inside_top":16,"spacing_inside_bottom":16,"spacing_outside_top":20,"spacing_outside_bottom":20,"progress_bar_bg_color":"#c5d2de","progress_bar_color":"#202223","progress_bar_corner_radius":4,"message_size":16,"price_text_size":16,"price_text_color":"#202223","show_progress_bar":true,"checkout_message_size":"base","checkout_message_color":"info","checkout_price_text_size":"base","checkout_price_text_color":"info","price_text_animation":"none","message_color":"#202223","goal_message_color":"#202223","bar_type":"basic_bar","multiple_goals_marker":"one","bar_width":90,"shipping_bar_width":100,"bar_height":8,"bar_space_above":10,"bar_space_below":20,"button_color":"#202223","button_text_size":16,"button_text_color":"#FFFFFF","button_corner_radius":10,"neon_animation_color":"#9d4edd","count_up_speed":1,"button_style":"round","button_font_weight":["bold"],"button_font_style":"normal","button_animation":"none","button_hover":"none","font":"custom","font_weight":"inherit","icon":"","iconSource":"","iconId":"","icon_position":"before","goal_icons":[],"fireworks":"none","custom_css":"\n.futureblink-free-shipping { \n\n}\n\n.futureblink-free-shipping .futureblink-message {\n\n}\n\n.futureblink-free-shipping .futureblink-icon {\n\n}\n\n.futureblink-free-shipping .futureblink-cta-button {\n\n}\n\n.futureblink-free-shipping .futureblink-price-text {\n\n}\n","custom_css_applied":false,"icon_size":32,"icon_color":"#000000","upsell_section_title_size":14,"upsell_section_title_color":"#000000","upsell_title_size":14,"upsell_title_color":"#202223","upsell_arrow_size":20,"upsell_price_color":"#202223","upsell_price_size":14,"upsell_arrow_color":"#202223","upsell_button_color":"#202223","upsell_button_text_size":14,"upsell_button_text_color":"#FFFFFF","upsell_button_corner_radius":10,"upsell_button_style":"round","upsell_button_font_weight":"bold","upsell_button_font_style":"normal","_id":"6a1507e10c63f97087d16a7a"}}, 2246 "cart_drawer": {"enabled":false,"type":"cart_drawer","upsell_enabled":true,"placement_type":"default","design":{"template":"vibrant","position":"top","sticky":false,"close_icon_color":"#202223","color":"#FFFFFF","angle":47,"initial_color":"#DDDDDD","final_color":"#FFFFFF","border_radius":8,"background_pattern":"none","background":"single","border_size":2,"border_color":"#f15bb5","spacing_inside_top":16,"spacing_inside_bottom":16,"spacing_outside_top":20,"spacing_outside_bottom":20,"progress_bar_bg_color":"#e9d6ff","progress_bar_color":"#f15bb5","progress_bar_corner_radius":4,"message_size":16,"price_text_size":16,"price_text_color":"#9b5de5","
2246show_progress_bar":true,"checkout_message_size":"base","checkout_message_color":"info","checkout_price_text_size":"base","checkout_price_text_color":"info","price_text_animation":"none","message_color":"#9b5de5","goal_message_color":"#9b5de5","bar_type":"basic_bar","multiple_goals_marker":"one","bar_width":90,"shipping_bar_width":100,"bar_height":8,"bar_space_above":10,"bar_space_below":20,"button_color":"#9b5de5","button_text_size":16,"button_text_color":"#FFFFFF","button_corner_radius":10,"neon_animation_color":"#9d4edd","count_up_speed":1,"button_style":"round","button_font_weight":["bold"],"button_font_style":"normal","button_animation":"none","button_hover":"none","font":"custom","font_weight":"inherit","icon":"","iconSource":"","iconId":"","icon_position":"before","goal_icons":[],"fireworks":"none","custom_css":"\n.futureblink-free-shipping { \n\n}\n\n.futureblink-free-shipping .futureblink-message {\n\n}\n\n.futureblink-free-shipping .futureblink-icon {\n\n}\n\n.futureblink-free-shipping .futureblink-cta-button {\n\n}\n\n.futureblink-free-shipping .futureblink-price-text {\n\n}\n","custom_css_applied":false,"icon_size":32,"icon_color":"#000000","upsell_section_title_size":14,"upsell_section_title_color":"#000000","upsell_title_size":14,"upsell_title_color":"#9b5de5","upsell_arrow_size":20,"upsell_price_color":"#9b5de5","upsell_price_size":14,"upsell_arrow_color":"#000000","upsell_button_color":"#9b5de5","upsell_button_text_size":14,"upsell_button_text_color":"#FFFFFF","upsell_button_corner_radius":10,"upsell_button_style":"round","upsell_button_font_weight":"bold","upsell_button_font_style":"normal","_id":"6a1507e10c63f97087d16a7b"}}, 2247 "top_bottom_page": {"enabled":true,"type":"top_bottom_page","upsell_enabled":true,"placement_type":"custom","design":{"template":"custom","position":"top_push","sticky":false,"close_icon_color":"#202223","color":"#cd2351","angle":10,"initial_color":"#FFFFFF","final_color":"#FFFFFF","border_radius":0,"background_pattern":"none","background":"single","border_size":0,"border_color":"#c5c8d1","spacing_inside_top":5,"spacing_inside_bottom":0,"spacing_outside_top":0,"spacing_outside_bottom":0,"progress_bar_bg_color":"#E4E5E7","progress_bar_color":"#ff96dd","progress_bar_corner_radius":4,"message_size":16,"price_text_size":16,"price_text_color":"#ffffff","show_progress_bar":true,"checkout_message_size":"base","checkout_message_color":"info","checkout_price_text_size":"base","checkout_price_text_color":"info","price_text_animation":"breathe","message_color":"#ffffff","goal_message_color":"#ffffff","bar_type":"basic_bar","multiple_goals_marker":"one","bar_width":25,"shipping_bar_width":100,"bar_height":8,"bar_space_above":3,"bar_space_below":5,"button_color":"#000000","button_text_size":16,"button_text_color":"#FFFFFF","button_corner_radius":10,"neon_animation_color":"#ff7c9d","count_up_speed":1,"button_style":"round","button_font_weight":["bold"],"button_font_style":"normal","button_animation":"none","button_hover":"none","font":"custom","font_weight":"500","icon":"","iconSource":"","iconId":"","icon_position":"before","goal_icons":[],"fireworks":"every","custom_css":"\n.futureblink-free-shipping { \n\n}\n\n.futureblink-free-shipping .futureblink-message {\n\n}\n\n.futureblink-free-shipping .futureblink-icon {\n\n}\n\n.futureblink-free-shipping .futureblink-cta-button {\n\n}\n\n.futureblink-free-shipping .futureblink-price-text {\n\n}\n","custom_css_applied":false,"icon_size":32,"icon_color":"#000000","upsell_section_title_size":14,"upsell_section_title_color":"#000000","upsell_title_size":14,"upsell_title_color":"#202223","upsell_arrow_size":20,"upsell_price_color":"#202223","upsell_price_size":14,"upsell_arrow_color":"#000000","upsell_button_color":"#000000","upsell_button_text_size":14,"upsell_button_text_color":"#FFFFFF","upsell_button_corner_radius":10,"upsell_button_style":"round","upsell_button_font_weight":"bold","upsell_button_font_style":"normal","_id":"6a1507e10c63f97087d16a7c"}} 2248 }] 2249 };</script>
2249 2250 2251 2252
2253<script defer> 2254 // =============================== 2255 // Currency Handling 2256 // =============================== 2257 function getStoredRates() { 2258 const storedRates = sessionStorage.getItem("currencyRates"); 2259 return storedRates ? JSON.parse(storedRates) : null; 2260 } 2261 2262 function storeRates(rates) { 2263 sessionStorage.setItem("currencyRates", JSON.stringify(rates)); 2264 } 2265 2266 const cachedRates = getStoredRates(); 2267 2268 if (cachedRates) { 2269 window.futureBlink_currencyRates = cachedRates; 2270 } else { 2271 fetch(window.Shopify.routes.root + "services/javascripts/currencies.js") 2272 .then(response => { 2273 if (!response.ok) throw new Error("Failed to load currency data"); 2274 return response.text(); 2275 }) 2276 .then(scriptContent => { 2277 const scriptFunction = new Function(scriptContent + "; return Currency.rates;"); 2278 window.futureBlink_currencyRates = scriptFunction(); 2279 storeRates(window.futureBlink_currencyRates); 2280 }) 2281 .catch(error => console.error("Error loading currency rates:", error)); 2282 } 2283 2284 window.futureBlink_storeCurrency = "USD"; 2285 window.futureBlink_country = "US"; 2286 window.futureBlink_primaryCurrency = "USD"; 2287 window.futureBlink_money_format = "${{amount}}"; 2288</script>
2288 2289
2290<script defer> 2291 // =============================== 2292 // Cart info 2293 // =============================== 2294 window.futureBlink_cart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"USD","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 2295 2296 // Collections attached to this product 2297 window.futureblink_free_shipping_products = { 2298 collections: [], 2299 }; 2300 2301 // Shop language 2302 window.futureblink_free_shipping_shopLanguage = "en"; 2303 2304 window.futureblink_free_shipping_collection = { 2305 id: "" 2306 }; 2307 2308 // Current store page details (for specific store pages targeting) 2309 window.futureblink_free_shipping_pageDetails = { 2310 id: "133996577012", 2311 handle: "about" 2312 }; 2313 2314 window.futureblink_free_shipping_upsellProd = null; 2315 // Product details 2316 window.futureblink_free_shipping_productDetails = { 2317 id:"", 2318 price: null, 2319 currency: "USD", 2320 handle:"", 2321 id:"", 2322 tags:null, 2323 variants: [ 2324 2325 ] 2326 }; 2327 2328 // Customer info (if logged in) 2329 2330 window.futureblink_free_shipping_customerInfo = null; 2331 2332 2333 // =============================== 2334 // Product Recommendations (via JSON API) 2335 // =============================== 2336 window.hoppy_free_shipping_productRecommendations = { 2337 product_page:[], 2338 cart_page:[] 2339 } 2340</script>
2340 2341
2342<script src="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/currencies.js" defer></script>
vendor: 1 bytes, line 2342
2342
2343<script src="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/countriesWithCurrencycodes.js" defer></script>
vendor: 1 bytes, line 2343
2343
2344<script src="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/tracker.js" defer></script>
2344 2345
2346<script src="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/swiper.js" defer></script>
vendor: 1 bytes, line 2346
2346
2347<script src="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/purify.min.js" defer></script>
vendor: 1 bytes, line 2347
2347
2348<script src="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/script.js" defer></script>
vendor: 1 bytes, line 2348
2348
2349<script src="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/interceptor.js" defer></script>
2349 2350 2351 2352<!-- END app block --><!-- BEGIN app block: shopify://apps/google-search-console-by-mp/blocks/head-meta/019c4b41-f7c5-7366-86bc-ac95bf831b40 --> 2353 <meta name="google-site-verification" 2354 content="5rZMEHWA8F7oUpA7iFeTzz0BduiClzQCrxjsZ4ZGo78"> 2355 2356 2357 2358<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core --> 2359 2360 2361 2362 2363 2364 2365 2366<link rel="dns-prefetch" href="https://cdn.judge.me"> 2367<link rel="dns-prefetch" href="https://cdn1.judge.me"> 2368<link rel="dns-prefetch" href="https://api.judge.me"> 2369
2370<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"any_review","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ n }} review/reviews","hide_badge_preview_if_no_reviews":false,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Customer Reviews","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank y
2370ou! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"last_initial","widget_rating_filter_color":"#fbcd0a","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"highest-rating","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"â
Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":true,"mute_video_by_default":true,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","widget_sorting_most_relevant_text":"Most Relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":true,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subt
2370itle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#D31266","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#D31266","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":true,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":false,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":true,"request_review_other_products_in_order":true,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#D31266","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#D31266","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_
2370youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":true,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":true,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":4,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":true,"review_widget_qna_enabled":false,"review_widget_revamp_dual_publish_end_date":"2026-06-09T20:03:17.000+00:00","review_widget_header_theme":"standard","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"cards","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"hidden","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural"
2370:"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"Weâll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":true,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"Perfectly Pos
2370h","shop_currency":"USD","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":true,"show_review_title_input":false,"autofill_review_title":true,"review_verification_email_status":"never","require_verification_before_submit":false,"sign_in_with_shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"negative_review_notification_email":"[email protected]","can_be_branded":true,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Perfectly Posh"};</script>
2370 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #D31266;--jdgm-secondary-color: rgba(211,18,102,0.1);--jdgm-star-color: #D31266;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #D31266;--jdgm-paginate-color: #D31266;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #D31266}.jdgm-histogram__bar-content{background-color:#D31266}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#D31266}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-author-fullname{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #D31266;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#D31266}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Perfectly Pos
2370h'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )} 2371</style> <style class='jdgm-settings-style'></style> 2372 2373 2374 2375 2376 <style class='jdgm-miracle-styles'> 2377 @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/I
2377azfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important} 2378 2379</style> 2380 2381 2382 2383 2384 2385 2386 2387 2388
2389<script data-cfasync='false' class='jdgm-script'> 2390!function(e){window.jdgm=window.jdgm||{}; 2391/* INF-1976 */ 2392var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}(); 2393if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;} 2394jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a0f14c-14c3-7c54-8630-ec498be121ab/judgeme-770/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/", 2395jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)? 2396setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){ 2397!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d), 2398(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!", 2399a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))}, 2400jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest; 2401t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))}, 2402t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll( 2403".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting? 2404parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"): 2405jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css") 2406)}))}(document); 2407</script>
2407 2408<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a0f14c-14c3-7c54-8630-ec498be121ab/judgeme-770/assets/shopify_v2.css"></noscript> 2409 2410<!-- BEGIN app snippet: theme_fix_tags -->
2410<script> 2411 (function() { 2412 var jdgmThemeFixes = null; 2413 if (!jdgmThemeFixes) return; 2414 2415 // "All themes" fix: CSS and JS applied on every theme. CSS is injected 2416 // before the per-theme fix so the theme-specific CSS wins the cascade. 2417 // HTML is never applied globally (too risky). 2418 var allThemesFix = jdgmThemeFixes['all']; 2419 if (allThemesFix && allThemesFix.css) { 2420 var allStyleTag = document.createElement('style'); 2421 allStyleTag.classList.add('jdgm-theme-fix-style-all'); 2422 allStyleTag.innerHTML = allThemesFix.css; 2423 document.head.append(allStyleTag); 2424 }; 2425 2426 if (allThemesFix && allThemesFix.js) { 2427 var allScriptTag = document.createElement('script'); 2428 allScriptTag.classList.add('jdgm-theme-fix-script-all'); 2429 allScriptTag.innerHTML = allThemesFix.js; 2430 document.head.append(allScriptTag); 2431 }; 2432 2433 var thisThemeFix = jdgmThemeFixes[Shopify.theme.id]; 2434 if (!thisThemeFix) return; 2435 2436 if (thisThemeFix.html) { 2437 document.addEventListener("DOMContentLoaded", function() { 2438 var htmlDiv = document.createElement('div'); 2439 htmlDiv.classList.add('jdgm-theme-fix-html'); 2440 htmlDiv.innerHTML = thisThemeFix.html; 2441 document.body.append(htmlDiv); 2442 }); 2443 }; 2444 2445 if (thisThemeFix.css) { 2446 var styleTag = document.createElement('style'); 2447 styleTag.classList.add('jdgm-theme-fix-style'); 2448 styleTag.innerHTML = thisThemeFix.css; 2449 document.head.append(styleTag); 2450 }; 2451 2452 if (thisThemeFix.js) { 2453 var scriptTag = document.createElement('script'); 2454 scriptTag.classList.add('jdgm-theme-fix-script'); 2455 scriptTag.innerHTML = thisThemeFix.js; 2456 document.head.append(scriptTag); 2457 }; 2458 })(); 2459</script>
2459 2460<!-- END app snippet --> 2461<!-- End of Judge.me Core --> 2462 2463 2464 2465<!-- END app block --><!-- BEGIN app block: shopify://apps/pagefly-ai-page-builder/blocks/app-embed/83e179f7-59a0-4589-8c66-c0dddf959200 --> 2466 2467<!-- BEGIN app snippet: pagefly-cro-ab-testing-main --> 2468 2469 2470 2471 2472 2473 2474
2475<script> 2476 ;(function () { 2477 const url = new URL(window.location) 2478 const viewParam = url.searchParams.get('view') 2479 if (viewParam && viewParam.includes('variant-pf-')) { 2480 url.searchParams.set('pf_v', viewParam) 2481 url.searchParams.delete('view') 2482 window.history.replaceState({}, '', url) 2483 } 2484 })() 2485</script>
2485 2486 2487 2488
2489<script type='module'> 2490 2491 window.PAGEFLY_CRO = window.PAGEFLY_CRO || {} 2492 2493 window.PAGEFLY_CRO['data_debug'] = { 2494 original_template_suffix: "pf-258e770a", 2495 allow_ab_test: false, 2496 ab_test_start_time: 0, 2497 ab_test_end_time: 0, 2498 today_date_time: 1790857714000, 2499 } 2500 window.PAGEFLY_CRO['GA4'] = { enabled: false} 2501</script>
2501 2502 2503<!-- END app snippet --> 2504 2505 2506 2507 2508 2509 2510 2511 2512
2512<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-helper.js' defer='defer'></script>
2512 2513 2514
2514<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-general-helper.js' defer='defer'></script>
2514 2515 2516
2516<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-snap-slider.js' defer='defer'></script>
2516 2517 2518
2518<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-slideshow-v3.js' defer='defer'></script>
2518 2519 2520
2520<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-slideshow-v4.js' defer='defer'></script>
2520 2521 2522
2522<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-glider.js' defer='defer'></script>
2522 2523 2524
2524<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-slideshow-v1-v2.js' defer='defer'></script>
2524 2525 2526
2526<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-product-media.js' defer='defer'></script>
2526 2527 2528
2528<script src='https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-product.js' defer='defer'></script>
2528 2529 2530
2531<script id='pagefly-helper-data' type='application/json'> 2532 { 2533 "page_optimization": { 2534 "assets_prefetching": false 2535 }, 2536 "elements_asset_mapper": { 2537 "Accordion": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-accordion.js", 2538 "Accordion3": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-accordion3.js", 2539 "CountDown": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-countdown.js", 2540 "GMap1": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-gmap.js", 2541 "GMap2": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-gmap.js", 2542 "GMapBasicV2": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-gmap.js", 2543 "GMapAdvancedV2": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-gmap.js", 2544 "HTML.Video": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-htmlvideo.js", 2545 "HTML.Video2": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-htmlvideo2.js", 2546 "HTML.Video3": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-htmlvideo2.js", 2547 "BackgroundVideo": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-htmlvideo2.js", 2548 "Instagram": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-instagram.js", 2549 "Instagram2": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-instagram.js", 2550 "Insta3": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-instagram3.js", 2551 "Tabs": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-tab.js", 2552 "Tabs3": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-tab3.js", 2553 "ProductBox": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-cart.js", 2554 "FBPageBox2": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-facebook.js", 2555 "FBLikeButton2": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-facebook.js", 2556 "TwitterFeed2": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-twitter.js", 2557 "Paragraph4": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-paragraph4.js", 2558 2559 "AliReviews": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2560 "BackInStock": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2561 "GloboBackInStock": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2562 "GrowaveWishlist": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2563 "InfiniteOptionsShopPad": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2564 "InkybayProductPersonalizer": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder
2564-362/assets/pagefly-3rd-elements.js", 2565 "LimeSpot": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2566 "Loox": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2567 "Opinew": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2568 "Powr": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2569 "ProductReviews": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2570 "PushOwl": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2571 "ReCharge": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2572 "Rivyo": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2573 "TrackingMore": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2574 "Vitals": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js", 2575 "Wiser": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-3rd-elements.js" 2576 }, 2577 "custom_elements_mapper": { 2578 "pf-click-action-element": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-click-action-element.js", 2579 "pf-dialog-element": "https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-dialog-element.js" 2580 } 2581 } 2582</script>
2582 2583
2584<script id='pagefly-heatmap-config' type='application/json'> 2585 {} 2586</script>
vendor: 1 bytes, line 2586
2586
2587<script> 2588 (function () { 2589 var el = document.getElementById('pagefly-heatmap-config') 2590 if (!el) { window.__pagefly_heatmap_config__ = {}; return } 2591 try { 2592 window.__pagefly_heatmap_config__ = JSON.parse(el.textContent || '{}') || {} 2593 } catch (e) { 2594 window.__pagefly_heatmap_config__ = {} 2595 } 2596 })() 2597</script>
vendor: 1 bytes, line 2597
2597
2598<script> 2599 // Heatmap overlay loader. Three gates, all of them cheap, none of them trusting the URL: 2600 // the visitor must have arrived on a pf_heatmap link, the SERVER must have published an 2601 // overlay path in the metafield, and this page must already be one the merchant enabled 2602 // tracking for. The last gate is what stops a crafted link pulling the asset onto an 2603 // arbitrary storefront page. Everything else is decided inside the asset, and by the server. 2604 (function () { 2605 var cfg = window.__pagefly_heatmap_config__ || {} 2606 var id = (window.__pagefly_page_setting__ || {}).pageId 2607 if (!/[#&]pf_heatmap=/.test(window.location.hash || '')) return 2608 if (!cfg.overlay_data_path || !Array.isArray(cfg.enabled_page_ids)) return 2609 if (!id || cfg.enabled_page_ids.indexOf(id) === -1) return 2610 var s = document.createElement('script') 2611 s.src = 'https://cdn.shopify.com/extensions/01a0f63e-fe44-7dd6-9af5-35cad58052d3/pagefly-ai-page-builder-362/assets/pagefly-heatmap-overlay.js' 2612 s.defer = true 2613 document.head.appendChild(s) 2614 })() 2615</script>
2615 2616 2617<!-- BEGIN app snippet: pf-ai-schema --> 2618<!-- END app snippet --> 2619 2620 2621<!-- END app block --><link href="https://cdn.shopify.com/extensions/01a0f316-2faf-7f6d-89a1-a82adb7ab91b/hoppy-free-shipping-355/assets/styles.css" rel="stylesheet" type="text/css" media="all">
2622<script src="https://cdn.shopify.com/extensions/01a0f14c-14c3-7c54-8630-ec498be121ab/judgeme-770/assets/loader.js" type="text/javascript" defer="defer"></script>
2622 2623<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2624<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 82549899508,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "page"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 2624
2624
2625<script> 2626 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2627</script>
vendor: 1 bytes, line 2627
2627
2628<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
2628).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 82549899508,storefrontBaseUrl: "https://perfectlyposh.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://perfectlyposh.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2521137396","configuration":"{\"shop\":\"perfectlyposh-2.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"933d4caa1e2cc643aeb46e3c5f7a4c7d","type":"APP","apiClientId":18394152961,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
2628,"dataSharingState":"unrestricted"},{"id":"2366013684","configuration":"{\"tagID\":\"2614149766714\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2355527924","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-71G3SPYMZB\\\",\\\"GT-PZXWFZ6Q\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-71G3SPYMZB\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-71G3SPYMZB\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-71G3SPYMZB\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-71G3SPYMZB\\\",\\\"MC-KL94CHFN7F\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-71G3SPYMZB\\\",\\\"MC-KL94CHFN7F\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-71G3SPYMZB\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-71G3SPYMZB\\\",\\\"MC-KL94CHFN7F\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-71G3SPYMZB\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-71G3SPYMZB\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-71G3SPYMZB\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-71G3SPYMZB\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2351628532","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2313879796","configuration":"{\"pixel_id\":\"997635779456128\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2313814260","configuration":"{\"event_token\":\"4dc9f23f-8f60-4a38-86c7-8bfac81ec5ca\",\"enable_custom_events\":\"true\",\"track_collection_viewed\":\"on\",\"track_product_viewed\":\"on\",\"track_search_submitted\":\"on\",\"track_product_added_to_cart\":\"on\",\"track_checkout_started\":\"on\",\"track_checkout_completed\":\"on\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"f94152a1342128c38737f23b09d99c86","type":"APP","apiClientId":100569088001,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Perfectly Pos
2628h","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"perfectlyposh-2.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/perfectlyposh.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"9464479416564","handle":"call-me-rosie-rose-clay-cleansing-chunk-big-bath-bar","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48231466467572","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9464482169076","handle":"daily-greens-cleansing-face-wash","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48231469285620","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9464481939700","handle":"iykyk-cleansing-conditioner","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48231469056244","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9464479580404","handle":"mfeo-mint-for-each-other-chunk-big-bath-bar","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48231466631412","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://perfectlyposh.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"161340162292","themeStoreId":"2481","themePublished":"true","eventMetadataId":"bf9862ef-c917-4fbc-9f27-b2ba0c9ac53a","pageType":"page","resourceId":"133996577012","shopId":"82549899508","storefrontBaseUrl":"https:\/\/perfectlyposh.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2628<script> 2629 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2630 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2631 window.ShopifyAnalytics.meta.currency = 'USD'; 2632 var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":133996577012,"requestId":"2f0ae8e9-b97b-40b7-8bd9-cf10a98ccde0-1790857714"}}; 2633 for (var attr in meta) { 2634 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2635 } 2636</script>
vendor: 1 bytes, line 2636
2636
2637<script class="analytics"> 2638 (function () { 2639 var customDocumentWrite = function(content) { 2640 var jquery = null; 2641 2642 if (window.jQuery) { 2643 jquery = window.jQuery; 2644 } else if (window.Checkout && window.Checkout.$) { 2645 jquery = window.Checkout.$; 2646 } 2647 2648 if (jquery) { 2649 jquery('body').append(content); 2650 } 2651 }; 2652 2653 var hasLoggedConversion = function(token) { 2654 if (token) { 2655 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2656 } 2657 return false; 2658 } 2659 2660 var setCookieIfConversion = function(token) { 2661 if (token) { 2662 var twoMonthsFromNow = new Date(Date.now()); 2663 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2664 2665 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2666 } 2667 } 2668 2669 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2670 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2671 if (trekkie.integrations) { 2672 return; 2673 } 2674 trekkie.methods = [ 2675 'identify', 2676 'page', 2677 'ready', 2678 'track', 2679 'trackForm', 2680 'trackLink' 2681 ]; 2682 trekkie.factory = function(method) { 2683 return function() { 2684 var args = Array.prototype.slice.call(arguments); 2685 args.unshift(method); 2686 trekkie.push(args); 2687 if (method == 'track' || method == 'page') { 2688 var pageUrl; 2689 try { 2690 pageUrl = window.location.href; 2691 } catch (e) {} 2692 var pageReferrer; 2693 try { 2694 pageReferrer = document.referrer; 2695 } catch (e) {} 2696 try { 2697 if (window.__TREKKIE_SHIM_QUEUE == null) { 2698 window.__TREKKIE_SHIM_QUEUE = []; 2699 } 2700 window.__TREKKIE_SHIM_QUEUE.push({ 2701 from: 'trekkie-stub', 2702 method: method, 2703 args: args.slice(1), 2704 pageContext: { 2705 url: pageUrl, 2706 referrer: pageReferrer 2707 } 2708 }); 2709 } catch (e) { 2710 // no-op 2711 } 2712 } 2713 return trekkie; 2714 }; 2715 }; 2716 for (var i = 0; i < trekkie.methods.length; i++) { 2717 var key = trekkie.methods[i]; 2718 trekkie[key] = trekkie.factory(key); 2719 } 2720 trekkie.load = function(config) { 2721 trekkie.config = config || {}; 2722 trekkie.config.initialDocumentCookie = document.cookie; 2723 var first = document.getElementsByTagName('script')[0]; 2724var script = document.createElement('script'); 2725script.type = 'text/javascript'; 2726script.onerror = function(e) { 2727 var scriptFallback = document.createElement('script'); 2728 scriptFallback.type = 'text/javascript'; 2729 scriptFallback.onerror = function(error) { 2730 var Monorail = { 2731 produce: function produce(monorailDomain, schemaId, payload) { 2732 var currentMs = new Date().getTime(); 2733 var event = { 2734 schema_id: schemaId, 2735 payload: payload, 2736 metadata: { 2737 event_created_at_ms: currentMs, 2738 event_sent_at_ms: currentMs 2739 } 2740 }; 2741 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2742 }, 2743 sendRequest: function sendRequest(endpointUrl, payload) { 2744 // Try the sendBeacon API 2745 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2746 var blobData = new window.Blob([payload], { 2747 type: 'text/plain' 2748 }); 2749 2750 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2751 return true; 2752 } // sendBeacon was not successful 2753 2754 } // XHR beacon 2755 2756 var xhr = new XMLHttpRequest(); 2757 2758 try { 2759 xhr.open('POST', endpointUrl); 2760 xhr.setRequestHeader('Content-Type', 'text/plain'); 2761 xhr.send(payload); 2762 } catch (e) { 2763 console.log(e); 2764 } 2765 2766 return false; 2767 }, 2768 isIos12: function isIos12() { 2769 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2770 } 2771 }; 2772 Monorail.produce('monorail-edge.shopifysvc.com', 2773 'trekkie_storefront_load_errors/1.1', 2774 {shop_id: 82549899508, 2775 theme_id: 161340162292, 2776 app_name: "storefront", 2777 context_url: window.location.href, 2778 source_url: "//perfectlyposh.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 2779 2780 }; 2781 scriptFallback.async = true; 2782 scriptFallback.src = '//perfectlyposh.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2783 first.parentNode.insertBefore(scriptFallback, first); 2784}; 2785script.async = true; 2786script.src = '//perfectlyposh.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2787first.parentNode.insertBefore(script, first); 2788 2789 }; 2790 trekkie.load( 2791 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":82549899508,"isMerchantRequest":null,"themeId":161340162292,"themeCityHash":"1986269163160318789","contentLanguage":"en","currency":"USD","eventMetadataId":"bf9862ef-c917-4fbc-9f27-b2ba0c9ac53a"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2792 ); 2793 2794 var loaded = false;
2795 trekkie.ready(function() { 2796 if (loaded) return; 2797 loaded = true; 2798 2799 window.ShopifyAnalytics.lib = window.trekkie; 2800 2801 var originalDocumentWrite = document.write; 2802 document.write = customDocumentWrite; 2803 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2804 document.write = originalDocumentWrite; 2805 2806 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2807 var token = match? match[1]: undefined; 2808 if (!hasLoggedConversion(token)) { 2809 setCookieIfConversion(token); 2810 2811 } 2812 }); 2813 2814 window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":133996577012,"requestId":"2f0ae8e9-b97b-40b7-8bd9-cf10a98ccde0-1790857714","shopifyEmitted":true}); 2815 2816 var eventsListenerScript = document.createElement('script'); 2817 eventsListenerScript.async = true; 2818 eventsListenerScript.src = "//perfectlyposh.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2819 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2820})();</script>
vendor: 1 bytes, line 2820
2820
2821<script 2822 defer 2823 src="https://perfectlyposh.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 2824 data-application="storefront-renderer" 2825 data-shop-id="82549899508" 2826 data-render-region="gcp-us-central1" 2827 data-page-type="page" 2828 data-theme-instance-id="161340162292" 2829 data-theme-name="Horizon" 2830 data-theme-version="3.5.1" 2831 data-monorail-region="shop_domain" 2832 data-resource-timing-sampling-rate="10" 2833 data-shs="true" 2834 data-shs-beacon="true" 2835 data-shs-export-with-fetch="true" 2836 data-shs-logs-sample-rate="1" 2837 data-shs-beacon-endpoint="https://perfectlyposh.com/api/collect" 2838></script>
vendor: 1 bytes, line 2838
2838
2839<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
2839<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"82549899508","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":true},"visitor":{"country":"US","language":"en"}}</script>
2839 2840<meta name="shopify-y" content="b36c8550-b19d-4b40-a185-a9376b087b6d" data-expiration="1822415314000"><meta name="shopify-s" content="132b6314-07de-46de-97d0-a39df2004f0b" data-expiration="1790859514000"><meta name="new-cookie-storage-activated" content="t"> 2841</head> 2842 2843 <body class="page-width-normal card-hover-effect-none"> 2844 <a 2845 class="skip-to-content-link button-secondary" 2846 href="#MainContent" 2847> 2848 Skip to content 2849</a> 2850 2851 2852 2853 <div id="header-group"> 2854 <!-- BEGIN sections: header-group --> 2855<div id="shopify-section-sections--22214414565620__1779765280ebe3ffb2" class="shopify-section shopify-section-group-header-group section-wrapper"> 2856 2857 2858 2859<div class="section-background color-scheme-7428e935-b223-4598-9dc4-78c24b04e5d6"></div> 2860<div 2861 class="section section--full-width color-scheme-7428e935-b223-4598-9dc4-78c24b04e5d6" 2862 data-testid="ui-test-section" 2863 2864 2865 2866 style=" 2867 2868 2869 2870 " 2871> 2872 <div class="custom-section-background"> 2873 2874 2875 2876 2877 </div> 2878 2879 <div 2880 class="border-style custom-section-content" 2881 style="--border-width: 1px; --border-style: none; --border-color: 2882rgb(var(--color-border-rgb) / 1.0); --border-radius: 28830px; 2884" 2885 > 2886 2887 2888 <div 2889 class=" 2890 spacing-style 2891 layout-panel-flex 2892 layout-panel-flex--column 2893 section-content-wrapper 2894 mobile-column 2895 " 2896 style=" 2897 --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 2898 2899--gap: 12px; 2900 2901--horizontal-alignment: center; --vertical-alignment: center; 2902--vertical-alignment-mobile: center; 2903 2904 --padding-block-start: 0px;--padding-block-end: 0px; 2905 " 2906 data-testid="section-content" 2907 > 2908 2909 2910 2911<div> 2912 <div futureblink-shipping-type=top_bottom_page class="futureblink-shipping-bar-block" id=ffac516b-d32a-4c50-926e-0e70fa7ec0dc></div> 2913</div> 2914 2915 2916 2917 2918 </div> 2919 </div> 2920</div> 2921 2922 2923 2924 2925 2926</div><header id="shopify-section-sections--22214414565620__header_section" class="shopify-section shopify-section-group-header-group header-section"> 2927 2928 2929 2930 2931 2932 2933 2934 2935
2936<script type="application/ld+json"> 2937 { 2938 "@context": "http://schema.org", 2939 "@type": "Organization", 2940 "name": "Perfectly Posh", 2941 2942 "logo": "https:\/\/perfectlyposh.com\/cdn\/shop\/files\/logo-pink.png?v=1778884144\u0026width=500", 2943 2944 "url": "https:\/\/perfectlyposh.com\/pages\/about" 2945 } 2946</script>
2946 2947 2948<header-component 2949 id="header-component" 2950 class="header" 2951 data-theme-color="rgb(255 255 255)" 2952 2953 2954 sticky="scroll-up" 2955 2956 data-skip-node-update 2957 data-scroll-direction="none" 2958 2959 2960 style=" 2961 --color-scheme-top-row: rgba(255 255 255 / 1.0); 2962 --color-scheme-bottom-row: rgba(255 255 255 / 1.0); 2963 2964 " 2965> 2966 <div class="header__underlay header__underlay-closed"></div> 2967 <div 2968 class="header__underlay header__underlay-open" 2969 ></div> 2970 2971 2972 2973 2974 2975 2976 <div 2977 class="header__row header__row--top color-scheme-1 section section--full-width-margin section--page-width" 2978 ref="headerRowTop"style="--border-bottom-width: 1px; --border-bottom-width-mobile: 1px;"> 2979 <div class="header__columns spacing-style"> 2980 <div 2981 class="header__column header__column--left" 2982 data-testid="header-top-left" 2983 > 2984 2985 2986 2987 2988 2989 2990 2991 <div 2992 class="header__drawer" 2993 ref="headerDrawerContainer" 2994 data-hydration-key="header-drawer-mobile" 2995 2996 > 2997 2998
2999<script 3000 src="//perfectlyposh.com/cdn/shop/t/1/assets/header-drawer.js?v=121243031541024704371777514867" 3001 type="module" 3002 fetchpriority="low" 3003></script>
3003 3004 3005<header-drawer 3006 class="header-drawer " 3007 style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;" 3008> 3009 <details 3010 id="Details-menu-drawer-container" 3011 data-skip-node-update="true" 3012 class="menu-drawer-container" 3013 ref="details" 3014 scroll-lock 3015 > 3016 <summary 3017 class="header__icon header__icon--menu header__icon--summary" 3018 aria-label="Menu" 3019 on:click="/toggle" 3020 > 3021 <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3022 <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 3023 <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/> 3024</svg> 3025</span> 3026 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3027 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3028 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3029</svg> 3030</span> 3031 </summary> 3032 <div 3033 ref="menuDrawer" 3034 class=" 3035 menu-drawer 3036 color-scheme-33425aff-5b18-4143-8aae-041d65a8b7ec 3037 " 3038 > 3039 <button 3040 class="button close-button menu-drawer__close-button" 3041 type="button" 3042 aria-label="Close" 3043 on:click="/close" 3044 > 3045 <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3046 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3047 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 3048</svg> 3049</span> 3050 </button> 3051 <nav 3052 class="menu-drawer__navigation" 3053 style="--menu-top-level-font-family: var(--font-subheading--family); 3054--menu-top-level-font-size-desktop: 0.875rem; --menu-top-level-font-style: var(--font-subheading--style); --menu-top-level-font-weight: var(--font-subheading--weight); --menu-top-level-font-case:uppercase; 3055 3056 --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height: 3057 var(--menu-font-2xl--line-height); 3058 3059--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 3060 3061--menu-parent-font-family: var(--font-subheading--family); --menu-parent-font-style: 3062var(--font-subheading--style); --menu-parent-font-weight: var(--font-subheading--weight); --menu-parent-font-case: 3063uppercase; 3064 3065 --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height: 3066 var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) / 3067 var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground); 3068 3069--menu-child-font-family: var(--font-subheading--family); --menu-child-font-style: 3070var(--font-subheading--style); --menu-child-font-weight: var(--font-subheading--weight); --menu-child-font-case: 3071uppercase; 3072 3073 --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height); 3074 --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: rgb(var(--color-foreground-rgb) / 3075 var(--opacity-subdued-text)); 3076 3077 3078 " 3079 aria-label="Primary" 3080 > 3081 <ul 3082 class="menu-drawer__menu has-submenu" 3083 role="list" 3084 > 3085 3086 3087 3088 <li 3089 style="--menu-drawer-animation-index: 1;" 3090 class="menu-drawer__list-item--flat" 3091 > 3092 3093<a 3094 id="HeaderDrawer-home" 3095 href="/" 3096 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3097 3098 >
3099 <span class="menu-drawer__menu-item-text wrap-text">HOME</span> 3100 </a> 3101 3102 </li> 3103 <li 3104 style="--menu-drawer-animation-index: 2;" 3105 class="menu-drawer__list-item--flat" 3106 > 3107 3108<a 3109 id="HeaderDrawer-shop-products" 3110 href="https://perfectlyposh.com/collections/all?sort_by=best-selling" 3111 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3112 3113 > 3114 <span class="menu-drawer__menu-item-text wrap-text">SHOP PRODUCTS</span> 3115 </a> 3116 3117 </li> 3118 <li 3119 style="--menu-drawer-animation-index: 3;" 3120 class="menu-drawer__list-item--flat" 3121 > 3122 3123<a 3124 id="HeaderDrawer-ingredients" 3125 href="/pages/ingredients" 3126 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3127 3128 > 3129 <span class="menu-drawer__menu-item-text wrap-text">INGREDIENTS</span> 3130 </a> 3131 3132 </li> 3133 <li 3134 style="--menu-drawer-animation-index: 4;" 3135 class="menu-drawer__list-item--flat" 3136 > 3137 3138<a 3139 id="HeaderDrawer-happy-customers" 3140 href="/pages/happy-customers" 3141 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3142 3143 > 3144 <span class="menu-drawer__menu-item-text wrap-text">HAPPY CUSTOMERS</span> 3145 </a> 3146 3147 </li> 3148 <li 3149 style="--menu-drawer-animation-index: 5;" 3150 class="menu-drawer__list-item--flat" 3151 > 3152 3153<a 3154 id="HeaderDrawer-track-order" 3155 href="https://perfectlyposh.com/apps/track" 3156 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3157 3158 > 3159 <span class="menu-drawer__menu-item-text wrap-text">TRACK ORDER</span> 3160 </a> 3161 3162 </li> 3163 <li 3164 style="--menu-drawer-animation-index: 6;" 3165 class="menu-drawer__list-item--flat" 3166 > 3167 3168<a 3169 id="HeaderDrawer-about" 3170 href="/pages/about" 3171 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3172 3173 aria-current="page" 3174 3175 > 3176 <span class="menu-drawer__menu-item-text wrap-text">ABOUT</span> 3177 </a> 3178 3179 </li> 3180 <li 3181 style="--menu-drawer-animation-index: 7;" 3182 class="menu-drawer__list-item--flat" 3183 > 3184 3185<a 3186 id="HeaderDrawer-contact" 3187 href="/pages/contact" 3188 class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset" 3189 3190 > 3191 <span class="menu-drawer__menu-item-text wrap-text">CONTACT</span> 3192 </a> 3193 3194 </li> 3195 </ul> 3196 </nav> 3197 <div 3198 class="menu-drawer__utility-links menu-drawer__animated-element" 3199 style="--menu-drawer-animation-index: 7;" 3200 > 3201 3202 </div> 3203 3204 3205 </div> 3206 <div 3207 class="menu-drawer__backdrop" 3208 on:click="header-drawer/close" 3209 ></div> 3210 </details> 3211</header-drawer> 3212 3213 3214 3215 </div> 3216 3217 3218 3219<style data-shopify> 3220 .header__underlay { 3221 --color-submenu: rgb(255 255 255 / 1.0); 3222 } 3223</style> 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 <search-button 3235 class="search-action search-action--hidden-on-menu" 3236 > 3237 <button 3238 on:click="#search-modal/showDialog" 3239 class="button-unstyled header-actions__action" 3240 aria-label="Search" 3241 aria-haspopup="dialog" 3242 >
3243 <span class="hidden"> 3244 Search 3245 </span> 3246 3247 <span class="svg-wrapper "> 3248 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 3249 3250 </span> 3251 </button> 3252 </search-button> 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267<a 3268 3269 href="/" 3270 class="size-style spacing-style header-logo" 3271 style=" 3272 --size-style-width: ;--size-style-height: ; 3273 --padding-block-start: 0px;--padding-block-end: 0px; 3274 --font-family: var(--font-body--family); 3275 --font-style: var(--font-body--style); 3276 --font-weight: 600; 3277 " 3278 3279> 3280 3281 3282 <span 3283 class="header-logo__image-container header-logo__image-container--original" 3284 data-testid="header-logo" 3285 > 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 <img src="//perfectlyposh.com/cdn/shop/files/logo-pink.png?height=100&v=1778884144" alt="The image features the words Perfectly posh in pink cursive and uppercase letters on a white background, with perfectly above posh in a bold, stylish script." width="140" height="100" class="header-logo__image" srcset="//perfectlyposh.com/cdn/shop/files/logo-pink.png?height=100&v=1778884144 1x, //perfectlyposh.com/cdn/shop/files/logo-pink.png?height=200&v=1778884144 2x, //perfectlyposh.com/cdn/shop/files/logo-pink.png?height=300&v=1778884144 3x" style="--header-logo-image-width: 140px;--header-logo-image-width-mobile: 84px; --header-logo-image-height: 100px; --header-logo-image-height-mobile: 60px;"> 3299 3300 3301 </span> 3302 3303 3304</a> 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 <header-menu 3324 ref="headerMenu" 3325 class="header-menu" 3326 3327 data-hydration-key="header-menu" 3328 > 3329 <div class="header-menu__inner"> 3330 <nav 3331 class="menu-list" 3332 aria-label="Primary" 3333 style="--menu-top-level-font-family: var(--font-subheading--family); 3334--menu-top-level-font-size-desktop: 0.875rem; --menu-top-level-font-style: var(--font-subheading--style); --menu-top-level-font-weight: var(--font-subheading--weight); --menu-top-level-font-case:uppercase; 3335 3336 --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height: 3337 var(--menu-font-sm--line-height); 3338 3339--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb); 3340" 3341 > 3342 3343 <overflow-list 3344 3345 ref="overflowMenu" 3346 3347 3348 class="overflow-menu color-scheme-33425aff-5b18-4143-8aae-041d65a8b7ec color-scheme-matches-parent" 3349 3350 3351 minimum-items="2" 3352 3353 3354 data-testid="header-menu-overflow-list" 3355 3356 3357 data-skip-node-update 3358 3359> 3360 <template shadowrootmode="open"> 3361 <link href="//perfectlyposh.com/cdn/shop/t/1/assets/overflow-list.css?v=16727044177065489451777514867" rel="stylesheet" type="text/css" media="all" /> 3362 3363 <ul part="list"> 3364 <slot></slot> 3365 <slot 3366 name="more" 3367 part="more" 3368 hidden 3369 3370 > 3371 <li 3372 part="more" 3373 > 3374 <button 3375 class="button" 3376 type="button" 3377 tabindex="0" 3378 3379 > 3380 More 3381 </button> 3382 </li> 3383 </slot> 3384 <li 3385 part="placeholder" 3386 hidden 3387 ></li> 3388 </ul> 3389 3390 <div part="overflow"> 3391 <ul part="overflow-list"> 3392 <slot name="overflow"></slot> 3393 </ul> 3394 </div> 3395 </template> 3396 3397 3398 3399 <li 3400 role="presentation" 3401 class="menu-list__list-item" 3402 on:focus="/activate" 3403 on:blur="/deactivate" 3404 on:pointerenter="/activate" 3405 on:pointerleave="/deactivate" 3406 > 3407 <a 3408 href="/" 3409 data-skip-node-update="true" 3410 class="menu-list__link" 3411 ref="menuitem" 3412 > 3413 <span class="menu-list__link-title">HOME</span> 3414 </a></li> 3415 3416 <li 3417 role="presentation" 3418 class="menu-list__list-item" 3419 on:focus="/activate" 3420 on:blur="/deactivate"
3421 on:pointerenter="/activate" 3422 on:pointerleave="/deactivate" 3423 > 3424 <a 3425 href="https://perfectlyposh.com/collections/all?sort_by=best-selling" 3426 data-skip-node-update="true" 3427 class="menu-list__link" 3428 ref="menuitem" 3429 > 3430 <span class="menu-list__link-title">SHOP PRODUCTS</span> 3431 </a></li> 3432 3433 <li 3434 role="presentation" 3435 class="menu-list__list-item" 3436 on:focus="/activate" 3437 on:blur="/deactivate" 3438 on:pointerenter="/activate" 3439 on:pointerleave="/deactivate" 3440 > 3441 <a 3442 href="/pages/ingredients" 3443 data-skip-node-update="true" 3444 class="menu-list__link" 3445 ref="menuitem" 3446 > 3447 <span class="menu-list__link-title">INGREDIENTS</span> 3448 </a></li> 3449 3450 <li 3451 role="presentation" 3452 class="menu-list__list-item" 3453 on:focus="/activate" 3454 on:blur="/deactivate" 3455 on:pointerenter="/activate" 3456 on:pointerleave="/deactivate" 3457 > 3458 <a 3459 href="/pages/happy-customers" 3460 data-skip-node-update="true" 3461 class="menu-list__link" 3462 ref="menuitem" 3463 > 3464 <span class="menu-list__link-title">HAPPY CUSTOMERS</span> 3465 </a></li> 3466 3467 <li 3468 role="presentation" 3469 class="menu-list__list-item" 3470 on:focus="/activate" 3471 on:blur="/deactivate" 3472 on:pointerenter="/activate" 3473 on:pointerleave="/deactivate" 3474 > 3475 <a 3476 href="https://perfectlyposh.com/apps/track" 3477 data-skip-node-update="true" 3478 class="menu-list__link" 3479 ref="menuitem" 3480 > 3481 <span class="menu-list__link-title">TRACK ORDER</span> 3482 </a></li> 3483 3484 <li 3485 role="presentation" 3486 class="menu-list__list-item" 3487 on:focus="/activate" 3488 on:blur="/deactivate" 3489 on:pointerenter="/activate" 3490 on:pointerleave="/deactivate" 3491 > 3492 <a 3493 href="/pages/about" 3494 data-skip-node-update="true" 3495 class="menu-list__link menu-list__link--active" 3496 aria-current="page" 3497 3498 ref="menuitem" 3499 > 3500 <span class="menu-list__link-title">ABOUT</span> 3501 </a></li> 3502 3503 <li 3504 role="presentation" 3505 class="menu-list__list-item" 3506 on:focus="/activate" 3507 on:blur="/deactivate" 3508 on:pointerenter="/activate" 3509 on:pointerleave="/deactivate" 3510 > 3511 <a 3512 href="/pages/contact" 3513 data-skip-node-update="true" 3514 class="menu-list__link" 3515 ref="menuitem" 3516 > 3517 <span class="menu-list__link-title">CONTACT</span> 3518 </a></li> 3519 3520 <li 3521 class="menu-list__list-item" 3522 role="presentation" 3523 slot="more" 3524 on:focus="/activate" 3525 on:blur="/deactivate" 3526 on:pointerenter="/activate" 3527 on:pointerleave="/deactivate" 3528 > 3529 <button role="listitem" class="menu-list__link button-unstyled"> 3530 <span class="menu-list__link-title">More</span> 3531 </button> 3532 </li> 3533 3534</overflow-list> 3535 3536 </nav> 3537 </div> 3538 3539
3539<script 3540 src="//perfectlyposh.com/cdn/shop/t/1/assets/header-menu.js?v=97820922056036071501777514867" 3541 type="module" 3542 fetchpriority="low" 3543 ></script>
3543 3544 </header-menu> 3545 3546 3547<style data-shopify> 3548 .header__underlay { 3549 --color-submenu: rgb(255 255 255 / 1.0); 3550 } 3551</style> 3552 3553 3554 3555 3556 3557 3558 3559 </div><div 3560 class="header__column header__column--right" 3561 data-testid="header-top-right" 3562 > 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 <search-button 3577 class="search-action search-action--hidden-on-drawer" 3578 > 3579 <button 3580 on:click="#search-modal/showDialog" 3581 class="button-unstyled header-actions__action" 3582 aria-label="Search" 3583 aria-haspopup="dialog" 3584 > 3585 <span class="hidden"> 3586 Search 3587 </span> 3588 3589 <span class="svg-wrapper "> 3590 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 3591 3592 </span> 3593 </button> 3594 </search-button> 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605
3606<script 3607 type="module" 3608 src="//perfectlyposh.com/cdn/shop/t/1/assets/cart-icon.js?v=157241182139685326961777514867" 3609 fetchpriority="low" 3610></script>
3610 3611 3612 3613 3614 3615 3616<header-actions 3617 3618> 3619 3620 3621 <div 3622 class="account-button header-actions__action color-scheme-1" 3623 > 3624 <shopify-store store-domain="https://perfectlyposh.com" country="US" language="en"></shopify-store> 3625<shopify-account 3626 menu="customer-account-main-menu" 3627 3628 > 3629 3630 <span 3631 slot="signed-out-avatar" 3632 class="account-button__text header-actions__text-style hidden" 3633 > 3634 Account 3635 </span> 3636 3637 <span 3638 slot="signed-out-avatar" 3639 class="" 3640 aria-hidden="true" 3641 > 3642 3643 <svg 3644 xmlns="http://www.w3.org/2000/svg" 3645 width="15" 3646 height="17" 3647 viewBox="0 0 15 17" 3648 fill="none" 3649 slot="signed-out-avatar" 3650 class="account-button__icon" 3651 > 3652 <path 3653 stroke="currentColor" 3654 stroke-linejoin="round" 3655 stroke-width="var(--icon-stroke-width)" 3656 d="M10.375 3.813a3.063 3.063 0 1 1-6.125 0 3.063 3.063 0 0 1 6.125 0ZM7.313 9.5c-3.667 0-6.24 2.691-6.563 6.125h13.125C13.552 12.191 10.979 9.5 7.312 9.5Z" 3657 /> 3658 </svg> 3659 3660 </span> 3661 3662 </shopify-account> 3663 </div> 3664 3665 3666 3667 <a 3668 href="/cart" 3669 class="header-actions__action action__cart" 3670 aria-label="Cart" 3671 aria-describedby="cart-bubble-text" 3672 > 3673 3674 <cart-icon 3675 class="header-actions__cart-icon" 3676 data-testid="cart-icon" 3677 > 3678 <span class="hidden"> 3679 Cart 3680 </span> 3681 3682 <span 3683 class="svg-wrapper " 3684 aria-hidden="true" 3685 > 3686 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg> 3687 3688 </span> 3689 3690 <div 3691 ref="cartBubble" 3692 class="cart-bubble visually-hidden" 3693 3694 3695 data-maintain-ratio 3696 3697> 3698 <span class="cart-bubble__background"></span> 3699 <span 3700 ref="cartBubbleText" 3701 id="cart-bubble-text" 3702 class="cart-bubble__text" 3703 > 3704 <span 3705 class="cart-bubble__text-count hidden" 3706 ref="cartBubbleCount" 3707 aria-hidden="true" 3708 data-testid="cart-bubble" 3709 > 37100</span> 3711 </span> 3712</div> 3713 3714 3715 3716 </cart-icon> 3717 3718 </a> 3719 3720 3721 <span 3722 ref="liveRegion" 3723 class="visually-hidden" 3724 role="status" 3725 data-testid="cart-count-live-region" 3726 ></span> 3727</header-actions> 3728
3729<script 3730 type="module" 3731 src="//perfectlyposh.com/cdn/shop/t/1/assets/header-actions.js?v=121308165565653895611777514867" 3732 fetchpriority="low" 3733></script>
3733 3734 3735 3736 3737 3738 3739 3740 </div> 3741 </div> 3742 </div> 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 <div class="header__row header__navigation-bar-row color-scheme-1"> 3755 3756 3757 3758 3759 3760 3761 3762<style data-shopify> 3763 .header__underlay { 3764 --color-submenu: rgb(255 255 255 / 1.0); 3765 } 3766</style> 3767 3768 3769 3770 3771 </div> 3772 3773</header-component> 3774
3775<script 3776 src="//perfectlyposh.com/cdn/shop/t/1/assets/header.js?v=36718054510661947891777514867" 3777 type="module" 3778></script>
3778 3779 3780 3781 3782 3783
3783<script type="module"> 3784 import { hydrate } from '@theme/section-hydration'; 3785 const url = new URL(window.location.href); 3786 url.searchParams.delete('page'); 3787 hydrate('sections--22214414565620__header_section', url); 3788 </script>
3788 3789 3790 3791 3792</header><div id="shopify-section-sections--22214414565620__custom_liquid_zHELRd" class="shopify-section shopify-section-group-header-group"> 3793 3794<div class="section-background color-scheme-1"></div> 3795<div 3796 class="section section--page-width spacing-style color-scheme-1" 3797 style="--padding-block-start: 0px; --padding-block-end:0px; 3798--padding-inline-start:0px; --padding-inline-end:0px; 3799" 3800> 3801 <div class="appstleLoyaltyPage" data-appstle-loyalty="APPSTLE_LOYALTY_PAGE" id="appstleLoyaltyPage"></div> 3802</div> 3803 3804 3805</div> 3806<!-- END sections: header-group --> 3807 </div> 3808 3809
3809<script> 3810 // Inline header height and menu style calculations to prevent layout shift 3811 // Note: Updates in calculateHeaderGroupHeight(), updateTransparentHeaderOffset() and setHeaderMenuStyle() utilities.js should be kept in sync with this function 3812 (function setHeaderHeighCustomProperties() { 3813 /* 3814 * Header calculation functions for maintaining CSS variables 3815 * Mimic calculateHeaderGroupHeight() in utilities.js 3816 */ 3817 const header = document.querySelector('header-component'); 3818 const headerGroup = document.querySelector('#header-group'); 3819 const hasHeaderSection = headerGroup?.querySelector('.header-section'); 3820 3821 if (!header || !headerGroup) return; 3822 3823 const headerTopRow = header.querySelector('.header__row--top'); 3824 const headerHeight = header.offsetHeight; 3825 3826 // Calculate the total height of the header group 3827 let headerGroupHeight = 0; 3828 const children = headerGroup.children; 3829 for (let i = 0; i < children.length; i++) { 3830 const element = children[i]; 3831 if (element === header || !(element instanceof HTMLElement)) continue; 3832 headerGroupHeight += element.offsetHeight; 3833 } 3834 3835 // Check for transparent header special case 3836 if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) { 3837 headerGroupHeight += headerHeight; 3838 } 3839 3840 // Set CSS variables 3841 document.body.style.setProperty('--header-height', `${headerHeight}px`); 3842 document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`); 3843 3844 if (headerTopRow) { 3845 window.requestAnimationFrame(function () { 3846 document.body.style.setProperty('--top-row-height', `${headerTopRow.offsetHeight}px`); 3847 }); 3848 } 3849 3850 /** 3851 * Updates CSS custom properties for transparent header offset calculation 3852 * Mimic updateTransparentHeaderOffset() in utilities.js 3853 */ 3854 3855 if (!hasHeaderSection || !header?.hasAttribute('transparent')) { 3856 document.body.style.setProperty('--transparent-header-offset-boolean', '0'); 3857 return; 3858 } 3859 3860 const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section'); 3861 3862 const shouldApplyOffset = !hasImmediateSection ? '1' : '0'; 3863 document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset); 3864 })(); 3865 3866 (function setHeaderMenuStyle() { 3867 const headerComponent = document.querySelector('#header-component'); 3868 if (headerComponent) { 3869 const isTouchDevice = 'ontouchstart' in window && navigator.maxTouchPoints > 0; 3870 const overflowList = headerComponent?.querySelector('overflow-list'); 3871 const hasReachedMinimum = overflowList && overflowList.hasAttribute('minimum-reached'); 3872 headerComponent.dataset.menuStyle = isTouchDevice || hasReachedMinimum ? 'drawer' : 'menu'; 3873 } 3874 })(); 3875 </script>
3875 3876 3877 <main 3878 id="MainContent" 3879 class="content-for-layout" 3880 role="main" 3881 data-page-transition-enabled="false" 3882 data-product-transition="false" 3883 data-template="page.pf-258e770a" 3884 > 3885 <div id="shopify-section-template--22355637502196__pf-258e770a" class="shopify-section"> 3886<div data-pf-editor-version="gen-2" class="sc-fAGzVM ckdstx __pf __pf_OeQOEcv0" id="__pf"><div data-pf-type="Body" class="sc-iowYbt LsuWb pf-7_"><div data-pf-type="Layout" class="sc-cTTcKX dkCVVW pf-8_"><section data-section-id="pf-6b60" data-pf-type="FlexSection" class="sc-cKXyOM gdMpOS pf-9_ pf-container-1 pf-color-scheme-1"><div class="sc-bHnkpz ffFBJG pf-flex-section"><img alt="hero-about.png__PID:cbf46b60-e4e5-4969-8ad6-11c6a368401e" src="https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=2048" srcSet="https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=375 375w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=550 550w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=768 768w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=1024 1024w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=1280 1280w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=1440 1440w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=1680 1680w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=1800 1800w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=1920 1920w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/hero-about.png?v=1778890479&width=2048 2048w" fetchPriority="low" decoding="async" loading="lazy" style="--pf-image-ratio:1.7768331562167907" sizes="75vw" data-pf-type="Image5" class="sc-jwZJYP clbmpw pf-10_ pf-image-1" store="[object Object]"/></div></section><section data-section-id="pf-13ea" data-pf-type="FlexSection" class="sc-cKXyOM gdMpOS pf-46_ pf-container-1 pf-color-scheme-1"><div class="sc-bHnkpz ffFBJG pf-flex-section"><img alt="ingredients.png__PID:a2131085-42d1-4f23-b0ba-1868598fdf69" src="https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=2048" srcSet="https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=375 375w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=550 550w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=768 768w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=1024 1024w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=1280 1280w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=1440 1440w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=1680 1680w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=1800 1800w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=1920 1920w,https://cdn.shopify.com/s/files/1/0825/4989/9508/files/ingredients.png?v=1778891698&width=2048 2048w" fetchPriority="low" decoding="async" loading="lazy" style="--pf-image-ratio:1.7768331562167907" sizes="75vw" data-action="url" data-href="/pages/ingredients" data-target="_self" data-pf-type="Image5" class="sc-jwZJYP clbmpw pf-47_ pf-image-1" store="[object Object]"/></div></section></div></div></div>
3886<script> 3887 !function(){ 3888 window.__pagefly_page_setting__ = {"pageTitle":"About","pageType":"page","pageId":"258e770a-f5c5-4d61-9e17-e2ba2054945c","lazyLoad":true,"forceByPassGoogleLightHouse":false,"imageLazyLoad":true,"nativeImageLazyLoad":true,"useThemeJQ":false,"sectionRootType":"FlexSection","trackingIDs":[]}; 3889 window.__pagefly_setting__&&(window.__pagefly_setting2__=window.__pagefly_setting__),window.__pagefly_setting__={"baseURL":"https://apps.pagefly.io","analyticsURL":"https://analytics.pagefly.io","isBackend":false,"cdnURL":"https://cdn.pagefly.io","pageflyVersion":"4.26.3.31","shopDomain":"perfectlyposh-2.myshopify.com","elementData":{},"shopifyProxyPath":"/apps/pagefly"},window.__pagefly_setting2__&&(window.__pagefly_setting__=function _(d,b){let c={...d||{}};for(let a of Object.keys(b))b[a]instanceof Object&&(Array.isArray(b[a])&&c[a]?Object.assign(b[a],[...b[a],...c[a]]):Object.assign(b[a],_(c[a],b[a])));return Object.assign(c||{},b),c}(__pagefly_setting2__,__pagefly_setting__),delete window.__pagefly_setting2__),window.__pagefly_setting__.moneyFormat="${{amount}}"}(); 3890 </script>
3890 3891</div> 3892 </main> 3893 3894 <footer> 3895 <!-- BEGIN sections: footer-group --> 3896<div id="shopify-section-sections--22214414598388__footer_m9NzUG" class="shopify-section shopify-section-group-footer-group section-wrapper"> 3897 3898<div class="section-background color-scheme-1"></div> 3899<div 3900 class="section section--page-width color-scheme-1" 3901> 3902 3903 <div 3904 class=" 3905 footer-content 3906 spacing-style 3907 3908 3909 " 3910 style=" 3911 --padding-block-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 30px)); 3912 --footer-gap: 50px; 3913 --grid-columns: 4; 3914 --last-row-count: 4; 3915 --tablet-last-row-count: 2; 3916 " 3917 > 3918 3919 3920 3921<div 3922 class=" 3923 group-block 3924 group-block--height-fit 3925 group-block--width-fill 3926 border-style 3927 spacing-style 3928 size-style 3929 3930 3931 " 3932 style=" 3933 --border-width: 1px; --border-style: none; --border-color: 3934rgb(var(--color-border-rgb) / 1.0); --border-radius: 39350px; 3936 3937 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 3938 --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 3939 3940 " 3941 3942 data-testid="group-block" 3943><div class="group-block__media-wrapper"> 3944 3945 3946 3947 3948 3949 </div> 3950 3951 <div 3952 class=" 3953 group-block-content 3954 3955 layout-panel-flex 3956 layout-panel-flex--column 3957 mobile-column 3958 " 3959 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 3960 3961--gap: 0px; 3962 3963--horizontal-alignment: center; --vertical-alignment: center; 3964--vertical-alignment-mobile: center; 3965" 3966 > 3967 3968 3969 3970<div 3971 class=" 3972 logo-block 3973 spacing-style 3974 " 3975 style=" 3976 3977 3978 --logo-width: 167.85498489425981px; 3979 3980 3981 3982 3983 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 3984 " 3985 3986> 3987 3988 <div class="logo-block__image-wrapper"> 3989 3990<img src="//perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=3840" alt="Perfectly Posh" srcset="//perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=240 240w, //perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=352 352w, //perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=832 832w, //perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=1200 1200w, //perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=1600 1600w, //perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=1920 1920w, //perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=2560 2560w, //perfectlyposh.com/cdn/shop/files/logo-pink.png?v=1778884144&width=3840 3840w" width="926" height="662" class="logo-block__image" sizes="(min-width: 750px) calc(var(--logo-width)), 100vw"> 3991 </div> 3992 3993</div> 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 <rte-formatter class=" spacing-style text-block text-block--AbHlTTHo5blAzaVBPb__text_L97qt9 rte rte " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:20px; --padding-inline-end:20px; --width: fit-content; --max-width: var(--max-width--body-normal); "> 4008 <p><strong>Skincare that's as fun as you are.</strong></p> 4009 </rte-formatter> 4010 4011 4012 4013 4014 4015 4016 4017</div> 4018</div> 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 <accordion-custom 4031 4032 class="menu" 4033 4034 4035 4036 open-by-default-on-desktop 4037 4038 4039 open-by-default-on-mobile 4040 4041 4042 data-disable-on-desktop="true" 4043 4044 4045 data-disable-on-mobile="true" 4046 4047 4048 4049 4050> 4051 4052 <details 4053 class=" 4054 menu__details 4055 spacing-style 4056 4057 " 4058 data-testid="menu-details" 4059 style=" 4060 --spacing--size: 5px; 4061 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 30px)); 4062 " 4063 4064 open 4065 4066 4067 > 4068 <summary class="menu__heading h5"> 4069 <span class="menu__heading__default">ABOUT</span> 4070 <span class="menu__heading__accordion"> 4071 ABOUT 4072
4073 <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4074 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4075</svg> 4076</span> 4077 4078 </span> 4079 </summary> 4080 4081 <nav 4082 class="details-content" 4083 4084 aria-label="ABOUT" 4085 4086 > 4087 4088 <ul class="list-unstyled"> 4089 4090 <li class="menu__item paragraph"> 4091 <a href="#"> 4092 Our Story 4093 </a> 4094 </li> 4095 4096 <li class="menu__item paragraph"> 4097 <a href="https://perfectlyposh.com/apps/track"> 4098 Track Order 4099 </a> 4100 </li> 4101 4102 <li class="menu__item paragraph"> 4103 <a href="/pages/contact"> 4104 Contact Us 4105 </a> 4106 </li> 4107 4108 </ul> 4109 4110 </nav> 4111 </details> 4112 4113</accordion-custom> 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 <accordion-custom 4131 4132 class="menu" 4133 4134 4135 4136 open-by-default-on-desktop 4137 4138 4139 open-by-default-on-mobile 4140 4141 4142 data-disable-on-desktop="true" 4143 4144 4145 data-disable-on-mobile="true" 4146 4147 4148 4149 4150> 4151 4152 <details 4153 class=" 4154 menu__details 4155 spacing-style 4156 4157 " 4158 data-testid="menu-details" 4159 style=" 4160 --spacing--size: 5px; 4161 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: max(20px, calc(var(--spacing-scale) * 30px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 30px)); 4162 " 4163 4164 open 4165 4166 4167 > 4168 <summary class="menu__heading h5"> 4169 <span class="menu__heading__default">SHOP</span> 4170 <span class="menu__heading__accordion"> 4171 SHOP 4172 4173 <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4174 <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4175</svg> 4176</span> 4177 4178 </span> 4179 </summary> 4180 4181 <nav 4182 class="details-content" 4183 4184 aria-label="SHOP" 4185 4186 > 4187 4188 <ul class="list-unstyled"> 4189 4190 <li class="menu__item paragraph"> 4191 <a href="https://perfectlyposh.com/collections/all?sort_by=best-selling"> 4192 All Products 4193 </a> 4194 </li> 4195 4196 <li class="menu__item paragraph"> 4197 <a href="/collections/bath"> 4198 Bath 4199 </a> 4200 </li> 4201 4202 <li class="menu__item paragraph"> 4203 <a href="/collections/face"> 4204 Face 4205 </a> 4206 </li> 4207 4208 <li class="menu__item paragraph"> 4209 <a href="/collections/body"> 4210 Body 4211 </a> 4212 </li> 4213 4214 <li class="menu__item paragraph"> 4215 <a href="/collections/hair"> 4216 Hair 4217 </a> 4218 </li> 4219 4220 <li class="menu__item paragraph"> 4221 <a href="/collections/hands"> 4222 Hands 4223 </a> 4224 </li> 4225 4226 </ul> 4227 4228 </nav> 4229 </details> 4230 4231</accordion-custom> 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245<div 4246 class=" 4247 group-block 4248 group-block--height-fit 4249 group-block--width-custom 4250 border-style 4251 spacing-style 4252 size-style 4253 4254 4255 " 4256 style=" 4257 --border-width: 1px; --border-style: none; --border-color: 4258rgb(var(--color-border-rgb) / 1.0); --border-radius: 42590px; 4260 4261 --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; 4262 --size-style-width:100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; 4263 4264 " 4265 4266 data-testid="group-block" 4267><div class="group-block__media-wrapper"> 4268 4269 4270 4271 4272 4273 </div> 4274 4275 <div 4276 class=" 4277 group-block-content 4278 4279 layout-panel-flex 4280 layout-panel-flex--column 4281 mobile-column 4282 " 4283 style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap; 4284 4285--gap: 12px; 4286 4287--horizontal-alignment: flex-start; --vertical-alignment: center; 4288--vertical-alignment-mobile: center; 4289" 4290 > 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 <rte-formatter class=" spacing-style text-block text-block--ASUl3Z1FGUG11VlF4Z__text_igDUAh rte rte " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: fit-content; --max-width: var(--max-width--body-normal); "> 4301 <p><strong>BE THE FIRST TO KNOW</strong></p> 4302 </rte-formatter> 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 <rte-formatter class=" spacing-style text-block text-block--AMThuQVZTK3FMdUhlL__text_3jVffV rte rte " style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: fit-content; --max-width: var(--max-width--body-normal); "> 4319 <p>Get exclusive offers, new drops, and feel-good skincare tips.</p> 4320 </rte-formatter> 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330<div 4331 class="email-signup-block size-style spacing-style" 4332 style="--size-style-width: 100%;--size-style-height: ;--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;" 4333 4334> 4335 4336<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="email-signup__form spacing-style"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 4337 <div 4338 class="email-signup__input-group " 4339 style="--border-width: 1px; --border-radius: 100px;" 4340 > 4341 <label 4342 for="EmailInput-AV3FjWi9sczF2dXplM__email_signup_DPtTVk" 4343 class="visually-hidden" 4344 > 4345 Email 4346 </label> 4347 <input 4348 id="EmailInput-AV3FjWi9sczF2dXplM__email_signup_DPtTVk" 4349 class="email-signup__input email-signup__input--all paragraph " 4350 type="email" 4351 name="contact[email]" 4352 autocorrect="off" 4353 autocapitalize="off" 4354 autocomplete="email" 4355 placeholder="Email address" 4356 required 4357 4358 > 4359 <button 4360 class="email-signup__button email-signup__button--text paragraph button button--AV3FjWi9sczF2dXplM__email_signup_DPtTVk " 4361 4362 > 4363 4364 Sign up 4365 4366 </button> 4367 </div></form> 4368</div> 4369 4370 4371 4372 4373 4374</div> 4375</div> 4376 4377 4378 4379 4380 4381 4382 </div> 4383</div> 4384 4385 4386 4387 4388</div><div id="shopify-section-sections--22214414598388__footer_utilities_jLGE8U" class="shopify-section shopify-section-group-footer-group footer-utilities"> 4389 4390<div class="section-background color-scheme-7428e935-b223-4598-9dc4-78c24b04e5d6"></div> 4391<div 4392 class="section section--page-width color-scheme-7428e935-b223-4598-9dc4-78c24b04e5d6" 4393 4394> 4395 <div 4396 class="utilities utilities--blocks-2 spacing-style" 4397 style="--padding-block-start: 20px;--padding-block-end: 20px; --border-width: 0px; --gap: 24px;" 4398 data-testid="footer-utilities" 4399 > 4400 4401 4402<div 4403 class=" 4404 footer-utilities__group-copyright 4405 custom-typography 4406 custom-font-size 4407 " 4408 style=" 4409--color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" 4410 4411> 4412 <span class="footer-utilities__text"> 4413 © 2026 4414 <a href="/" title="">
4414Perfectly Posh</a></span> 4415</div> 4416 4417 4418 4419 4420 <anchored-popover-component 4421 data-hover-triggered="true" 4422 > 4423 <button 4424 class="policy-list-trigger button-unstyled" 4425 popovertarget="terms-policies-popover" 4426 popovertargetaction="toggle" 4427 ref="trigger" 4428 style=" 4429--color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);" 4430 4431 > 4432 Terms and Policies 4433 </button> 4434 <div 4435 class="terms-policies-popover color-scheme-1" 4436 id="terms-policies-popover" 4437 popover="auto" 4438 ref="popover" 4439 > 4440 <ul 4441 class=" 4442 policy_list list-unstyled 4443 custom-typography 4444 custom-font-size 4445 " 4446 ><li> 4447 <a 4448 href="/policies/privacy-policy" 4449 class="footer-utilities__text" 4450 >Privacy policy</a> 4451 </li><li> 4452 <a 4453 href="/policies/refund-policy" 4454 class="footer-utilities__text" 4455 >Refund policy</a> 4456 </li><li> 4457 <a 4458 href="/policies/terms-of-service" 4459 class="footer-utilities__text" 4460 >Terms of service</a> 4461 </li><li> 4462 <a 4463 href="/policies/contact-information" 4464 class="footer-utilities__text" 4465 >Contact information</a> 4466 </li></ul> 4467 </div> 4468 </anchored-popover-component> 4469 4470 4471 4472 4473 4474 4475 </div> 4476</div> 4477 4478 4479 4480 4481</div> 4482<!-- END sections: footer-group --> 4483 </footer> 4484 4485 4486
4487<script 4488 src="//perfectlyposh.com/cdn/shop/t/1/assets/dialog.js?v=150888536568694194021777514867" 4489 type="module" 4490></script>
4490 4491
4492<script 4493 src="//perfectlyposh.com/cdn/shop/t/1/assets/predictive-search.js?v=149240552485540508541777514867" 4494 type="module" 4495 fetchpriority="low" 4496></script>
4496 4497 4498<dialog-component 4499 id="search-modal" 4500 class="search-modal" 4501 4502> 4503 <dialog 4504 ref="dialog" 4505 on:click="/closeDialogOnClickOutside" 4506 on:keydown="/closeDialogOnEscapePress" 4507 class="search-modal__content dialog-modal" 4508 scroll-lock 4509 aria-labelledby="search-modal-heading" 4510 > 4511 <h2 4512 id="search-modal-heading" 4513 class="visually-hidden" 4514 > 4515 Search 4516 </h2> 4517 <predictive-search-component 4518 class="predictive-search color-scheme-1" 4519 style="--product-corner-radius: 0px; --card-corner-radius: 4px;" 4520 data-section-id="predictive-search" 4521 data-testid="search-component--modal" 4522 role="search" 4523 aria-label="Search" 4524 > 4525 <form 4526 action="/search" 4527 method="get" 4528 role="search" 4529 class="predictive-search-form" 4530 ref="form" 4531 on:keydown="/onSearchKeyDown" 4532 > 4533 <div 4534 class="predictive-search-form__header" 4535 > 4536 <div class="predictive-search-form__header-inner"> 4537 <label 4538 for="cmdk-input" 4539 class="visually-hidden" 4540 >Search</label> 4541 <input 4542 class="search-input" 4543 id="cmdk-input" 4544 type="search" 4545 name="q" 4546 role="combobox" 4547 aria-expanded="false" 4548 aria-owns="predictive-search-results" 4549 aria-controls="predictive-search-results" 4550 aria-haspopup="listbox" 4551 aria-autocomplete="list" 4552 autocomplete="off" 4553 placeholder="Search" 4554 ref="searchInput" 4555 on:input="/search" 4556 on:keydown="/onSearchKeyDown" 4557 > 4558 <input 4559 name="options[prefix]" 4560 type="hidden" 4561 value="last" 4562 > 4563 <span class="svg-wrapper predictive-search__icon"> 4564 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg> 4565 4566 </span> 4567 <button 4568 type="button" 4569 class="button-unstyled predictive-search__reset-button" 4570 ref="resetButton" 4571 hidden 4572 on:click="/resetSearch" 4573 > 4574 Clear 4575 </button> 4576 </div> 4577 <button 4578 type="button" 4579 class="button predictive-search__close-modal-button" 4580 aria-label="Close dialog" 4581 on:click="dialog-component/closeDialog" 4582 ref="closeModalButton" 4583 > 4584 <span class="svg-wrapper"> 4585 <svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4586 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4587 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4588</svg> 4589 4590 </span> 4591 </button> 4592 </div> 4593 4594 <div class="predictive-search-form__content-wrapper"> 4595 <div 4596 class="predictive-search-form__content" 4597 ref="predictiveSearchResults" 4598 on:click="/handleModalClick" 4599 > 4600 4601 4602<div 4603 id="predictive-search-results" 4604 class="predictive-search-dropdown" 4605 role="listbox" 4606 aria-expanded="true" 4607 style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);" 4608> 4609 4610 <div class="predictive-search-results__inner"> 4611 4612 4613 4614 4615 4616 <div 4617 id="predictive-search-products" 4618 class="predictive-search-results__products" 4619 4620 data-testid="products-list-default--modal" 4621 4622> 4623 4624 <h4 class="predictive-search-results__title"> 4625 Products 4626 </h4> 4627 <ul 4628 class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled" 4629 > 4630 4631 4632 <li 4633 class="predictive-search-results__card predictive-search-results__card--product" 4634 ref="resultsItems[]" 4635 > 4636 4637<div 4638 class="resource-card" 4639 data-resource-type="product" 4640> 4641 <a 4642 class="resource-card__link" 4643 href="/products/call-me-rosie-rose-clay-cleansing-chunk-big-bath-bar" 4644 > 4645 <span class="visually-hidden"> 4646 Call Me Rosie Rose Clay Cleansing Chunk Big Bath Bar - Perfectly Pos
4646h 4647 </span> 4648 </a> 4649 <div 4650 class="resource-card__media" 4651 style="--resource-card-aspect-ratio: 4 / 5;" 4652 4653 > 4654 4655 4656 4657 <img src="//perfectlyposh.com/cdn/shop/files/1lNzp9W8tuF1qqkUZO6gE_WkcpkyrmX-u_w2000.png?v=1778863138&width=500" alt="The Call Me Rosie Rose Clay Cleansing Chunk Big Bath Bar by Perfectly Posh features a pink package with a Rosie the Riveter-inspired woman and offers a gentle, feminine fragrance." srcset="//perfectlyposh.com/cdn/shop/files/1lNzp9W8tuF1qqkUZO6gE_WkcpkyrmX-u_w2000.png?v=1778863138&width=240 240w, //perfectlyposh.com/cdn/shop/files/1lNzp9W8tuF1qqkUZO6gE_WkcpkyrmX-u_w2000.png?v=1778863138&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 4658</div> 4659 4660 <div class="resource-card__content"> 4661 <p class="resource-card__title paragraph">Call Me Rosie Rose Clay Cleansing Chunk Big Bath Bar - Perfectly Posh</p> 4662 4663 4664 <div ref="priceContainer"> 4665 4666 4667 <div 4668 class=" 4669 price__regular 4670 4671 " 4672 > 4673 <span class="price">$10.95</span> 4674 </div> 4675 <div 4676 class=" 4677 price__sale 4678 4679 price__hidden 4680 4681 " 4682 > 4683 4684 <span class="price-item__group"> 4685 <span class="visually-hidden">Regular price </span> 4686 <span class="price-item--regular compare-at-price"></span> 4687 </span> 4688 <span class="price-item__group"> 4689 <span class="visually-hidden">Sale price </span> 4690 <span class="price-item--sale price">$10.95</span> 4691 </span> 4692 4693 </div> 4694 4695</div> 4696 4697 </div> 4698</div> 4699 4700 </li> 4701 4702 <li 4703 class="predictive-search-results__card predictive-search-results__card--product" 4704 ref="resultsItems[]" 4705 > 4706 4707<div 4708 class="resource-card" 4709 data-resource-type="product" 4710> 4711 <a 4712 class="resource-card__link" 4713 href="/products/daily-greens-cleansing-face-wash" 4714 > 4715 <span class="visually-hidden"> 4716 Daily Greens Cleansing Face Wash - Perfectly Posh 4717 </span> 4718 </a> 4719 <div 4720 class="resource-card__media" 4721 style="--resource-card-aspect-ratio: 4 / 5;" 4722 4723 > 4724 4725 4726 4727 <img src="//perfectlyposh.com/cdn/shop/files/1n1MQ0pzZcJmqkwAEW56Nuu2BqejTOqkT-w2000-_1.png?v=1781983891&width=500" alt="A 3 fl oz tube of Perfectly Posh Daily Greens Cleansing Face Wash, featuring green leaf art and colorful text on whiteâa gentle cleanser with green tea for glowing skin." srcset="//perfectlyposh.com/cdn/shop/files/1n1MQ0pzZcJmqkwAEW56Nuu2BqejTOqkT-w2000-_1.png?v=1781983891&width=240 240w, //perfectlyposh.com/cdn/shop/files/1n1MQ0pzZcJmqkwAEW56Nuu2BqejTOqkT-w2000-_1.png?v=1781983891&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 4728</div> 4729 4730 <div class="resource-card__content"> 4731 <p class="resource-card__title paragraph">Daily Greens Cleansing Face Wash - Perfectly Posh</p> 4732 4733 4734 <div ref="priceContainer"> 4735 4736 4737 <div 4738 class=" 4739 price__regular 4740 4741 " 4742 > 4743 <span class="price">$14.95</span> 4744 </div> 4745 <div 4746 class=" 4747 price__sale 4748 4749 price__hidden 4750 4751 " 4752 > 4753 4754 <span class="price-item__group"> 4755 <span class="visually-hidden">Regular price </span> 4756 <span class="price-item--regular compare-at-price"></span> 4757 </span> 4758 <span class="price-item__group"> 4759 <span class="visually-hidden">Sale price </span> 4760 <span class="price-item--sale price">$14.95</span> 4761 </span> 4762 4763 </div> 4764 4765</div> 4766 4767 </div> 4768</div> 4769 4770 </li> 4771 4772 <li 4773 class="predictive-search-results__card predictive-search-results__card--product" 4774 ref="resultsItems[]" 4775 > 4776 4777<div 4778 class="resource-card" 4779 data-resource-type="product" 4780> 4781 <a 4782 class="resource-card__link" 4783 href="/products/iykyk-cleansing-conditioner" 4784 > 4785 <span class="visually-hidden">
4786 IYKYK Cleansing Conditioner - Perfectly Posh 4787 </span> 4788 </a> 4789 <div 4790 class="resource-card__media" 4791 style="--resource-card-aspect-ratio: 4 / 5;" 4792 4793 > 4794 4795 4796 4797 <img src="//perfectlyposh.com/cdn/shop/files/1cfnuivxh1SKFy48IRn7Vw-mbvX5h-JmU-w2000-_1.png?v=1781983901&width=500" alt="A 12 fl oz (355 ml) white pump bottle of Perfectly Posh IYKYK Cleansing Conditioner, featuring black and pink text and hair type silhouettes, with a no-foam formula for clean, hydrated hair." srcset="//perfectlyposh.com/cdn/shop/files/1cfnuivxh1SKFy48IRn7Vw-mbvX5h-JmU-w2000-_1.png?v=1781983901&width=240 240w, //perfectlyposh.com/cdn/shop/files/1cfnuivxh1SKFy48IRn7Vw-mbvX5h-JmU-w2000-_1.png?v=1781983901&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 4798</div> 4799 4800 <div class="resource-card__content"> 4801 <p class="resource-card__title paragraph">IYKYK Cleansing Conditioner - Perfectly Posh</p> 4802 4803 4804 <div ref="priceContainer"> 4805 4806 4807 <div 4808 class=" 4809 price__regular 4810 4811 " 4812 > 4813 <span class="price">$19.95</span> 4814 </div> 4815 <div 4816 class=" 4817 price__sale 4818 4819 price__hidden 4820 4821 " 4822 > 4823 4824 <span class="price-item__group"> 4825 <span class="visually-hidden">Regular price </span> 4826 <span class="price-item--regular compare-at-price"></span> 4827 </span> 4828 <span class="price-item__group"> 4829 <span class="visually-hidden">Sale price </span> 4830 <span class="price-item--sale price">$19.95</span> 4831 </span> 4832 4833 </div> 4834 4835</div> 4836 4837 </div> 4838</div> 4839 4840 </li> 4841 4842 <li 4843 class="predictive-search-results__card predictive-search-results__card--product" 4844 ref="resultsItems[]" 4845 > 4846 4847<div 4848 class="resource-card" 4849 data-resource-type="product" 4850> 4851 <a 4852 class="resource-card__link" 4853 href="/products/mfeo-mint-for-each-other-chunk-big-bath-bar" 4854 > 4855 <span class="visually-hidden"> 4856 MFEO Mint for Each Other Chunk Big Bath Bar - Perfectly Posh 4857 </span> 4858 </a> 4859 <div 4860 class="resource-card__media" 4861 style="--resource-card-aspect-ratio: 4 / 5;" 4862 4863 > 4864 4865 4866 4867 <img src="//perfectlyposh.com/cdn/shop/files/1148g-mZLdUEKyWjE8hb9LFe0p4iJ8jOv-w2000-_1.png?v=1781983974&width=500" alt="Enjoy a 7 oz MFEO Mint for Each Other Chunk Big Bath Bar by Perfectly Posh. This nourishing soap blends rosemary, peppermint, and shea butter in light green packaging with botanical designs and gold accents." srcset="//perfectlyposh.com/cdn/shop/files/1148g-mZLdUEKyWjE8hb9LFe0p4iJ8jOv-w2000-_1.png?v=1781983974&width=240 240w, //perfectlyposh.com/cdn/shop/files/1148g-mZLdUEKyWjE8hb9LFe0p4iJ8jOv-w2000-_1.png?v=1781983974&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="" style="object-position: 50.0% 50.0%;"> 4868</div> 4869 4870 <div class="resource-card__content"> 4871 <p class="resource-card__title paragraph">MFEO Mint for Each Other Chunk Big Bath Bar - Perfectly Posh</p> 4872 4873 4874 <div ref="priceContainer"> 4875 4876 4877 <div 4878 class=" 4879 price__regular 4880 4881 " 4882 > 4883 <span class="price">$10.95</span> 4884 </div> 4885 <div 4886 class=" 4887 price__sale 4888 4889 price__hidden 4890 4891 " 4892 > 4893 4894 <span class="price-item__group"> 4895 <span class="visually-hidden">Regular price </span> 4896 <span class="price-item--regular compare-at-price"></span> 4897 </span> 4898 <span class="price-item__group"> 4899 <span class="visually-hidden">Sale price </span> 4900 <span class="price-item--sale price">$10.95</span> 4901 </span> 4902 4903 </div> 4904 4905</div> 4906 4907 </div> 4908</div> 4909 4910 </li> 4911 4912 </ul> 4913 4914</div> 4915 4916 4917 4918 </div> 4919 4920</div> 4921 4922 </div> 4923 4924 <div class="predictive-search-form__footer"> 4925 <button 4926 class="button predictive-search__search-button" 4927 ref="viewAllButton" 4928 > 4929 View all 4930 </button> 4931 </div> 4932 </div> 4933 </form> 4934 </predictive-search-component> 4935 </dialog> 4936</dialog-component> 4937 4938 4939 4940 4941 4942
4942<script 4943 src="//perfectlyposh.com/cdn/shop/t/1/assets/gift-card-recipient-form.js?v=129634859299628245901777514867" 4944 type="module" 4945 fetchpriority="low" 4946></script>
4946 4947<quick-add-dialog id="quick-add-dialog"> 4948 <dialog 4949 class="quick-add-modal dialog-modal color-scheme-1" 4950 ref="dialog" 4951 scroll-lock 4952 > 4953 <button 4954 ref="closeButton" 4955 on:click="/closeDialog" 4956 class="button button-unstyled close-button quick-add-modal__close" 4957 aria-label="Close dialog" 4958 ><svg aria-hidden="true" width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 4959 <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4960 <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/> 4961</svg> 4962</button> 4963 4964 <div 4965 id="quick-add-modal-content" 4966 class="quick-add-modal__content" 4967 ></div> 4968 </dialog> 4969</quick-add-dialog> 4970 4971 4972 4973 4974 4975 4976 4977 <div id="shopify-block-Aamora2hLNHcxQVNaT__12120936241911852800" class="shopify-block shopify-app-block"><section class='jdgm-widget jdgm-revs-tab' role='complementary'> 4978 4979 <div class='jdgm-revs-tab-btn btn' position="right" tabindex="0" aria-label="Click to open Judge.me floating reviews tab" role='button'>â Reviews</div> 4980 <div class='jdgm-revs-tab__header'> 4981 <a class='jdgm-close-ico'></a> 4982 <h3 class='jdgm-revs-tab__title'>Let customers speak for us</h3> 4983 <a class='jdgm-revs-tab__url' href='/pages/reviews'> 4984 <div data-score='4.79' class='jdgm-all-reviews-rating' aria-label='Average rating is 4.79' role='img'></div>267 reviews 4985 </a> 4986 </div> 4987 4988 4989 <div class='jdgm-widget jdgm-all-reviews-widget-v2025' 4990 data-widget='all-reviews-v2025' 4991 data-entry-point='all_reviews_widget_v2025.js' 4992 data-entry-key='all-reviews-widget-v2025/main.js' 4993 data-block-id='Aamora2hLNHcxQVNaT__12120936241911852800' 4994 data-review-source='' 4995 data-show-all-reviews-in-same-tab='' 4996 data-show-first='' 4997 data-empty-state='' 4998 data-is-floating-tab='true' 4999 5000 > 5001 5002 <div class='jdgm-legacy-widget-content' style='display: none;'> 5003 <style> </style> <section class='jdgm-revs-tab__wrapper'> <style>.jdgm-revs-tab{display: none}</style> <div class='jdgm-mask'></div> <div class='jdgm-revs-tab__main'> <div class='jdgm-revs-tab__content'> <div class='jdgm-revs-tab__content-header' data-number-of-product-reviews='248' data-number-of-shop-reviews='19'> <a style='display: none' href='#' class='jdgm-write-rev-link'>Write a review</a> <div class='jdgm-histogram jdgm-temp-hidden'> <div class='jdgm-histogram__row' data-rating='5' data-frequency='242' data-percentage='91'> <div class='jdgm-histogram__star' role='button' aria-label="91% (242) reviews with 5 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 91%;'> </div> </div> <div class='jdgm-histogram__percentage'>91%</div> <div class='jdgm-histogram__frequency'>(242)</div> </div> <div class='jdgm-histogram__row' data-rating='4' data-frequency='12' data-percentage='4'> <div class='jdgm-histogram__star' role='button' aria-label="4% (12) reviews with 4 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 4%;'> </div> </div> <div class='jdgm-histogram__percentage'>4%</div> <div class='jdgm-histogram__frequency'>(12)</div> </div> <div class='jdgm-histogram__row' data-rating='3' data-frequency='4' data-percentage='1'> <div class='jdgm-histogram__star' role='button' aria-label="1% (4) reviews with 3 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 1%;'> </div> </div> <div class='jdgm-histogram__percentage'>1%</div> <div class='jdgm-histogram__frequency'>(4)</div> </div> <div class='jdgm-histogram__row' data-rating='2' data-frequency='0' data-percentage='0'> <div class='jdgm-histogram__star' role='button' aria-label="0% (0) reviews with 2 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 0%;'> </div> </div> <div class='jdgm-histogram__percentage'>0%</div> <div class='jdgm-histogram__frequency'>(0)</div> </div> <div class='jdgm-histogram__row' data-rating='1' data-frequency='9' data-percentage='3'> <div class='jdgm-histogram__star' role='button' aria-label="3% (9) reviews with 1 star rating" tabindex='0' ><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span><span class='jdgm-star jdgm--off'></span></div> <div class='jdgm-histogram__bar'> <div class='jdgm-histogram__bar-content' style='width: 3%;'> </div> </div> <div class='jdgm-histogram__percentage'>3%</div> <div class='jdgm-histogram__frequency'>(9)</div> </div> <div class='jdgm-histogram__row jdgm-histogram__clear-filter' data-rating=null tabindex='0'></div> </div> <div class='jdgm-gallery' data-url='reviews/all_reviews_js_based' data-per-page='10'> <div class='jdgm-gallery-data jdgm-hidden' data-json='[{"uuid":"c5c59ebf-90c1-43c6-a956-32ae6b8b5ad4","reviewer_name":"Carol B.","reviewer_initial":"C","title":"I was introduced to Posh at Messy Bun (Scrapbooking/Crafting B \u0026#39;n\u0026#39; B) in Antioch, IL","body_html":"\u003cp\u003eI was at a scrapbooking/crafting Bed and Breakfast (Messy Bun, in Antioch, IL) and she was STOCKED with Posh products. My face always breaks out from scents and lotions; so, I never try them. Since it was a casual weekend, and she had a variety of Posh products, I decided to try the \"Face Plumping\" followed by the \"moisturizer\". I felt so pretty afterwards (What a great feeling). By the final night I also tried the body scrub, lip moisturizer, shower moisturizer, eye gel, and she gave me a sample selection (Including make-up wipes) for the future. I'm excited to add Posh to my morning routine as it makes me feel good!\u003c/p\u003e","verified_buyer":false,"location":"","video_external_ids":[],"media_platform_hosted_video_infos":[],"cf_answers":[],"shop_reply_name":"
5003Perfectly Posh","product_title":"Moisturize 911 Caffeinated Face Moisturizer - Perfectly Posh","product_url":"/products/moisturize-911-caffeinated-face-moisturizer","product_url_with_utm":"https://perfectlyposh.com/products/moisturize-911-caffeinated-face-moisturizer?jdgm_referral_location=widget\u0026ref=judge.me\u0026utm_campaign=judgeme-review-site\u0026utm_medium=referral\u0026utm_source=judgeme","rating":"5","created_at":"2023-08-06 00:00:00 UTC","pictures_urls":[{"compact":"https://m.media-amazon.com/images/I/71fJmW8FoWL._SY1000.jpg","original":"https://m.media-amazon.com/images/I/71fJmW8FoWL._SY1000.jpg"},{"compact":"https://m.media-amazon.com/images/I/71qtF--kq8L._SY1000.jpg","original":"https://m.media-amazon.com/images/I/71qtF--kq8L._SY1000.jpg"}]},{"uuid":"37d297ba-07cd-4aee-8b2b-d0380d625c1d","reviewer_name":"Kathryn W.","reviewer_initial":"K","title":"Good quality","body_html":"\u003cp\u003eI have been using posh products for years now and I love them. This was my first time purchasing this specific face lotion and it love it. It leaves my face feeling so fresh and bright.\u003c/p\u003e","verified_buyer":false,"location":"","video_external_ids":[],"media_platform_hosted_video_infos":[],"cf_answers":[],"shop_reply_name":"Perfectly Posh","product_title":"Moisturize 911 Caffeinated Face Moisturizer - Perfectly Posh","product_url":"/products/moisturize-911-caffeinated-face-moisturizer","product_url_with_utm":"https://perfectlyposh.com/products/moisturize-911-caffeinated-face-moisturizer?jdgm_referral_location=widget\u0026ref=judge.me\u0026utm_campaign=judgeme-review-site\u0026utm_medium=referral\u0026utm_source=judgeme","rating":"5","created_at":"2023-07-06 00:00:00 UTC","pictures_urls":[{"compact":"https://m.media-amazon.com/images/I/71K0OuF3JvL._SY1000.jpg","original":"https://m.media-amazon.com/images/I/71K0OuF3JvL._SY1000.jpg"}]}]'></div> </div> <div class="jdgm-medals-wrapper jdgm-hidden" data-updated-at='2026-09-28T22:29:21Z'> <style type="text/css"></style> <div class="jdgm-medals" data-link="https://app.judge.me/reviews/medals"> <div class="jdgm-medals__container"> <div class="jdgm-medal-wrapper" title="Diamond Transparent Shop. Published 100% of verified reviews received in total"> <a class="jdgm-medal jdgm--loading" data-value="" data-type="tran" data-tier="diamond" aria-label="Judge.me Diamond Transparent Shop medal"> <div class="jdgm-medal__image" data-url="tran/diamond.svg" data-alt="Judge.me Diamond Transparent Shop medal"></div> </a> </div> <div class="jdgm-medal-wrapper" title="Gold Verified Reviews Shop. Obtained at least 100 reviews submitted by genuine customers with proof of purchase history"> <a class="jdgm-medal jdgm--loading" data-value="106" data-type="ver_rev" data-tier="gold" aria-label="Judge.me Gold Verified Reviews Shop medal"> <div class="jdgm-medal__image" data-url="ver_rev/gold.svg" data-alt="Judge.me Gold Verified Reviews Shop medal"></div> <div class="jdgm-medal__value ">106</div> </a> </div> <div class="jdgm-medal-wrapper" title="Silver Monthly Record Shop. Achieved an all-time record of 30 published verified reviews within one calendar month."> <a class="jdgm-medal jdgm--loading" data-value="30" data-type="mon_rec" data-tier="silver" aria-label="Judge.me Silver Monthly Record Shop medal"> <div class="jdgm-medal__image" data-url="mon_rec/silver_hollow.svg" data-alt="Judge.me Silver Monthly Record Shop medal"></div> <div class="jdgm-medal__value ">30</div> </a> </div> <div class="jdgm-medal-wrapper" title="Top 5% Trending Shops. Top 5% trending shops that obtained and published the most verified reviews in the last 30 days"> <a class="jdgm-medal jdgm--loading" data-value="" data-type="tops_trend" data-tier="5-percent" aria-label="Judge.me Top 5% Trending Shops medal"> <div class="jdgm-medal__image" data-url="tops_trend/5-percent.svg" data-alt
5003="Judge.me Top 5% Trending Shops medal"></div> </a> </div> </div> </div> </div> <div class='jdgm-rev-widg__sort-wrapper'></div> </div> <div class='jdgm-revs-tab__content-body'> <div class='jdgm-revs-tab__reviews'><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='false' data-review-id='5b142820-4c62-498a-810d-649c85829dd1' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > A </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-rev__timestamp jdgm-spinner' data-content='2026-09-28 14:58:42 UTC'></span> <span class='jdgm-rev__prod-info-wrapper'> <span class='jdgm-rev__prod-link-prefix'></span> <a href='/products/sassyooma-bfyhc' target='_blank' class='jdgm-rev__prod-link'> Sassyooma Big Fat Yummy Hand Creme - Perfectly Posh </a> </span> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Aimee</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'> <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>I love everything POSH 5004<br />This is my most favorite ð</p></div> <div class='jdgm-rev__pics'> </div> <div class='jdgm-rev__vids'> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> </div> </div><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='false' data-review-id='a925f80f-e51b-4a0a-bd52-8fea81751b99' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > A </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-rev__timestamp jdgm-spinner' data-content='2026-09-28 01:37:33 UTC'></span> <span class='jdgm-rev__prod-info-wrapper'> <span class='jdgm-rev__prod-link-prefix'></span> <a href='/products/bff-best-face-forever-exfoliating-face-wash' target='_blank' class='jdgm-rev__prod-link'> BFF Best Face Forever Exfoliating Face Wash - Perfectly Posh </a> </span> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Anonymous</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'> <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>Patiently hoping this is restocked! I have been using this for years and LOVE it!</p></div> <div class='jdgm-rev__pics'> </div> <div class='jdgm-rev__vids'> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> </div> </div><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='false' data-review-id='a20e568f-5e56-4bd0-9d25-51ec7ecc9401' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > C </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-rev__timestamp jdgm-spinner' data-content='2026-09-21 05:06:55 UTC'></span> <span class='jdgm-rev__prod-info-wrapper'> <span class='jdgm-rev__prod-link-prefix'></span> <a href='/products/bff-best-face-forever-exfoliating-face-wash' target='_blank' class='jdgm-rev__prod-link'>
5004 BFF Best Face Forever Exfoliating Face Wash - Perfectly Posh </a> </span> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Customer</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'> <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>please restock. This scrub is the best.</p></div> <div class='jdgm-rev__pics'> </div> <div class='jdgm-rev__vids'> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> </div> </div><div class='jdgm-rev jdgm-divider-top' data-verified-buyer='false' data-review-id='ca33389c-2530-4fca-9ab1-ab9ec8432954' data-thumb-up-count='0' data-thumb-down-count='0'> <div class='jdgm-rev__header'> <div class='jdgm-rev__icon' > A </div> <span class='jdgm-rev__rating' data-score='5' tabindex='0' aria-label='5 star review' role='img'> <span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span><span class='jdgm-star jdgm--on'></span> </span> <span class='jdgm-rev__timestamp jdgm-spinner' data-content='2026-09-20 22:35:41 UTC'></span> <span class='jdgm-rev__prod-info-wrapper'> <span class='jdgm-rev__prod-link-prefix'></span> <a href='/products/bff-best-face-forever-exfoliating-face-wash' target='_blank' class='jdgm-rev__prod-link'> BFF Best Face Forever Exfoliating Face Wash - Perfectly Posh </a> </span> <div class='jdgm-rev__br'></div> <span class='jdgm-rev__buyer-badge-wrapper'> </span> <span class='jdgm-rev__author-wrapper'> <span class='jdgm-rev__author'>Anonymous</span> <span class='jdgm-rev__location' > </span> </span> </div> <div class='jdgm-rev__content'> <div class='jdgm-rev__custom-form'> </div> <b class='jdgm-rev__title'></b> <div class='jdgm-rev__body'><p>I love this face wash! Need it ASAP when will it restock? Please do not discontinue it. It is the best face wash ever!!!</p></div> <div class='jdgm-rev__pics'> </div> <div class='jdgm-rev__vids'> </div> </div> <div class='jdgm-rev__actions'> <div class='jdgm-rev__social'></div> <div class='jdgm-rev__votes'></div> </div> <div class='jdgm-rev__reply'> </div> </div></div> <div class='jdgm-spinner jdgm-revs-tab__spinner' style='display: none'> </div> <div class='jdgm-paginate' data-per-page='4' data-url='https://api.judge.me/reviews/reviews_for_reviews_tab' ><a class='jdgm-paginate__page jdgm-curt' data-page='1' aria-label='Page 1' tabindex='0' aria-current='page' role='button'>1</a><a class='jdgm-paginate__page ' data-page='2' aria-label='Page 2' tabindex='0' role='button'>2</a><a class='jdgm-paginate__page ' data-page='3' aria-label='Page 3' tabindex='0' role='button'>3</a><a class='jdgm-paginate__page jdgm-paginate__next-page' data-page='2' aria-label='Page 2' tabindex='0' rel='next' role='button'></a><a class='jdgm-paginate__page jdgm-paginate__last-page' data-page='62' aria-label='Page 62' tabindex='0' role='button'></a></div> </div> </div> </div> </section> 5005 </div> 5006 5007 </div> 5008 5009 5010
5010<script type='application/json' class='jdgm-all-reviews-widget-v2025-data-json'>{"number_of_reviews":267,"number_of_shop_reviews":19,"number_of_product_reviews":248,"average_rating":"4.79","histogram":[{"rating":5,"frequency":242,"percentage":91,"extra_class":null},{"rating":4,"frequency":12,"percentage":4,"extra_class":null},{"rating":3,"frequency":4,"percentage":1,"extra_class":null},{"rating":2,"frequency":0,"percentage":0,"extra_class":null},{"rating":1,"frequency":9,"percentage":3,"extra_class":null}],"photo_gallery":[{"uuid":"c5c59ebf-90c1-43c6-a956-32ae6b8b5ad4","reviewer_name":"Carol B.","reviewer_initial":"C","title":"I was introduced to Posh at Messy Bun (Scrapbooking/Crafting B 'n' B) in Antioch, IL","body_html":"<p>I was at a scrapbooking/crafting Bed and Breakfast (Messy Bun, in Antioch, IL) and she was STOCKED with Posh products. My face always breaks out from scents and lotions; so, I never try them. Since it was a casual weekend, and she had a variety of Posh products, I decided to try the \"Face Plumping\" followed by the \"moisturizer\". I felt so pretty afterwards (What a great feeling). By the final night I also tried the body scrub, lip moisturizer, shower moisturizer, eye gel, and she gave me a sample selection (Including make-up wipes) for the future. I'm excited to add Posh to my morning routine as it makes me feel good!</p>","verified_buyer":false,"location":"","video_external_ids":[],"media_platform_hosted_video_infos":[],"cf_answers":[],"shop_reply_name":"Perfectly Posh","product_title":"Moisturize 911 Caffeinated Face Moisturizer - Perfectly Posh","product_url":"/products/moisturize-911-caffeinated-face-moisturizer","product_url_with_utm":"https://perfectlyposh.com/products/moisturize-911-caffeinated-face-moisturizer?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","rating":"5","created_at":"2023-08-06 00:00:00 UTC","pictures_urls":[{"original":"https://m.media-amazon.com/images/I/71fJmW8FoWL._SY1000.jpg","small":"https://m.media-amazon.com/images/I/71fJmW8FoWL._SY1000.jpg","compact":"https://m.media-amazon.com/images/I/71fJmW8FoWL._SY1000.jpg","huge":"https://m.media-amazon.com/images/I/71fJmW8FoWL._SY1000.jpg"},{"original":"https://m.media-amazon.com/images/I/71qtF--kq8L._SY1000.jpg","small":"https://m.media-amazon.com/images/I/71qtF--kq8L._SY1000.jpg","compact":"https://m.media-amazon.com/images/I/71qtF--kq8L._SY1000.jpg","huge":"https://m.media-amazon.com/images/I/71qtF--kq8L._SY1000.jpg"}]},{"uuid":"37d297ba-07cd-4aee-8b2b-d0380d625c1d","reviewer_name":"Kathryn W.","reviewer_initial":"K","title":"Good quality","body_html":"<p>I have been using posh products for years now and I love them. This was my first time purchasing this specific face lotion and it love it. It leaves my face feeling so fresh and bright.</p>","verified_buyer":false,"location":"","video_external_ids":[],"media_platform_hosted_video_infos":[],"cf_answers":[],"shop_reply_name":"Perfectly Posh","product_title":"Moisturize 911 Caffeinated Face Moisturizer - Perfectly Posh","product_url":"/products/moisturize-911-caffeinated-face-moisturizer","product_url_with_utm":"https://perfectlyposh.com/products/moisturize-911-caffeinated-face-moisturizer?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","rating":"5","created_at":"2023-07-06 00:00:00 UTC","pictures_urls":[{"original":"https://m.media-amazon.com/images/I/71K0OuF3JvL._SY1000.jpg","small":"https://m.media-amazon.com/images/I/71K0OuF3JvL._SY1000.jpg","compact":"https://m.media-amazon.com/images/I/71K0OuF3JvL._SY1000.jpg","huge":"https://m.media-amazon.com/images/I/71K0OuF3JvL._SY1000.jpg"}]}],"shop_medals":[{"type":"tran","tier":"diamond","tier_key":500,"medal_image_url":"https://public-images.judge.me/judgeme/medals-v2-2025-rebranding/tran/diamond.svg","title":"Diamond Transparent Shop","description":"Published 100% of verified reviews received in total"},{"type":"ver_rev","tier":"gold","tier_key":300,"medal_image_url":"https://public-images.judge.me/judgeme/medals-v2-2025-rebranding/ver_rev/gold.svg","title":"Gold Verified Reviews Shop","description":"Obtained at least 100 reviews submitted by genuine customers with proof of purchase history","value":"106","value_is_long":false},{"type":"mon_rec","tier":"silver","tier_key":200,"medal_image_url":"https://public-images.judge.me/judgeme/medals-v2-2025-rebranding/mon_rec/silver_hollow.svg","title":"Silver Monthly Record Shop","description":"Achieved an all-time record of 30 published verified reviews within one calendar month.","value":"30","value_is_long":false},{"type":"tops_trend","tier":"5 percent","tier_key":80,"medal_image_url":"https://public-images.judge.me/judgeme/medals-v2-2025-rebranding/tops_trend/5-percent.svg","title":"Top 5% Trending Shops","description":"Top 5% trending shops that obtained and published the most verified reviews in the last 30 days"}],"multi_language_sorting_enabled":false,"ai_summary_text":"","metafield_updated_at":"2026-09-28T22:29:18Z","review_keywords":null,"all_reviews":[{"uuid":"5b142820-4c62-498a-810d-649c85829dd1","title":"","rating":5,"body_html":"<p>I love everything POSH\n<br />This is my most favorite ð</p>","body":"I love everything POSH\r\nThis is my most favorite ð","verified_buyer":false,"created_at":"2026-09-28T14:58:42.183Z","reviewer_name":"Aimee","reviewer_initial":"A","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Sassyooma Big Fat Yummy Hand Creme - Perfectly Pos
5010h","encoded_product_id":"gx21lk5w","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/sassyooma-bfyhc","product_url_with_utm":"https://perfectlyposh.com/products/sassyooma-bfyhc?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/Sassyooma-HC-_1.png?v=1781984015","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/Sassyooma-HC-_1.png?v=1781984015","review_site_product_path":null,"is_shop_review":false},{"uuid":"a925f80f-e51b-4a0a-bd52-8fea81751b99","title":"","rating":5,"body_html":"<p>Patiently hoping this is restocked! I have been using this for years and LOVE it!</p>","body":"Patiently hoping this is restocked! I have been using this for years and LOVE it!","verified_buyer":false,"created_at":"2026-09-28T01:37:33.659Z","reviewer_name":"Anonymous","reviewer_initial":"A","is_anonymous_reviewer":true,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"BFF Best Face Forever Exfoliating Face Wash - Perfectly Posh","encoded_product_id":"WoenP4EM","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/bff-best-face-forever-exfoliating-face-wash","product_url_with_utm":"https://perfectlyposh.com/products/bff-best-face-forever-exfoliating-face-wash?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":2,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","review_site_product_path":null,"is_shop_review":false},{"uuid":"a20e568f-5e56-4bd0-9d25-51ec7ecc9401","title":"","rating":5,"body_html":"<p>please restock. This scrub is the best.</p>","body":"please restock. This scrub is the best.","verified_buyer":false,"created_at":"2026-09-21T05:06:55.131Z","reviewer_name":"Customer","reviewer_initial":"C","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"BFF Best Face Forever Exfoliating Face Wash - Perfectly Posh","encoded_product_id":"WoenP4EM","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/bff-best-face-forever-exfoliating-face-wash","product_url_with_utm":"https://perfectlyposh.com/products/bff-best-face-forever-exfoliating-face-wash?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":7,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","review_site_product_path":null,"is_shop_review":false},{"uuid":"4fd36648-b839-48d8-9e0c-ea965aa48e82","title":"","rating":1,"body_html":"<p>The size and quality of your products are truly lacking now. I am very disappointed in Perfectly Pos
5010h! Get the people back who worked for the company in 2015! They knew what they were doing and kept the products that were popular and WORKED!</p>","body":"The size and quality of your products are truly lacking now. I am very disappointed in Perfectly Posh! Get the people back who worked for the company in 2015! They knew what they were doing and kept the products that were popular and WORKED!","verified_buyer":false,"created_at":"2026-09-20T23:53:44.894Z","reviewer_name":"Teresa","reviewer_initial":"T","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Brazilian Bombshell Skindelicious Body Butter - Perfectly Posh","encoded_product_id":"WORrYo49","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/brazilian-bombshell-skindelicious-body-butter","product_url_with_utm":"https://perfectlyposh.com/products/brazilian-bombshell-skindelicious-body-butter?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1dolS09jajkp69Dhb8y07oF4kNGSBie0R-w2000-_1.png?v=1781983937","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1dolS09jajkp69Dhb8y07oF4kNGSBie0R-w2000-_1.png?v=1781983937","review_site_product_path":null,"is_shop_review":false},{"uuid":"ca33389c-2530-4fca-9ab1-ab9ec8432954","title":"","rating":5,"body_html":"<p>I love this face wash! Need it ASAP when will it restock? Please do not discontinue it. It is the best face wash ever!!!</p>","body":"I love this face wash! Need it ASAP when will it restock? Please do not discontinue it. It is the best face wash ever!!!","verified_buyer":false,"created_at":"2026-09-20T22:35:41.374Z","reviewer_name":"Anonymous","reviewer_initial":"A","is_anonymous_reviewer":true,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"BFF Best Face Forever Exfoliating Face Wash - Perfectly Posh","encoded_product_id":"WoenP4EM","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/bff-best-face-forever-exfoliating-face-wash","product_url_with_utm":"https://perfectlyposh.com/products/bff-best-face-forever-exfoliating-face-wash?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","review_site_product_path":null,"is_shop_review":false},{"uuid":"844c1c4f-7790-4870-a610-664c378bf06f","title":"","rating":5,"body_html":"<p>Great company to order from. Love the products</p>","body":"Great company to order from. Love the products","verified_buyer":true,"created_at":"2026-09-19T14:40:41.364Z","reviewer_name":"Margaret h.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Pos
5010h","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":1,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"05a7a7a7-5eff-4dc6-af49-4ac3919af039","title":"","rating":5,"body_html":"<p>Love. Love. Love.</p>","body":"Love. Love. Love.","verified_buyer":true,"created_at":"2026-09-19T14:40:12.445Z","reviewer_name":"Margaret h.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"PJs All Day Skindelicious Body Butter - Perfectly Posh","encoded_product_id":"g015lbXw","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/pjs-all-day-skindelicious-body-butter","product_url_with_utm":"https://perfectlyposh.com/products/pjs-all-day-skindelicious-body-butter?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":1,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1RZ3pilKnfWpS7Ix_lu2dktfuyzavXpRt_w2000.png?v=1778884190","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1RZ3pilKnfWpS7Ix_lu2dktfuyzavXpRt_w2000.png?v=1778884190","review_site_product_path":null,"is_shop_review":false},{"uuid":"bc2df801-1b3c-460a-85db-0baf4aa2153c","title":"","rating":5,"body_html":"<p>Makes my lips feel great</p>","body":"Makes my lips feel great","verified_buyer":true,"created_at":"2026-09-19T14:39:52.290Z","reviewer_name":"Margaret h.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Word of Mouth Nourishing Lip Mask - Perfectly Posh","encoded_product_id":"Dv2VlJ2v","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/word-of-mouth-nourishing-lip-mask","product_url_with_utm":"https://perfectlyposh.com/products/word-of-mouth-nourishing-lip-mask?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":1,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/PPH-LB4114-STY.jpg?v=1778884143","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/PPH-LB4114-STY.jpg?v=1778884143","review_site_product_path":null,"is_shop_review":false},{"uuid":"64adeaa6-6102-4916-8782-8bd16636a58b","title":"","rating":5,"body_html":"<p>Arrived fast and as promised. Love Gender Bender!</p>","body":"Arrived fast and as promised. Love Gender Bender!","verified_buyer":true,"created_at":"2026-09-18T23:11:44.628Z","reviewer_name":"Heather R.","reviewer_initial":"H","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Pos
5010h","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":6,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"adb90139-8424-4620-92a1-54831c2cbf80","title":"","rating":5,"body_html":"<p>Great soap. Cleans well and smells great. My husband loves it and reorders when getting low.</p>","body":"Great soap. Cleans well and smells great. My husband loves it and reorders when getting low.","verified_buyer":true,"created_at":"2026-09-18T23:11:09.049Z","reviewer_name":"Heather R.","reviewer_initial":"H","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Gender Bender Chunk Big Bath Bar - Perfectly Posh","encoded_product_id":"Dw2bwnPP","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/gender-bender-chunk-big-bath-bar","product_url_with_utm":"https://perfectlyposh.com/products/gender-bender-chunk-big-bath-bar?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":6,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1en9AEpV9tz9dt1LI82vOZDtIcRyTzCgm_w2000.png?v=1778863139","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1en9AEpV9tz9dt1LI82vOZDtIcRyTzCgm_w2000.png?v=1778863139","review_site_product_path":null,"is_shop_review":false}],"all_reviews_pagination":{"total_pages":27,"total_count":267,"current_page":1,"per_page":10},"product_reviews":[{"uuid":"5b142820-4c62-498a-810d-649c85829dd1","title":"","rating":5,"body_html":"<p>I love everything POSH\n<br />This is my most favorite ð</p>","body":"I love everything POSH\r\nThis is my most favorite ð","verified_buyer":false,"created_at":"2026-09-28T14:58:42.183Z","reviewer_name":"Aimee","reviewer_initial":"A","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Sassyooma Big Fat Yummy Hand Creme - Perfectly Posh","encoded_product_id":"gx21lk5w","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/sassyooma-bfyhc","product_url_with_utm":"https://perfectlyposh.com/products/sassyooma-bfyhc?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/Sassyooma-HC-_1.png?v=1781984015","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/Sassyooma-HC-_1.png?v=1781984015","review_site_product_path":null,"is_shop_review":false},{"uuid":"a925f80f-e51b-4a0a-bd52-8fea81751b99","title":"","rating":5,"body_html":"<p>Patiently hoping this is restocked! I have been using this for years and LOVE it!</p>","body":"Patiently hoping this is restocked! I have been using this for years and LOVE it!","verified_buyer":false,"created_at":"2026-09-28T01:37:33.659Z","reviewer_name":"Anonymous","reviewer_initial":"A","is_anonymous_reviewer":true,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"BFF Best Face Forever Exfoliating Face Wash - Perfectly Pos
5010h","encoded_product_id":"WoenP4EM","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/bff-best-face-forever-exfoliating-face-wash","product_url_with_utm":"https://perfectlyposh.com/products/bff-best-face-forever-exfoliating-face-wash?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":2,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","review_site_product_path":null,"is_shop_review":false},{"uuid":"a20e568f-5e56-4bd0-9d25-51ec7ecc9401","title":"","rating":5,"body_html":"<p>please restock. This scrub is the best.</p>","body":"please restock. This scrub is the best.","verified_buyer":false,"created_at":"2026-09-21T05:06:55.131Z","reviewer_name":"Customer","reviewer_initial":"C","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"BFF Best Face Forever Exfoliating Face Wash - Perfectly Posh","encoded_product_id":"WoenP4EM","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/bff-best-face-forever-exfoliating-face-wash","product_url_with_utm":"https://perfectlyposh.com/products/bff-best-face-forever-exfoliating-face-wash?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":7,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","review_site_product_path":null,"is_shop_review":false},{"uuid":"4fd36648-b839-48d8-9e0c-ea965aa48e82","title":"","rating":1,"body_html":"<p>The size and quality of your products are truly lacking now. I am very disappointed in Perfectly Posh! Get the people back who worked for the company in 2015! They knew what they were doing and kept the products that were popular and WORKED!</p>","body":"The size and quality of your products are truly lacking now. I am very disappointed in Perfectly Posh! Get the people back who worked for the company in 2015! They knew what they were doing and kept the products that were popular and WORKED!","verified_buyer":false,"created_at":"2026-09-20T23:53:44.894Z","reviewer_name":"Teresa","reviewer_initial":"T","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Brazilian Bombshell Skindelicious Body Butter - Perfectly Posh","encoded_product_id":"WORrYo49","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/brazilian-bombshell-skindelicious-body-butter","product_url_with_utm":"https://perfectlyposh.com/products/brazilian-bombshell-skindelicious-body-butter?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Pos
5010h","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1dolS09jajkp69Dhb8y07oF4kNGSBie0R-w2000-_1.png?v=1781983937","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1dolS09jajkp69Dhb8y07oF4kNGSBie0R-w2000-_1.png?v=1781983937","review_site_product_path":null,"is_shop_review":false},{"uuid":"ca33389c-2530-4fca-9ab1-ab9ec8432954","title":"","rating":5,"body_html":"<p>I love this face wash! Need it ASAP when will it restock? Please do not discontinue it. It is the best face wash ever!!!</p>","body":"I love this face wash! Need it ASAP when will it restock? Please do not discontinue it. It is the best face wash ever!!!","verified_buyer":false,"created_at":"2026-09-20T22:35:41.374Z","reviewer_name":"Anonymous","reviewer_initial":"A","is_anonymous_reviewer":true,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"BFF Best Face Forever Exfoliating Face Wash - Perfectly Posh","encoded_product_id":"WoenP4EM","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/bff-best-face-forever-exfoliating-face-wash","product_url_with_utm":"https://perfectlyposh.com/products/bff-best-face-forever-exfoliating-face-wash?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/image-_1.png?v=1781984017","review_site_product_path":null,"is_shop_review":false},{"uuid":"05a7a7a7-5eff-4dc6-af49-4ac3919af039","title":"","rating":5,"body_html":"<p>Love. Love. Love.</p>","body":"Love. Love. Love.","verified_buyer":true,"created_at":"2026-09-19T14:40:12.445Z","reviewer_name":"Margaret h.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"PJs All Day Skindelicious Body Butter - Perfectly Posh","encoded_product_id":"g015lbXw","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/pjs-all-day-skindelicious-body-butter","product_url_with_utm":"https://perfectlyposh.com/products/pjs-all-day-skindelicious-body-butter?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":1,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1RZ3pilKnfWpS7Ix_lu2dktfuyzavXpRt_w2000.png?v=1778884190","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1RZ3pilKnfWpS7Ix_lu2dktfuyzavXpRt_w2000.png?v=1778884190","review_site_product_path":null,"is_shop_review":false},{"uuid":"bc2df801-1b3c-460a-85db-0baf4aa2153c","title":"","rating":5,"body_html":"<p>Makes my lips feel great</p>","body":"Makes my lips feel great","verified_buyer":true,"created_at":"2026-09-19T14:39:52.290Z","reviewer_name":"Margaret h.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Word of Mouth Nourishing Lip Mask - Perfectly Pos
5010h","encoded_product_id":"Dv2VlJ2v","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/word-of-mouth-nourishing-lip-mask","product_url_with_utm":"https://perfectlyposh.com/products/word-of-mouth-nourishing-lip-mask?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":1,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/PPH-LB4114-STY.jpg?v=1778884143","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/PPH-LB4114-STY.jpg?v=1778884143","review_site_product_path":null,"is_shop_review":false},{"uuid":"adb90139-8424-4620-92a1-54831c2cbf80","title":"","rating":5,"body_html":"<p>Great soap. Cleans well and smells great. My husband loves it and reorders when getting low.</p>","body":"Great soap. Cleans well and smells great. My husband loves it and reorders when getting low.","verified_buyer":true,"created_at":"2026-09-18T23:11:09.049Z","reviewer_name":"Heather R.","reviewer_initial":"H","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Gender Bender Chunk Big Bath Bar - Perfectly Posh","encoded_product_id":"Dw2bwnPP","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/gender-bender-chunk-big-bath-bar","product_url_with_utm":"https://perfectlyposh.com/products/gender-bender-chunk-big-bath-bar?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":6,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1en9AEpV9tz9dt1LI82vOZDtIcRyTzCgm_w2000.png?v=1778863139","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/1en9AEpV9tz9dt1LI82vOZDtIcRyTzCgm_w2000.png?v=1778863139","review_site_product_path":null,"is_shop_review":false},{"uuid":"8d31c86b-41bb-433e-b5bd-238388b12e8d","title":"","rating":5,"body_html":"<p>Have been using it for years. Absolutely love it. Helps with wrinkles</p>","body":"Have been using it for years. Absolutely love it. Helps with wrinkles","verified_buyer":true,"created_at":"2026-09-17T00:49:20.152Z","reviewer_name":"Lee Y.","reviewer_initial":"L","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Moisturize 911 Caffeinated Face Moisturizer - Perfectly Posh","encoded_product_id":"D8O5APOY","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/moisturize-911-caffeinated-face-moisturizer","product_url_with_utm":"https://perfectlyposh.com/products/moisturize-911-caffeinated-face-moisturizer?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":3,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Pos
5010h","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/PPH-FF4040-3-STY.jpg?v=1777518563","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/PPH-FF4040-3-STY.jpg?v=1777518563","review_site_product_path":null,"is_shop_review":false},{"uuid":"1b1fc9a8-2d26-44fb-b0e7-c28f5a3c3907","title":"","rating":1,"body_html":"<p>This product is great, used and loved it for YEARS. But TWENTY-SIX DOLLARS???!!! Absolutely not. This has ruined my opinion on this whole company.</p>","body":"This product is great, used and loved it for YEARS. But TWENTY-SIX DOLLARS???!!! Absolutely not. This has ruined my opinion on this whole company.","verified_buyer":false,"created_at":"2026-09-10T19:08:11.822Z","reviewer_name":"Anonymous","reviewer_initial":"A","is_anonymous_reviewer":true,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"THE HEALER Skin Stick w/Shea Butter - Perfectly Posh","encoded_product_id":"gl8MXajv","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/products/the-healer-shea-butter-skin-stick","product_url_with_utm":"https://perfectlyposh.com/products/the-healer-shea-butter-skin-stick?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/The-Healer.png?v=1784828709","is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/The-Healer.png?v=1784828709","review_site_product_path":null,"is_shop_review":false}],"product_reviews_pagination":{"total_pages":25,"total_count":248,"current_page":1,"per_page":10},"shop_reviews":[{"uuid":"844c1c4f-7790-4870-a610-664c378bf06f","title":"","rating":5,"body_html":"<p>Great company to order from. Love the products</p>","body":"Great company to order from. Love the products","verified_buyer":true,"created_at":"2026-09-19T14:40:41.364Z","reviewer_name":"Margaret h.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Posh","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":1,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"64adeaa6-6102-4916-8782-8bd16636a58b","title":"","rating":5,"body_html":"<p>Arrived fast and as promised. Love Gender Bender!</p>","body":"Arrived fast and as promised. Love Gender Bender!","verified_buyer":true,"created_at":"2026-09-18T23:11:44.628Z","reviewer_name":"Heather R.","reviewer_initial":"H","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Pos
5010h","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":6,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"15798bfb-0145-4d96-9b85-77dcf08753cf","title":"","rating":5,"body_html":"<p>Great products, easy order and fast shipping!</p>","body":"Great products, easy order and fast shipping!","verified_buyer":true,"created_at":"2026-09-09T18:56:26.303Z","reviewer_name":"Miranda M.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Posh","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"4f55bee2-f948-4736-a054-8ec232192a1a","title":"","rating":5,"body_html":"<p>Perfectly posh is a great company, it had it's ups n downs, but I'm glad to see it back with the right people.</p>","body":"Perfectly posh is a great company, it had it's ups n downs, but I'm glad to see it back with the right people.","verified_buyer":false,"created_at":"2026-09-06T20:33:04.356Z","reviewer_name":"Anonymous","reviewer_initial":"A","is_anonymous_reviewer":true,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Posh","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":1,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_from_store_visitor"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"03fb0d7c-0bde-4c9c-a0c9-a6f96a0c2d14","title":"","rating":5,"body_html":"<p>I always have loved Posh. I used to be a consultant 2014-2020</p>","body":"I always have loved Posh. I used to be a consultant 2014-2020","verified_buyer":true,"created_at":"2026-09-01T23:30:13.319Z","reviewer_name":"Michelle H.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Pos
5010h","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":3,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"c47bee14-2022-42a1-ac67-49da00df2d69","title":"","rating":5,"body_html":"<p>Shopping is easy and with the price reductions more affordable.</p>","body":"Shopping is easy and with the price reductions more affordable.","verified_buyer":true,"created_at":"2026-08-17T21:58:10.511Z","reviewer_name":"Rene M.J.","reviewer_initial":"R","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Posh","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":5,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"58844f25-3710-41a0-87df-2e28ca86ecd2","title":"","rating":4,"body_html":"<p>I have used it for a long time love it .got the 4oz pump bottle hard to get the pump to work .this time I got the 1.75 squeeze container hope it will better will be getting more soon thank you .</p>","body":"I have used it for a long time love it .got the 4oz pump bottle hard to get the pump to work .this time I got the 1.75 squeeze container hope it will better will be getting more soon thank you .","verified_buyer":true,"created_at":"2026-08-11T22:23:57.176Z","reviewer_name":"Anonymous","reviewer_initial":"A","is_anonymous_reviewer":true,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Posh","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":0,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"0169f343-5a24-446e-8d21-7e39ac6d88a8","title":"","rating":5,"body_html":"<p>Always have a great experience!</p>","body":"Always have a great experience!","verified_buyer":true,"created_at":"2026-08-07T15:35:17.875Z","reviewer_name":"Kelly C.","reviewer_initial":"K","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Pos
5010h","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":7,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"2e6cf586-da3a-4f80-b5bf-04eea982c8d7","title":"","rating":5,"body_html":"<p>Love the products that I have used, including the skin stick (perfect for bug bites) and the antedoat soap (very similar to the âmilkinâ it bar that has been discontinued)â¦</p>","body":"Love the products that I have used, including the skin stick (perfect for bug bites) and the antedoat soap (very similar to the âmilkinâ it bar that has been discontinued)â¦","verified_buyer":true,"created_at":"2026-08-03T14:48:32.113Z","reviewer_name":"Michele N.","reviewer_initial":"M","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Posh","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":3,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true},{"uuid":"d2f5607d-e6ae-404e-86dd-ccaa63df7f4e","title":"","rating":5,"body_html":"<p>I have been a representative for the company because I believe in the quality of the products</p>","body":"I have been a representative for the company because I believe in the quality of the products","verified_buyer":true,"created_at":"2026-07-25T21:30:21.838Z","reviewer_name":"Jill N.","reviewer_initial":"J","is_anonymous_reviewer":false,"cf_answers":[],"reply_content":null,"pictures_urls":[],"video_external_ids":[],"thumb_up":0,"thumb_down":0,"location_country":"","location_country_code":"","location":"","source":null,"product_title":"Perfectly Posh","encoded_product_id":"DzQL7BrQ","encoded_shop_id":"Ay4p2k1y","is_shopify_lite":false,"product_url":"/","product_url_with_utm":"https://perfectlyposh.com?jdgm_referral_location=widget&ref=judge.me&utm_campaign=judgeme-review-site&utm_medium=referral&utm_source=judgeme","product_in_store":true,"product_variant_title":"","profile_img_idx":3,"avatar_image_url":null,"gravatar_hash":null,"media_platform_hosted_video_infos":[],"country_code_show_flag":null,"pinned":null,"in_a_group":false,"can_pin":true,"shop_reply_name":"Perfectly Posh","transparency_badges":["review_collected_via_store_invitation"],"language":null,"is_for_product_from_group":null,"product_variant_image_url":null,"is_for_product_from_bundle":false,"product_title_localized":null,"product_pictures_url":null,"review_site_product_path":null,"is_shop_review":true}],"shop_reviews_pagination":{"total_pages":2,"total_count":19,"current_page":1,"per_page":10},"custom_form_filters_and_averages":{"choice_cfs":[],"graphic_cfs":[]},"sort_key":"created_at"}</script>
5010 5011
5011<script class='jdgm-all-reviews-widget-v2025-data'> 5012 jdgm.data ||= {}; 5013 try { 5014 jdgm.data.allReviewsWidgetV2025 = JSON.parse(document.currentScript.previousElementSibling.textContent); 5015 } catch (e) { console.error('[Judge.me] all-reviews v2025 data parse failed', e); } 5016 </script>
5016 5017 5018</section> 5019 5020 5021</div><div id="shopify-block-AMkdPR1kzUnJkYjB1T__13047258039897440615" class="shopify-block shopify-app-block"><div id='jdgm-cart-drawer-source' 5022 class='jdgm-widget' 5023 style='display:none' 5024 data-widget='cart-drawer' 5025 data-entry-point='cart_drawer.js' 5026 data-entry-key='cart-drawer/main.js' 5027 data-shop-reviews='true' 5028 data-shop-average-rating='4.79' 5029 data-shop-review-count='267' 5030 data-widget-type='review-widget'></div> 5031 5032 5033 5034 5035</div><div id="shopify-block-ARTg3djF4REhDLzg1M__16237003337219470499" class="shopify-block shopify-app-block"> 5036 5037 5038 5039 5040
5041<script> 5042 var _ALConfig = _ALConfig || {}; 5043 _ALConfig = { 5044 'shop_name': '', 5045 'public_domain': null, 5046 'proxy_path_prefix': 'apps/loyalty', 5047 'widgetJsPath': 'https://loyalty-admin.appstle.com/app/loyalty-widget.bundle.js', 5048 'widgetCssPath': 'https://loyalty-admin.appstle.com/content/loyalty-widget.css', 5049 'pointEarnRules': [], 5050 'pointRedeemRules': [], 5051 'widget_setting': null, 5052 'product': null, 5053 'productCollections': [], 5054 'shop_labels': null, 5055 'pointRoundType': 'NO_ROUND' 5056 }; 5057 5058 // Shopify's market-aware account routes. Emitted from the Liquid `routes` object so links keep 5059 // the customer's current market/language prefix (e.g. /en-eu/account/login) instead of a 5060 // hard-coded /account/login, which Shopify resolves against the shop's primary market. 5061 _ALConfig.routes = { 5062 'root_url': "\/", 5063 'account_url': "\/account", 5064 'account_login_url': "https:\/\/perfectlyposh.com\/customer_authentication\/redirect?locale=en\u0026region_country=US", 5065 'account_register_url': "https:\/\/account.perfectlyposh.com?locale=en\u0026buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwZXJmZWN0bHlwb3NoLTIubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkxNDYyNTE0LCJuYmYiOjE3OTA4NTc3MTR9.kPc4LLc4SWKcl9tXLT1QPD4tHYZVIjjdRaLxoa8wk-E", 5066 'account_logout_url': "\/account\/logout" 5067 }; 5068 5069 5070 _ALConfig.shop_name = "Perfectly Posh"; 5071 5072 5073 5074 _ALConfig.proxy_path_prefix = "apps/loyalty"; 5075 5076 5077 5078 _ALConfig.currency = "USD"; 5079 5080 5081 5082 _ALConfig.storeCurrency = "USD"; 5083 5084 5085 5086 _ALConfig.pointRoundType = "NO_ROUND"; 5087 5088 5089 5090 _ALConfig.public_domain = "perfectlyposh.com"; 5091 5092 5093 5094 _ALConfig.widgetJsPath = "https://loyalty-admin.appstle.com/app/loyalty-widget.bundle.js?v=1784185263763"; 5095 5096 5097 5098 _ALConfig.widgetCssPath = "https://loyalty-admin.appstle.com/content/loyalty-widget.css?v=1784185263763"; 5099 5100 5101 5102 _ALConfig.referralEnabled = false; 5103 5104 5105 5106 _ALConfig.vipTierEnabled = false; 5107 5108 5109 5110 _ALConfig.vipTierSetting = {"id":336,"shop":"perfectlyposh-2.myshopify.com","type":"AMOUNT_SPENT","amountOfTimeToAchieveTier":"CUSTOM","startAt":"2026-07-16T13:07:22.606147Z","evaluationEndAt":null,"createAt":"2026-07-16T13:07:22.606196Z","updateAt":"2026-07-16T14:17:55.991937Z","isRunning":true,"vipIntervalType":"MONTH","vipInterval":1,"expiredAt":null,"allowedCustomerTags":null,"restrictCustomersWithTags":null,"timeToAchieveMilestone":"ONE_YEAR","evaluationWindowedAmountSpent":true}; 5111 5112 5113 5114 _ALConfig.vipTiers = []; 5115 5116 5117 5118 _ALConfig.pointEarnRules = [{"id":846,"shop":"perfectlyposh-2.myshopify.com","type":"LEAVE_REVIEW_JUDGE_ME","status":"ACTIVE","historicPurchaseDuration":"NONE","basePoints":25.0,"includeSubtotal":false,"includeTax":false,"excludeCollections":null,"name":"Write a review using Judge Me","customerNotification":"{{points}} Posh Points added for review using {{review_type}}, {{details}}","createAt":"2026-07-16T13:16:14.459576Z","updateAt":"2026-07-16T14:57:55.222618Z","rewardInterval":"DAY","productId":null,"collectionId":null,"variantId":null,"productData":null,"collectionData":null,"customerFacingLabel":"Get 25 Posh Points for leaving a review","socialUrl":null,"disableForOnSellProduct":false,"autoApprovalDays":1,"enableInterval":false,"earnLimit":1,"activityType":"REGULAR","allowedCustomerTags":null,"includeShippingPoints":false,"eligibleForFirstOrder":false,"maximumPoints":null,"restrictCustomerTags":null,"customerFacingIconUrl":null,"serial":0,"excludeOrderTags":null,"pointBasedOn":null,"excludeProducts":null,"givePointsToGuestCustomers":false,"allowedProductTags":null,"restrictProductTags":null,"rollBackPointsOnUnsubscribe":false,"addAdditionalPoints":true,"additionalPoints":25.0,"refundNotificationLabel":"{{points}} points removed for refund.","disablePointsForDiscountedProduct":false,"platformType":"BOTH","vipTierId":null,"earnType":"POINTS","minimumOrderValue":null,"allowedOrderTags":null,"excludeVariantIds":null,"rewardAssignType":"DYNAMIC","applyOnImportedCustomer":false,"enableBirthdayPromo":false,"promoPoints
5118Multiplier":null,"ruleStartDate":null,"ruleEndDate":null,"translations":null,"appliesOn":"BOTH","manuallyApprovePoints":false},{"id":845,"shop":"perfectlyposh-2.myshopify.com","type":"BIRTHDAY","status":"ACTIVE","historicPurchaseDuration":"NONE","basePoints":50.0,"includeSubtotal":false,"includeTax":false,"excludeCollections":null,"name":"Birthday Reward","customerNotification":"{{points}} points added for {{rule_name}}","createAt":"2026-07-16T13:15:00.64375Z","updateAt":"2026-07-16T14:58:34.031854Z","rewardInterval":"DAY","productId":null,"collectionId":null,"variantId":null,"productData":null,"collectionData":null,"customerFacingLabel":"Get 50 points on your birthday","socialUrl":null,"disableForOnSellProduct":false,"autoApprovalDays":0,"enableInterval":false,"earnLimit":1,"activityType":"REGULAR","allowedCustomerTags":null,"includeShippingPoints":false,"eligibleForFirstOrder":false,"maximumPoints":null,"restrictCustomerTags":null,"customerFacingIconUrl":null,"serial":0,"excludeOrderTags":null,"pointBasedOn":null,"excludeProducts":null,"givePointsToGuestCustomers":false,"allowedProductTags":null,"restrictProductTags":null,"rollBackPointsOnUnsubscribe":false,"addAdditionalPoints":false,"additionalPoints":null,"refundNotificationLabel":"{{points}} points removed for refund.","disablePointsForDiscountedProduct":false,"platformType":"BOTH","vipTierId":null,"earnType":"POINTS","minimumOrderValue":null,"allowedOrderTags":null,"excludeVariantIds":null,"rewardAssignType":"DYNAMIC","applyOnImportedCustomer":false,"enableBirthdayPromo":false,"promoPointsMultiplier":null,"ruleStartDate":null,"ruleEndDate":null,"translations":null,"appliesOn":"BOTH","manuallyApprovePoints":false},{"id":844,"shop":"perfectlyposh-2.myshopify.com","type":"PURCHASE","status":"ACTIVE","historicPurchaseDuration":"NONE","basePoints":1.0,"includeSubtotal":false,"includeTax":false,"excludeCollections":null,"name":"Product Purchase","customerNotification":"{{points}} points added for {{rule_name}}","createAt":"2026-07-16T13:14:16.76962Z","updateAt":"2026-07-16T14:37:42.822036Z","rewardInterval":"DAY","productId":null,"collectionId":null,"variantId":null,"productData":null,"collectionData":null,"customerFacingLabel":"Get 1 points for every $1 spent on product purchases","socialUrl":null,"disableForOnSellProduct":false,"autoApprovalDays":1,"enableInterval":false,"earnLimit":1,"activityType":"REGULAR","allowedCustomerTags":null,"includeShippingPoints":false,"eligibleForFirstOrder":false,"maximumPoints":null,"restrictCustomerTags":null,"customerFacingIconUrl":null,"serial":0,"excludeOrderTags":null,"pointBasedOn":null,"excludeProducts":null,"givePointsToGuestCustomers":false,"allowedProductTags":null,"restrictProductTags":null,"rollBackPointsOnUnsubscribe":false,"addAdditionalPoints":false,"additionalPoints":null,"refundNotificationLabel":"{{points}} points have been deducted for the refunded product.","disablePointsForDiscountedProduct":false,"platformType":"ONLINE_STORE","vipTierId":null,"earnType":"POINTS","minimumOrderValue":null,"allowedOrderTags":null,"excludeVariantIds":null,"rewardAssignType":"DYNAMIC","applyOnImportedCustomer":false,"enableBirthdayPromo":false,"promoPointsMultiplier":null,"ruleStartDate":null,"ruleEndDate":null,"translations":null,"appliesOn":"BOTH","manuallyApprovePoints":false}]; 5119 5120 5121 5122 _ALConfig.pointRedeemRules = [{"id":1189,"shop":"perfectlyposh-2.myshopify.com","name":"$80 Store Credit","type":"STORE_CREDIT","referralType":null,"status":"ACTIVE","redeemPoints":1000.0,"discountType":"FIXED","discount":80.0,"minimumPurchaseAmount":0.0,"createAt":"2026-07-16T13:35:44.335264Z","updateAt":"2026-07-16T13:42:34.217822Z","maximumShippingRate":0.0,"productId":null,"variantId":null,"productData":null,"collectionId":null,"collectionData":null,"customerFacingLabel":"Redeem 1,000 Posh Points to receive a 80 store credit","restrictCustomers":null,"restrictCustomersWithTags":null,"rewardInterval":"DAY","appliesOn":"ONE_TIME","combinedWithProductDiscount":false,"combinedWithShippingDiscount":false,"combinedWithOrderDiscount":false,"enableInterval":false,"redeemLimit":1,"enableNumberOfUsagesLimit":false,"numberOfUsagesLimit":null,"allowedCustomerTags":null,"earnRuleId":null,"vipTierId":null,"redeemLabel":"{{credits}} Posh Points","customerFacingIconUrl":null,"serial":0,"discountCodeForAllCustomer":false,"allowedCountries":null,"showInPosOnly":false,"redeemAllPoints":false,"enableMinimumPointsToRedeem":false,"requiredMinimumPointsToRedeem":0.0,"enableMaximumPointsToRedeem":false,"requiredMaximumPointsToRedeem":0.0,"enablePOS":false,"minimumPointsLabel":"Add minimum {{points}} points to redeem","maximumPointsLabel":"Maximum {{points}}
5122 points can be redeemed","applyDiscountOnce":true,"enableDiscountPrefix":false,"discountPrefixText":null,"discountCodeNodeId":null,"translations":null,"quantity":1,"applyToEachItem":null},{"id":1188,"shop":"perfectlyposh-2.myshopify.com","name":"$50 Store Credit","type":"STORE_CREDIT","referralType":null,"status":"ACTIVE","redeemPoints":750.0,"discountType":"FIXED","discount":50.0,"minimumPurchaseAmount":0.0,"createAt":"2026-07-16T13:35:34.049961Z","updateAt":"2026-07-16T13:42:23.033064Z","maximumShippingRate":0.0,"productId":null,"variantId":null,"productData":null,"collectionId":null,"collectionData":null,"customerFacingLabel":"Redeem 750 Posh Points to receive a 50 store credit","restrictCustomers":null,"restrictCustomersWithTags":null,"rewardInterval":"DAY","appliesOn":"ONE_TIME","combinedWithProductDiscount":false,"combinedWithShippingDiscount":false,"combinedWithOrderDiscount":false,"enableInterval":false,"redeemLimit":1,"enableNumberOfUsagesLimit":false,"numberOfUsagesLimit":null,"allowedCustomerTags":null,"earnRuleId":null,"vipTierId":null,"redeemLabel":"{{credits}} Posh Points","customerFacingIconUrl":null,"serial":0,"discountCodeForAllCustomer":false,"allowedCountries":null,"showInPosOnly":false,"redeemAllPoints":false,"enableMinimumPointsToRedeem":false,"requiredMinimumPointsToRedeem":0.0,"enableMaximumPointsToRedeem":false,"requiredMaximumPointsToRedeem":0.0,"enablePOS":false,"minimumPointsLabel":"Add minimum {{points}} points to redeem","maximumPointsLabel":"Maximum {{points}} points can be redeemed","applyDiscountOnce":true,"enableDiscountPrefix":false,"discountPrefixText":null,"discountCodeNodeId":null,"translations":null,"quantity":1,"applyToEachItem":null},{"id":1187,"shop":"perfectlyposh-2.myshopify.com","name":"$25 Store Credit","type":"STORE_CREDIT","referralType":null,"status":"ACTIVE","redeemPoints":500.0,"discountType":"FIXED","discount":25.0,"minimumPurchaseAmount":0.0,"createAt":"2026-07-16T13:35:18.067132Z","updateAt":"2026-07-16T13:42:08.95804Z","maximumShippingRate":0.0,"productId":null,"variantId":null,"productData":null,"collectionId":null,"collectionData":null,"customerFacingLabel":"Redeem 500 Posh Points to receive a 25 store credit","restrictCustomers":null,"restrictCustomersWithTags":null,"rewardInterval":"DAY","appliesOn":"ONE_TIME","combinedWithProductDiscount":false,"combinedWithShippingDiscount":false,"combinedWithOrderDiscount":false,"enableInterval":false,"redeemLimit":1,"enableNumberOfUsagesLimit":false,"numberOfUsagesLimit":null,"allowedCustomerTags":null,"earnRuleId":null,"vipTierId":null,"redeemLabel":"{{credits}} Posh Points","customerFacingIconUrl":null,"serial":0,"discountCodeForAllCustomer":false,"allowedCountries":null,"showInPosOnly":false,"redeemAllPoints":false,"enableMinimumPointsToRedeem":false,"requiredMinimumPointsToRedeem":0.0,"enableMaximumPointsToRedeem":false,"requiredMaximumPointsToRedeem":0.0,"enablePOS":false,"minimumPointsLabel":"Add minimum {{points}} points to redeem","maximumPointsLabel":"Maximum {{points}} points can be redeemed","applyDiscountOnce":true,"enableDiscountPrefix":false,"discountPrefixText":null,"discountCodeNodeId":null,"translations":null,"quantity":1,"applyToEachItem":null},{"id":1186,"shop":"perfectlyposh-2.myshopify.com","name":"$10 Store Credit","type":"STORE_CREDIT","referralType":null,"status":"ACTIVE","redeemPoints":250.0,"discountType":"FIXED","discount":10.0,"minimumPurchaseAmount":0.0,"createAt":"2026-07-16T13:35:08.308635Z","updateAt":"2026-07-16T13:41:58.76119Z","maximumShippingRate":0.0,"productId":null,"variantId":null,"productData":null,"collectionId":null,"collectionData":null,"customerFacingLabel":"Redeem 250 Posh Points to receive a 10 store credit","restrictCustomers":null,"restrictCustomersWithTags":null,"rewardInterval":"DAY","appliesOn":"ONE_TIME","combinedWithProductDiscount":false,"combinedWithShippingDiscount":false,"combinedWithOrderDiscount":false,"enableInterval":false,"redeemLimit":1,"enableNumberOfUsagesLimit":false,"numberOfUsagesLimit":null,"allowedCustomerTags":null,"earnRuleId":null,"vipTierId":null,"redeemLabel":"{{credits}} Posh Points","customerFacingIconUrl":null,"serial":0,"discountCodeForAllCustomer":false,"allowedCountries":null,"showInPosOnly":false,"redeemAllPoints":false,"enableMinimumPointsToRedeem":false,"requiredMinimumPointsToRedeem":0.0,"enableMaximumPointsToRedeem":false,"requiredMaximumPointsToRedeem":0.0,"enablePOS":false,"minimumPointsLabel":"Add minimum {{points}} points to redeem","maximumPointsLabel":"Maximum {{points}}
5122 points can be redeemed","applyDiscountOnce":true,"enableDiscountPrefix":false,"discountPrefixText":null,"discountCodeNodeId":null,"translations":null,"quantity":1,"applyToEachItem":null},{"id":1185,"shop":"perfectlyposh-2.myshopify.com","name":"$3 Store Credit","type":"STORE_CREDIT","referralType":null,"status":"ACTIVE","redeemPoints":100.0,"discountType":"FIXED","discount":3.0,"minimumPurchaseAmount":0.0,"createAt":"2026-07-16T13:34:55.078447Z","updateAt":"2026-07-16T13:41:48.363232Z","maximumShippingRate":0.0,"productId":null,"variantId":null,"productData":null,"collectionId":null,"collectionData":null,"customerFacingLabel":"Redeem 100 Posh Points to receive a 3 store credit","restrictCustomers":null,"restrictCustomersWithTags":null,"rewardInterval":"DAY","appliesOn":"ONE_TIME","combinedWithProductDiscount":false,"combinedWithShippingDiscount":false,"combinedWithOrderDiscount":false,"enableInterval":false,"redeemLimit":1,"enableNumberOfUsagesLimit":false,"numberOfUsagesLimit":null,"allowedCustomerTags":null,"earnRuleId":null,"vipTierId":null,"redeemLabel":"{{credits}} Posh Points","customerFacingIconUrl":null,"serial":0,"discountCodeForAllCustomer":false,"allowedCountries":null,"showInPosOnly":false,"redeemAllPoints":false,"enableMinimumPointsToRedeem":false,"requiredMinimumPointsToRedeem":0.0,"enableMaximumPointsToRedeem":false,"requiredMaximumPointsToRedeem":0.0,"enablePOS":false,"minimumPointsLabel":"Add minimum {{points}} points to redeem","maximumPointsLabel":"Maximum {{points}} points can be redeemed","applyDiscountOnce":true,"enableDiscountPrefix":false,"discountPrefixText":null,"discountCodeNodeId":null,"translations":null,"quantity":1,"applyToEachItem":null}]; 5123 5124 5125 5126 _ALConfig.vipRewards = []; 5127 5128 5129 5130 _ALConfig.vipPointRewards = []; 5131 5132 5133 5134 _ALConfig.widget_setting = {"id":336,"shop":"perfectlyposh-2.myshopify.com","themePrimaryColor":null,"themeSecondaryColor":null,"widgetPosition":"LEFT","showWidget":false,"widgetBackgroundColor":"#ef4187","widgetTextColor":"#ffffff","faq":null,"popupHeaderColor":"#ef4187","popupTilesColor":"#f8fafc","popupButtonColor":"#ef4187","popupIconColor":"#ef4187","popupLinksColor":"#ef4187","homeGreetings":null,"homeSignup":null,"popupButtonTextColor":"#ffffff","popupTilesTextColor":"#1f2937","popupDiscountCodeGenerated":null,"popupCopyDiscount":null,"popupCopiedDiscount":null,"widgetTitle":null,"customCss":null,"widgetCounterBackgroundColor":"#ef4187","widgetCounterTextColor":"#ffffff","logoUrl":"https://cdn.shopify.com/s/files/1/0825/4989/9508/files/posh-vip-white.png?v=1784224693","notificationToastBackgroundColor":"#ffe3ef","notificationToastTextColor":"#000000","acquirePointsBackgroundColor":"#eef4ff","acquirePointsTextColor":"#1e3a8a","pointsBalanceBackgroundColor":"inherit","pointsBalanceTextColor":"#1f2937","allowedCustomersTag":null,"widgetSettingJson":"{\"widgetDateTimeFormat\":\"MMM D, YYYY, h:mm A\",\"showVIPSection\":true,\"dedicatedPageType\":\"DEDICATED_PAGE_V2\",\"referralRedirectUrl\":\"\",\"loaderIcon\":\"\",\"showLoyaltyOptOut\":false,\"cartWidgetSelector\":\"\",\"toastPosition\":\"bottom-center\",\"primaryDedicatedPageSectionBackgroundColor\":\"#F2F8FF\",\"reachVipMileStoneType\":\"TOTAL_AMOUNT\",\"createAccountLink\":\"\",\"cartDrawerWidgetPlacement\":\"BEFORE\",\"refreshOnAddToCart\":false,\"selectApplyRewardsDefault\":false,\"dateLocalFormat\":\"DEFAULT\",\"loyaltyPageMetaDescription\":\"\",\"enableMetaTagForNoIndexing\":false,\"hideToastNotification\":false,\"hideAppstleLoaderIcon\":false,\"showRedeemSection\":true,\"loadScriptOnlyOnDedicatedPage\":false,\"hideRedeemRuleSectionOnEmpty\":true,\"widgetBackgroundImage\":\"\",\"vipTierBadgeBackgroun
5134dColor\":\"inherit\",\"enableEnhancedV2Styling\":true,\"showCustomerHistoryDescriptionToolTip\":false,\"checkoutAllowedCustomerTags\":\"\",\"secondaryDedicatedPageBackgroundColor\":\"#ffffff\",\"launcherDataType\":\"POINTS\",\"titleCount\":60,\"hideCheckoutBlockLoggedOutCustomers\":false,\"vipTierBadgeTextColor\":\"#000000\",\"popupButtonHoverColor\":\"#b82f67\",\"cartWidgetPlacement\":\"BEFORE\",\"showRewardSection\":true,\"primaryDedicatedPageBackgroundColor\":\"#2f5bd8\",\"showHowItWorksSection\":true,\"visitedIcon\":\"\",\"afterCopiedDiscountRedirectUrl\":\"\",\"showVipTierBadge\":false,\"loggedOutFlagAcquirePoints\":false,\"manageLoyaltyButtonUrl\":\"\",\"hideRulesForLoggedOutCustomer\":false,\"hideStoreCreditsBalance\":false,\"checkoutRestrictCustomerTags\":\"\",\"hideExpirationDate\":false,\"dedicatedPageV2CardGap\":\"1.25rem\",\"showReferralSection\":false,\"cartWidgetRewardIcon\":\"\",\"hideEarnRuleSectionOnEmpty\":true,\"primaryDedicatedPageTextColor\":\"#ffffff\",\"showFAQSection\":true,\"showRangeForRedeemPoints\":false,\"dedicatedPageV2BorderRadius\":\"8px\",\"secondaryDedicatedPageSectionBackgroundColor\":\"#FFFFFF\",\"loyaltyPageMetaTitle\":\"\",\"applyDiscountCodeOnRedeem\":false,\"referralCustomRedirectUrl\":\"\",\"waysToEarnIcon\":\"\",\"vipTierBadgeSelector\":\"\",\"displayMethod\":\"TEXT_ICON\",\"hideFaqSection\":false,\"disableRuleCollapsible\":false,\"showEarnSection\":true,\"showTierName\":false,\"cartDrawerRedeemWidgetSelector\":\"\",\"checkoutRedeemLoginURL\":\"\",\"referralClaimGiftIcon\":\"\",\"widgetButtonLogoUrl\":\"https://cdn.shopify.com/s/files/1/0635/7391/7901/files/icon1.png?v=1719318035\",\"disableLoyaltyBlocks\":false,\"hidePointsBalance\":false,\"descriptionCount\":500,\"exploreButtonCustomRedirect\":\"\",\"hideWidgetOnScroll\":false,\"customFontUrl\":\"\",\"hideWidgetLauncherOnMobile\":false,\"hideFreeProductDropdownProductTitle\":false,\"showCartRedeemWidget\":true,\"customSignInLink\":\"\",\"referredCustomerRewardIcon\":\"\",\"enableAcquirePointsQuantitySelector\":false,\"showPoweredBy\":false,\"hideVipTierName\":false,\"showTransactionHistory\":true,\"waysToRedeemIcon\":\"\",\"secondaryDedicatedPageTextColor\":\"#4b5563\",\"customHtmlInject\":\"[]\",\"referringCustomerRewardIcon\":\"\"}","widgetButtonLogoUrl":"https://cdn.shopify.com/s/files/1/0635/7391/7901/files/icon1.png?v=1719318035","showReferralSocialMedia":true,"referralSocialMediaInfo":"[{\"socialMediaIconURL\":\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSItMzIgMCA1MTIgNTEyIj4KCTxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZ2MzIwYzAgMzUuMyAyOC43IDY0IDY0IDY0aDk4LjJWMzM0LjJoLTUyLjhWMjU2aDUyLjh2LTMzLjdjMC04Ny4xIDM5LjQtMTI3LjUgMTI1LTEyNy41YzE2LjIgMCA0NC4yIDMuMiA1NS43IDYuNFYxNzJjLTYtLjYtMTYuNS0xLTI5LjYtMWMtNDIgMC01OC4yIDE1LjktNTguMiA1Ny4yVjI1Nmg4My42bC0xNC40IDc4LjJIMjU1VjQ4MGgxMjljMzUuMyAwIDY0LTI4LjcgNjQtNjRWOTZjMC0zNS4zLTI4LjctNjQtNjQtNjR6IiAvPgo8L3N2Zz4=\",\"socialMediaLink\":\"https://facebook.com/Shopify\",\"socialMedia\":\"FACEBOOK\"},{\"socialMediaIconURL\":\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSItMzIgMCA1MTIgNTEyIj4KCTxwYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIgZD0iTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZ2MzIwYzAgMzUuMyAyOC43IDY0IDY0IDY0aDMyMGMzNS4zIDAgNjQtMjguNyA2NC02NFY5NmMwLTM1LjMtMjguNy02NC02NC02NHptMjk3LjEgODRMMjU3LjMgMjM0LjZMMzc5LjQgMzk2aC05NS42TDIwOSAyOTguMUwxMjMuMyAzOTZINzUuOGwxMTEtMTI2LjlMNjkuNyAxMTZoOThsNjcuNyA4OS41bDc4LjItODkuNXptLTM3LjggMjUxLjZMMTUzLjQgMTQyLjloLTI4LjNsMTcxLjggMjI0LjdoMjYuM3oiIC8+Cjwvc3ZnPg==\",\"socialMediaLink\":\"https://x.com\",\"socialMedia\":\"X\"},{\"socialMediaIconURL\":\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KCTxnIGZpbGw9ImN1cnJlbnRDb2xvciI+CgkJPHBhdGggZD0iTTIyIDcuNTM1VjE3YTMgMyAwIDAgMS0yLjgyNCAyLjk5NUwxOSAyMEg1YTMgMyAwIDAgMS0yLjk5NS0yLjgyNEwyIDE3VjcuNTM1bDkuNDQ1IDYuMjk3bC4xMTYuMDY2YTEgMSAwIDAgMCAuODc4IDBsLjExNi0uMDY2eiIgLz4KCQk8cGF0aCBkPSJNMTkgNGMxLjA4IDAgMi4wMjcuNTcgMi41NTUgMS40MjdMMTIgMTEuNzk3bC05LjU1NS02LjM3YTMgMyAwIDAgMSAyLjM1NC0xLjQyTDUgNHoiIC8+Cgk8L2c+Cjwvc3ZnPg==\",\"socialMediaLink\":\"https://mail.google.com\",\"socialMedia\":\"EMAIL\"}]","restrictedCustomersTag":null,"blockWidgetOnPages":null,"colorSettingsJson":"{\"popupLinksColor\":\"#ef4187\",\"popupHeaderColor\":\"#ef4187\",\"popupIconColor\":\"#ef4187\",\"acquirePointsBackgroun
5134dColor\":\"#eef4ff\",\"pointsBalanceBackgroundColor\":\"inherit\",\"pointsBalanceTextColor\":\"#1f2937\",\"widgetCounterBackgroundColor\":\"#ef4187\",\"popupButtonColor\":\"#ef4187\",\"popupTilesColor\":\"#f8fafc\",\"widgetBackgroundColor\":\"#ef4187\",\"notificationToastTextColor\":\"#000000\",\"widgetCounterTextColor\":\"#ffffff\",\"notificationToastBackgroundColor\":\"#ffe3ef\",\"popupTilesTextColor\":\"#1f2937\",\"popupButtonTextColor\":\"#ffffff\",\"widgetTextColor\":\"#ffffff\",\"acquirePointsTextColor\":\"#1e3a8a\"}","widgetType":"LAUNCHER","imageLinksJson":"{\"collectionDiscountRuleImage\":\"\",\"purchaseRuleImage\":\"\",\"buyProductFromCollectionRuleImage\":\"\",\"vipTierImage\":\"\",\"freeShippingRuleImage\":\"\",\"birthdayDiscountRuleImage\":\"\",\"referralBackgroundImage\":\"\",\"youtubeRuleImage\":\"\",\"referralReferenceImage\":\"\",\"birthdayRuleImage\":\"\",\"judgeMeReviewRuleImage\":\"\",\"pinterestRuleImage\":\"\",\"freeProductRuleImage\":\"\",\"productDiscountRuleImage\":\"\",\"faqIconImage\":\"\",\"looxIoReviewRuleImage\":\"\",\"stampedIoReviewRuleImage\":\"\",\"productReviewRuleImage\":\"\",\"discountRuleImage\":\"\",\"faqBackgroundImage\":\"\",\"tiktokRuleImage\":\"\",\"twitterRuleImage\":\"\",\"subscriptionRuleImage\":\"\",\"buyProductRuleImage\":\"\",\"createAccountRuleImage\":\"\",\"dynamicDiscountRuleImage\":\"\",\"visitShopRuleImage\":\"\",\"facebookRuleImage\":\"\",\"heroBackgroundImage\":\"\",\"instagramRuleImage\":\"\",\"okendoReviewRuleImage\":\"\",\"availableRewardsImage\":\"\"}","customerGreetingsIcon":null,"heroBackgroundImage":"","referralReferenceImage":"","referralBackgroundImage":"","purchaseRuleImage":"","subscriptionRuleImage":"","createAccountRuleImage":"","visitShopRuleImage":"","birthdayRuleImage":"","buyProductRuleImage":"","buyProductFromCollectionRuleImage":"","facebookRuleImage":"","pinterestRuleImage":"","instagramRuleImage":"","tiktokRuleImage":"","youtubeRuleImage":"","twitterRuleImage":"","stampedIoReviewRuleImage":"","looxIoReviewRuleImage":"","judgeMeReviewRuleImage":"","productReviewRuleImage":"","okendoReviewRuleImage":"","discountRuleImage":"","freeShippingRuleImage":"","freeProductRuleImage":"","productDiscountRuleImage":"","collectionDiscountRuleImage":"","dynamicDiscountRuleImage":"","birthdayDiscountRuleImage":"","availableRewardsImage":"","vipTierImage":"","faqBackgroundImage":"","showAcquirePoints":false,"acquirePointsSelector":null,"showPointsBalance":null,"pointsBalanceSelector":null,"showPoweredBy":false,"forceRedirectDedicatedPage":null,"historyDate":null,"historyActivityDetails":null,"historyPointsAdjustment":null,"historyStatus":null,"afterCopiedDiscountRedirectUrl":"","showVipTierBadge":false,"vipTierBadgeSelector":"","vipTierBadgeBackgroun
5134dColor":"inherit","vipTierBadgeTextColor":"#000000","faqIconImage":"","descriptionCount":500,"customHtmlInject":"[]","availablePoints":null,"showTransactionHistory":true,"showLoyaltyOptOut":false,"loyaltyOptoutActive":null,"loyaltyOptoutInactive":null,"createAccountLink":"","showReferralSection":false,"showRewardSection":true,"showRedeemSection":true,"showEarnSection":true,"showFAQSection":true,"showVIPSection":true,"showHowItWorksSection":true,"vipTierBenefits":null,"enrollLoyaltyProgramTitle":null,"enrollLoyaltyProgramDescription":null,"freeProductRewardAddToCart":null,"freeProductRewardAddedSuccessMessage":null,"enrolledSuccessMessage":null,"customFontUrl":"","visitedIcon":"","allowWidgetOnSpecificPages":null,"referralRedirectUrl":"","showRangeForRedeemPoints":false,"hideAppstleLoaderIcon":false,"hideFreeProductDropdownProductTitle":false,"showToLoggedInCustomerOnly":false,"enableMetaTagForNoIndexing":false,"waysToEarnIcon":"","waysToRedeemIcon":"","loaderIcon":"","toastPosition":"bottom-center","widgetDateTimeFormat":"MMM D, YYYY, h:mm A","toastErrorMsg":null,"primaryDedicatedPageBackgroundColor":"#2f5bd8","secondaryDedicatedPageBackgroundColor":"#ffffff","titleCount":60,"programUpdateMessage":null,"primaryDedicatedPageSectionBackgroundColor":"#F2F8FF","secondaryDedicatedPageSectionBackgroundColor":"#FFFFFF","primaryDedicatedPageV2SectionBackgroundColor":null,"secondaryDedicatedPageV2SectionBackgroundColor":null,"primaryDedicatedPageV2BackgroundColor":null,"secondaryDedicatedPageV2BackgroundColor":null,"primaryDedicatedPageV2TextColor":null,"secondaryDedicatedPageV2TextColor":null,"dedicatedPageV2BorderColor":null,"dedicatedPageV2BorderRadius":"8px","dedicatedPageV2CardGap":"1.25rem","dedicatedPageV2SectionPadding":null,"refreshOnAddToCart":false,"showTierName":false,"customSignInLink":"","checkoutRedeemLoginDescription":null,"checkoutRedeemLoginURL":"","checkoutTotalAcquirePoints":null,"checkoutTotalAcquirePointsDescription":null,"reachVipMileStoneType":"TOTAL_AMOUNT","showCustomerHistoryDescriptionToolTip":false,"checkoutTotalStoreCreditAcquirePoints":null,"hideRulesForLoggedOutCustomer":false,"hideCheckoutBlockLoggedOutCustomers":false,"checkoutAllowedCustomerTags":"","checkoutRe
5134strictCustomerTags":"","hideWidgetLauncherOnMobile":false,"referringCustomerRewardIcon":"","referredCustomerRewardIcon":"","referralClaimGiftIcon":"","hideToastNotification":false,"dateLocalFormat":"DEFAULT","manageLoyaltyButtonUrl":"","rewardsDetailsExpireDate":null,"hideEarnRuleSectionOnEmpty":true,"hideRedeemRuleSectionOnEmpty":true,"hideStoreCreditsBalance":false,"hidePointsBalance":false,"popupButtonHoverColor":"#b82f67","hideWidgetOnScroll":false,"loyaltyPageMetaTitle":"","loyaltyPageMetaDescription":"","hideExpirationDate":false,"disableLoyaltyBlocks":false,"loadScriptOnlyOnDedicatedPage":false,"hideFaqSection":false,"enableAcquirePointsQuantitySelector":false,"showCartRedeemWidget":true,"cartWidgetSelector":"","cartDrawerRedeemWidgetSelector":"","cartWidgetPlacement":"BEFORE","cartWidgetRewardIcon":"","cartDrawerWidgetPlacement":"BEFORE","dedicatedPageType":"DEDICATED_PAGE_V2","secondaryDedicatedPageTextColor":"#4b5563","primaryDedicatedPageTextColor":"#ffffff","displayMethod":"TEXT_ICON","launcherDataType":"POINTS","widgetBackgroundImage":"","hideVipTierName":false,"enableEnhancedV2Styling":true,"applyDiscountCodeOnRedeem":false,"dedicatedPageSectionOrders":"[\n {\n \"i
5134d\": \"hero\",\n \"title\": \"Hero\",\n \"visible\": true\n },\n {\n \"id\": \"howItWorks\",\n \"title\": \"How It Works\",\n \"visible\": true\n },\n {\n \"id\": \"rewards\",\n \"title\": \"Rewards\",\n \"visible\": true\n },\n {\n \"id\": \"waysToEarn\",\n \"title\": \"Ways To Earn\",\n \"visible\": true\n },\n {\n \"id\": \"waysToRedeem\",\n \"title\": \"Ways To Redeem\",\n \"visible\": true\n },\n {\n \"id\": \"vipProgram\",\n \"title\": \"Vip Program\",\n \"visible\": true\n },\n {\n \"id\": \"referralProgram\",\n \"title\": \"Referral Program\",\n \"visible\": true\n },\n {\n \"id\": \"transactionHistory\",\n \"title\": \"Transaction History\",\n \"visible\": true\n },\n {\n \"id\": \"faqs\",\n \"title\": \"Faqs\",\n \"visible\": true\n }\n]","disableRuleCollapsible":false,"referralCustomRedirectUrl":"","selectApplyRewardsDefault":false,"exploreButtonCustomRedirect":"","heroBackgroundMobileImage":null,"loggedOutFlagAcquirePoints":false}; 5135 5136 5137 5138 5139 5140 5141 _ALConfig.assetRev = "e3ec36f5648e60cf43b815812af50ee1"; 5142 5143 _ALConfig.storeFrontApiVersion = "2026-01"; 5144 _ALConfig.__appstleLoyaltyNativeFetch = window.fetch.bind(window); 5145 5146 5147 _ALConfig.pointsExpirationSetting = null; 5148 5149 5150 5151 5152 5153 5154 _ALConfig.showStoreCreditRewards = false; 5155 5156 5157 5158 _ALConfig.customerId = null; 5159 _ALConfig.customerName = ''; 5160 _ALConfig.customerEmail = null; 5161 _ALConfig.customerStoreCreditBalance = null; 5162 _ALConfig.customerStoreCreditCurrency = null; 5163 _ALConfig.customerTags = []; 5164 _ALConfig.customerLoyalty = null; 5165 5166 5167 5168 _ALConfig.shop = "perfectlyposh-2.myshopify.com"; 5169 _ALConfig.shopMoneyFormat = "${{amount}}"; 5170 _ALConfig.shopMoneyFormatWithCurrencyFormat = "${{amount}} USD"; 5171 5172 5173 5174 5175 _ALConfig.enableInactiveCustomer = true; 5176 5177 5178 5179 _ALConfig.allowCustomerOptIn = false; 5180 5181 5182 5183 _ALConfig.enableDiscountToApplyAutomatically = true; 5184 5185 5186 5187 _ALConfig.hasDedicatedPageAccess = true; 5188 5189 5190 5191 _ALConfig.themeEditorMode = false; 5192 5193 5194 5195 _ALConfig.shop_labels = {"popupRewardsDetailsHeadingText":"Your PoshVIP Rewards","rewardsExpirationLabel":"{{day}} days remaining","acquirePointsLabel":"Earn {{totalPoints}} Posh Points when you buy this item.","checkoutPendingPointsLabel":"with {{pendingPoints}} pending points.","homeSignup":"Sign up to <strong>{{site_name}}'s store </strong> to start earning rewards","vipSpentAmountLabel":"Spend {{amount}} per year","minimumPointsForRedeemText":"You need at least {{points}} Posh Points to redeem this reward.","checkoutAcquiredPointsLabel":"You have acquired {{acquiredPoints}} points from this order","cartWidgetLoginMessageLabel":"Sign in to redeem your Posh Points and view rewards.","popupDiscountCodeGenerated":"Use the below coupon to get your discount.","checkoutDiscountCodeApplyButtonLabel":"Apply Reward","exploreLabel":"Explore PoshVIP","loyaltyPageHeroV2Heading":"Welcome to PoshVIP","availablePoints":"Available Posh Points: {{ points }}","otherRulesRedirectActionLabel":"Claim Posh Points","birthdayDayPlaceholderLabel":"Day","referralLinkSentDescription":"Your referral link is on its way.","currentVipTierBadgeLabel":"Your current PoshVIP tier: {{current_tier}}","checkoutAvailableRewardsLabel":"Your Available Rewards","noteHeadingLabel":"Details","popupCopiedDiscount":"Code Copied!","referralFriendGetText":"Your Friend Gets","cartWidgetRewardsButtonLabel":"Redeem Posh Points","customerReferralClaimedStatus":"Reward Claimed","popupReferralContentText":"Give a friend a reward and earn Posh Points after their first qualifying purchase.","storeCreditApplyGuideLabel":"Your store credit is ready. Select âApply store creditâ at checkout.","storeCreditBalanceLabel":"Available Store Credit","faq":"[{\"title\":\"What is this? \",\"content\":\"<p>Weâre excited to show our appreciation through our exclusive rewards program! By creating an account, youâll earn points for various activities on our site, such as referrals and purchases. These points can be redeemed for discounts on future purchasesâthe more points you collect, the more you save!</p>\"},{\"title\":\"Who can join?\",\"content\":\"<p>Anyone with an account is automatically enrolled in the program.</p>\"},{\"title\":\"How do I earn points?\",\"content\":\"<p>You can earn points through various activities, such as referring friends and making purchases. To explore all the ways you can earn points, click on the *Ways to Earn* tab in the menu.</p>\"},{\"title\":\"How do I redeem my points?\",\"content\":\"<p>Select the *Ways to Redeem* tab. Here, you'll find a list of all the rewards we offer. If you have sufficient points, you can redeem them for a reward.</p>\"},{\"title\":\"Is there a limit to the number of points I can earn?\",\"content\":\"<p>No. Go ahead and earn as many as you can.</p>\"},{\"title\":\"What do the 'approved', 'pending' and 'cancelled' statuses mean?\",\"content\":\"<p>Approved: These points can be redeemed on rewards immediately.</p><p>Pending: These points need to be verified before you can redeem them. This typically applies to purchases and referrals.</p><p>Cancelled: These points will not be added to your account. For example, this will happen if you cancel a purchase (the points will change from pending to cancelled)</p>\"}]","dynamicPointsLabel":"Enter Posh Points","loyaltyOptOutLabel":"Your PoshVIP settings have been updated.","enrollLoyaltyProgramTitle":"Join PoshVIP!","howItWorksTitleDescription":"Three simple steps to turn every purchase into more Posh.","rewardDetail
5195sHelpLabel":"Copy and apply the code at checkout to use your reward.","popupCopyDiscount":"Copy Code","howItWorksStep2Description":"Earn 1 Posh Point for every $1 you spend.","vipStatusLabel":"Your PoshVIP Status","pendingStatusLabel":"Pending","checkoutTotalStoreCreditAcquirePoints":"Complete your purchase to earn {{totalStoreCreditPoints}} in store credit.","acquirePointsLoggedOutText":"PoshVIP members earn {{totalPoints}} Posh Points when they purchase this item.","sendEmailHeadingText":"Email Your Referral Link","enrollLoyaltyProgramActionLabel":"Join Free","freeProductRewardAddedSuccessMessage":"Added! Your free-product discount will apply at checkout.","birthdayYearPlaceholderLabel":"Year","cartWidgetLoginLinkLabel":"Sign In","popupFAQHeadingText":"FAQ's","widgetTitle":"PoshVIP","noCustomerHistoryDescriptionLabel":"Your Posh Points and store credit activity will appear here.","claimReferralEmailFieldHintText":"Create your account using this same email address to receive your reward.","checkoutToggleRedeemButtonLabel":"Redeem Posh Points","rejectedStatusLabel":"Not Approved","checkoutViewMoreDiscountCodeButtonLabel":"View More Rewards","perTransactionLimitExceedText":"You can redeem up to {{shop_redeem_limit}} Posh Points per transaction.","pointsBalanceLabel":"Your balance: {{points}} Posh Points and {{store_credits}} in store credit.","vipTierBenefits":"Tier Benefits","popupRedeemRewardsHeadingText":"Redeem Posh Points","howItWorksStep3Count":"03","transactionHistoryPaginationLabel":"Showing {{startItem}}â{{endItem}} of {{totalItems}} activities","vipRewardLabel":"PoshVIP Rewards","sendEmailButtonText":"Send Invitation","cartWidgetAvailableBalanceLabel":"You have {{available_points}} Posh Points and {{currency}}{{store_credits}} in store credit.","checkoutRedeemLabel":"Redeem Posh Points","referredByText":"Invited by a PoshVIP member","loyaltyPageMetaTitle":"PoshVIP Rewards & Posh Points | Perfectly Posh","birthdayActionLabel":"Save Birthday","rewardDetailsButtonLabel":"View Reward Details","authenticationLabel":"Sign in to access this PoshVIP feature.","notEligibleLabel":"This account is not currently eligible for PoshVIP.","popupReferralTitleText":"Share the Posh Love","popupEarnRewardsHeadingText":"Earn Posh Points","popupAvailableRewardsContentText":"Available rewards: {{rewards}}","claimedStatusLabel":"Claimed","loyaltyOptoutActive":"Active","redeemActionLabel":"Redeem Points","checkoutRedeemLoginLabel":"Sign In","createAccountLabel":"Join PoshVIP Free!","rewardDetailsTitleLabel":"Spend {{spend_amount}} and , get {{discount_amount}} {{discount_type}} discount","howItWorksTitle":"How PoshVIP Works","claimGiftHeaderText":"Claim Your PoshVIP Reward","yourReferralsHeadingLabel":"Your PoshVIP Referrals","loyaltyOptoutInactive":"Inactive","noRefferralAvailableText":"You havenât referred anyone yet.","popupCardActionText":"Sign In","popupFAQAskedQuestionHeadingText":"Frequently Asked Questions","popupEarnTilesText":"Ways to Earn Posh Points","minimumAmountSpentForRedeemText":"Spend at least {{amount_spent}} before redeeming Posh Points.","birthdayUpdatedToastLabel":"Birthday saved!","historyPointsAdjustment":"Posh Points / Store Credit","referButtonLabel":"Invite a Friend","claimReferralGiftButtonText":"Claim My Reward","historyActivityDetails":"Activity","widgetCopiedLabel":"Copied!","sentDiscountCodeToEmailText":"Your referral reward has been emailed to you.","referralCustomerGetText":"You Get","sendRefferralLink":"Send My Referral Link","howItWorksStep2Count":"02","popupRemainingPointsHeadingText":"Your Posh Points","referralLinkSentLabel":"Invitation Sent!","birthdayTitleLabel":"Celebrate Your Birthday","checkoutSelectRedeemRuleDropdownLabel":"Choose a Reward","noRedeemRulesLabel":"No rewards are available right now.","minimumOrderCountForRedeemText":"Complete at least {{order_count}} orders before redeeming Posh Points.","enrolledSuccessMessage":"Youâre in! Welcome to PoshVIP.","customerHistoryLabel":"Your PoshVIP Activity","redeemLimitExceedText":"You can redeem this reward up to {{redeem_limit}} times per {{reward_interval}}.","widgetDateTimeFormat":"MMM D, YYYY, h:mm A","pointExpirationDateLabel":"Points expire: {{expiration_date}}","popupRedeemTilesText":"Ways to Redeem Posh Points","loyaltyOptOutSettingsLabel":"PoshVIP Settings","alreadyHaveAnAccountLabel":"Already have an account?","checkoutTotalAcquirePointsDescription":"Redeem your Posh Points for store credit toward a future purchase.","birthdayMonthPlaceholderL
5195abel":"Month","discountCodeLabel":"Your Discount Code","checkoutEmptyRewardsLabel":"You donât have any rewards available yet.","popupRewardPointContentText":"Turn your Posh Points into credit toward a future purchase.","chooseAnOptionLabel":"Choose a Reward","excludeCustomerLabel":"Exclude yourself from the Loyalty program.","noEarnRulesLabel":"More ways to earn are coming soon!","emailValidationLabel":"Enter a valid email address.","historyDate":"Date","popupAvailableRewardsHeadingText":"Your Available Rewards","customerHistoryDescriptionLabel":"Review your Posh Points and store credit activity.","totalAcquiredStoreCreditsLabel":"You earned {{currency}}{{totalStoreCreditPoints}} in store credit on this order.","claimReferralEmailFieldText":"Your email address","subscribeRuleRedirectActionLabel":"Subscribe and Earn","loyaltyPageMetaDescription":"Join PoshVIP, earn Posh Points on every purchase, redeem store credit, and unlock exclusive tier benefits as you shop Perfectly Posh.","claimRewardButtonLabel":"Claim Reward","checkoutRedeemLoginDescription":"to view your Posh Points balance and available rewards.","howItWorksStep2Title":"Earn Posh Points","loyaltyStatusLabel":"PoshVIP Status","vipEarnPointLabel":"Earn {{points}} Posh Points","vipCurrentTierLabel":"Your Current PoshVIP Tier","storeOnSaleForRedeemText":"Posh Points cannot be redeemed during this sale. Try again after {{shop_on_sale_end_date}}.","popupCardHeadingText":"Join PoshVIP","loyaltyPageHeroV2SubHeading":"Earn Posh Points, unlock rewards, and rise through PoshVIP tiers as you shop.","checkoutToggleAvailableRewardsButtonLabel":"Available Rewards","manageLoyaltyButtonLabel":"Manage My PoshVIP","howItWorksStep1Title":"Join PoshVIP","shareReferralLinkLabel":"Copy Your Referral Link","popupWelcomeText":"Welcome, {{customer_first_name}}!","referYourFriendContentText":"Share your unique link. Your friend receives a welcome reward, and you earn Posh Points after their qualifying purchase.","vipAchievableTierLabel":"Spend {{remainingAmount}} more to reach {{achievable_tier}}","shareSocialMediaLabel":"Or share on your favorite platform:","homeGreetings":"Welcome, {{customer_first_name}}","loyaltyOptOutActiveLabel":"PoshVIP status: {{active_status}}","dailyLimitExceedText":"You can redeem up to {{redeem_limit}} Posh Points per day.","popupCardContentText":"Create a free account to earn Posh Points and unlock rewards every time you shop.","rewardsDetailsExpireDate":"Expires on {{expire_date}}","enrollLoyaltyProgramDescription":"Earn Posh Points, unlock rewards, and enjoy exclusive VIP benefits.","loyaltyPageHeroV2AuthenticatedHeading":"Hi, {{customer_first_name}}! You have {{points}} Posh Points and {{store_credits}} in store credit.","statusHeadingLabel":"Status","minimumRedeemRequiredPointsLabel":"You need at least {{required_points}} Posh Points to redeem this reward.","vipTierDetailsText":"Earn Posh Points every time you shop and unlock bigger benefits as your annual spending grows.","membershipRewardTitleLabel":"PoshVIP Benefits","howItWorksStep1Description":"Create a free account to start earning rewards.","birthdayProfileLabel":"Your Birthday","historyStatus":"Status","approvedStatusLabel":"Approved","discountAppliedLabel":"Please copy the discount and proceed to checkout and the discount will be applied automatically","acquireStoreCreditLabel":"Earn {{totalStoreCreditPoints}} in store credit when you buy this item.","toastErrorMsg":"Something went wrong. Please try again.","includeCustomerLabel":"Include yourself in the Loyalty program to earn points.","checkThankYouAcquiredPointsHeadingLabel":"Congratulations!","popupCommunityContentText":"Shop. Earn. Get more Posh.","customerReferralPendingStatus":"Pending","referredEmailHeadingLabel":"Email","currentVipTierText":"Your Current Tier","popupRewardPointTitleText":"Your PoshVIP Rewards","socialMediaActionLabel":"Claim Posh Points","howItWorksStep3Description":"Redeem Posh Points for store credit toward a future order.","noCustomerHistoryLabel":"No Activity Yet","freeProductRewardAddToCart":"Add Free Product","creditRe
5195wardDetailsHelpLabel":"Apply your available store credit at checkout.","shareReferralEmailFieldText":"Friendâs email address","howItWorksStep1Count":"01","vipTierTitleLabel":"Unlock More with PoshVIP","referralCompletedText":"Successful referrals: {{total_count}}","discountAppliedAtCheckoutMessage":"Your discount will be applied at checkout. Your cart may display the full price.","customerReferralRecurringStatus":"Repeat Customer","reviewRuleRedirectActionLabel":"Leave a Review","referYourFriendTitleText":"Invite Your Friends","popupEarnPointDescriptionText":"Earn Posh Points every time you shop and redeem them for store credit.","popupCommunityHeadingText":"Explore PoshVIP Tiers","recurringStatusLabel":"Recurring","claimReferralGiftDescriptionText":"Someone sent you a PoshVIP reward! Enter your email to claim it.","programUpdateMessage":"Updating your PoshVIP settings. Please waitâ¦","dynamicPointsHelpText":"Redeem {{points}} Posh Points for {{discount}} off.","totalAcquiredPointsLabel":"You earned {{totalAcquiredPoints}} Posh Points on this order.","howItWorksStep3Title":"Redeem and Enjoy","checkoutTotalAcquirePoints":"Complete your purchase to earn {{totalAcquiredPoints}} Posh Points."}; 5196 5197 5198 var loyaltyGlobalStyles = `<style> 5199 body { 5200 margin: 0 5201 } 5202 .appstle-loyalty-hidden { 5203 display: none !important; 5204 visibility: hidden !important; 5205 } 5206 </style>` 5207 document.querySelector('body').insertAdjacentHTML('beforeend', loyaltyGlobalStyles); 5208 5209 window.addEventListener('message', appstleLoyaltyIframeListener, false); 5210 window.addEventListener('kp_user_logged_out', function() { window.location.reload(); }); 5211 const removeFirstSlashFromURL = (url) => url ? url?.replace(/\\\//g, "/")?.replace(/^\/+/, "") : url; 5212 5213 5214 function applyDiscount(discountCode, shouldReload = false) { 5215 const encodedDiscountCode = encodeURIComponent(discountCode?.trim()); 5216 const discountURL = `${location?.origin}/discount/${encodedDiscountCode}`; 5217 fetch(discountURL).then(res => { 5218 if (res.ok) { 5219 console.log('Discount Code Applied'); 5220 const discountDetails = window?._ALConfig?.customerLoyalty?.rewards?.find((item) => item?.discountCode === discountCode) || null; 5221 if (discountCode && discountDetails) { 5222 const discountData = {discountCode: discountCode || discountDetails?.discountCode, description: discountDetails?.description, customerId: discountDetails?.customerId} 5223 document.dispatchEvent(new CustomEvent('AppstleLoyalty:AppliedDiscountCode', { detail: discountData })); 5224 window.dispatchEvent(new CustomEvent('AppstleLoyalty:AppliedDiscountCode', { detail: discountData })); 5225 } 5226 if (shouldReload) { 5227 window.location.reload(); 5228 } 5229 } else { 5230 console.log('Discount Code NOT Applied'); 5231 } 5232 }); 5233 } 5234 const applyDiscountAutomatically = (discountCode, shouldReload = false) => { 5235 (async () => { 5236 const encodedDiscountCode = encodeURIComponent(discountCode?.trim()); 5237 const discountURL = `${location.origin}/checkout?discount=${encodedDiscountCode}`; 5238 const cartURL = `${location.origin}/cart.js`; 5239 try { 5240 const discountRes = await fetch(discountURL); 5241 if(discountRes) { 5242 const cartRes = await fetch(cartURL); 5243 if (!cartRes.ok) return; 5244 const cart = await cartRes.json(); 5245 const discount_codes = cart && Array.isArray(cart?.['discount_codes']) ? cart?.['discount_codes'] : []; 5246 const hasDiscount = discount_codes.some(d => (d?.code || "").toLowerCase() === String(discountCode).toLowerCase()); 5247 if (hasDiscount && shouldReload) { 5248 window.location.reload(); 5249 } 5250 } 5251 } catch (err) { 5252 console.error("Error applying discount:", err); 5253 } 5254 })(); 5255 }; 5256 5257 const unescapeWidgetString = (str) => { 5258 if (!str || typeof str !== 'string') return ''; 5259 return str?.replace(/\\\//g, '/')?.replace(/\\\\/g, '\\'); 5260 }; 5261 // Resolves a market-aware account URL. Prefers the routes published above so the customer keeps 5262 // their market/language prefix; the shop root fallback keeps that prefix too when a single route 5263 // entry is blank. Safe to assign to location.href as-is - with new customer accounts Shopify 5264 // returns an absolute URL here, so never prefix an origin. 5265 const loyaltyAccountRoute = (key, fallbackPath) => { 5266 const route = _ALConfig?.routes?.[key]; 5267 if (route) return route; 5268 const shopRoot = _ALConfig?.routes?.root_url || window?.Shopify?.routes?.root || '/'; 5269 return (shopRoot?.replace(/\/+$/, '') ?? '') + fallbackPath; 5270 }; 5271 5272 // Shopify's /customer_authentication/login answers 400 Bad Request unless return_to is a 5273 // store-relative path with one leading slash, so coerce `return_to=apps/loyalty`, 5274 // `return_to=collections/all` or a same-store absolute URL into that shape. 5275 const normalizeLoyaltyReturnTo = (link) => { 5276 const match = /([?&]return_to=)([^&#]*)/i.exec(link || ''); 5277 // Only Shopify's own login route on this store - a third-party login app may legitimately want an absolute return_to. 5278 if (!match || !/(^|\/)customer_authentication\//i.test(link.slice(0, match.index))) return link; 5279 if (/^(https?:)?\/\//i.test(link)) { 5280 try { 5281 if (new URL(link, window.location.origin).host !== window.location.host) return link; 5282 } catch (e) { 5283 return link; 5284 } 5285 } 5286 let value = match[2]; 5287 try { 5288 for (let i = 0; i < 2 && /%[0-9a-f]{2}/i.test(value); i++) value = decodeURIComponent(value); 5289 } catch (e) { 5290 return link; 5291 } 5292 value = value.trim(); 5293 if (/^(https?:)?\/\//i.test(value)) { 5294 try { 5295 const parsed = new URL(value, window.location.origin); 5296 if (parsed.host !== window.location.host) return link; 5297 value = parsed.pathname + parsed.search + parsed.hash; 5298 } catch (e) { 5299 return link; 5300 } 5301 } 5302 value = '/' + value.replace(/^\/+/, ''); 5303 return link.slice(0, match.index) + match[1] + encodeURIComponent(value) + link.slice(match.index + match[0].length); 5304 }; 5305 5306 const formatUrlByLoyalty = (link) => { 5307 if (!link) return ''; 5308 const decodedLink = decodeURIComponent(link); 5309 const loyaltyPagePath = '/' + (_ALConfig?.hasDedicatedPageAccess ? _ALConfig?.proxy_path_prefix || 'apps/loyalty' : ''); 5310 let l = decodedLink?.replace("{{proxy_path_prefix}}", loyaltyPagePath)?.trim()?.replace(/\\\//g, '/')?.replace(/^\/+/, '') || ''; 5311 l = normalizeLoyaltyReturnTo(l?.replace(/([^:]\/)\/+/g, '$1') ?? ''); 5312 if (/^(https?:\/\/|\/\/|www\.)/i.test(l)) { 5313 return /^www\./i.test(l) ? 'https://' + l : l; 5314 } 5315 const shopRoot = window?.Shopify?.routes?.root ?? '/'; 5316 return (shopRoot?.replace(/\/+$/, '') ?? '') + '/' + l; 5317 }; 5318 5319 function appstleLoyaltyIframeListener(event) { 5320 const redirect = (link, fallback) => { window.location.href = link ? formatUrlByLoyalty(link) : fallback; }; 5321 if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_loyalty_message_to_redirect_to_account') !== -1) { 5322 if (!_ALConfig?.widget_setting?.customSignInLink && typeof kpHandleLogin === 'function') { 5323 kpHandleLogin(window.location.href); 5324 } else { 5325 redirect(_ALConfig?.widget_setting?.customSignInLink, loyaltyAccountRoute('account_url', '/account')); 5326 } 5327 } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_message_to_redirect_to_signup') !== -1) { 5328 if (typeof kpHandleLogin === 'function') { 5329 kpHandleLogin(window.location.href); 5330 } else { 5331 window.location.href = loyaltyAccountRoute('account_register_url', '/account/register'); 5332 } 5333 } else if (event?.data && event?.data?.type === 'appstle_message_to_redirect_to_after_copied_discount_redirect_url' && typeof event?.data?.value === 'string') { 5334 window.location.href = 'https://' + window.location.host + event?.data?.value; 5335 } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_message_to_apply_discount_and_reload') !== -1) { 5336 const discountCode = (event?.data?.split('|'))[1]; 5337 applyDiscount(discountCode, true); 5338 } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_message_to_apply_discount') !== -1) { 5339 const discountCode = (event?.data?.split('|'))[1]; 5340 applyDiscount(discountCode, false); 5341 } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_message_to_automatic_apply_discount_and_refresh') !== -1) { 5342 const discountCode = (event?.data?.split('|'))[1]; 5343 applyDiscountAutomatically(discountCode, true); 5344 } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_message_to_automatic_apply_discount') !== -1) { 5345 const discountCode = (event?.data?.split('|'))[1]; 5346 applyDiscountAutomatically(discountCode, false); 5347 } else if (event?.data && typeof event?.data?.indexOf === 'function' && event?.data?.indexOf('appstle_message_to_redirect_to_custom_url') !== -1) { 5348 redirect(_ALConfig?.widget_setting?.createAccountLink, loyaltyAccountRoute('account_register_url', '/account/register')); 5349 } 5350 } 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 const executeLoyaltyWidget = () => { 5363 <!-- BEGIN app snippet: loyalty-widget --> 5364 const parseHtmlStringContent = (content) => { 5365 if (typeof content !== 'string') return content; 5366 try { 5367 const htmlDecoded = content?.replace(/\\\//g, '/'); 5368 return JSON.parse(`"${htmlDecoded}"`); 5369 } catch (error) { 5370 console.error('Error parsing content:', error); 5371 return content; 5372 } 5373 }; 5374 5375 const formatNumberByPointRoundType = num => { 5376 if (typeof num !== 'number') return num; 5377 const roundType = _ALConfig?.pointRoundType || "NO_ROUND"; 5378 const rounded = roundType === 'ROUND_UP' ? Math.ceil(num) : roundType === 'ROUND_DOWN' ? Math.floor(num) : num; 5379 return (Number.isInteger(rounded) || rounded % 1 === 0) ? rounded.toFixed(0) : rounded.toFixed(2); 5380 }; 5381 5382 const formatStoreCreditAmount = value => { 5383 try { 5384 const num = Number(value); 5385 const safe = Number.isFinite(num) ? num : 0; 5386 const format = (_ALConfig?.shopMoneyFormat || '')?.replace(/</g, '<')?.replace(/>/g, '>')?.replace(/<[^>]*>/g, ''); 5387 const tokenMatch = String(format)?.match?.(/\{\{\s*(amount[a-z_]*)\s*\}\}/i); 5388 const token = (tokenMatch?.[1] || 'amount')?.toLowerCase?.() || 'amount'; 5389 const decimals = token?.includes?.('no_decimals') ? 0 : 2; 5390 let thousands = ',', decimal = '.'; 5391 if (token?.includes?.('comma_separator')) { thousands = '.'; decimal = ','; } 5392 else if (token?.includes?.('space_separator')) { thousands = ' '; } 5393 else if (token?.includes?.('apostrophe_separator')) { thousands = "'"; } 5394 const sign = safe < 0 ? '-' : ''; 5395 const parts = Math.abs(safe)?.toFixed?.(decimals)?.split?.('.') || []; 5396 const intPart = (parts?.[0] || '0')?.replace?.(/\B(?=(\d{3})+(?!\d))/g, thousands) || '0'; 5397 const amount = decimals === 0 ? sign + intPart : sign + intPart + decimal + (parts?.[1] || '00'); 5398 return tokenMatch ? format?.replace(/\{\{\s*amount[a-z_]*\s*\}\}/gi, amount)?.trim() : amount; 5399 } catch (e) { 5400 return String(value ?? '0'); 5401 } 5402 }; 5403 5404 5405 const loyaltyWidgetStyles = ` 5406<style> 5407 .appstle-loyalty-widget-close-icon { 5408 width: 28px; 5409 height: 28px; 5410 opacity: 0; 5411 position: absolute; 5412 top: 50%; 5413 left: 50%; 5414 transform: translate(-50%, -50%); 5415 transition: opacity 0.2s; 5416 } 5417 5418 .appstle-loyalty-button { 5419 bottom: 24px; 5420 z-index: 999; 5421 border-radius: 12px; 5422 position: fixed; 5423 border: none; 5424 transition: max-width 1s; 5425 padding: 0 19px; 5426 overflow: hidden; 5427 height: 56px; 5428 transform-origin: left; 5429 max-width: 300px; 5430 background-color: #ef4187; 5431 color: #ffffff; 5432 } 5433 5434 .appstle-loyalty-right { 5435 right: 40px; 5436 } 5437 5438 .appstle-loyalty-left { 5439 left: 40px; 5440 } 5441 5442 #appstle_loyalty_iframe { 5443 width: 1px; 5444 min-width: 400px; 5445 border: none; 5446 height: 516px; 5447 position: fixed; 5448 bottom: 100px; 5449 z-index: 1234567; 5450 box-shadow: 0 4px 6px -1px rgb(0 0 0 / 10%), 0 2px 4px -2px rgb(0 0 0 / 10%); 5451 background-color: white; 5452 border-radius: 12px; 5453 max-height: calc(100vh - 120px); 5454 transform: scale(0) !important; 5455 transition: all 0.5s; 5456 transform-origin: bottom left ; 5457 max-width: 80vw; 5458 } 5459 5460 @media screen and (max-width: 800px) { 5461 #appstle_loyalty_iframe { 5462 left: 0; 5463 height: 100vh; 5464 top: 0; 5465 min-width: 100%; 5466 } 5467 5468 #appstle_loyalty_iframe.open + .appstle-loyalty-button { 5469 left: 50%; 5470 transform: translateX(-50%); 5471 } 5472 5473 .appstle-loyalty-button { 5474 transition: all 0.5s; 5475 } 5476 } 5477 5478 #appstle_loyalty_iframe.open { 5479 transform: scale(1) !important; 5480 } 5481 5482 #appstle_loyalty_iframe.open.show-close-icon + button .appstle-loyalty-widget-close-icon { 5483 opacity: 1; 5484 } 5485 5486 #appstle_loyalty_iframe.open + button .appstle_loyalty_widget_button_wrapper { 5487 color: transparent; 5488 } 5489 5490 .appstle_loyalty_widget_button_wrapper { 5491 height: 100%; 5492 width: 100%; 5493 display: flex; 5494 flex-wrap: nowrap; 5495 align-items: center; 5496 gap: 10px; 5497 } 5498 5499 .appstle-loyalty-widget-button-text { 5500 flex-shrink: 0; 5501 } 5502 5503 .loyalty_widget_available_points { 5504 display: none; 5505 height: 100%; 5506 width: auto; 5507 flex-shrink: 0; 5508 } 5509 5510 .appstle_show_points .loyalty_widget_available_points { 5511 display: flex; 5512 align-items: center; 5513 padding: 0 8px; 5514 margin-right: -14px; 5515 background-color: #ef4187; 5516 color: #ffffff; 5517 } 5518 5519 #appstle_loyalty_iframe.open.show-close-icon + button { 5520 background-color: #ef4187; 5521 } 5522 5523 #appstle_loyalty_iframe.open.show-close-icon + button .appstle-loyalty-widget-button-text-wrapper, 5524 #appstle_loyalty_iframe.open.show-close-icon + button .loyalty_widget_available_points { 5525 opacity: 0; 5526 } 5527 5528 #appstle_loyalty_iframe.open + button { 5529 max-width: 56px; 5530 } 5531 5532 .loyalty-widget-buttonImage { 5533 height: 24px; 5534 width: 24px; 5535 } 5536 5537 .appstle-loyalty-widget-button-text-wrapper { 5538 height: 100%; 5539 display: flex; 5540 gap: 4px; 5541 align-items: center; 5542 } 5543 5544 .right_snackbar { 5545 right: 30px; 5546 } 5547 5548 5549</style>`; 5550 const customStyles = document.getElementById('appstle-loyalty-custom-styles'); 5551 if (customStyles) { 5552 customStyles.insertAdjacentHTML('beforebegin', loyaltyWidgetStyles); 5553 } else { 5554 document.querySelector('body').insertAdjacentHTML('beforeend', loyaltyWidgetStyles); 5555 } 5556 const mainHTMLString = ` 5557<iframe id="appstle_loyalty_iframe" class="appslte-iframe" title="Ap
5557pstle Loyalty Widget"></iframe> 5558<button id="appstle-loyalty-button" 5559 class="appstle-loyalty-button appstle-loyalty-hidden ${_ALConfig?.customerId ? `logged-in-customer-loyalty-button` : `logged-out-customer-loyalty-button`}" 5560 style="${_ALConfig.widget_setting.showWidget && _ALConfig.widget_setting.widgetType === 'LAUNCHER' ? `` : `display: none !important;`}"> 5561 <div class="appstle_loyalty_widget_button_wrapper"> 5562 <div class="appstle-loyalty-widget-button-text-wrapper"> 5563 5564 <img 5565 src="${parseHtmlStringContent('https://cdn.shopify.com/s/files/1/0635/7391/7901/files/icon1.png?v=1719318035')}" 5566 alt="" role="presentation" class="loyalty-widget-buttonImage"> 5567 5568 <span id="loyalty-widget-title" class="appstle-loyalty-widget-button-text"></span> 5569 </div> 5570 <div class="loyalty_widget_available_points"></div> 5571 </div> 5572 <svg class="appstle-loyalty-widget-close-icon" xmlns="http://www.w3.org/2000/svg" fill="none"
5573 viewBox="0 0 24 24" 5574 stroke-width="1.5" stroke="currentColor"> 5575 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path> 5576 </svg> 5577</button>`; 5578 document.querySelector('body').insertAdjacentHTML('beforeend', mainHTMLString); 5579 window.addEventListener('message', widgetEventListener, false); 5580 5581 function widgetEventListener(event) { 5582 if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_message_for_showWidget') !== -1) { 5583 } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('appstle_widget_showHide') !== -1) { 5584 toggleWidget(); 5585 } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('refresh_appstle_loyalty_widget') !== -1 && _ALConfig?.widget_setting?.widgetType === 'LAUNCHER') { 5586 loadAppstleLoyaltyWidget(); 5587 console.log('REFRESH WIDGET'); 5588 } else if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('show_appstle_loyalty_widget') !== -1) { 5589 loadAppstleLoyaltyWidget(); 5590 enableWidget(); 5591 } 5592 } 5593 5594 function removeAppstleLoyaltyWidget() { 5595 document.querySelector('#appstle-loyalty-button')?.classList?.add('appstle-loyalty-hidden'); 5596 document.querySelector('#appstle_loyalty_iframe')?.classList?.add('appstle-loyalty-hidden'); 5597 } 5598 5599 (function checkForWidgetRestrictions() {
5600 let isShowWidget = true; 5601 5602 if (_ALConfig?.customerLoyalty?.customerStatus === 'EXCLUDED') { 5603 isShowWidget = false; 5604 } 5605 if (!_ALConfig?.customerId) { 5606 isShowWidget = !(_ALConfig?.widget_setting?.restrictedCustomersTag || _ALConfig?.widget_setting?.allowedCustomersTag); 5607 } 5608 if (_ALConfig?.widget_setting?.allowedCustomersTag?.length && isShowWidget) { 5609 let allowedTags = _ALConfig?.widget_setting?.allowedCustomersTag.split(','); 5610 if (allowedTags?.length > 0 && !_ALConfig?.customerTags?.some((tag) => allowedTags?.some((allowedTag) => allowedTag?.trim()?.toLowerCase() === tag?.trim()?.toLowerCase()))) { 5611 isShowWidget = false; 5612 } 5613 } 5614 if (_ALConfig?.widget_setting?.restrictedCustomersTag?.length && isShowWidget) { 5615 let restrictedTags = _ALConfig?.widget_setting?.restrictedCustomersTag?.split(','); 5616 if (restrictedTags?.length > 0 && _ALConfig?.customerTags?.some((tag) => restrictedTags?.some((restrictedTag) => restrictedTag?.trim()?.toLowerCase() === tag?.trim()?.toLowerCase()))) { 5617 isShowWidget = false; 5618 } 5619 } 5620 if (_ALConfig?.widget_setting?.blockWidgetOnPages?.length && isShowWidget) { 5621 let restrictedPages = _ALConfig?.widget_setting?.blockWidgetOnPages?.split(','); 5622 const currentPage = window?.location?.pathname; 5623 if (restrictedPages?.length > 0) { 5624 if (restrictedPages?.includes('/homepage') && currentPage === '/') { 5625 isShowWidget = false; 5626 } else if (restrictedPages?.some((page) => currentPage?.includes(page))) { 5627 isShowWidget = false; 5628 } 5629 } 5630 } 5631 if (_ALConfig?.widget_setting?.allowWidgetOnSpecificPages?.length && isShowWidget) { 5632 let allowedPages = _ALConfig?.widget_setting?.allowWidgetOnSpecificPages?.split(','); 5633 const currentPage = window?.location?.pathname; 5634 if (allowedPages?.length > 0) { 5635 if (allowedPages?.includes('/homepage') && currentPage === '/') { 5636 isShowWidget = true; 5637 } else if (allowedPages?.some((page) => currentPage?.includes(page))) { 5638 isShowWidget = true; 5639 } else { 5640 isShowWidget = false; 5641 } 5642 } 5643 } 5644 if (!_ALConfig?.customerId && _ALConfig?.widget_setting?.showToLoggedInCustomerOnly) { 5645 isShowWidget = false; 5646 } 5647 window.__APPSTLE_LOYALTY_LAUNCHER_ALLOWED = !!isShowWidget; 5648 if (isShowWidget) { 5649 showAppstleLoyaltyWidget(); 5650 } else { 5651 removeAppstleLoyaltyWidget(); 5652 } 5653 })(); 5654 5655 function enableWidget() { 5656 document.querySelector('#appstle_loyalty_iframe')?.classList?.add('open'); 5657 document.querySelector('#appstle_loyalty_iframe')?.classList?.remove('appstle-loyalty-hidden'); 5658 setTimeout(function() { 5659 document.querySelector('#appstle_loyalty_iframe')?.classList?.toggle('show-close-icon'); 5660 }, 900); 5661 } 5662 5663 function showAppstleLoyaltyWidget() { 5664 const launcherAllowed = window?.['__APPSTLE_LOYALTY_LAUNCHER_ALLOWED'] !== false; 5665 document.querySelector('#appstle_loyalty_iframe')?.classList?.remove('appstle-loyalty-hidden'); 5666 const btn = document.querySelector('#appstle-loyalty-button'); 5667 if (!btn) return; 5668 if (launcherAllowed) { 5669 btn.classList.remove('appstle-loyalty-hidden'); 5670 } else { 5671 btn.classList.add('appstle-loyalty-hidden'); 5672 } 5673 } 5674 5675 5676 document.querySelector('.appstle-loyalty-button').addEventListener('click', toggleWidget); 5677 5678 if (_ALConfig?.widget_setting?.widgetPosition === 'LEFT') { 5679 document.getElementById('appstle_loyalty_iframe')?.classList?.add('appstle-loyalty-left'); 5680 document.querySelector('.appstle-loyalty-button')?.classList?.add('appstle-loyalty-left'); 5681 document.getElementById('appstle_loyalty_iframe')?.classList?.add('appstle-loyalty-left'); 5682 document.getElementById('snackbar')?.classList?.add('left_snackbar'); 5683 5684 } else { 5685 document.getElementById('appstle_loyalty_iframe')?.classList?.add('appstle-loyalty-right'); 5686 document.querySelector('.appstle-loyalty-button')?.classList?.add('appstle-loyalty-right'); 5687 document.getElementById('snackbar')?.classList?.add('right_snackbar'); 5688 } 5689 5690 5691 const alIframeSrc = `\x3chtml> 5692\x3chead> 5693 \x3cscript> 5694 window["Shopify"] = {}; 5695 window["__st"] = ${JSON.stringify(__st)}; 5696 window["Shopify"]["shop"] = "${location.host}"; 5697 window.appstle_public_domain = "${location.host}"; 5698 window["isAppstleLoyaltyCustomerPortal"] = true; 5699 \x3c/script> 5700 <link rel="stylesheet" href="${_ALConfig.widgetCssPath}"> 5701 \x3cscript defer type="text/javascript" src="${_ALConfig.widgetJsPath}">\x3c/script> 5702 <style> 5703 #loyalty_spinner_container { 5704 position: absolute; 5705 top: 0; 5706 right: 0; 5707 bottom: 0; 5708 left: 0; 5709 display: flex; 5710 justify-content: center; 5711 align-items: center; 5712 height: 100%; 5713 width: 100%; 5714 z-index: 9999999999999999999999999; 5715 } 5716 #loyalty_spinner { 5717 height: 32px; 5718 width: 32px; 5719 animation: spin 1s linear infinite; 5720 border-radius: 9999px; 5721 border-width: 1px; 5722 border-style: solid; 5723 border-color: rgb(107 114 128); 5724 border-top-color: transparent; 5725 } 5726 @keyframes spin { 5727 100% { 5728 transform: rotate(360deg); 5729 } 5730 } 5731 </style> 5732 \x3c/head> 5733 \x3cbody> 5734 <div style="overflow: auto;" id="appstleLoyaltyWidget"> 5735 <div id="loyalty_spinner_container"> 5736 <div id="loyalty_spinner"></div> 5737 </div> 5738 </div> 5739 \x3c/body> 5740 \x3c/html>`; 5741 5742 5743 function toggleWidget() { 5744 loadAppstleLoyaltyWidget(); 5745 if (_ALConfig?.widget_setting?.widgetType?.toUpperCase() === 'LAUNCHER' && _ALConfig?.widget_setting?.forceRedirectDedicatedPage === true) { 5746 window.open(`/${_ALConfig?.proxy_path_prefix}`); 5747 } else {
5748 const isWidgetOpen = document.querySelector('#appstle_loyalty_iframe')?.classList?.toggle('open'); 5749 if (isWidgetOpen === false) { 5750 clearLoyaltyDeepLinkHash(); 5751 } 5752 showAppstleLoyaltyWidget(); 5753 setTimeout(function() { 5754 document.querySelector('#appstle_loyalty_iframe')?.classList?.toggle('show-close-icon'); 5755 }, 900); 5756 } 5757 } 5758 5759 const loadAppstleLoyaltyWidget = () => { 5760 var iframe = document.querySelectorAll('#appstle_loyalty_iframe'); 5761 iframe.forEach(function(item) { 5762 item.contentWindow._ALConfig = _ALConfig; 5763 item.contentWindow.document.open('text/html', 'replace'); 5764 item.contentWindow.document.write(alIframeSrc); 5765 item.contentWindow.document.close(); 5766 }); 5767 }; 5768 5769 const launcherDataType = _ALConfig?.widget_setting?.launcherDataType || 'POINTS'; 5770 5771 const loyaltyButtonTitle = document.getElementById('loyalty-widget-title'); 5772 if (_ALConfig?.shop_labels?.widgetTitle) { 5773 loyaltyButtonTitle.innerHTML = parseHtmlStringContent(_ALConfig?.shop_labels?.widgetTitle); 5774 } 5775 5776 (function() { 5777 const { customerLoyalty, widget_setting } = _ALConfig || {}; 5778 if (!customerLoyalty && !(launcherDataType === 'STORE_CREDITS' && _ALConfig?.customerId)) return; 5779 5780 const showTier = widget_setting?.showTierName; 5781 const launcherButtonElement = document.querySelector('#appstle-loyalty-button'); 5782 const pointsEl = document.querySelector('.loyalty_widget_available_points'); 5783 if (!pointsEl) return; 5784 5785 const fmt = new Intl.NumberFormat(); 5786 const { storeCreditBalance = 0, availablePoints = 0, currentVipTier = '' } = customerLoyalty || {}; 5787 5788 let displayValue; 5789 if (launcherDataType === 'STORE_CREDITS') { 5790 displayValue = formatStoreCreditAmount(_ALConfig?.customerStoreCreditBalance || storeCreditBalance || 0); 5791 } else if ((launcherDataType === 'VIP_TIER') && currentVipTier) { 5792 displayValue = String(currentVipTier); 5793 } else { 5794 const n = Number(availablePoints) || 0; 5795 displayValue = fmt.format(formatNumberByPointRoundType(n)); 5796 } 5797 pointsEl.textContent = displayValue; 5798 launcherButtonElement?.classList.add('appstle_show_points'); 5799 })(); 5800 5801 5802 const loyaltyDeepLinks = [ 5803 '#appstle-loyalty', 5804 '#appstle-refer', 5805 '#appstle-loyalty-earn-rewards', 5806 '#appstle-loyalty-redeem-rewards', 5807 '#appstle-loyalty-referrals', 5808 '#appstle-loyalty-vip-program' 5809 ]; 5810 5811 let lastLoyaltyWidgetUrl = location.href; 5812 5813 function hasLoyaltyDeepLink() { 5814 return loyaltyDeepLinks.some(hash => location?.hash?.includes(hash)); 5815 } 5816 5817 function clearLoyaltyDeepLinkHash() { 5818 if (!hasLoyaltyDeepLink()) { 5819 return; 5820 } 5821 window.history.replaceState({}, document.title, window.location.pathname + window.location.search); 5822 lastLoyaltyWidgetUrl = location.href; 5823 } 5824 5825 function handleDeepLink() { 5826 if (!_ALConfig?.widget_setting?.showWidget || !hasLoyaltyDeepLink()) { 5827 return; 5828 } 5829 loadAppstleLoyaltyWidget(); 5830 enableWidget(); 5831 setTimeout(() => { 5832 document.querySelector('#appstle_loyalty_iframe')?.classList?.add('show-close-icon'); 5833 }, 900); 5834 } 5835 5836 handleDeepLink(); 5837 5838 const widgetReferralUrl = new URL(window.location.href); 5839 if (_ALConfig?.referralEnabled && widgetReferralUrl?.searchParams.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'LAUNCHER') { 5840 let referralRedirectUrl = _ALConfig?.widget_setting?.referralRedirectUrl; 5841 let redirectURL = referralRedirectUrl + window.location.search; 5842 if (referralRedirectUrl) { 5843 let referralUrlObj; 5844 try { 5845 referralUrlObj = new URL(referralRedirectUrl, window.location.origin); 5846 } catch { 5847 referralUrlObj = null; 5848 } 5849 let referralPath = referralUrlObj ? referralUrlObj.pathname.replace(/\/+$/, '') : referralRedirectUrl.replace(/\/+$/, ''); 5850 let currentPath = window.location.pathname.replace(/\/+$/, ''); 5851 if (referralPath && currentPath !== referralPath) { 5852 window.open(redirectURL, '_self'); 5853 } 5854 } 5855 setTimeout(() => { 5856 loadAppstleLoyaltyWidget(); 5857 enableWidget(); 5858 }, 200); 5859 } 5860 5861 5862 (function observeURLChanges() { 5863 const handleUrlChange = () => { 5864 if (location.href !== lastLoyaltyWidgetUrl) { 5865 lastLoyaltyWidgetUrl = location.href; 5866 handleDeepLink(); 5867 } 5868 }; 5869 new MutationObserver(handleUrlChange).observe(document.body, { subtree: true, childList: true }); 5870 window.addEventListener('popstate', handleUrlChange); 5871 window.addEventListener('hashchange', handleUrlChange); 5872 })(); 5873 5874 const alDOMObserver = new MutationObserver(function(mutations_list) { 5875 mutations_list.forEach(function(mutation) {
5876 mutation.addedNodes.forEach(function(added_node) { 5877 if (added_node.id === 'appstle_loyalty_iframe') { 5878 var iframe = document.querySelectorAll('#appstle_loyalty_iframe'); 5879 iframe.forEach(function(item) { 5880 item.contentWindow._ALConfig = _ALConfig; 5881 item.contentWindow.document.open('text/html', 'replace'); 5882 item.contentWindow.document.write(alIframeSrc); 5883 item.contentWindow.document.close(); 5884 }); 5885 alDOMObserver.disconnect(); 5886 } 5887 }); 5888 }); 5889 }); 5890 alDOMObserver.observe(document.querySelector('body'), { subtree: true, childList: true }); 5891 5892 5893 5894 5895<!-- END app snippet --> 5896 } 5897 5898 5899 5900 const storeCreditMismatch = _ALConfig?.customerId && _ALConfig?.customerStoreCreditBalance >= 0 && _ALConfig?.customerLoyalty?.storeCreditBalance >= 0 && _ALConfig?.customerLoyalty?.storeCreditBalance !== _ALConfig?.customerStoreCreditBalance; 5901 if (storeCreditMismatch && _ALConfig.shop === 'olineloyalty27.myshopify.com') { 5902 const updateCustomerUrl = `/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/cp/api/update-customer`; 5903 try { 5904 fetch(updateCustomerUrl, { method: 'POST' }) 5905 .then((response) => { 5906 if(response.ok) {} 5907 }) 5908 .catch(() => {}); 5909 } catch (err) {} 5910 } 5911 5912 <!-- BEGIN app snippet: loyalty-dedicated-page --> 5913 const dedicatedPageURL = new URL(window.location.href); 5914 const decodeUrl = (content) => { 5915 if (typeof content !== 'string') return content; 5916 try { 5917 const htmlDecoded = content?.replace(/\\\//g, '/'); 5918 return JSON.parse(`"${htmlDecoded}"`); 5919 } catch (error) { 5920 console.error('Error parsing content:', error); 5921 return content; 5922 } 5923 }; 5924 5925 if (dedicatedPageURL?.searchParams?.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'DEDICATED_PAGE') { 5926 const customUrl = decodeUrl(_ALConfig?.widget_setting?.referralCustomRedirectUrl); 5927 if (customUrl) { 5928 const normalizedCustomPath = customUrl.startsWith('/') ? customUrl : `/${customUrl}`; 5929 if (window.location.pathname !== normalizedCustomPath) { 5930 const redirectUrl = new URL(window.location.href); 5931 redirectUrl.pathname = normalizedCustomPath; 5932 window.open(redirectUrl.toString(), '_self'); 5933 } 5934 } 5935 else if (dedicatedPageURL?.searchParams?.get('appstle_referral') && _ALConfig?.widget_setting?.widgetType === 'DEDICATED_PAGE' && !window.location.href.includes(_ALConfig?.proxy_path_prefix)) { 5936 window.open(`${window.location.origin}/${_ALConfig?.proxy_path_prefix}${window.location.search}`, '_self'); 5937 } 5938 } 5939 5940 const dedicatedPageEventListener = (event) => { 5941 if (event?.data && typeof event?.data.indexOf === 'function' && event?.data?.indexOf('refresh_appstle_loyalty_page') !== -1) { 5942 initiateAppstleLoyaltyPage(); 5943 console.log('REFRESH PAGE'); 5944 } 5945 }; 5946 window.addEventListener('message', dedicatedPageEventListener, false); 5947 5948 function initiateAppstleLoyaltyPage() { 5949 if (document.querySelector('#appstleLoyaltyPage')) { 5950 const appstleLoyaltyPageElement = document.getElementById('appstleLoyaltyPage'); 5951 while (appstleLoyaltyPageElement.firstChild) { 5952 appstleLoyaltyPageElement.firstChild.remove(); 5953 } 5954 5955 5956 5957 5958 5959 document.title = "PoshVIP Rewards & Posh Points | Perfectly Posh"; 5960 5961 5962 5963 setTimeout(() => { 5964 let metaDescription = document.querySelector('meta[name="description"]'); 5965 if (metaDescription) { 5966 metaDescription.content = "Join PoshVIP, earn Posh Points on every purchase, redeem store credit, and unlock exclusive tier benefits as you shop Perfectly Pos
5966h."; 5967 } else { 5968 metaDescription = document.createElement('meta'); 5969 metaDescription.name = 'description'; 5970 metaDescription.content = "Join PoshVIP, earn Posh Points on every purchase, redeem store credit, and unlock exclusive tier benefits as you shop Perfectly Posh."; 5971 document.head.appendChild(metaDescription); 5972 } 5973 }, 500); 5974 5975 if (appstleLoyaltyPageElement) { 5976 5977 const loadDedicatedPageAsset = (createAsset, attempt, onSettle) => { 5978 const asset = createAsset(); 5979 let settled = false; 5980 const settle = () => { 5981 if (settled) return; 5982 settled = true; 5983 if (typeof onSettle === 'function') { 5984 onSettle(); 5985 } 5986 }; 5987 asset.onload = settle; 5988 asset.onerror = () => { 5989 asset.remove(); 5990 if (attempt < 4) { 5991 setTimeout(() => loadDedicatedPageAsset(createAsset, attempt + 1, onSettle), 1000 * Math.pow(2, attempt - 1)); 5992 } else { 5993 settle(); 5994 } 5995 }; 5996 } 5997 5998 const appendDedicatedPageWidgetScript = () => { 5999 loadDedicatedPageAsset(() => { 6000 const s = document.createElement('script'); 6001 s.setAttribute('src', _ALConfig?.widgetJsPath); 6002 s.async = false; 6003 document.body.appendChild(s); 6004 return s; 6005 }, 1); 6006 } 6007 6008 const executeDedicatedPageScript = () => { 6009 let widgetScriptAppended = false; 6010 const appendWidgetScriptOnce = () => { 6011 if (widgetScriptAppended) return; 6012 widgetScriptAppended = true; 6013 appendDedicatedPageWidgetScript(); 6014 }; 6015 try { 6016 const preload = document.createElement('link'); 6017 preload.rel = 'preload'; 6018 preload.as = 'script'; 6019 preload.href = _ALConfig?.widgetJsPath; 6020 document.head.appendChild(preload); 6021 } catch (e) {} 6022 loadDedicatedPageAsset(() => { 6023 const link = document.createElement('link'); 6024 link.type = 'text/css'; 6025 link.rel = 'stylesheet'; 6026 link.href = _ALConfig?.widgetCssPath; 6027 document.head.appendChild(link); 6028 return link; 6029 }, 1, appendWidgetScriptOnce); 6030 setTimeout(appendWidgetScriptOnce, 8000); 6031 } 6032 6033 try { 6034 const versionUrl = `${location.origin}/${_ALConfig?.proxy_path_prefix || 'apps/loyalty'}/app-loyalty-version`; 6035 fetch(versionUrl).then(res => res.json()).then(data => { 6036 if (data) { 6037 const widgetJsUrl = new URL(_ALConfig.widgetJsPath); 6038 const widgetCssUrl = new URL(_ALConfig.widgetCssPath); 6039 widgetJsUrl.searchParams.set('v', data); 6040 widgetCssUrl.searchParams.set('v', data); 6041 _ALConfig.widgetJsPath = widgetJsUrl.toString(); 6042 _ALConfig.widgetCssPath = widgetCssUrl.toString(); 6043 } 6044 }).catch(() => {}).finally(() => { 6045 executeDedicatedPageScript(); 6046 }); 6047 } catch (err) { 6048 executeDedicatedPageScript(); 6049 } 6050 6051 6052 } 6053 6054 } else { 6055 setTimeout(() => { 6056 initiateAppstleLoyaltyPage(); 6057 }, 2000); 6058 } 6059 } 6060 6061 const dedicatedPageReferralUrl = new URL(window.location.href)?.searchParams.get('appstle_referral'); 6062 6063 if (_ALConfig?.widget_setting?.showWidget === true) { 6064 initiateAppstleLoyaltyPage(); 6065 } 6066 6067<!-- END app snippet --> 6068 6069 6070</script>
6070 6071 6072 6073 6074 6075 6076</div><div id="shopify-block-AYzlOTmRyakFvcEJNN__10508887350528622030" class="shopify-block shopify-app-block"> 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106
6106<script> 6107 var _ABConfig = _ABConfig || {}; 6108 6109 _ABConfig = { 6110 'shop_name': '', 6111 'public_domain': null, 6112 'proxy_path_prefix': 'apps/bundles', 6113 'widgetJsPath': 'https://bundles-admin.appstle.com/app/build-a-box.bundle.js?v=1788520067062', 6114 'widgetCssPath': 'https://bundles-admin.appstle.com/content/build-a-box.css?v=1788520067062', 6115 'volumeDiscountJsPath': 'https://bundles-admin.appstle.com/app/volume-discount.bundle.js?v=1788520067062', 6116 'volumeDiscountCssPath': 'https://bundles-admin.appstle.com/content/volume-discount.css?v=1788520067062', 6117 'bundle_rules': [], 6118 'upsell_rules': [], 6119 'bundleRule': null, 6120 'product': null, 6121 'bundle_setting': null, 6122 'shop_info': null, 6123 'isProductPage': false, 6124 'isCartPage': false, 6125 'isCollectionPage': false, 6126 'isHomePage': false, 6127 'disableAppFunctionality': false, 6128 'shop_labels': null, 6129 }; 6130 6131 _ABConfig.__appstleBundlesNativeFetch = window.fetch.bind(window); 6132 6133 6134 _ABConfig.shop_name = "Perfectly Posh"; 6135 6136 6137 6138 _ABConfig.proxy_path_prefix = "apps/bundles"; 6139 6140 6141 _ABConfig.country = "US"; 6142 _ABConfig.locale = "en"; 6143 _ABConfig.marketId = 38446760180; 6144 6145 6146 _ABConfig.currency = "USD"; 6147 6148 6149 6150 6151 _ABConfig.assetRev = "dd972b8d335be00fa78ac5e6709e4f65"; 6152 6153 _ABConfig.storeFrontApiVersion = "2026-01"; 6154 6155 6156 6157 6158 _ABConfig.public_domain = "perfectlyposh-2.myshopify.com"; 6159 6160 6161 6162 _ABConfig.widgetJsPath = "https://bundles-admin.appstle.com/app/build-a-box.bundle.js?v=1788520067062"; 6163 6164 6165 _ABConfig.widgetCssPath = "https://bundles-admin.appstle.com/content/build-a-box.css?v=1788520067062"; 6166 6167 6168 6169 6170 _ABConfig.bundle_rules = [{"id":49484,"shop":"perfectlyposh-2.myshopify.com","name":"Free Shipping","description":null,"status":"ACTIVE","customerIncludeTags":null,"discountType":"NO_DISCOUNT","discountValue":null,"products":"[]","variants":"[]","sequenceNo":null,"bundleType":"SHIPPING_DISCOUNT","settings":"{\"sequentialProductsPerBatch\":50,\"productFilterConfig\":\"{\\\"enabled\\\":false,\\\"filters\\\":[]}\",\"priceSelector\":\"\",\"disableProductDescription\":false,\"includedSubscriptionPlans\":\"\",\"sellingPlanSource\":\"PRODUCT\",\"sellingPlanDisplayType\":\"DROPDOWN\",\"excludeSubscriptionPlans\":\"\",\"disableHighestTierPreference\":false,\"disableCartLineForSelectedBundleItems\":false,\"enableAnnouncementBar\":true,\"showClassicBundleWidgetInChildProduct\":false,\"showPriceWithSubscriptionPrice\":true,\"showComboBundleWidgetInComboProduct\":false,\"updateThemeProductPrice\":false,\"enableVolumeDiscountMixAndMatch\":false,\"hideQuantitySelector\":false,\"enableDedicatedAddToCartButton\":false,\"cardGap\":16,\"showUnitPrice\":false,\"upsellProductSelectionMode\":\"ALL_SELECTED_VARIANTS\",\"showPricesWithoutDecimal\":false,\"topBarFreeShippingMessage\":\"\",\"bundleCheckoutSectionPosition\":\"BELOW\",\"enableOrderDiscountClass\":false,\"bundleProductNameSortOrder\":\"DEFAULT\",\"disableTierRestriction\":true,\"enableTriggerFreeGiftWithoutWidget\":false,\"perRowItem\":\"THREE\",\"showCompareAtPrice\":false,\"borderRadius\":8,\"enableVolumeDiscountTierRestriction\":false,\"enableSequentialProductLoading\":false,\"autofillNotChosenItems\":false,\"showAdditionalNoteInput\":false,\"topBarDiscountRequiredAmountMessage\":\"GET FREE SHIPPING: Add {{currency}}{{amount}} more to unlock FREE Shipping!\",\"disableScrollingToBundle\":false,\"hideOutOfStockVariants\":false,\"compareAtPriceSelector\":\"\",\"showPriceOfChosenProductsOnly\":false,\"disableQuantityRestrictedSection\":false}","bundleProductId":null,"bundleVariantId":null,"productHandle":null,"discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":null,"maxProductCount":null,"uniqueRef":"dg432gh5qk","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":50.0,"tieredDiscount":null,"productViewStyle":"QUICK_ADD","singleProductSettings":"[]","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"ENABLED","minPrice"
6170:null,"maxPrice":null,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":null,"freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":true,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":true,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"[]","discountedVariants":"[]","allowedCountries":"US","appliesOn":"BOTH","purchaseRequirement":"MINIMUM_AMOUNT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"SELECTED_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Free Shipping","sections":"[]","limitToUsePerCustomer":null,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":null,"excludedProducts":null,"productSelectionType":"PRODUCT","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":null,"recurringCycleLimit":0,"automaticShippingDiscountNodeId":"gid://shopify/DiscountAutomaticNode/1772143771892","scheduledBundleRule":false,"bundleActiveFrom":"2026-05-24T05:00:00Z","bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":"PER_ORDER","layoutType":"LAYOUT_ONE","style":"{\"tierFullPriceColor\":\"\",\"tierFreeGiftTitleFontSize\":13,\"tierUpsellTitleFontSize\":13,\"primaryColor\":\"#000000\",\"tierSubTitleFontSize\":13,\"otherProductsModalFullPriceColor\":\"\",\"primaryDisabledColor\":\"#333333\",\"cardHoverColor\":\"\",\"otherProductsModalPriceColor\":\"\",\"otherProductsModalButtonTextColor\":\"\",\"otherProductsButtonBackgroundColor\":\"\",\"tierPriceFontSize\":20,\"tierUpsellSubTitleFontSize\":12,\"comboProductFullPriceFontSize\":12,\"headingTextColor\":\"#000000\",\"badgesTextColor\":\"\",\"blockTitleFontStyle\":\"BOLD\",\"tierTitleFontSize\":20,\"otherProductsProductTitleColor\":\"\",\"subscriptionTitleTextColor\":\"\",\"subscriptionSubTitleFontSize\":13,\"otherProductsImageSize\":40,\"saveBadgeBackgroun
6170dColor\":\"\",\"tierFreeGiftBackgroundColor\":\"\",\"cardGap\":16,\"tierPriceFontStyle\":\"BOLD\",\"otherProductsModalOverlayColor\":\"\",\"tierPriceColor\":\"\",\"tierFreeGiftPriceFontSize\":14,\"otherProductsButtonTextColor\":\"\",\"tierTitleFontStyle\":\"BOLD\",\"ruleUpsellSubTitleFontSize\":13,\"comboProductPriceFontSize\":13,\"tierUnitLabelFontSize\":14,\"blockTitleFontSize\":14,\"otherProductsProductTitleSize\":16,\"productCardBackgroundColor\":\"#ffffff\",\"cardBackgroundColor\":\"\",\"buttonBackgroundColor\":\"#000000\",\"bundlePageBackgroundColor\":\"#FAFAF9\",\"borderRadius\":8,\"tierUpsellBackgroundColor\":\"\",\"ruleUpsellTitleTextColor\":\"\",\"ruleUpsellSubTitleTextColor\":\"\",\"tierUpsellSubTitleTextColor\":\"\",\"primaryDisabledTextColor\":\"#ffffff\",\"otherProductsModalProductTitleTextSize\":14,\"otherProductsModalProductTitleColor\":\"\",\"fieldDisabledBackgroundColor\":\"#D1D5DB\",\"otherProductsModalImageSize\":80,\"disabledTextColor\":\"#6B7280\",\"comboProductTitleFontStyle\":\"BOLD\",\"primaryHoverColor\":\"#000000\",\"saveBadgeTextColor\":\"\",\"tierUnitLabelFontStyle\":\"REGULAR\",\"cardBorderColor\":\"\",\"ruleUpsellTitleFontSize\":15,\"selectedCardBackgroundColor\":\"\",\"tierFullPriceFontSize\":14,\"comboProductTitleFontSize\":13,\"subscriptionSubTitleTextColor\":\"\",\"selectedCardBorderColor\":\"\",\"comboProductFullPriceFontStyle\":\"REGULAR\",\"tierTitleColor\":\"\",\"tierFullPriceFontStyle\":\"REGULAR\",\"tierSubTitleFontStyle\":\"REGULAR\",\"secondaryTextColor\":\"#ffffff\",\"blockTitleColor\":\"\",\"tierSubTitleColor\":\"\",\"saveBadgeFontSize\":12,\"primaryTextColor\":\"#000000\",\"tierFreeGiftTextColor\":\"\",\"tierFreeGiftTitleFontStyle\":\"BOLD\",\"tierUpsellTitleTextColor\":\"\",\"tierFreeGiftPriceFontStyle\":\"REGULAR\",\"perRowItem\":\"THREE\",\"badgesBackgroundColor\":\"\",\"otherProductsModalHeadingLabelColor\":\"\",\"otherProductsModalButtonBackgroundColor\":\"\",\"dedicatedSubscriptionLayout\":\"LAYOUT_ONE\",\"saveBadgeFontStyle\":\"REGULAR\",\"subscriptionTitleFontSize\":15,\"otherProductsModalProductPriceTextSize\":14,\"comboProductPriceFontStyle\":\"BOLD\"}","labels":"{\"mixAndMatchUpsellBadgeLabel\":\"+ Upsell\",\"oneTimeTitle\":\"One Time Purchase\",\"mixAndMatchAddedItemsLabel\":\"Added items\",\"mixAndMatchNoProductSelectedLabel\":\"No product selected\",\"volumeAmountDiscountQuantityRewardsLabel\":\"Buy {{quantity}} quantity and get {{currency}}{{discount}} discount!\",\"oneTimeSubtitle\":\"No Subscription\",\"mixAndMatchNoProductsAvailableLabel\":\"No products available.\",\"volumeDiscountSaveRewardsLabel\":\"Save {{discount}}{{discount_type}}!\",\"volumeDiscountQuantityRewardsLabel\":\"Buy {{quantity}} quantity and get {{discount}}{{discount_type}} discount!\",\"mixAndMatchGiftBadgeLabel\":\"+ Gift\",\"otherProductsModalSubtitleLabel\":\"\",\"volumeDiscountSpentAmountRewardsLabel\":\"Spend {{currency}}{{spent_amount}} and get {{discount}}{{discount_type}} discount!\",\"mixAndMatchAddButtonLabel\":\"Add\",\"volumeAmountDiscountSpentAmountRewardsLabel\":\"Spend {{currency}}{{spent_amount}} and get {{currency}}{{discount}} discount!\",\"mixAndMatchLockedLabel\":\"Locked\",\"mixAndMatchAddToCartLabel\":\"Add to cart\",\"mixAndMatchUnlockedLabel\":\"Unlocked\",\"mixAndMatchSeeAllLabel\":\"See all\",\"mixAndMatchTierDiscountLabel\":\"{{discount}} OFF\",\"volumeAmountDiscountSaveRewardsLabel\":\"Save {{currency}}{{discount}}!\",\"mixAndMatchTierQuantityLabel\":\"{{discountQuantityLabel}} items\"}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":"[]","progressiveGift":null,"enableProgressiveGifts":false,"discountName":"SPECIAL: Get Free shipping for orders over {order-value} (Normally $70)","shippingDiscountType":"NO_DISCOUNT","inventoryTrackingMode":"ADD_CHILD_PRODUCT_ON_CHECKOUT","defaultVariants":null,"translations":null}]; 6171 6172 6173 6174 6175 6176 6177 6178 6179 _ABConfig.bundle_setting = {"id":21394,"shop":"perfectlyposh-2.myshopify.com","showOnProductPage":null,"selector":null,"placement":"AFTER","customCss":"#ab-discount-header-banner {\n background: #bd365a !important;\n}","customizeBundleOptionType":"RADIO","buyButtonSelector":null,"labels":"{\"productDiscountCombinedWithOrderDiscount\":true,\"bundleListViewDetailsButtonLabel\":\"View Details\",\"requiredLoginValidationLabel\":\"Please log in to purchase this bundle!\",\"volumeDiscountTypeLabel\":\"Volume Discount\",\"loginAlertLinkLabel\":\"Click here to login\",\"breadCrumbProductsLabel\":\"Choose Products\",\"enableClassicBundleRecreation\":false,\"emptyProductImage\":\"https://cdn.shopify.com/s/files/1/0661/9224/4900/files/EmptyImage.jpg?v=1718447038\",\"enableAnnouncementBarAutoRotate\":true,\"reviewOrderInfoLabel\":\"\",\"productDiscountCombinedWithProductDiscount\":true,\"bundleMaximumQuantityLabel\":\"Add maximum up to {{maximum_quantity}} product\",\"productAddToBundleLabel\":\"Add\",\"breadCrumbReviewBundleLabel\":\"Review Bun
6179dle\",\"enableScrollingToBundleSection\":true,\"orderNoteLabel\":\"Order Note\",\"showProductPerPage\":50,\"requiresSubscriptionMessage\":\"Requires subscription\",\"dynamicBundleDiscountCombinedWithShippingDiscount\":true,\"hidePurchaseOptionSelectLabel\":false,\"showPriceAsDecimals\":false,\"tieredDiscountQuantityLabel\":\"Buy {{quantity}}, Get {{discount_amount}}{{discount_type}} OFF\",\"fixedDiscountText\":\"Enjoy a fixed discount of {{currency}}{{discount_value}} on your purchase!\",\"sectionTotalLabel\":\"Section Total\",\"fieldDisabledBackgroundColor\":\"#D1D5DB\",\"enableShippingDiscountBar\":false,\"bundleTotalLabel\":\"Total\",\"disableRefreshSellingPlan\":false,\"checkInventoryQuantity\":false,\"showSubscriptionPlanDescription\":false,\"fixedPricingBundleTypeLabel\":\"Fixed Pricing Bundle\",\"subscriptionAvailableLabel\":\"Subscription Available\",\"readLessText\":\"Read Less\",\"shippingDiscountLabel\":\"{{discount}}{{discount_type}} Shipping Discount\",\"selectedGiftProductProgressLabelText\":\"{{selected_product_quantity}} gift products added. The required quantity is {{required_product_quantity}}.\",\"disableFitImage\":false,\"secondaryTextColor\":\"#ffffff\",\"bundleProductsQuantityLabel\":\"{{quantity}}x quantity\",\"buyXGetYDiscountCombinedWithProductDiscount\":true,\"tieredDiscountLabel\":\"\",\"buyXGetYQuantityValidationLabel\":\"Add {{product_quantity}} quantities of the gift product (Get Y)\",\"primaryTextColor\":\"#000000\",\"modalOpenOnAddToCart\":true,\"notApplicableForSubscribeAndSaveNotificationTitle\":\"Not applicable for subscribe & save\",\"showAppstleBundleBranding\":true,\"customSignInLink\":\"\",\"volumeDiscountChooseProductLabel\":\"Choose Product\",\"loginAlertTextLabel\":\"You need to login to purchase this bundle.\",\"buyXGetYChooseProductLabel\":\"Choose Product\",\"enableAlternativeVolumeDiscountCalculation\":false,\"chooseAPlanLabel\":\"Choose Plan\",\"singleParentProductDirectRedirectToChildProducts\":true,\"buyXGetYFixedDiscountText\":\"Enjoy a fixed discount of {{discount_value}} {{currency}}\",\"notAvailableSubscriptionMessage\":\"Not available for subscription\",\"primaryColor\":\"#000000\",\"buyXGetYGiftProductPriceVisibilityType\":\"UNIT_PRICE\",\"volumeDiscountVariantSelectLabel\":\"Denominations\",\"chooseSourceProductValidationLabel\":\"Please choose source product!\",\"headingTextColor\":\"#000000\",\"hideBundleToastNotification\":false,\"classicBundleTypeLabel\":\"Classic Bundle\",\"oneTimeAvailableHintLabel\":\"One-time purchase available.\",\"bundleListDescription\":\"Explore our Bundles and Discounted Pricing and enjoy exclusive discounts when you buy products together\",\"getYNoProductSelectedLabel\":\"No gift product selected (Get Y)\",\"prepaidPerDeliveryPriceLabel\":\"{{prepaid_per_delivery_price}}/delivery\",\"hideVariantSelectLabel\":false,\"childProductInfoBannerText\":\"This product is part of a bundle\",\"availableOnlySubscriptionLabel\":\"Available Only On Subscription\",\"enableParentProductDetailButton\":false,\"bundleListTitle\":\"List of Bundles and Discounted Pricing\",\"chooseAssociatedProductsValidationLabel\":\"Please choose associated products!\",\"selectedSourceProductLabel\":\"Selected\",\"enableBuyXGetYWidgetMergeAsOptions\":false,\"volumeDiscountNextApplicableSpentAmountRewardsLabel\":\"Spend {{spent_amount}}{{currency}} get {{discount}}{{discount_type}}\",\"sectionNoProductSelectedValidationLabel\":\"No product selected for: {{section_name}}!\",\"bundlePageBackgroundColor\":\"#FAFAF9\",\"showVendorName\":false,\"buyXQuantityValidationLabel\":\"Add {{product_quantity}} quantities of the product (Bux X)\",\"sectionMaximumQuantityValidationLabel\":\"Maximum quantity not selected for: {{section_name}}!\",\"enableMaxDiscountCap\":false,\"enableVolumeDiscountBar\":false,\"sectionLabel\":\"Section\",\"disabledTextColor\":\"#6B7280\",\"tieredDiscountAmountLabel\":\"Spend {{spent_amount}}, Get {{discount_amount}}{{discount_type}} OFF\",\"primaryHoverColor\":\"#000000\",\"shippingDiscountCombinedWithOrderDiscount\":true,\"defaultDiscountBarMessage\":\"Welcome to our store\",\"enableBundleProductFilter\":false,\"buyXGetYDiscountCombinedWithOrderDiscount\":true,\"bundleSubtotalLabel\":\"Subtotal\",\"reviewOrderDescription\":\"Check your items and select your required frequency plan\",\"dynamicBundleDiscountCombinedWithOrderDiscount\":true,\"addingProductsToBundle\":\"Adding products to bundle\",\"buyXGetYMergedWidgetTitle\":\"Select Buy X Get Y Discount\",\"bundleModalHeaderLabel\":\"Your Bundle({{total_quantity}})\",\"productAddedToBundleNotificationDescription\":\"{{product_title}} added to bundle.\",\"productDiscountTypeLabel\":\"Product Discount\",\"bundleSearchBarPlaceholder\":\"Search product by name or title\",\"bundleTopHtml\":\"\",\"proceedToCheckoutButtonText\":\"\",\"defaultSelectedPurchaseOption\":\"ONE_TIME\",\"interceptorExecutionType\":\"AUTO\",\"showDraftProduct\":false,\"switchSubscriptionLabel\":\"Subscribe & Save\",\"percentDiscountText\":\"Get {{discount_value}}% off on your purchase!\",\"discountUsageLimitExceedLabel\":\"You have exceeded the bundle usage limit\",\"reviewOrderLabel\":\"Review Bun
6179dle\",\"chooseSectionProductsLabel\":\"Choose Section Products\",\"primaryDisabledColor\":\"#333333\",\"bundleMinimumOrderAmountLabel\":\"Add minimum {{minimum_amount}} order amount\",\"breadCrumbSelectSectionLabel\":\"Select Section\",\"loadMoreButtonLabel\":\"Load More\",\"addedBundleToTheCart\":\"Added bundle to the cart\",\"bundleQuantityRewardsLabel\":\"Add {{quantity}} item, get {{discount}}{{discount_type}} discount\",\"shippingDiscountCombinedWithProductDiscount\":true,\"sellingPlanNameSortOrder\":\"ASC\",\"switchOnTimeLabel\":\"One Time\",\"volumeDiscountCombinedWithProductDiscount\":true,\"chooseProductsText\":\"Products\",\"productDetailsViewType\":\"SHOW_PRODUCT_POPUP\",\"enableManualBundleBlockIntegration\":false,\"volumeDiscountNextApplicableQuantityRewardsLabel\":\"Buy {{quantity}} get {{discount}}{{discount_type}}\",\"bundleCheckoutLabel\":\"Checkout\",\"productDiscountCombinedWithShippingDiscount\":true,\"skipSelectSectionPage\":false,\"productCardBackgroundColor\":\"#ffffff\",\"buyXGetYFreeLabel\":\"Free\",\"buttonBackgroundColor\":\"#000000\",\"discountMessageInterval\":3000,\"sectionedBundleTypeLabel\":\"Sectioned Bundle\",\"buyXGetYAddToCartLabel\":\"Add to cart\",\"volumeDiscountChooseButtonLabel\":\"Choose\",\"buyXGetYDiscountCombinedWithShippingDiscount\":true,\"switchPurchaseModeLabel\":\"Switch\",\"selectedProgressLabelText\":\"{{total_bundle_items}} item added with a minimum quantity of {{minimum_quantity}}\",\"requiredBundleProductLabel\":\"Your bundle needs {{min_product_count}} more item(s).\",\"sellingPlanSelectionDropDownLabel\":\"Purchase Options\",\"buyXGetYPercentDiscountText\":\"Enjoy a percentage discount of {{discount_value}}%\",\"preventClickableProductsOnCart\":false,\"showPrepaidPerDeliveryPrice\":true,\"enableProductDetailButton\":false,\"buyXGetYDiscountTypeLabel\":\"Buy X Get Y Discount\",\"customOfferLink\":\"collections/all\",\"noItemsInBundle\":\"No items added to the bundle\",\"enableOpusCart\":false,\"hideProductPurchaseModeAwarenessHint\":false,\"variantSelectionDropDownLabel\":\"Variants\",\"chooseSectionLabel\":\"Choose Section\",\"dynamicPricingBundleTypeLabel\":\"Dynamic Pricing Bundle\",\"breadCrumbPlanLabel\":\"Select Plan\",\"showDynamicBundleOrderNote\":false,\"showOutOfStockProduct\":true,\"disabledSellingPlanSelectionValidation\":false,\"disableViewShopifyProduct\":false,\"bundleDiscountLabel\":\"Discount\",\"bundleNotEligibleLabel\":\"You're not eligible to purchase this bundle!\",\"reviewOrderProductsLabel\":\"Bundle Products\",\"outOfStockLabel\":\"Out Of Stock\",\"buyXGetYFreeGiftDiscountText\":\"Enjoy the free product\",\"showDescriptionPopup\":true,\"maxDiscountCapValue\":0,\"readMoreText\":\"Read More\",\"totalBundleProductsAddedLabel\":\"{{total_bundle_items}} Products Added\",\"bundleMinimumQuantityLabel\":\"Add minimum {{minimum_quantity}} product\",\"noSourceProductSelectedLabel\":\"No source product selected.\",\"nonListedProductText\":\"Non-Listed\",\"buyXNoProductSelectedLabel\":\"No product selected (Buy X)\",\"freeShippingLabel\":\"Free Shipping\",\"previousButtonLabel\":\"Previous Step\",\"draftBundlePageTitle\":\"Oops! This bundle is temporarily unavailable.\",\"productDetailsMaximumDescriptionCount\":300,\"oneTimeOnlyLabel\":\"One time only\",\"buyXAnyNumberOfProductChooseLabel\":\"Choose any number of products\",\"disableDiscountedPricingRedirectToCart\":false,\"volumeDiscountCombinedWithOrderDiscount\":true,\"choosePlanButtonLabel\":\"Choose Plan\",\"enableAnnouncementBar\":false,\"bundleQuantityLabel\":\"{{quantity}}x\",\"disableAutoSelection\":false,\"disableCustomAttributeInterceptor\":false,\"classicBundleLinkLabel\":\"View Complete Bundle\",\"bundleDetailsLabel\":\"Your bundle:\",\"enableAutoRemoveRelevantBundleItemInCart\":false,\"bundleModalShowRewardsLabel\":\"Show all rewards\",\"cartAndCheckoutMandatoryProductValidationMessage\":\"This bundle or discount must include all required products and they cannot be removed.\",\"notApplicableForOneTimeNotificationTitle\":\"Not applicable for one time\",\"showDiscountToNonEligibleCustomers\":false,\"primaryDisabledTextColor\":\"#ffffff\",\"draftBundlePageSubTitle\":\"In the meantime, check out our latest offers and discounts!\",\"volumeDiscountCombinedWithShippingDiscount\":true,\"bundleSpentAmountRewardsLabel\":\"Spent {{spent_amount}} worth of items, get {{discount}}{{discount_type}} discount\",\"nextButtonLabel\":\"Next Step\",\"classicBundleDescriptionLabel\":\"Your bundle contains the following products.\",\"bundleBottomHtml\":\"\",\"sectionMinimumQuantityValidationLabel\":\"Minimum quantity not selected for: {{section_name}}!\",\"enableGa4CrossDomainTracking\":false,\"dynamicBundleDiscountCombinedWithProductDiscount\":true,\"buyXGetYAnyNumberOfGiftProductLabel\":\"Choose any number of gift products\",\"subscriptionAvailableHintLabel\":\"Subscribe & save available.\",\"descriptionLength\":200,\"bundleDiscountNote\":\"Discounts will be applied at checkout.\",\"bundleModalCloseRewardsLabel\":\"Close all rewards\",\"productDetailsAddToBundleLabel\":\"Add to bundle\",\"cartAndCheckoutQuantityValidationMessage\":\"Orders must match the quantity range: Min {{min_quantity}}, Max {{max_quantity}}\",\"bundleNoProductSelectedLabel\":\"No product selected\",\"hideIncompatibleProductMessage\":false,\"checkoutInfoLabel\":\"Add products from each section to enable the add to cart button.\",\"enableShowMultipleImages\":false,\"redirectToCartPageOnCartIconClick\":true,\"customOfferLinkButtonLabel\":\"Explore Offers\",\"oneTimePurchaseLabel\":\"One Time Purchase\",\"bundleMaximumOrderAmountLabel\":\"Add maximum {{maximum_amount}} order amount\",\"enableBundleProductAscOrderView\":true,\"productAddedToBundleNotificationTitle\":\"Added to bundle\",\"customHtmlInject\":\"[]\",\"showMainToggleForProductLevel\":false,\"breadCrumbReviewSectionLabel\":\"Review Section\",\"enableBundleRecreation\":false}","bundleTopHtml":"","bundleBottomHtml":"","proceedToCheckoutButtonText":"","chooseProductsText":"Products","productAddToBundleLabel":"Add","productDetailsAddToBundleLabel":"Add to bundle","productDetailsMaximumDescriptionCount":300,"variantSelectionDropDownLabel":"Variants","sellingPlanSelectionDropDownLabel":"Purchase Options","bundleModalHeaderLabel":"Your Bundle({{total_quantity}})","bundleModalShowRewardsLabel":"Show all rewards","bundleModalCloseRewardsLabel":"Close all rewards","bundleQuantityRewardsLabel":"Add {{quantity}} item, get {{discount}}{{discount_type}} discount","bundleSpentAmountRewardsLabel":"Spent {{spent_amount}} worth of items, get {{discount}}{{discount_type}} discount","bundleQuantityLabel":"{{quantity}}x","bundleSubtotalLabel":"Subtotal","bundleDiscountLabel":"Discount","bundleTotalLabel":"Total","bundleCheckoutLabel":"Checkout","bundleMinimumQuantityLabel":"Add minimum {{minimum_quantity}} product","bundleMaximumQuantityLabel":"Add maximum up to {{maximum_quantity}} product","bundleMinimumOrderAmountLabel":"Add minimum {{minimum_amount}} order amount","oneTimePurchaseLabel":"One Time Purchase","noItemsInBundle":"No items added to the bundle","modalOpenOnAddToCart":true,"productAddedToBundleNotificationTitle":"Added to bundle","productAddedToBundleNotificationDescription":"{{product_title}} added to bundle.","chooseAPlanLabel":"Choose Plan","nextButtonLabel":"Next Step","previousButtonLabel":"Previous Step","chooseSourceProductValidationLabel":"Please choose source product!","chooseAssociatedProductsValidationLabel":"Please choose associated products!","choosePlanButtonLabel":"Choose Plan","selectedSourceProductLabel":"Selected","noSourceProductSelectedLabel":"No source product selected.","reviewOrderLabel":"Review Bun
6179dle","reviewOrderDescription":"Check your items and select your required frequency plan","reviewOrderProductsLabel":"Bundle Products","reviewOrderInfoLabel":"","orderNoteLabel":"Order Note","selectedProgressLabelText":"{{total_bundle_items}} item added with a minimum quantity of {{minimum_quantity}}","availableOnlySubscriptionLabel":"Available Only On Subscription","subscriptionAvailableLabel":"Subscription Available","oneTimeOnlyLabel":"One time only","switchOnTimeLabel":"One Time","switchSubscriptionLabel":"Subscribe & Save","breadCrumbPlanLabel":"Select Plan","breadCrumbProductsLabel":"Choose Products","breadCrumbReviewBundleLabel":"Review Bundle","showDescriptionPopup":true,"tieredDiscountQuantityLabel":"Buy {{quantity}}, Get {{discount_amount}}{{discount_type}} OFF","tieredDiscountAmountLabel":"Spend {{spent_amount}}, Get {{discount_amount}}{{discount_type}} OFF","tieredDiscountLabel":"","emptyProductImage":"https://cdn.shopify.com/s/files/1/0661/9224/4900/files/EmptyImage.jpg?v=1718447038","outOfStockLabel":"Out Of Stock","notApplicableForOneTimeNotificationTitle":"Not applicable for one time","notApplicableForSubscribeAndSaveNotificationTitle":"Not applicable for subscribe & save","descriptionLength":200,"readLessText":"Read Less","readMoreText":"Read More","bundleNoProductSelectedLabel":"No product selected","customHtmlInject":"[]","bundleDetailsLabel":"Your bundle:","bundleDiscountNote":"Discounts will be applied at checkout.","fixedDiscountText":"Enjoy a fixed discount of {{currency}}{{discount_value}} on your purchase!","percentDiscountText":"Get {{discount_value}}% off on your purchase!","hideVariantSelectLabel":false,"hidePurchaseOptionSelectLabel":false,"showMainToggleForProductLevel":false,"hideProductPurchaseModeAwarenessHint":false,"hideIncompatibleProductMessage":false,"subscriptionAvailableHintLabel":"Subscribe & save available.","oneTimeAvailableHintLabel":"One-time purchase available.","switchPurchaseModeLabel":"Switch","notAvailableSubscriptionMessage":"Not available for subscription","requiresSubscriptionMessage":"Requires subscription","headingFontFamily":null,"bodyFontFamily":null,"primaryColor":"#000000","primaryTextColor":"#000000","secondaryTextColor":"#ffffff","primaryHoverColor":"#000000","primaryDisabledColor":"#333333","primaryDisabledTextColor":"#ffffff","fieldDisabledBackgroundColor":"#D1D5DB","disabledTextColor":"#6B7280","volumeDiscountNextApplicableQuantityRewardsLabel":"Buy {{quantity}} get {{discount}}{{discount_type}}","volumeDiscountNextApplicableSpentAmountRewardsLabel":"Spend {{spent_amount}}{{currency}} get {{discount}}{{discount_type}}","addingProductsToBundle":"Adding products to bundle","freeShippingLabel":"Free Shipping","requiredBundleProductLabel":"Your bundle needs {{min_product_count}} more item(s).","enableProductDetailButton":false,"requiredLoginValidationLabel":"Please log in to purchase this bundle!","bundleNotEligibleLabel":"You're not eligible to purchase this bundle!","loginAlertTextLabel":"You need to login to purchase this bundle.","loginAlertLinkLabel":"Click here to login","customSignInLink":"","shippingDiscountLabel":"{{discount}}{{discount_type}} Shipping Discount","classicBundleDescriptionLabel":"Your bundle contains the following products.","singleParentProductDirectRedirectToChildProducts":true,"buyXGetYFixedDiscountText":"Enjoy a fixed discount of {{discount_value}} {{currency}}","buyXGetYPercentDiscountText":"Enjoy a percentage discount of {{discount_value}}%","buyXGetYFreeGiftDiscountText":"Enjoy the free product","buyXGetYAddToCartLabel":"Add to cart","buyXGetYFreeLabel":"Free","disableDiscountedPricingRedirectToCart":false,"nonListedProductText":"Non-Listed","preventClickableProductsOnCart":false,"buyXGetYChooseProductLabel":"Choose Product","showSubscriptionPlanDescription":false,"enableManualBundleBlockIntegration":false,"cartAndCheckoutQuantityValidationMessage":"Orders must match the quantity range: Min {{min_quantity}}, Max {{max_quantity}}","discountUsageLimitExceedLabel":"You have exceeded the bundle usage limit","disableViewShopifyProduct":false,"redirectToCartPageOnCartIconClick":true,"sectionLabel":"Section","chooseSectionLabel":"Choose Section","chooseSectionProductsLabel":"Choose Section Products","breadCrumbSelectSectionLabel":"Select Section","breadCrumbReviewSectionLabel":"Review Section","checkoutInfoLabel":"Add products from each section to enable the add to cart button.","sectionNoProductSelectedValidationLabel":"No product selected for: {{section_name}}!","sectionMinimumQuantityValidationLabel":"Minimum quantity not selected for: {{section_name}}!","sectionMaximumQuantityValidationLabel":"Maximum quantity not selected for: {{section_name}}!","dynamicBundleDiscountCombinedWithProductDiscount":true,"dynamicBundleDiscountCombinedWithShippingDiscount":true,"dynamicBundleDiscountCombinedWithOrderDiscount":true,"volumeDiscountCombinedWithProductDiscount":true,"volumeDiscountCombinedWithShippingDiscount":true,"volumeDiscountCombinedWithOrderDiscount":true,"productDiscountCombinedWithProductDiscount":true,"productDiscountCombinedWithShippingDiscount":true,"productDiscountCombinedWithOrderDiscount":true,"buyXGetYDiscountCombinedWithProductDiscount":true,"buyXGetYDiscountCombinedWithShippingDiscount":true,"buyXGetYDiscountCombinedWithOrderDiscount":true,"shippingDiscountCombinedWithProductDiscount":true,"shippingDiscountCombinedWithOrderDiscount":true,"showDynamicBundleOrderNote":false,"bundleMaximumOrderAmountLabel":"Add maximum {{maximum_amount}} order amount","buyXGetYQuantityValidationLabel":"Add {{product_quantity}} quantities of the gift product (Get Y)","selectedGiftProductProgressLabelText":"{{selected_product_quantity}} gift products added. The required quantity is {{required_product_quantity}}.","draftBundlePageTitle":"Oops! This bundle is temporarily unavailable.","draftBundlePageSubTitle":"In the meantime, check out our latest offers and discounts!","customOfferLink":"collections/all","customOfferLinkButtonLabel":"Explore Offers","enableParentProductDetailButton":false,"sectionTotalLabel":"Section Total","skipSelectSectionPage":false,"buyXGetYGiftProductPriceVisibilityType":"UNIT_PRICE","defaultSelectedPurchaseOption":"ONE_TIME","enableShowMultipleImages":false,"buyXGetYAnyNumberOfGiftProductLabel":"Choose any number of gift products","showDiscountToNonEligibleCustomers":false,"buyXNoProductSelectedLabel":"No product selected (Buy X)","getYNoProductSelectedLabel":"No gift product selected (Get Y)","buyXQuantityValidationLabel":"Add {{product_quantity}} quantities of the product (Bux X)","buyXAnyNumberOfProductChooseLabel":"Choose any number of products","enableBuyXGetYWidgetMergeAsOptions":false,"buyXGetYMergedWidgetTitle":"Select Buy X Get Y Discount","showClassicBundleProductVariant":null,"showProductPerPage":50,"loadMoreButtonLabel":"Load More","enableBundleProductAscOrderView":true,"cartAndCheckoutMandatoryProductValidationMessage":"This bundle or discount must include all required products and they cannot be removed.","sellingPlanNameSortOrder":"ASC","showVendorName":false,"disableFitImage":false,"enableAutoRemoveRelevantBundleItemInCart":false,"enableBundleProductFilter":false,"enableMaxDiscountCap":false,"maxDiscountCapValue":0,"classicBundleLinkLabel":"View Complete Bundle","childProductInfoBannerText":"This product is part of a bundle","showPriceAs
6179Decimals":false,"showOutOfStockProduct":true,"showDraftProduct":false,"totalBundleProductsAddedLabel":"{{total_bundle_items}} Products Added","bundleProductsQuantityLabel":"{{quantity}}x quantity","productDetailsViewType":"SHOW_PRODUCT_POPUP","disableRefreshSellingPlan":false,"enableShippingDiscountBar":false,"enableVolumeDiscountBar":false,"defaultDiscountBarMessage":"Welcome to our store","discountMessageInterval":3000,"addedBundleToTheCart":"Added bundle to the cart","disabledSellingPlanSelectionValidation":false,"volumeDiscountVariantSelectLabel":"Denominations","enableScrollingToBundleSection":true,"enableClassicBundleRecreation":false,"checkInventoryQuantity":false,"hideBundleToastNotification":false,"enableBundleRecreation":false,"enableAnnouncementBar":false,"enableAnnouncementBarAutoRotate":true,"enableAutoThemeStyleDetection":null,"enableComboBundleAutoThemeStyleDetection":false,"bundleListTitle":"List of Bundles and Discounted Pricing","bundleListDescription":"Explore our Bundles and Discounted Pricing and enjoy exclusive discounts when you buy products together","bundleListViewDetailsButtonLabel":"View Details","classicBundleTypeLabel":"Classic Bundle","dynamicPricingBundleTypeLabel":"Dynamic Pricing Bundle","fixedPricingBundleTypeLabel":"Fixed Pricing Bundle","sectionedBundleTypeLabel":"Sectioned Bundle","volumeDiscountTypeLabel":"Volume Discount","productDiscountTypeLabel":"Product Discount","buyXGetYDiscountTypeLabel":"Buy X Get Y Discount","bundlePageBackgroundColor":"#FAFAF9","productCardBackgroundColor":"#ffffff","buttonBackgroundColor":"#000000","showPrepaidPerDeliveryPrice":true,"prepaidPerDeliveryPriceLabel":"{{prepaid_per_delivery_price}}/delivery","bundleSearchBarPlaceholder":"Search product by name or title","headingTextColor":"#000000","volumeDiscountChooseButtonLabel":"Choose","volumeDiscountChooseProductLabel":"Choose Product","disableAutoSelection":false,"interceptorExecutionType":"AUTO","enableOpusCart":false,"disableCustomAttributeInterceptor":false,"enableGa4CrossDomainTracking":false,"enableAlternativeVolumeDiscountCalculation":false,"enableAppliesOnOneTimePurchaseForMixPurchaseType":null,"validateExactDiscountQuantity":null,"showAppstleBundleBranding":true}; 6180 6181 6182 6183 _ABConfig.shop_info = {"disableAppFunctionality":null,"shopMoneyFormat":null,"enableLooxReview":false,"bundleExcludedPaths":[]}; 6184 6185 6186 6187 6188 6189 6190 6191 _ABConfig.shop_labels = {"switchSubscriptionLabel":"Subscribe & Save","bundleListViewDetailsButtonLabel":"View Details","percentDiscountText":"Get {{discount_value}}% off on your purchase!","discountUsageLimitExceedLabel":"You have exceeded the bundle usage limit","requiredLoginValidationLabel":"Please log in to purchase this bundle!","volumeDiscountTypeLabel":"Volume Discount","reviewOrderLabel":"Review Bundle","loginAlertLinkLabel":"Click here to login","chooseSectionProductsLabel":"Choose Section Products","bundleMinimumOrderAmountLabel":"Add minimum {{minimum_amount}} order amount","breadCrumbSelectSectionLabel":"Select Section","breadCrumbProductsLabel":"Choose Products","loadMoreButtonLabel":"Load More","addedBundleToTheCart":"Added bundle to the cart","bundleQuantityRewardsLabel":"Add {{quantity}} item, get {{discount}}{{discount_type}} discount","reviewOrderInfoLabel":"","switchOnTimeLabel":"One Time","bundleMaximumQuantityLabel":"Add maximum up to {{maximum_quantity}} product","chooseProductsText":"Products","volumeDiscountNextApplicableQuantityRewardsLabel":"Buy {{quantity}} get {{discount}}{{discount_type}}","bundleCheckoutLabel":"Checkout","productAddToBundleLabel":"Add","breadCrumbReviewBundleLabel":"Review Bundle","orderNoteLabel":"Order Note","requiresSubscriptionMessage":"Requires subscription","buyXGetYFreeLabel":"Free","sectionedBundleTypeLabel":"Sectioned Bundle","buyXGetYAddToCartLabel":"Add to cart","tieredDiscountQuantityLabel":"Buy {{quantity}}, Get {{discount_amount}}{{discount_type}} OFF","volumeDiscountChooseButtonLabel":"Choose","fixedDiscountText":"Enjoy a fixed discount of {{currency}}{{discount_value}} on your purchase!","sectionTotalLabel":"Section Total","switchPurchaseModeLabel":"Switch","selectedProgressLabelText":"{{total_bundle_items}} item added with a minimum quantity of {{minimum_quantity}}","bundleTotalLabel":"Total","requiredBundleProductLabel":"Your bundle needs {{min_product_count}} more item(s).","sellingPlanSelectionDropDownLabel":"Purchase Options","buyXGetYPercentDiscountText":"Enjoy a percentage discount of {{discount_value}}%","fixedPricingBundleTypeLabel":"Fixed Pricing Bundle","subscriptionAvailableLabel":"Subscription Available","readLessText":"Read Less","buyXGetYDiscountTypeLabel":"Buy X Get Y Discount","customOfferLink":"collections/all","noItemsInBundle":"No items added to the bundle","variantSelectionDropDownLabel":"Variants","shippingDiscountLabel":"{{discount}}{{discount_type}} Shipping Discount","chooseSectionLabel":"Choose Section","selectedGiftProductProgressLabelText":"{{selected_product_quantity}} gift products added. The required quantity is {{required_product_quantity}}.","dynamicPricingBundleTypeLabel":"Dynamic Pricing Bundle","breadCrumbPlanLabel":"Select Plan","bundleProductsQuantityLabel":"{{quantity}}x quantity","bundleDiscountLabel":"Discount","bundleNotEligibleLabel":"You're not eligible to purchase this bundle!","reviewOrderProductsLabel":"Bundle Products","outOfStockLabel":"Out Of Stock","tieredDiscountLabel":"","buyXGetYFreeGiftDiscountText":"Enjoy the free product","buyXGetYQuantityValidationLabel":"Add {{product_quantity}} quantities of the gift product (Get Y)","readMoreText":"Read More","notApplicableForSubscribeAndSaveNotificationTitle":"Not applicable for subscribe & save","totalBundleProductsAddedLabel":"{{total_bundle_items}} Products Added","bundleMinimumQuantityLabel":"Add minimum {{minimum_quantity}} product","noSourceProductSelectedLabel":"No source product selected.","nonListedProductText":"Non-Listed","buyXNoProductSelectedLabel":"No product selected (Buy X)","volumeDiscountChooseProductLabel":"Choose Product","loginAlertTextLabel":"You need to login to purchase this bundle.","buyXGetYChooseProductLabel":"Choose Product","freeShippingLabel":"Free Shipping","previousButtonLabel":"Previous Step","draftBundlePageTitle":"Oops! This bundle is temporarily unavailable.","chooseAPlanLabel":"Choose Plan","oneTimeOnlyLabel":"One time only","buyXGetYFixedDiscountText":"Enjoy a fixed discount of {{discount_value}} {{currency}}","buyXAnyNumberOfProductChooseLabel":"Choose any number of products","notAvailableSubscriptionMessage":"Not available for subscription","volumeDiscountVariantSelectLabel":"Denominations","chooseSourceProductValidationLabel":"Please choose source product!","choosePlanButtonLabel":"Choose Plan","bundleQuantityLabel":"{{quantity}}x","classicBundleTypeLabel":"Classic Bundle","oneTimeAvailableHintLabel":"One-time purchase available.","bundleListDescription":"Explore our Bundles and Discounted Pricing and enjoy exclusive discounts when you buy products together","getYNoProductSelectedLabel":"No gift product selected (Get Y)","prepaidPerDeliveryPriceLabel":"{{prepaid_per_delivery_price}}/delivery","bundleDetailsLabel":"Your bundle:","availableOnlySubscriptionLabel":"Available Only On Subscription","additionalOrderNoteLabel":"Additional Order Note","bundleListTitle":"List of Bundles and Discounted Pricing","chooseAssociatedProductsValidationLabel":"Please choose associated products!","selectedSourceProductLabel":"Selected","bundleModalShowRewardsLabel":"Show all rewards","volumeDiscountNextApplicableSpentAmountRewardsLabel":"Spend {{spent_amount}}{{currency}} get {{discount}}{{discount_type}}","sectionNoProductSelectedValidationLabel":"No product selected for: {{section_name}}!","buyXQuantityValidationLabel":"Add {{product_quantity}} quantities of the product (Bux X)","sectionMaximumQuantityValidationLabel":"Maximum quantity not selected for: {{section_name}}!","notApplicableForOneTimeNotificationTitle":"Not applicable for one time","sectionLabel":"Section","draftBundlePageSubTitle":"In the meantime, check out our latest offers and discounts!","bundleSpentAmountRewardsLabel":"Spent {{spent_amount}} worth of items, get {{discount}}{{discount_type}} discount","tieredDiscountAmountLabel":"Spend {{spent_amount}}, Get {{discount_amount}}{{discount_type}} OFF","nextButtonLabel":"Next Step","classicBundleDescriptionLabel":"Your bundle contains the following products.","sectionMinimumQuantityValidationLabel":"Minimum quantity not selected for: {{section_name}}!","defaultDiscountBarMessage":"Welcome to our store","subscriptionAvailableHintLabel":"Subscribe & save available.","bundleDiscountNote":"Discounts will be applied at checkout.","bundleModalCloseRewardsLabel":"Close all rewards","productDetailsAddToBundleLabel":"Add to bundle","cartAndCheckoutQuantityValidationMessage":"Orders must match the quantity range: Min {{min_quantity}}, Max {{max_quantity}}","bundleNoProductSelectedLabel":"No product selected","checkoutInfoLabel":"Add products from each section to enable the add to cart button.","bundleSubtotalLabel":"Subtotal","reviewOrderDescription":"Check your items and select your required frequency plan","customOfferLinkButtonLabel":"Explore Offers","popupCommunityHeadingText":"Perfectly Pos
6191h","oneTimePurchaseLabel":"One Time Purchase","bundleMaximumOrderAmountLabel":"Add maximum {{maximum_amount}} order amount","addingProductsToBundle":"Adding products to bundle","buyXGetYMergedWidgetTitle":"Select Buy X Get Y Discount","bundleModalHeaderLabel":"Your Bundle({{total_quantity}})","productAddedToBundleNotificationTitle":"Added to bundle","productAddedToBundleNotificationDescription":"{{product_title}} added to bundle.","productDiscountTypeLabel":"Product Discount","bundleSearchBarPlaceholder":"Search product by name or title","proceedToCheckoutButtonText":"","breadCrumbReviewSectionLabel":"Review Section"}; 6192 6193 6194 _ABConfig.enableValidateDiscountQuantity = false; 6195 6196 6197 _ABConfig.customerId = null; 6198 _ABConfig.customerName = ''; 6199 _ABConfig.firstName = ''; 6200 _ABConfig.lastName = ''; 6201 _ABConfig.customerEmail = null; 6202 _ABConfig.customerTags = []; 6203 _ABConfig.customerDiscountUsage = []; 6204 6205 6206 6207 6208 _ABConfig.shop = "perfectlyposh-2.myshopify.com"; 6209 _ABConfig.shopMoneyFormat = "${{amount}}"; 6210 _ABConfig.shopMoneyFormatWithCurrencyFormat = "${{amount}} USD"; 6211 6212 6213 6214 6215 6216 6217 (function() { 6218 const appstleBundlesCurrentPath = "/pages/about"; 6219 if (appstleBundlesCurrentPath?.includes('/collections')) _ABConfig.isCollectionPage = true; 6220 if (appstleBundlesCurrentPath === '/') _ABConfig.isHomePage = true; 6221 })(); 6222 6223 _ABConfig.loadBundleAssets = () => { 6224 const css = "https://bundles-admin.appstle.com/content/build-a-box.css?v=1788520067062"; 6225 const js = "https://bundles-admin.appstle.com/app/build-a-box.bundle.js?v=1788520067062"; 6226 const link = document.createElement('link'); 6227 link.rel = 'stylesheet'; 6228 link.href = css; 6229 document.head.appendChild(link); 6230 const script = document.createElement('script'); 6231 script.defer = true; 6232 script.src = js; 6233 document.head.appendChild(script); 6234 }; 6235 6236 <!-- BEGIN app snippet: get-discount-bundles --> 6237 window._ABConfig.getProductDiscountedPricing = ({ variantId, amount, quantity, sellingPlanId }) => { 6238 const disableAppFunctionality = window?._ABConfig?.['disableAppFunctionality'] || false; 6239 if (!variantId || disableAppFunctionality) { 6240 console.error('Please provide a current variant id'); 6241 return []; 6242 } 6243 //helper functions 6244 const isDiscountUsageLimitExceed = (customerDiscountUsage, bundle) => { 6245 if (customerDiscountUsage && customerDiscountUsage.length) { 6246 const targetDiscountUsage = customerDiscountUsage.find( 6247 (discountUsage) => discountUsage?.uniqueRef === bundle?.uniqueRef 6248 ); 6249 return targetDiscountUsage && targetDiscountUsage?.usageCount >= bundle?.limitToUsePerCustomer; 6250 } 6251 return false; 6252 }; 6253 const isBundleRestrictedCustomerByTagsByDiscount = (item, customerTags) => { 6254 if (!item?.restrictTags) return false; 6255 const restrictTags = item?.restrictTags?.split(','); 6256 return customerTags && customerTags.length > 0 && customerTags.some((tag) => restrictTags?.includes(tag)); 6257 }; 6258 const isBundleAllowedByCustomersTagByDiscount = (item, customerTags) => { 6259 if (!item?.allowedTags) return true; 6260 const allowedCustomersOnly = item?.allowedTags?.split(','); 6261 return ( 6262 customerTags && 6263 customerTags.length > 0 && 6264 customerTags.some((tag) => allowedCustomersOnly?.includes(tag)) 6265 ); 6266 }; 6267 const isBundleRestrictedByDiscount = (item, customerTags) => { 6268 return isBundleRestrictedCustomerByTagsByDiscount(item, customerTags) || !isBundleAllowedByCustomersTagByDiscount(item, customerTags); 6269 }; 6270 const processBundleRules = (bundles, type, fields) => 6271 bundles 6272 .filter((bundle) => bundle?.bundleType === type) 6273 .map((rule) => { 6274 const parsedRule = { ...rule }; 6275 fields.forEach((field) => { 6276 try { 6277 parsedRule[field] = JSON.parse(rule[field] || '[]'); 6278 } catch (e) { 6279 console.error('Failed to parse field:', field, e); 6280 parsedRule[field] = []; 6281 } 6282 }); 6283 return parsedRule; 6284 }); 6285 const getBestDiscount = (applicableDiscounts, lineItem, discountKey = 'discount') => { 6286 return applicableDiscounts.reduce((greater, current) => { 6287 const greaterDiscount = greater?.[discountKey]; 6288 const currentDiscount = current?.[discountKey]; 6289 6290 if ((greater?.discountType === "PERCENTAGE" && current?.discountType === "PERCENTAGE") || 6291 (greater?.discountType === "FIXED_AMOUNT" && current?.discountType === "FIXED_AMOUNT")) { 6292 return currentDiscount > greaterDiscount ? current : greater; 6293 6294 } else if (current?.discountType === "FIXED_AMOUNT" && greater?.discountType === "PERCENTAGE") { 6295 return currentDiscount > ((greaterDiscount / 100) * lineItem?.totalAmount) ? current : greater; 6296 6297 } else if (current?.discountType === "PERCENTAGE" && greater?.discountType === "FIXED_AMOUNT") { 6298 return ((currentDiscount / 100) * lineItem?.totalAmount) > greaterDiscount ? current : greater; 6299 } 6300 6301 return currentDiscount > greaterDiscount ? current : greater; 6302 }); 6303 }; 6304 const getApplicableTieredDiscount = (volumeDiscountBundles, lineItem) => { 6305 let applicableDiscount = null; 6306 6307 const updatedVolumeDiscountBundles = volumeDiscountBundles.map(bundle => { 6308 const updatedTieredDiscount = bundle?.tieredDiscount.map(discount => { 6309 return { 6310 ...discount, 6311 appliesOn: bundle?.appliesOn 6312 }; 6313 }) 6314 6315 return { 6316 ...bundle, 6317 tieredDiscount: updatedTieredDiscount 6318 } 6319 }); 6320 6321 const volumeDiscountBundlesTieredDiscount = updatedVolumeDiscountBundles.reduce((acc, item) => { 6322 return acc.concat(item?.tieredDiscount); 6323 }, []); 6324 6325 let applicableQuantityBasedDiscount = volumeDiscountBundlesTieredDiscount 6326 .filter(tieredDiscount => tieredDiscount?.discountBasedOn === "QUANTITY") 6327 .filter(tieredDiscount => lineItem?.quantity >= tieredDiscount?.value); 6328 applicableQuantityBasedDiscount = applicableQuantityBasedDiscount.length > 0 ? getBestDiscount(applicableQuantityBasedDiscount, lineItem) : null; 6329 6330 let applicableSpendAmountBasedDiscount = volumeDiscountBundlesTieredDiscount 6331 .filter(tieredDiscount => tieredDiscount?.discountBasedOn === "AMOUNT") 6332 .filter(tieredDiscount => lineItem?.totalAmount >= tieredDiscount?.value); 6333 applicableSpendAmountBasedDiscount = applicableSpendAmountBasedDiscount.length > 0 ? getBestDiscount(applicableSpendAmountBasedDiscount, lineItem, ) : null; 6334 6335 if (applicableQuantityBasedDiscount && applicableSpendAmountBasedDiscount) { 6336 6337 if ((applicableQuantityBasedDiscount?.discountType === "PERCENTAGE" && applicableSpendAmountBasedDiscount?.discountType === "PERCENTAGE") || (applicableQuantityBasedDiscount?.discountType === "FIXED_AMOUNT" && applicableSpendAmountBasedDiscount?.discountType === "FIXED_AMOUNT")) { 6338 if (applicableQuantityBasedDiscount?.discount > applicableSpendAmountBasedDiscount?.discount) { 6339 applicableDiscount = applicableQuantityBasedDiscount; 6340 } else { 6341 applicableDiscount = applicableSpendAmountBasedDiscount; 6342 } 6343 6344 }else if(applicableQuantityBasedDiscount?.discountType === "PERCENTAGE" && applicableSpendAmountBasedDiscount?.discountType === "FIXED_AMOUNT"){ 6345 if (((applicableQuantityBasedDiscount?.discount / 100) * lineItem?.totalAmount) > applicableSpendAmountBasedDiscount?.discount) { 6346 applicableDiscount = applicableQuantityBasedDiscount; 6347 } else { 6348 applicableDiscount = applicableSpendAmountBasedDiscount; 6349 } 6350 6351 }else if(applicableQuantityBasedDiscount?.discountType === "FIXED_AMOUNT" && applicableSpendAmountBasedDiscount?.discountType === "PERCENTAGE"){ 6352 if (applicableQuantityBasedDiscount?.discount > ((applicableSpendAmountBasedDiscount?.discount / 100) * lineItem?.totalAmount)) { 6353 applicableDiscount = applicableQuantityBasedDiscount; 6354 } else { 6355 applicableDiscount = applicableSpendAmountBasedDiscount; 6356 } 6357 } 6358 6359 } else if (applicableQuantityBasedDiscount) { 6360 applicableDiscount = applicableQuantityBasedDiscount; 6361 } else if (applicableSpendAmountBasedDiscount) { 6362 applicableDiscount = applicableSpendAmountBasedDiscount; 6363 } 6364 return applicableDiscount; 6365 } 6366 const getApplicablePercentOrFixedDiscount = (discountedPricingBundles, lineItem) => { 6367 let applicableDiscount = null; 6368 6369 let applicableQuantityBasedDiscount = discountedPricingBundles 6370 .map(bundle => { 6371 return { 6372 ...bundle, 6373 minProductCount: bundle?.minProductCount || 0, 6374 maxProductCount: bundle?.maxProductCount || 0, 6375 minOrderAmount: bundle?.minOrderAmount || 0 6376 }; 6377 }) 6378 .filter(bundle => { 6379 const minCount = bundle.minProductCount; 6380 const maxCount = bundle.maxProductCount; 6381 const minAmount = bundle.minOrderAmount; 6382 6383 if (minCount > 0 && lineItem.quantity < minCount) return false;
6384 if (maxCount > 0 && lineItem.quantity > maxCount) return false; 6385 6386 if (minAmount > 0 && lineItem.amount < minAmount) return false; 6387 6388 return true; 6389 }); 6390 applicableDiscount = applicableQuantityBasedDiscount.length > 0 ? getBestDiscount(applicableQuantityBasedDiscount, lineItem, 'discountValue') : null; 6391 6392 if(applicableDiscount){ 6393 applicableDiscount = { 6394 discountBasedOn: applicableDiscount?.minOrderAmount > 0 && applicableDiscount?.minProductCount === 0 ? "AMOUNT" : "QUANTITY", 6395 value: applicableDiscount?.minOrderAmount > 0 && applicableDiscount?.minProductCount === 0 ? lineItem?.totalAmount : lineItem?.quantity, 6396 discount: applicableDiscount?.discountValue, 6397 discountType: applicableDiscount?.discountType, 6398 appliesOn: applicableDiscount?.appliesOn 6399 } 6400 } 6401 6402 return applicableDiscount; 6403 } 6404 6405 6406 6407 6408 const collections = _ABConfig?.product?.collections || []; 6409 const discountBundles = [{"id":49484,"shop":"perfectlyposh-2.myshopify.com","name":"Free Shipping","description":null,"status":"ACTIVE","customerIncludeTags":null,"discountType":"NO_DISCOUNT","discountValue":null,"products":"[]","variants":"[]","sequenceNo":null,"bundleType":"SHIPPING_DISCOUNT","settings":"{\"sequentialProductsPerBatch\":50,\"productFilterConfig\":\"{\\\"enabled\\\":false,\\\"filters\\\":[]}\",\"priceSelector\":\"\",\"disableProductDescription\":false,\"includedSubscriptionPlans\":\"\",\"sellingPlanSource\":\"PRODUCT\",\"sellingPlanDisplayType\":\"DROPDOWN\",\"excludeSubscriptionPlans\":\"\",\"disableHighestTierPreference\":false,\"disableCartLineForSelectedBundleItems\":false,\"enableAnnouncementBar\":true,\"showClassicBundleWidgetInChildProduct\":false,\"showPriceWithSubscriptionPrice\":true,\"showComboBundleWidgetInComboProduct\":false,\"updateThemeProductPrice\":false,\"enableVolumeDiscountMixAndMatch\":false,\"hideQuantitySelector\":false,\"enableDedicatedAddToCartButton\":false,\"cardGap\":16,\"showUnitPrice\":false,\"upsellProductSelectionMode\":\"ALL_SELECTED_VARIANTS\",\"showPricesWithoutDecimal\":false,\"topBarFreeShippingMessage\":\"\",\"bundleCheckoutSectionPosition\":\"BELOW\",\"enableOrderDiscountClass\":false,\"bundleProductNameSortOrder\":\"DEFAULT\",\"disableTierRestriction\":true,\"enableTriggerFreeGiftWithoutWidget\":false,\"perRowItem\":\"THREE\",\"showCompareAtPrice\":false,\"borderRadius\":8,\"enableVolumeDiscountTierRestriction\":false,\"enableSequentialProductLoading\":false,\"autofillNotChosenItems\":false,\"showAdditionalNoteInput\":false,\"topBarDiscountRequiredAmountMessage\":\"GET FREE SHIPPING: Add {{currency}}{{amount}} more to unlock FREE Shipping!\",\"disableScrollingToBundle\":false,\"hideOutOfStockVariants\":false,\"compareAtPriceSelector\":\"\",\"showPriceOfChosenProductsOnly\":false,\"disableQuantityRestrictedSection\":false}","bundleProductId":null,"bundleVariantId":null,"productHandle":null,"discountId":null,"price":null,"numberOfProducts":0,"subscriptionBundlingEnabled":false,"subscriptionId":null,"minProductCount":null,"maxProductCount":null,"uniqueRef":"dg432gh5qk","bundleRedirect":"CART","customRedirectURL":null,"minOrderAmount":50.0,"tieredDiscount":null,"productViewStyle":"QUICK_ADD","singleProductSettings":"[]","trackInventory":false,"sellingPlanType":"BUNDLE_LEVEL","clearCart":"ENABLED","minPrice":null,"maxPrice":null,"externalBuildABoxId":null,"variantVisibilityType":"SHOW_VARIANTS_AS_INDIVIDUAL","subTitle":null,"freeShipping":false,"themeType":"THEME_TWO","showBundleInProductPage":true,"combinedWithProductDiscount":true,"combinedWithShippingDiscount":true,"combinedWithOrderDiscount":true,"allowedTags":null,"restrictTags":null,"selectionType":"FLEXIBLE","bundleHtml":"[]","discountedVariants":"[]","allowedCountries":"US","appliesOn":"BOTH","purchaseRequirement":"MINIMUM_AMOUNT","productDiscountType":"EACH_PRODUCT","countrySelectionType":"SELECTED_COUNTRY","discountApplyApproach":"SHOPIFY_DISCOUNT_FUNCTION","discountedProductChooseType":"CHOOSE_ALL","internalName":"Free Shipping","sections":"[]","limitToUsePerCustomer":null,"discountedVariantSelectionLimit":null,"hideOneTimePurchase":false,"hideSubscriptionPurchase":false,"maxOrderAmount":null,"collectionData":null,"excludedProducts":null,"productSelectionType":"PRODUCT","tag":"appstle_bundles","productChooseType":"CHOOSE_ALL","variantSelectionLimit":null,"discountTargetType":"VARIANT","enableSubscription":false,"subscriptionWidgetPosition":"BELOW","subscribeTitle":"Subscribe and Save","subscribeSubtitle":"Delivered Monthly","subscriptionPreselected":false,"getYAppliesOn":"BOTH","announcementBarMessage":null,"automaticDiscountNodeId":null,"recurringCycleLimit":0,"automaticShippingDiscountNodeId":"gid://shopify/DiscountAutomaticNode/17721437
640971892","scheduledBundleRule":false,"bundleActiveFrom":"2026-05-24T05:00:00Z","bundleActiveTo":null,"bundleSubType":null,"discountAppliesOn":"PER_ORDER","layoutType":"LAYOUT_ONE","style":"{\"tierFullPriceColor\":\"\",\"tierFreeGiftTitleFontSize\":13,\"tierUpsellTitleFontSize\":13,\"primaryColor\":\"#000000\",\"tierSubTitleFontSize\":13,\"otherProductsModalFullPriceColor\":\"\",\"primaryDisabledColor\":\"#333333\",\"cardHoverColor\":\"\",\"otherProductsModalPriceColor\":\"\",\"otherProductsModalButtonTextColor\":\"\",\"otherProductsButtonBackgroundColor\":\"\",\"tierPriceFontSize\":20,\"tierUpsellSubTitleFontSize\":12,\"comboProductFullPriceFontSize\":12,\"headingTextColor\":\"#000000\",\"badgesTextColor\":\"\",\"blockTitleFontStyle\":\"BOLD\",\"tierTitleFontSize\":20,\"otherProductsProductTitleColor\":\"\",\"subscriptionTitleTextColor\":\"\",\"subscriptionSubTitleFontSize\":13,\"otherProductsImageSize\":40,\"saveBadgeBackgroundColor\":\"\",\"tierFreeGiftBackgroundColor\":\"\",\"cardGap\":16,\"tierPriceFontStyle\":\"BOLD\",\"otherProductsModalOverlayColor\":\"\",\"tierPriceColor\":\"\",\"tierFreeGiftPriceFontSize\":14,\"otherProductsButtonTextColor\":\"\",\"tierTitleFontStyle\":\"BOLD\",\"ruleUpsellSubTitleFontSize\":13,\"comboProductPriceFontSize\":13,\"tierUnitLabelFontSize\":14,\"blockTitleFontSize\":14,\"otherProductsProductTitleSize\":16,\"productCardBackgroundColor\":\"#ffffff\",\"cardBackgroundColor\":\"\",\"buttonBackgroundColor\":\"#000000\",\"bundlePageBackgroundColor\":\"#FAFAF9\",\"borderRadius\":8,\"tierUpsellBackgroun
6409dColor\":\"\",\"ruleUpsellTitleTextColor\":\"\",\"ruleUpsellSubTitleTextColor\":\"\",\"tierUpsellSubTitleTextColor\":\"\",\"primaryDisabledTextColor\":\"#ffffff\",\"otherProductsModalProductTitleTextSize\":14,\"otherProductsModalProductTitleColor\":\"\",\"fieldDisabledBackgroundColor\":\"#D1D5DB\",\"otherProductsModalImageSize\":80,\"disabledTextColor\":\"#6B7280\",\"comboProductTitleFontStyle\":\"BOLD\",\"primaryHoverColor\":\"#000000\",\"saveBadgeTextColor\":\"\",\"tierUnitLabelFontStyle\":\"REGULAR\",\"cardBorderColor\":\"\",\"ruleUpsellTitleFontSize\":15,\"selectedCardBackgroundColor\":\"\",\"tierFullPriceFontSize\":14,\"comboProductTitleFontSize\":13,\"subscriptionSubTitleTextColor\":\"\",\"selectedCardBorderColor\":\"\",\"comboProductFullPriceFontStyle\":\"REGULAR\",\"tierTitleColor\":\"\",\"tierFullPriceFontStyle\":\"REGULAR\",\"tierSubTitleFontStyle\":\"REGULAR\",\"secondaryTextColor\":\"#ffffff\",\"blockTitleColor\":\"\",\"tierSubTitleColor\":\"\",\"saveBadgeFontSize\":12,\"primaryTextColor\":\"#000000\",\"tierFreeGiftTextColor\":\"\",\"tierFreeGiftTitleFontStyle\":\"BOLD\",\"tierUpsellTitleTextColor\":\"\",\"tierFreeGiftPriceFontStyle\":\"REGULAR\",\"perRowItem\":\"THREE\",\"badgesBackgroundColor\":\"\",\"otherProductsModalHeadingLabelColor\":\"\",\"otherProductsModalButtonBackgroundColor\":\"\",\"dedicatedSubscriptionLayout\":\"LAYOUT_ONE\",\"saveBadgeFontStyle\":\"REGULAR\",\"subscriptionTitleFontSize\":15,\"otherProductsModalProductPriceTextSize\":14,\"comboProductPriceFontStyle\":\"BOLD\"}","labels":"{\"mixAndMatchUpsellBadgeLabel\":\"+ Upsell\",\"oneTimeTitle\":\"One Time Purchase\",\"mixAndMatchAddedItemsLabel\":\"Added items\",\"mixAndMatchNoProductSelectedLabel\":\"No product selected\",\"volumeAmountDiscountQuantityRewardsLabel\":\"Buy {{quantity}} quantity and get {{currency}}{{discount}} discount!\",\"oneTimeSubtitle\":\"No Subscription\",\"mixAndMatchNoProductsAvailableLabel\":\"No products available.\",\"volumeDiscountSaveRewardsLabel\":\"Save {{discount}}{{discount_type}}!\",\"volumeDiscountQuantityRewardsLabel\":\"Buy {{quantity}} quantity and get {{discount}}{{discount_type}} discount!\",\"mixAndMatchGiftBadgeLabel\":\"+ Gift\",\"otherProductsModalSubtitleLabel\":\"\",\"volumeDiscountSpentAmountRewardsLabel\":\"Spend {{currency}}{{spent_amount}} and get {{discount}}{{discount_type}} discount!\",\"mixAndMatchAddButtonLabel\":\"Add\",\"volumeAmountDiscountSpentAmountRewardsLabel\":\"Spend {{currency}}{{spent_amount}} and get {{currency}}{{discount}} discount!\",\"mixAndMatchLockedLabel\":\"Locked\",\"mixAndMatchAddToCartLabel\":\"Add to cart\",\"mixAndMatchUnlockedLabel\":\"Unlocked\",\"mixAndMatchSeeAllLabel\":\"See all\",\"mixAndMatchTierDiscountLabel\":\"{{discount}} OFF\",\"volumeAmountDiscountSaveRewardsLabel\":\"Save {{currency}}{{discount}}!\",\"mixAndMatchTierQuantityLabel\":\"{{discountQuantityLabel}} items\"}","upsells":null,"enableVolumeDiscountUpsell":false,"combos":"[]","progressiveGift":null,"enableProgressiveGifts":false,"discountName":"SPECIAL: Get Free shipping for orders over {order-value} (Normally $70)","shippingDiscountType":"NO_DISCOUNT","inventoryTrackingMode":"ADD_CHILD_PRODUCT_ON_CHECKOUT","defaultVariants":null,"translations":null}]; 6410 const customerTags = null; 6411 let customerDiscountUsage = []; 6412 let isLoggedIn = false; 6413 6414 6415 6416 const filteredDiscountBundles = Array.isArray(discountBundles) && discountBundles.length > 0 && discountBundles?.filter((bundle) => { 6417 if (bundle?.status !== 'ACTIVE' || bundle?.bundleSubType === 'BUY_X_GET_Y') { 6418 return false; 6419 } 6420 if ((bundle?.allowedTags || bundle?.restrictTags || bundle?.limitToUsePerCustomer > 0) && !isLoggedIn) { 6421 return false; 6422 } 6423 if ((bundle?.allowedTags || bundle?.restrictTags) && isLoggedIn && isBundleRestrictedByDiscount(bundle, customerTags)) { 6424 return false; 6425 } 6426 if (bundle?.limitToUsePerCustomer > 0 && isDiscountUsageLimitExceed(customerDiscountUsage, bundle)) { 6427 return false;
6428 } 6429 if (bundle?.appliesOn === "ONE_TIME" && sellingPlanId != null) { 6430 return false; 6431 } 6432 if (bundle?.appliesOn === "SUBSCRIPTION" && sellingPlanId === null) { 6433 return false; 6434 } 6435 try { 6436 const variantsString = bundle?.variants || '[]'; 6437 const variants = typeof variantsString === 'string' ? JSON.parse(variantsString) : variantsString; 6438 const bundleCollections = JSON.parse(bundle?.collectionData || '[]'); 6439 6440 return (Array.isArray(variants) && variants.some((variant) => variant && parseInt(variant?.variantId) === parseInt(variantId))) || 6441 (Array.isArray(bundleCollections) && 6442 bundleCollections?.length > 0 && 6443 bundleCollections.some(bundleCollection => collections.some(collection => collection?.id === bundleCollection?.id))) 6444 } catch (e) { 6445 console.error('Failed to parse JSON:', e); 6446 return false; 6447 } 6448 }) || []; 6449 6450 const totalAmount = amount * quantity; 6451 const lineItem = {variantId, quantity, amount, totalAmount }; 6452 const volumeDiscountBundles = processBundleRules(filteredDiscountBundles, 'VOLUME_DISCOUNT', ["variants", "tieredDiscount"]); 6453 const discountedPricingBundles = processBundleRules(filteredDiscountBundles, 'DISCOUNTED_PRICING', ["variants"]); 6454 6455 let applicableDiscount = null; 6456 const volumeDiscount = getApplicableTieredDiscount(volumeDiscountBundles, lineItem); 6457 const pricingDiscount = getApplicablePercentOrFixedDiscount(discountedPricingBundles, lineItem); 6458 6459 if (volumeDiscount && pricingDiscount) { 6460 applicableDiscount = getBestDiscount([volumeDiscount, pricingDiscount], lineItem); 6461 } else { 6462 applicableDiscount = volumeDiscount || pricingDiscount; 6463 } 6464 6465 const discountAmount = applicableDiscount?.discountType === "PERCENTAGE" ? (totalAmount * applicableDiscount?.discount) / 100 : applicableDiscount?.discount; 6466 const discountedPrice = applicableDiscount?.discountType === "PERCENTAGE" ? (totalAmount - discountAmount) : ( totalAmount - applicableDiscount?.discount); 6467 6468 return { 6469 variantId, 6470 quantity, 6471 amount, 6472 totalAmount, 6473 discountType: applicableDiscount?.discountType, 6474 discountValue: applicableDiscount?.discount, 6475 discountAmount, 6476 discountedPrice: !isNaN(discountedPrice) ? discountedPrice : undefined, 6477 discountConfigure: applicableDiscount?.appliesOn 6478 }; 6479 }; 6480 6481<!-- END app snippet --> 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 if (_ABConfig?.bundle_setting?.enableGa4CrossDomainTracking === true) { 6495 (function () { 6496 const params = new URLSearchParams(window.location.search); 6497 const gl = params.get('_gl'); 6498 6499 if (gl) { 6500 sessionStorage.setItem('_ab_ga4_gl', gl); 6501 } 6502 6503 const saved = sessionStorage.getItem('_ab_ga4_gl'); 6504 6505 document.addEventListener('DOMContentLoaded', function () { 6506 const links = document.querySelectorAll('a[href*="/apps/bundles/bb/"]'); 6507 links.forEach(function (link) { 6508 const url = new URL(link.href); 6509 if (saved) url.searchParams.set('_gl', saved); 6510 link.href = url.toString(); 6511 }); 6512 }); 6513 })(); 6514 } 6515 </script>
6515 6516 6517 6518 6519 6520 6521 6522 6523 <link href="//cdn.shopify.com/extensions/01a0f557-e7eb-7f84-a41c-209ef8c20ec8/appstle-bundles-3305/assets/appstle-bundles.min.css" rel="stylesheet" type="text/css" media="all" /> 6524 <style> 6525 .ab-bogo-title, 6526 .ab-classic-bundle-description, 6527 .ab-classic-bundle-product-quantity, 6528 .ab-classic-bundle-product-name-quantity, 6529 .ab-classic-bundle-product-link { 6530 color: #000000; 6531 } 6532 .ab-discount-header-banner { 6533 background-color: #000000; 6534 color: #ffffff; 6535 } 6536 6537 6538 6539 6540 6541 #ab-discount-header-banner { 6542 background: #bd365a !important; 6543} 6544 </style> 6545
6545<script src="https://cdn.shopify.com/extensions/01a0f557-e7eb-7f84-a41c-209ef8c20ec8/appstle-bundles-3305/assets/appstle-bundles-trigger-cart-refresh.min.js" defer></script>
6545 6546 6547 6548
6548<script src="https://cdn.shopify.com/extensions/01a0f557-e7eb-7f84-a41c-209ef8c20ec8/appstle-bundles-3305/assets/appstle-bundles-discount-announcement-bar.min.js" defer></script>
6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558</div><div id="shopify-block-AVnROZDByMDdzdWs5Z__7415279170309610466" class="shopify-block shopify-app-block">
6559<script> 6560 6561 6562 6563 6564 6565</script>
6565 6566 6567 6568 6569 6570</div>
6570<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
6570 6571</body> 6572</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.