1<!doctype html> 2 3<!-- 4 ___ ___ ___ ___ 5 / /\ /__/\ / /\ / /\ 6 / /:/_ \ \:\ / /:/ / /::\ 7 / /:/ /\ ___ ___ \ \:\ / /:/ / /:/\:\ 8 / /:/ /:/ /__/\ / /\ ___ \ \:\ / /:/ ___ / /:/ \:\ 9 /__/:/ /:/ \ \:\ / /:/ /__/\ \__\:\ /__/:/ / /\ /__/:/ \__\:\ 10 \ \:\/:/ \ \:\ /:/ \ \:\ / /:/ \ \:\ / /:/ \ \:\ / /:/ 11 \ \::/ \ \:\/:/ \ \:\ /:/ \ \:\ /:/ \ \:\ /:/ 12 \ \:\ \ \::/ \ \:\\/:/ \ \:\/:/ \ \:\/:/ 13 \ \:\ \__\/ \ \::/ \ \::/ \ \::/ 14 \__\/ \__\/ \__\/ \__\/ 15 16 -------------------------------------------------------------------- 17 # Stiletto v5.2.2 18 # Documentation: https://help.fluorescent.co/v/stiletto 19 # Purchase: https://themes.shopify.com/themes/stiletto/ 20 # A product by Fluorescent: https://fluorescent.co/ 21 # This theme is custom designed by Chris Terterian and LH 22 -------------------------------------------------------------------- 23--> 24 25<html class="no-js" lang="en" style="--announcement-height: 1px;"> 26 <head><style> 27 /* Base page paint. new-theme.css + theme.css (render-blocking) + the Google 28 Fonts stylesheet can take a while to download/parse on mobile/cold 29 cache; until they apply the page would otherwise flash stark-white with 30 default-black serif text. Mirror the brand background + typography here 31 (inline, no network) so the first paint already looks like the site. */ 32 html, body { background-color: #f9f5ef; } 33 body { 34 font-family: 'Jost', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif; 35 color: #111111; 36 } 37 /* Keep the header from painting as a tall stacked black list before its 38 section CSS arrives. .csh__top-bar and .csh__main get their display 39 from ID-scoped rules in the section's own <style> (display:flex/grid), 40 which override these the instant they parse â so the header reappears 41 fully laid out rather than as raw stacked links. The .header__space 42 spacer reserves its height, so content doesn't jump. */ 43 .csh__top-bar, 44 .csh__main { display: none; } 45 /* Skip-to-content link sits before the header; its section rule parks it 46 off-screen (top:-100%) until :focus. Mirror that so it doesn't flash as 47 a visible black "Skip to main content" link. :focus still reveals it. */ 48 .csh__skip-link { position: absolute; left: 1rem; top: -100%; } 49 /* Mobile social strip is a direct child of <header> (outside .csh__main), 50 and the section sets it display:none on every viewport (disabled per Mk 51 team) â so hide it on first paint too. */ 52 .csh__mobile-social { display: none; } 53 54 .csh__dropdown, 55 .csh__account-panel { opacity: 0; visibility: hidden; pointer-events: none; } 56 .csh__mega, 57 .csh__mega-backdrop { opacity: 0; pointer-events: none; } 58 /* Search panel: park it off-screen on first paint so it doesn't slide up 59 when the snippet's transform+transition arrives late. Matches the 60 snippet's resting state exactly; .csb__panel.is-open still opens it. */ 61 .csb__panel { position: fixed; top: 0; left: 0; right: 0; transform: translateY(-100%); } 62 @media (max-width: 989px) { 63 .csh__nav--left, 64 .csh__nav--right .csh__item { display: none; } 65 } 66 </style> 67 68 69 70 71<!-- Chris Added this Below for Maze --> 72
73<script> 74(function (m, a, z, e) { 75 var s, t; 76 try { 77 t = m.sessionStorage.getItem('maze-us'); 78 } catch (err) {} 79 80 if (!t) { 81 t = new Date().getTime(); 82 try { 83 m.sessionStorage.setItem('maze-us', t); 84 } catch (err) {} 85 } 86 87 s = a.createElement('script'); 88 s.src = z + '?apiKey=' + e; 89 s.async = true; 90 a.getElementsByTagName('head')[0].appendChild(s); 91 m.mazeUniversalSnippetApiKey = e; 92})(window, document, 'https://snippet.maze.co/maze-universal-loader.js', '8e1f7ddf-ee8a-4049-bba2-e71e6e4987ee'); 93</script>
93 94
95<script defer src="https://sapi.negate.io/script/Go8kNIwp29ab2yijGKrzbQ==?shop=logan-hollowell-jewelry.myshopify.com"></script>
95 96 97 98 99 <meta charset="UTF-8"> 100 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 101 <meta name="viewport" content="width=device-width,initial-scale=1"> 102 103 104 105 106 107 <meta name="description" content="Contact Logan Hollowell Jewelry in Los Angeles or New York"> 108 109 110 111 <link rel="canonical" href="https://loganhollowell.com/pages/contact"> 112 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="shortcut icon" href="//loganhollowell.com/cdn/shop/files/LH-New-Transparent-Black.png?crop=center&height=32&v=1738491046&width=32" type="image/png"><title>Contact 113– Logan Hollowell</title> 114 115 116 117 118 119 120 121 122 123 124<meta property="og:url" content="https://loganhollowell.com/pages/contact"> 125<meta property="og:site_name" content="Logan Hollowell"> 126<meta property="og:type" content="website"> 127<meta property="og:title" content="Contact"> 128<meta property="og:description" content="Contact Logan Hollowell Jewelry in Los Angeles or New York"> 129<meta property="og:image" content="http://loganhollowell.com/cdn/shop/files/May-Social-Sharing_1200x628.jpg?v=1779282312"> 130<meta property="og:image:secure_url" content="https://loganhollowell.com/cdn/shop/files/May-Social-Sharing_1200x628.jpg?v=1779282312"> 131 132 133 134<meta name="twitter:title" content="Contact"> 135<meta name="twitter:description" content="Contact Logan Hollowell Jewelry in Los Angeles or New York"> 136<meta name="twitter:card" content="summary_large_image"> 137<meta name="twitter:image" content="https://loganhollowell.com/cdn/shop/files/May-Social-Sharing_1200x628.jpg?v=1779282312"> 138<meta name="twitter:image:width" content="480"> 139<meta name="twitter:image:height" content="480"> 140 141 142
142<script> 143 console.log('Stiletto v5.2.2 by Fluorescent'); 144 145 document.documentElement.className = document.documentElement.className.replace('no-js', ''); 146 if (window.matchMedia(`(prefers-reduced-motion: reduce)`) === true || window.matchMedia(`(prefers-reduced-motion: reduce)`).matches === true) { 147 document.documentElement.classList.add('prefers-reduced-motion'); 148 } else { 149 document.documentElement.classList.add('do-anim'); 150 } 151 152 window.theme = { 153 version: 'v5.2.2', 154 themeName: 'Stiletto', 155 moneyFormat: "$ {{amount}}", 156 strings: { 157 name: "Logan Hollowell", 158 accessibility: { 159 play_video: "Play", 160 pause_video: "Pause", 161 range_lower: "Lower", 162 range_upper: "Upper" 163 }, 164 product: { 165 no_shipping_rates: "Shipping rate unavailable", 166 country_placeholder: "Country\/Region", 167 review: "Write a review" 168 }, 169 products: { 170 product: { 171 unavailable: "Unavailable", 172 unitPrice: "Unit price", 173 unitPriceSeparator: "per", 174 sku: "SKU" 175 } 176 }, 177 cart: { 178 editCartNote: "Edit Order Notes", 179 addCartNote: "Add Order Notes", 180 quantityError: "You have the maximum number of this product in your cart" 181 }, 182 pagination: { 183 viewing: "Youâre viewing {{ of }} of {{ total }}", 184 products: "products", 185 results: "results" 186 } 187 }, 188 routes: { 189 root: "/", 190 cart: { 191 base: "/cart", 192 add: "/cart/add", 193 change: "/cart/change", 194 update: "/cart/update", 195 clear: "/cart/clear", 196 // Manual routes until Shopify adds support 197 shipping: "/cart/shipping_rates", 198 }, 199 // Manual routes until Shopify adds support 200 products: "/products", 201 productRecommendations: "/recommendations/products", 202 predictive_search_url: '/search/suggest', 203 }, 204 icons: { 205 chevron: "\u003cspan class=\"icon icon-new icon-chevron \"\u003e\n \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003cpath d=\"M1.875 7.438 12 17.563 22.125 7.438\" stroke=\"currentColor\" stroke-width=\"2\"\/\u003e\u003c\/svg\u003e\n\u003c\/span\u003e", 206 close: "\u003cspan class=\"icon icon-new icon-close \"\u003e\n \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003cpath d=\"M2.66 1.34 2 .68.68 2l.66.66 1.32-1.32zm18.68 21.32.66.66L23.32 22l-.66-.66-1.32 1.32zm1.32-20 .66-.66L22 .68l-.66.66 1.32 1.32zM1.34 21.34.68 22 2 23.32l.66-.66-1.32-1.32zm0-18.68 10 10 1.32-1.32-10-10-1.32 1.32zm11.32 10 10-10-1.32-1.32-10 10 1.32 1.32zm-1.32-1.32-10 10 1.32 1.32 10-10-1.32-1.32zm0 1.32 10 10 1.32-1.32-10-10-1.32 1.32z\" fill=\"currentColor\"\/\u003e\u003c\/svg\u003e\n\u003c\/span\u003e", 207 zoom: "\u003cspan class=\"icon icon-new icon-zoom \"\u003e\n \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\u003cpath d=\"M10.3,19.71c5.21,0,9.44-4.23,9.44-9.44S15.51,.83,10.3,.83,.86,5.05,.86,10.27s4.23,9.44,9.44,9.44Z\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-miterlimit=\"10\" stroke-width=\"1.63\"\/\u003e\n \u003cpath d=\"M5.05,10.27H15.54\" fill=\"none\" stroke=\"currentColor\" stroke-miterlimit=\"10\" stroke-width=\"1.63\"\/\u003e\n \u003cpath class=\"cross-up\" d=\"M10.3,5.02V15.51\" fill=\"none\" stroke=\"currentColor\" stroke-miterlimit=\"10\" stroke-width=\"1.63\"\/\u003e\n \u003cpath d=\"M16.92,16.9l6.49,6.49\" fill=\"none\" stroke=\"currentColor\" stroke-miterlimit=\"10\" stroke-width=\"1.63\"\/\u003e\u003c\/svg\u003e\n\u003c\/span\u003e" 208 }, 209 coreData: { 210 n: "Stiletto", 211 v: "v5.2.2", 212 } 213 } 214 215 window.theme.searchableFields = "product_type,title,variants.sku,variants.title,vendor"; 216 217 218</script>
218 219 220 <style> 221 @font-face { 222 font-family: Jost; 223 font-weight: 400; 224 font-style: normal; 225 font-display: swap; 226 src: url("//loganhollowell.com/cdn/fonts/jost/jost_n4.d47a1b6347ce4a4c9f437608011273009d91f2b7.woff2") format("woff2"), 227 url("//loganhollowell.com/cdn/fonts/jost/jost_n4.791c46290e672b3f85c3d1c651ef2efa3819eadd.woff") format("woff"); 228} 229 230 231 232 @font-face { 233 font-family: Jost; 234 font-weight: 400; 235 font-style: normal; 236 font-display: swap; 237 src: url("//loganhollowell.com/cdn/fonts/jost/jost_n4.d47a1b6347ce4a4c9f437608011273009d91f2b7.woff2") format("woff2"), 238 url("//loganhollowell.com/cdn/fonts/jost/jost_n4.791c46290e672b3f85c3d1c651ef2efa3819eadd.woff") format("woff"); 239} 240 241 @font-face { 242 font-family: Jost; 243 font-weight: 700; 244 font-style: normal; 245 font-display: swap; 246 src: url("//loganhollowell.com/cdn/fonts/jost/jost_n7.921dc18c13fa0b0c94c5e2517ffe06139c3615a3.woff2") format("woff2"), 247 url("//loganhollowell.com/cdn/fonts/jost/jost_n7.cbfc16c98c1e195f46c536e775e4e959c5f2f22b.woff") format("woff"); 248} 249 250 @font-face { 251 font-family: Jost; 252 font-weight: 400; 253 font-style: italic; 254 font-display: swap; 255 src: url("//loganhollowell.com/cdn/fonts/jost/jost_i4.b690098389649750ada222b9763d55796c5283a5.woff2") format("woff2"), 256 url("//loganhollowell.com/cdn/fonts/jost/jost_i4.fd766415a47e50b9e391ae7ec04e2ae25e7e28b0.woff") format("woff"); 257} 258 259 @font-face { 260 font-family: Jost; 261 font-weight: 700; 262 font-style: italic; 263 font-display: swap; 264 src: url("//loganhollowell.com/cdn/fonts/jost/jost_i7.d8201b854e41e19d7ed9b1a31fe4fe71deea6d3f.woff2") format("woff2"), 265 url("//loganhollowell.com/cdn/fonts/jost/jost_i7.eae515c34e26b6c853efddc3fc0c552e0de63757.woff") format("woff"); 266} 267 268 269 :root { 270 --color-text: #111111; 271 --color-text-8-percent: rgba(17, 17, 17, 0.08); 272 --color-text-alpha: rgba(17, 17, 17, 0.35); 273 --color-text-meta: rgba(17, 17, 17, 0.6); 274 --color-text-link: #000000; 275 --color-text-error: #D02F2E; 276 --color-text-success: #478947; 277 278 --color-background: #f5f0ea; 279 --color-background-semi-transparent-80: rgba(245, 240, 234, 0.8); 280 --color-background-semi-transparent-90: rgba(245, 240, 234, 0.9); 281 282 --color-background-transparent: rgba(245, 240, 234, 0); 283 --color-border: #aaaaaa; 284 --color-border-meta: rgba(170, 170, 170, 0.6); 285 --color-overlay: rgba(0, 0, 0, 0.7); 286 287 --color-background-meta: #eee6dc; 288 --color-background-meta-alpha: rgba(238, 230, 220, 0.6); 289 --color-background-darker-meta: #e6dacb; 290 --color-background-darker-meta-alpha: rgba(230, 218, 203, 0.6); 291 --color-background-placeholder: #e6dacb; 292 --color-background-placeholder-lighter: #ebe1d5; 293 --color-foreground-placeholder: rgba(17, 17, 17, 0.4); 294 295 --color-border-input: #aaaaaa; 296 --color-border-input-alpha: rgba(170, 170, 170, 0.25); 297 --color-text-input: #111111; 298 --color-text-input-alpha: rgba(17, 17, 17, 0.04); 299 300 --color-text-button: #ffffff; 301 302 --color-background-button: #111111; 303 --color-background-button-alpha: rgba(17, 17, 17, 0.6); 304 --color-background-outline-button-alpha: rgba(17, 17, 17, 0.1); 305 --color-background-button-hover: #444444; 306 307 --color-icon: rgba(17, 17, 17, 0.4); 308 --color-icon-darker: rgba(17, 17, 17, 0.6); 309 310 --color-text-sale-badge: #111111; 311 --color-background-sold-badge: #414141; 312 --color-text-sold-badge: #ffffff; 313 314 --color-text-header: #000000; 315 --color-text-header-half-transparent: rgba(0, 0, 0, 0.5); 316 317 --color-background-header: #ffffff; 318 --color-background-header-transparent: rgba(255, 255, 255, 0); 319 --color-icon-header: #000000; 320 --color-shadow-header: rgba(0, 0, 0, 0.15); 321 322 --color-background-footer: #000000; 323 --color-text-footer: #ffffff; 324 --color-text-footer-subdued: rgba(255, 255, 255, 0.7); 325 326 --color-products-sale-price: #111111; 327 --color-products-rating-star: #000000; 328 329 --color-products-stock-good: #3C9342; 330 --color-products-stock-medium: #A77A06; 331 --color-products-stock-bad: #A70100; 332 --color-products-stock-bad: #A70100; 333 334 --font-logo: Jost, sans-serif; 335 --font-logo-weight: 400; 336 --font-logo-style: normal; 337 --logo-text-transform: uppercase; 338 --logo-letter-spacing: 0.0em; 339 340 --font-heading: Garamond, Baskerville, Caslon, serif; 341 --font-heading-weight: 400; 342 --font-heading-style: normal; 343 --font-heading-text-transform: none; 344 --font-heading-base-letter-spacing: 0.0em; 345 --font-heading-base-size: 38px; 346 347 --font-body: Jost, sans-serif; 348 --font-body-weight: 400; 349 --font-body-style: normal; 350 --font-body-italic: italic; 351 --font-body-bold-weight: 700; 352 --font-body-base-letter-spacing: -0.005em; 353 --font-body-base-size: 16px; 354 355 /* Typography */ 356 --line-height-heading: 1.1; 357 --line-height-subheading: 1.33; 358 --line-height-body: 1.5; 359 360 --logo-font-size: 361clamp(1.3125rem, 1.0794198895027625rem + 0.9944751381215469vw, 1.875rem) 362; 363 364 --font-size-navigation-base: 14px; 365 --font-navigation-base-letter-spacing: 0.05em; 366 --font-navigation-base-text-transform: uppercase; 367 368 --font-size-heading-display-1: 369clamp(2.85rem, 2.554765193370166rem + 1.259668508287293vw, 3.5625rem) 370; 371 --font-size-heading-display-2: 372clamp(2.5327rem, 2.2703346685082875rem + 1.1194254143646407vw, 3.165875rem) 373; 374 --font-size-heading-display-3: 375clamp(2.21654rem, 1.9869260497237569rem + 0.9796861878453038vw, 2.770675rem) 376; 377 --font-size-heading-1-base: 378clamp(1.9rem, 1.7031767955801105rem + 0.839779005524862vw, 2.375rem) 379; 380 --font-size-heading-2-base: 381clamp(1.6625rem, 1.4902796961325968rem + 0.7348066298342542vw, 2.078125rem) 382; 383 --font-size-heading-3-base: 384clamp(1.425rem, 1.277382596685083rem + 0.6298342541436464vw, 1.78125rem) 385; 386 --font-size-heading-4-base: 387clamp(1.1077rem, 0.9929520718232044rem + 0.4895911602209944vw, 1.384625rem) 388; 389 --font-size-heading-5-base: 390clamp(0.95rem, 0.8515883977900552rem + 0.4198895027624309vw, 1.1875rem) 391; 392 --font-size-heading-6-base: 393clamp(0.7904rem, 0.708521546961326rem + 0.34934806629834253vw, 0.988rem) 394; 395 --font-size-body-400: 396clamp(1.5827rem, 1.5481834254143647rem + 0.1472707182320442vw, 1.666rem) 397; 398 --font-size-body-350: 399clamp(1.47725rem, 1.4450331491712707rem + 0.1374585635359116vw, 1.555rem) 400; 401 --font-size-body-300: 402clamp(1.3718rem, 1.3418828729281769rem + 0.127646408839779vw, 1.444rem) 403; 404 --font-size-body-250: 405clamp(1.26635rem, 1.2387325966850828rem + 0.1178342541436464vw, 1.333rem) 406; 407 --font-size-body-200: 408clamp(1.1609rem, 1.135582320441989rem + 0.1080220994475138vw, 1.222rem) 409; 410 --font-size-body-150: 411clamp(1.05545rem, 1.032432044198895rem + 0.09820994475138121vw, 1.111rem) 412; 413 --font-size-body-100: 414clamp(0.95rem, 0.9292817679558011rem + 0.08839779005524862vw, 1.0rem) 415; 416 --font-size-body-75:
417clamp(0.8436rem, 0.8252022099447514rem + 0.07849723756906077vw, 0.888rem) 418; 419 --font-size-body-60: 420clamp(0.78109rem, 0.7640554696132597rem + 0.07268066298342542vw, 0.8222rem) 421; 422 --font-size-body-50: 423clamp(0.73815rem, 0.7220519337016574rem + 0.06868508287292817vw, 0.777rem) 424; 425 --font-size-body-25: 426clamp(0.6859rem, 0.6709414364640884rem + 0.0638232044198895vw, 0.722rem) 427; 428 --font-size-body-20: 429clamp(0.6327rem, 0.6189016574585635rem + 0.05887292817679558vw, 0.666rem) 430; 431 432 /* Buttons */ 433 434 --button-padding-multiplier: 1; 435 --font-size-button: var(--font-size-body-50); 436 --font-size-button-x-small: var(--font-size-body-25); 437 438 439 --font-button-text-transform: uppercase; 440 --button-letter-spacing: 0.05em; 441 --line-height-button: 1.45; 442 443 /* Product badges */ 444 445 --font-size-product-badge: var(--font-size-body-20); 446 447 448 --font-product-badge-text-transform: uppercase; 449 450 /* Product listing titles */ 451 452 --font-size-listing-title: var(--font-size-body-60); 453 454 455 --font-product-listing-title-text-transform: uppercase; 456 --font-product-listing-title-base-letter-spacing: 0.05em; 457 458 /* Shopify pay specific */ 459 --payment-terms-background-color: #eee6dc; 460 } 461 462 @supports not (font-size: clamp(10px, 3.3vw, 20px)) { 463 :root { 464 --logo-font-size: 4651.59375rem 466; 467 --font-size-heading-display-1: 4683.20625rem 469; 470 --font-size-heading-display-2: 4712.8492875rem 472; 473 --font-size-heading-display-3: 4742.4936075rem 475; 476 --font-size-heading-1-base: 4772.1375rem 478; 479 --font-size-heading-2-base: 4801.8703125rem 481; 482 --font-size-heading-3-base: 4831.603125rem 484; 485 --font-size-heading-4-base: 4861.2461625rem 487; 488 --font-size-heading-5-base: 4891.06875rem 490; 491 --font-size-heading-6-base: 4920.8892rem 493; 494 --font-size-body-400: 4951.62435rem 496; 497 --font-size-body-350: 4981.516125rem 499; 500 --font-size-body-300: 5011.4079rem 502; 503 --font-size-body-250: 5041.299675rem 505; 506 --font-size-body-200: 5071.19145rem 508; 509 --font-size-body-150: 5101.083225rem 511; 512 --font-size-body-100: 5130.975rem 514; 515 --font-size-body-75: 5160.8658rem 517; 518 --font-size-body-60: 5190.801645rem 520; 521 --font-size-body-50: 5220.757575rem 523; 524 --font-size-body-25: 5250.70395rem 526; 527 --font-size-body-20: 5280.64935rem 529; 530 } 531 }.product-badge[data-handle="best-seller"]{ 532 color: #000000; 533 } 534 535.product-badge[data-handle="lh-exclusive"]{ 536 color: #000000; 537 } 538 539.product-badge[data-handle="new"]{ 540 color: #000000; 541 } 542 543.product-badge[data-handle="limited-edition"]{ 544 color: #000000; 545 } 546 547</style> 548
549<script> 550 flu = window.flu || {}; 551 flu.chunks = { 552 photoswipe: "//loganhollowell.com/cdn/shop/t/206/assets/photoswipe-chunk.js?v=18659099751219271031790192133", 553 swiper: "//loganhollowell.com/cdn/shop/t/206/assets/swiper-chunk.js?v=73725226959832986321790192133", 554 nouislider: "//loganhollowell.com/cdn/shop/t/206/assets/nouislider-chunk.js?v=131351027671466727271790192133", 555 polyfillInert: "//loganhollowell.com/cdn/shop/t/206/assets/polyfill-inert-chunk.js?v=9775187524458939151790192133", 556 polyfillResizeObserver: "//loganhollowell.com/cdn/shop/t/206/assets/polyfill-resize-observer-chunk.js?v=293525", 557 }; 558</script>
558 559 560 561 562 563 564
564<script type="module" src="//loganhollowell.com/cdn/shop/t/206/assets/theme.min.js?v=143006425001493589181790192133"></script>
564 565 566 567 568 569 570 571 572 573 574
575<script defer> 576 var defineVH = function () { 577 document.documentElement.style.setProperty('--vh', window.innerHeight * 0.01 + 'px'); 578 }; 579 window.addEventListener('resize', defineVH); 580 window.addEventListener('orientationchange', defineVH); 581 defineVH(); 582</script>
582 583 584 585<link href="//loganhollowell.com/cdn/shop/t/206/assets/lh-theme.css?v=179355694506752338551790192133" rel="stylesheet" type="text/css" media="all" /> 586 587 588<style> 589/* Cormorant Garamond italic 300â500 â latin */ 590@font-face { 591 font-family: 'Cormorant Garamond'; 592 font-style: italic; 593 font-weight: 300 500; 594 font-display: swap; 595 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-cormorant-italic-latin.woff2?v=46638108064354023371790192133) format('woff2'); 596 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 597} 598/* Cormorant Garamond italic 300â500 â latin-ext */ 599@font-face { 600 font-family: 'Cormorant Garamond'; 601 font-style: italic; 602 font-weight: 300 500; 603 font-display: swap; 604 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-cormorant-italic-latin-ext.woff2?v=119369771770226359921790192133) format('woff2'); 605 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 606} 607/* Cormorant Garamond italic 300â500 â cyrillic */ 608@font-face { 609 font-family: 'Cormorant Garamond'; 610 font-style: italic; 611 font-weight: 300 500; 612 font-display: swap; 613 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-cormorant-italic-cyrillic.woff2?v=120055265990596234571790192133) format('woff2'); 614 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 615} 616/* Cormorant Garamond italic 300â500 â cyrillic-ext */ 617@font-face { 618 font-family: 'Cormorant Garamond'; 619 font-style: italic; 620 font-weight: 300 500; 621 font-display: swap; 622 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-cormorant-italic-cyrillic-ext.woff2?v=146814565042369967301790192133) format('woff2'); 623 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 624} 625/* Cormorant Garamond normal 300â600 â latin */ 626@font-face { 627 font-family: 'Cormorant Garamond'; 628 font-style: normal; 629 font-weight: 300 600; 630 font-display: swap; 631 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-cormorant-normal-latin.woff2?v=125459123485017394711790192133) format('woff2'); 632 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 633} 634/* Cormorant Garamond normal 300â600 â latin-ext */ 635@font-face { 636 font-family: 'Cormorant Garamond'; 637 font-style: normal; 638 font-weight: 300 600; 639 font-display: swap; 640 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-cormorant-normal-latin-ext.woff2?v=56135189962482916001790192133) format('woff2'); 641 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 642} 643/* Cormorant Garamond normal 300â600 â cyrillic */ 644@font-face { 645 font-family: 'Cormorant Garamond'; 646 font-style: normal; 647 font-weight: 300 600; 648 font-display: swap; 649 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-cormorant-normal-cyrillic.woff2?v=101267007169159020571790192133) format('woff2'); 650 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 651} 652/* Cormorant Garamond normal 300â600 â cyrillic-ext */ 653@font-face { 654 font-family: 'Cormorant Garamond'; 655 font-style: normal; 656 font-weight: 300 600; 657 font-display: swap; 658 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-cormorant-normal-cyrillic-ext.woff2?v=126958004572075471781790192133) format('woff2'); 659 unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; 660} 661/* Jost normal 300â400 â latin */ 662@font-face { 663 font-family: 'Jost'; 664 font-style: normal; 665 font-weight: 300 400; 666 font-display: swap; 667 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-jost-normal-latin.woff2?v=134727586954457146591790192133) format('woff2'); 668 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 669} 670/* Jost normal 300â400 â latin-ext */ 671@font-face { 672 font-family: 'Jost';
673 font-style: normal; 674 font-weight: 300 400; 675 font-display: swap; 676 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-jost-normal-latin-ext.woff2?v=53131322199483744601790192133) format('woff2'); 677 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 678} 679/* Jost normal 300â400 â cyrillic */ 680@font-face { 681 font-family: 'Jost'; 682 font-style: normal; 683 font-weight: 300 400; 684 font-display: swap; 685 src: url(//loganhollowell.com/cdn/shop/t/206/assets/lh-jost-normal-cyrillic.woff2?v=79367851455453137171790192133) format('woff2'); 686 unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; 687} 688</style> 689
690<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
690<meta name="google-site-verification" content="4gOcphdAgor_RRGcipnRhfDsAcy2xSV24NWC1SeSYT0"> 691<meta name="google-site-verification" content="AaNNKk4yVK9qTF1ZQGuckRRpv31rC6eA5lkkYn_GG9w"> 692<meta name="facebook-domain-verification" content="1fqndgqtvpjanfdjxt5nsu8u59omw8"> 693<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/5097473/digital_wallets/dialog"> 694<meta id="in-context-paypal-metadata" data-shop-id="5097473" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
695<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=34177329"></script>
695 696<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
697<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=34177329&shop_id=5097473" crossorigin="anonymous"></script>
vendor: 1 bytes, line 697
697
698<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":5097473,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/5097473","merchantName":"Logan Hollowell","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"Logan Hollowell","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 698
698
699<script id="shopify-features" type="application/json">{"accessToken":"7332c7614e2c5df5b858194ff2864e36","betas":["rich-media-storefront-analytics"],"domain":"loganhollowell.com","predictiveSearch":true,"shopId":5097473,"locale":"en"}</script>
vendor: 1 bytes, line 699
699
700<script>var Shopify = Shopify || {}; 701Shopify.shop = "logan-hollowell-jewelry.myshopify.com"; 702Shopify.locale = "en"; 703Shopify.currency = {"active":"USD","rate":"1.0"}; 704Shopify.country = "US"; 705Shopify.theme = {"name":"PROD 1.2.4.6 - Events Update, GG Update","id":189692150065,"schema_name":"Stiletto","schema_version":"5.2.2","theme_store_id":null,"role":"main"}; 706Shopify.theme.handle = "null"; 707Shopify.theme.style = {"id":null,"handle":null}; 708Shopify.cdnHost = "loganhollowell.com/cdn"; 709Shopify.routes = Shopify.routes || {}; 710Shopify.routes.root = "/"; 711Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 712Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 713Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 714Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 714
714
715<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 715
715
716<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 716
716
717<script> 718 window.ShopifyPay = window.ShopifyPay || {}; 719 window.ShopifyPay.apiHost = "shop.app\/pay"; 720 window.ShopifyPay.redirectState = null; 721</script>
vendor: 1 bytes, line 721
721
722<script> 723 window.Shopify = window.Shopify || {}; 724 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 725 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 726 window.Shopify.SignInWithShop.eligible = true; 727</script>
vendor: 1 bytes, line 727
727
728<script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script>
vendor: 1 bytes, line 728
728
729<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 729
729
730<script type="module"> 731 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 732 733 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 734 735</script>
vendor: 1 bytes, line 735
735
736<script> 737 window.Shopify = window.Shopify || {}; 738 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 739 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"]}; 740</script>
vendor: 1 bytes, line 740
740
741<script>(function() { 742 var isLoaded = false; 743 function asyncLoad() { 744 if (isLoaded) return; 745 isLoaded = true; 746 var urls = ["https:\/\/gdprcdn.b-cdn.net\/js\/gdpr_cookie_consent.min.js?shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/120\/assets\/affirmShopify.js?v=1688660279\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/shopify-widget.route.com\/shopify.widget.js?shop=logan-hollowell-jewelry.myshopify.com","https:\/\/config.gorgias.chat\/bundle-loader\/01GYCC99C03NAGSKDKSAE405ED?source=shopify1click\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700172910\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700172910\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700172910\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700172910\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700172910\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700172910\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700173537\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700173537\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700173537\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/126\/assets\/affirmShopify.js?v=1700173537\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0509\/7473\/t\/131\/assets\/affirmShopify.js?v=1708379727\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/cdn.attn.tv\/loganhollowell\/dtag.js?shop=logan-hollowell-jewelry.myshopify.com","https:\/\/media.9gtb.com\/loader.js?g_cvt_id=5caa9bd7-0fd5-490e-8432-8c1df67d0c16\u0026shop=logan-hollowell-jewelry.myshopify.com","https:\/\/storage.googleapis.com\/mobile-embed-scripts-prod\/loader\/index.js?appId=dXe9FIXuwt\u0026environment=production\u0026shop=logan-hollowell-jewelry.myshopify.com"]; 747 for (var i = 0; i < urls.length; i++) { 748 var s = document.createElement('script'); 749 s.type = 'text/javascript'; 750 s.async = true; 751 s.src = urls[i]; 752 var x = document.getElementsByTagName('script')[0]; 753 x.parentNode.insertBefore(s, x); 754 } 755 }; 756 if(window.attachEvent) { 757 window.attachEvent('onload', asyncLoad); 758 } else { 759 window.addEventListener('load', asyncLoad, false); 760 } 761})();</script>
vendor: 1 bytes, line 761
761
762<script id="__st">var __st={"a":5097473,"offset":-25200,"reqid":"dc4ec759-ad4a-476f-86fc-d0ca4153ec2f-1790251169","pageurl":"loganhollowell.com\/pages\/contact","s":"pages-115734085937","u":"6b0de7811bb6","p":"page","rtyp":"page","rid":115734085937};</script>
vendor: 1 bytes, line 762
762
763<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 763
763
764<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 764
764
765<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//loganhollowell.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 765
765
766<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 = "//loganhollowell.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>
766<script crossorigin="anonymous" defer="defer" src="//loganhollowell.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 766
766
767<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 767
767
768<script> 769 window.Shopify = window.Shopify || {}; 770 window.Shopify.MCP = window.Shopify.MCP || {}; 771 window.Shopify.MCP.enabled = true; 772 window.Shopify.MCP.shop = "logan-hollowell-jewelry.myshopify.com"; 773 window.Shopify.MCP.mcpEndpoint = "https:\/\/loganhollowell.com\/api\/mcp"; 774 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"]}}]; 775</script>
vendor: 1 bytes, line 775
775
776<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("\/\/loganhollowell.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 777</script>
vendor: 1 bytes, line 777
777
778<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://loganhollowell.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 779</script>
vendor: 1 bytes, line 779
779
780<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 781 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); 782</script>
vendor: 1 bytes, line 782
782
783<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})}})); 784</script>
vendor: 1 bytes, line 784
784
785<script id='scb4127' type='text/javascript' async='' src='https://loganhollowell.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
785<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://loganhollowell.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 786<style id="shopify-accelerated-checkout-cart"> 787 #shopify-buyer-consent { 788 margin-top: 1em; 789 display: inline-block; 790 width: 100%; 791} 792 793#shopify-buyer-consent.hidden { 794 display: none; 795} 796 797#shopify-subscription-policy-button { 798 background: none; 799 border: none; 800 padding: 0; 801 text-decoration: underline; 802 font-size: inherit; 803 cursor: pointer; 804} 805 806#shopify-subscription-policy-button::before { 807 box-shadow: none; 808} 809 810 </style> 811
812<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
812 813 814 815 816<!--HotJar Heatmapping Code--> 817 818<!-- Hotjar Tracking Code for https://www.loganhollowell.com -->
819<script>
vendor: 125 bytes, lines 819-822
819 820 (function(h,o,t,j,a,r){ 821 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 822 h._hjSettings={hjid:
8223536419
vendor: 258 bytes, lines 822-827
822,hjsv:6}; 823 a=o.getElementsByTagName('head')[0]; 824 r=o.createElement('script');r.async=1; 825 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 826 a.appendChild(r); 827 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
828</script>
828 829 830 831<!-- Install this snippet AFTER the Hotjar tracking code. -->
832<script> 833var userId = your_user_id || null; // Replace your_user_id with your own if available. 834window.hj('identify', userId, { 835 // Add your own custom attributes here. Some EXAMPLES: 836 // 'Signed up': '2019â06-20Z', // Signup date in ISO-8601 format. 837 // 'Last purchase category': 'Electronics', // Send strings with quotes around them. 838 // 'Total purchases': 15, // Send numbers without quotes. 839 // 'Last purchase date': '2019-06-20Z', // Send dates in ISO-8601 format. 840 // 'Last refund date': null, // Send null when no value exists for a user. 841}); 842</script>
842<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-personalization.js?v=136169796533929219881790192133"></script>
842<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-identity.js?v=106573785691872748651790192133"></script>
842 843
843<script> 844 if (window.LHPersonalization) { LHPersonalization.captureUTM(); }</script>
844 845 846 <!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 847 848 849 850 851 852 853 854 855 856 857 858 859
859<script async src="https://static.klaviyo.com/onsite/js/QqgYZH/klaviyo.js?company_id=QqgYZH"></script>
859 860
860<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
860 861 862 863 864 865 866 867
867<script> 868 window.klaviyoReviewsProductDesignMode = false 869 </script>
869 870 871 872 873 874 875 876 877 878 879<!-- END app block --><!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
879<script type="text/javascript" src="https://xqvdz.loganhollowell.com/loganhollowell/load" onerror=" var fallbackScript = document.createElement('script'); fallbackScript.src = 'https://cdn.attn.tv/loganhollowell/dtag.js'; document.head.appendChild(fallbackScript);" data-source="loaded?source=app-embed" defer="defer"></script>
879 880 881 882<!-- END app block -->
882<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/wishlistcollections.js" type="text/javascript" defer="defer"></script>
882 883<link href="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/wishlistcollections.css" rel="stylesheet" type="text/css" media="all"> 884<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
885<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: 5097473,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 885
885
886<script> 887 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 888</script>
vendor: 1 bytes, line 888
888
889<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}
889).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: 5097473,storefrontBaseUrl: "https://loganhollowell.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://loganhollowell.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b"],webPixelsConfigList: [{"id":"2936111409","configuration":"{\"accountID\":\"BLOCKIFY_TRACKING-123\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"b35abd85befe01ff41cd41df4ff83ae0","type":"APP","apiClientId":2309454,"privacyPurposes":["ANALYTICS","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":"2827092273","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"621f1d34e7399ff3e6affeeccd576b43","type":"APP","apiClientId":2612735,"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":"2627305777","configuration":"{\"myshopifyDomain\":\"logan-hollowell-jewelry.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"23b97d18e2aa74363140dc29c9284e87","type":"APP","apiClientId":2775569,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_phone","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2376696113","configuration":"{\"accountID\":\"123\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"4b1f94d30978e5e74a4c3495451f4c18","type":"APP","apiClientId":438566913,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
889,"dataSharingState":"unrestricted"},{"id":"1703215409","configuration":"{\"extension\": \"logan-hollowell-jewelry_1\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"39dd4fffdb1be2f2337a69db947d2da8","type":"APP","apiClientId":352999,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":[],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1369211185","configuration":"{\"shopId\":\"logan-hollowell-jewelry.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"3b0a66505e38d4995b6d711dbc972bc9","type":"APP","apiClientId":2753413,"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":"1167589681","configuration":"{\"merchantId\":\"1034681\", \"url\":\"https:\/\/classic.avantlink.com\", \"shopName\": \"logan-hollowell-jewelry\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"26843be7e7f0ff401f557cffac6b5a49","type":"APP","apiClientId":125215244289,"privacyPurposes":["ANALYTICS","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1128923441","configuration":"{\"accountID\":\"QqgYZH\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"cbf4a80740670c5ae93d33dc67925b9a","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"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":"761954609","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-R4G8HG2SGF\\\",\\\"GT-WRDDW3L\\\",\\\"G-F3JXKDJ17D\\\",\\\"GTM-NMRGQ5FN\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-R4G8HG2SGF\\\",\\\"AW-11240092141\\\/aw_SCKWkzbYYEO3j2O8p\\\",\\\"G-F3JXKDJ17D\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-R4G8HG2SGF\\\",\\\"AW-11240092141\\\/V2TYCKukzbYYEO3j2O8p\\\",\\\"AW-11240092141\\\/1ZAMCNjA49oaEO3j2O8p\\\",\\\"G-F3JXKDJ17D\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-R4G8HG2SGF\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-R4G8HG2SGF\\\",\\\"AW-11240092141\\\/YreJCKKkzbYYEO3j2O8p\\\",\\\"MC-G6F1499N2H\\\",\\\"G-F3JXKDJ17D\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-R4G8HG2SGF\\\",\\\"AW-11240092141\\\/UHBRCJykzbYYEO3j2O8p\\\",\\\"MC-G6F1499N2H\\\",\\\"G-F3JXKDJ17D\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-R4G8HG2SGF\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-R4G8HG2SGF\\\",\\\"AW-11240092141\\\/BR-nCJ-kzbYYEO3j2O8p\\\",\\\"MC-G6F1499N2H\\\",\\\"G-F3JXKDJ17D\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-R4G8HG2SGF\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-R4G8HG2SGF\\\",\\\"AW-11240092141\\\/VDVpCK6kzbYYEO3j2O8p\\\",\\\"G-F3JXKDJ17D\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-R4G8HG2SGF\\\",\\\"AW-11240092141\\\/QcB0CKikzbYYEO3j2O8p\\\",\\\"G-F3JXKDJ17D\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-R4G8HG2SGF\\\"}],\\\"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"]}
889,{"id":"724664625","configuration":"{\"swymApiEndpoint\":\"https:\/\/swymstore-v3free-01.swymrelay.com\",\"swymTier\":\"v3free-01\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5b6f6917e306bc7f24523662663331c0","type":"APP","apiClientId":1350849,"privacyPurposes":["ANALYTICS","MARKETING","PREFERENCES"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"682361137","configuration":"{\"pixelCode\":\"CLOU7OBC77U2T418LLIG\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"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":"648315185","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING"],"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":"335642929","configuration":"{\"pixel_id\":\"1867659320162665\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","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":"221348145","configuration":"{\"tagID\":\"2619241935708\"}","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":"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":"Logan Hollowell","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"logan-hollowell-jewelry.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/loganhollowell.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"9449514565937","handle":"baby-queen-water-drop-blue-topaz-ring-with-sprinkled-diamonds","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48601274745137","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"994443690020","handle":"three-star-set-rounded-diamond-huggies","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"9605689737252","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://loganhollowell.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"189692150065","themePublished":"true","eventMetadataId":"10b8a725-f5ac-4b70-a3bc-92be1a6e3e2b","pageType":"page","resourceId":"115734085937","shopId":"5097473","storefrontBaseUrl":"https:\/\/loganhollowell.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
889<script> 890 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 891 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 892 window.ShopifyAnalytics.meta.currency = 'USD'; 893 var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":115734085937,"requestId":"dc4ec759-ad4a-476f-86fc-d0ca4153ec2f-1790251169"}}; 894 for (var attr in meta) { 895 window.ShopifyAnalytics.meta[attr] = meta[attr]; 896 } 897</script>
vendor: 1 bytes, line 897
897
898<script class="analytics"> 899 (function () { 900 var customDocumentWrite = function(content) { 901 var jquery = null; 902 903 if (window.jQuery) { 904 jquery = window.jQuery; 905 } else if (window.Checkout && window.Checkout.$) { 906 jquery = window.Checkout.$; 907 } 908 909 if (jquery) { 910 jquery('body').append(content); 911 } 912 }; 913 914 var hasLoggedConversion = function(token) { 915 if (token) { 916 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 917 } 918 return false; 919 } 920 921 var setCookieIfConversion = function(token) { 922 if (token) { 923 var twoMonthsFromNow = new Date(Date.now()); 924 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 925 926 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 927 } 928 } 929 930 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 931 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 932 if (trekkie.integrations) { 933 return; 934 } 935 trekkie.methods = [ 936 'identify', 937 'page', 938 'ready', 939 'track', 940 'trackForm', 941 'trackLink' 942 ]; 943 trekkie.factory = function(method) { 944 return function() { 945 var args = Array.prototype.slice.call(arguments); 946 args.unshift(method); 947 trekkie.push(args); 948 if (method == 'track' || method == 'page') { 949 try { 950 if (window.__TREKKIE_SHIM_QUEUE == null) { 951 window.__TREKKIE_SHIM_QUEUE = []; 952 } 953 window.__TREKKIE_SHIM_QUEUE.push({ 954 from: 'trekkie-stub', 955 method: method, 956 args: args.slice(1) 957 }); 958 } catch (e) { 959 // no-op 960 } 961 } 962 return trekkie; 963 }; 964 }; 965 for (var i = 0; i < trekkie.methods.length; i++) { 966 var key = trekkie.methods[i]; 967 trekkie[key] = trekkie.factory(key); 968 } 969 trekkie.load = function(config) { 970 trekkie.config = config || {}; 971 trekkie.config.initialDocumentCookie = document.cookie; 972 var first = document.getElementsByTagName('script')[0]; 973var script = document.createElement('script'); 974script.type = 'text/javascript'; 975script.onerror = function(e) { 976 var scriptFallback = document.createElement('script'); 977 scriptFallback.type = 'text/javascript'; 978 scriptFallback.onerror = function(error) { 979 var Monorail = { 980 produce: function produce(monorailDomain, schemaId, payload) { 981 var currentMs = new Date().getTime(); 982 var event = { 983 schema_id: schemaId, 984 payload: payload, 985 metadata: { 986 event_created_at_ms: currentMs, 987 event_sent_at_ms: currentMs 988 } 989 }; 990 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 991 }, 992 sendRequest: function sendRequest(endpointUrl, payload) { 993 // Try the sendBeacon API 994 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 995 var blobData = new window.Blob([payload], { 996 type: 'text/plain' 997 }); 998 999 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1000 return true; 1001 } // sendBeacon was not successful 1002 1003 } // XHR beacon 1004 1005 var xhr = new XMLHttpRequest(); 1006 1007 try { 1008 xhr.open('POST', endpointUrl); 1009 xhr.setRequestHeader('Content-Type', 'text/plain'); 1010 xhr.send(payload); 1011 } catch (e) { 1012 console.log(e); 1013 } 1014 1015 return false; 1016 }, 1017 isIos12: function isIos12() { 1018 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1019 } 1020 }; 1021 Monorail.produce('monorail-edge.shopifysvc.com', 1022 'trekkie_storefront_load_errors/1.1', 1023 {shop_id: 5097473, 1024 theme_id: 189692150065, 1025 app_name: "storefront", 1026 context_url: window.location.href, 1027 source_url: "//loganhollowell.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 1028 1029 }; 1030 scriptFallback.async = true; 1031 scriptFallback.src = '//loganhollowell.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 1032 first.parentNode.insertBefore(scriptFallback, first); 1033}; 1034script.async = true; 1035script.src = '//loganhollowell.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 1036first.parentNode.insertBefore(script, first); 1037 1038 }; 1039 trekkie.load( 1040 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":5097473,"isMerchantRequest":null,"themeId":189692150065,"themeCityHash":"9535136294784844859","contentLanguage":"en","currency":"USD","eventMetadataId":"10b8a725-f5ac-4b70-a3bc-92be1a6e3e2b"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1041 ); 1042 1043 var loaded = false;
1044 trekkie.ready(function() { 1045 if (loaded) return; 1046 loaded = true; 1047 1048 window.ShopifyAnalytics.lib = window.trekkie; 1049 1050 var originalDocumentWrite = document.write; 1051 document.write = customDocumentWrite; 1052 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1053 document.write = originalDocumentWrite; 1054 1055 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1056 var token = match? match[1]: undefined; 1057 if (!hasLoggedConversion(token)) { 1058 setCookieIfConversion(token); 1059 1060 } 1061 }); 1062 1063 window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":115734085937,"requestId":"dc4ec759-ad4a-476f-86fc-d0ca4153ec2f-1790251169","shopifyEmitted":true}); 1064 1065 var eventsListenerScript = document.createElement('script'); 1066 eventsListenerScript.async = true; 1067 eventsListenerScript.src = "//loganhollowell.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1068 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1069})();</script>
1069 1070
1070<script> 1071 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 1072 window.ga = function ga() { 1073 (window.ga.q = window.ga.q || []).push(arguments); 1074 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1075 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 1076 } 1077 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 1078 }; 1079 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 1080 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 1081 } 1082 } 1083</script>
vendor: 1 bytes, line 1083
1083
1084<script 1085 defer 1086 src="https://loganhollowell.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 1087 data-application="storefront-renderer" 1088 data-shop-id="5097473" 1089 data-render-region="gcp-us-central1" 1090 data-page-type="page" 1091 data-theme-instance-id="189692150065" 1092 data-theme-name="Stiletto" 1093 data-theme-version="5.2.2" 1094 data-monorail-region="shop_domain" 1095 data-resource-timing-sampling-rate="10" 1096 data-shs="true" 1097 data-shs-beacon="true" 1098 data-shs-export-with-fetch="true" 1099 data-shs-logs-sample-rate="1" 1100 data-shs-beacon-endpoint="https://loganhollowell.com/api/collect" 1101></script>
1101 1102<meta name="shopify-y" content="4c2f5173-7398-4636-8e8c-aff0ce83b0ca" data-expiration="1821808769000"><meta name="shopify-s" content="708e2b70-4f7d-4131-9b86-6b11b4e87460" data-expiration="1790252969000"><meta name="new-cookie-storage-activated" content="t"> 1103</head> 1104 1105 <body class="template-page"> 1106 1107 1108 <div class="page"> 1109 <div id="shopify-section-lh-page-loader" class="shopify-section"> 1110</div> 1111 1112 1113 1114 <div class="theme-editor-scroll-offset"></div> 1115 1116 <div class="header__space" data-header-space></div> 1117 1118 <!-- BEGIN sections: header-group --> 1119<div id="shopify-section-sections--27730117951793__custom_header_3gQN8h" class="shopify-section shopify-section-group-header-group csh-outer-wrapper"><a href="#main" class="csh__skip-link">Skip to main content</a> 1120<style> 1121 :root{--custom-header-height:104px;} 1122 @media (max-width: 989px){:root{--custom-header-height:68px;}} 1123</style> 1124 1125<header 1126 id="custom-header-sections--27730117951793__custom_header_3gQN8h" 1127 class="csh" 1128 data-section-id="sections--27730117951793__custom_header_3gQN8h" 1129 data-custom-header 1130 1131 1132 1133 data-logo-inline="true" 1134 style=" 1135 --csh-height: 68px; 1136 --csh-bg-initial: #0e0c09; 1137 --csh-initial-opacity:0; 1138 --csh-bg-scrolled: #ffffff; 1139 --csh-text: #111111; 1140 --csh-link: #111111; 1141 --csh-icon: #111111; 1142 --csh-dropdown-bg: #ffffff; 1143 --csh-dropdown-text: #111111; 1144 --csh-cart-badge-bg: #b89a6e; 1145 --csh-cart-badge-text: #ffffff; 1146 --csh-text-initial:#ffffff; 1147 --csh-link-initial:#ffffff; 1148 --csh-icon-initial:#ffffff; 1149 --csh-top-bar-bg: #f5f0ea; 1150 --csh-top-bar-text: #555555; 1151 --csh-logo-width: 260px; 1152 " 1153><div class="csh__top-bar" style="min-height: 36px; 1154 "><nav class="csh__top-nav" aria-label="Top bar navigation"><a href="/pages/events" class="csh__top-link">Events</a><span class="csh__top-sep" aria-hidden="true">|</span><a href="/blogs/media" class="csh__top-link">Gem Journal</a><span class="csh__top-sep" aria-hidden="true">|</span><a 1155 href="/pages/showrooms" 1156 class="csh__top-link" 1157 1158 >Visit Us</a><span class="csh__top-sep" aria-hidden="true">|</span><a 1159 href="/collections/new-arrivals" 1160 class="csh__top-link csh__top-link--highlight" 1161 1162 >Browse New Arrivals</a></nav></div><div class="csh__mobile-social" aria-label="Social media links"><a href="https://www.instagram.com/loganhollowell" class="csh__mobile-social-link" target="_blank" rel="noopener" aria-label="Instagram (opens in a new tab)"> 1163 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6m9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8 1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z"/></svg> 1164 </a><a href="https://www.pinterest.com" class="csh__mobile-social-link" target="_blank" rel="noopener" aria-label="Pinterest (opens in a new tab)"> 1165 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 0C5.373 0 0 5.372 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738.098.119.112.224.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.214 0-2.359-.632-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12 0-6.628-5.373-12-12-12z"/></svg> 1166 </a><a href="https://www.tiktok.com" class="csh__mobile-social-link" target="_blank" rel="noopener" aria-label="TikTok (opens in a new tab)">
1167 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/></svg> 1168 </a><a href="https://www.facebook.com" class="csh__mobile-social-link" target="_blank" rel="noopener" aria-label="Facebook (opens in a new tab)"> 1169 <svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg> 1170 </a></div><div class="csh__main" style="min-height: 68px;"><nav class="csh__nav csh__nav--left" aria-label="Primary navigation"><div class="csh__item"> 1171 <a href="/collections/new-arrivals" class="csh__link">New Arrivals</a> 1172 </div><div class="csh__item"> 1173 <a href="https://loganhollowell.com/collections/the-archive" class="csh__link">The Archive</a> 1174 </div><div class="csh__item csh__item--has-dropdown"> 1175 <a href="/pages/the-aura" class="csh__link">The Aura</a> 1176 <button 1177 type="button" 1178 class="csh__link--dropdown-toggle" 1179 aria-expanded="false" 1180 aria-haspopup="true" 1181 aria-label="Toggle The Aura submenu" 1182 > 1183 <svg class="csh__chevron" viewBox="0 0 12 8" fill="none" aria-hidden="true" width="10" height="10"> 1184 <path d="M1 1.5l5 5 5-5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1185 </svg> 1186 </button> 1187 <div class="csh__dropdown" role="region"> 1188 <ul class="csh__dropdown-list"><li><a href="/products/aura-sleeve" class="csh__dropdown-link">The Aura Sleeve</a></li><li><a href="/products/solid-gold-aura-ring-sleeve" class="csh__dropdown-link">The Solid Gold Aura Sleeve</a></li><li><a href="/products/the-pave-diamond-aura-sleeve-2-0" class="csh__dropdown-link">The Pavé Diamond Aura Sleeve</a></li><li><a href="https://loganhollowell.com/products/the-french-pave-aura-sleeve-gen4-gen5" class="csh__dropdown-link">The French Pave Aura Sleeve</a></li><li><a href="https://loganhollowell.com/products/the-star-set-diamond-aura-sleeve" class="csh__dropdown-link">The Star Set Diamond Aura Sleeve</a></li><li><a href="/products/the-sterling-silver-aura-sleeve-gen-4-gen-5" class="csh__dropdown-link">The Sterling Silver Aura Sleeve</a></li></ul> 1189 </div> 1190 </div><div class="csh__item csh__item--has-mega"> 1191 <button 1192 type="button" 1193 class="csh__link csh__link--mega-toggle" 1194 aria-expanded="false" 1195 aria-haspopup="true" 1196 aria-controls="csh-mega-sections--27730117951793__custom_header_3gQN8h" 1197 data-mega-toggle 1198 > 1199 Shop 1200 <svg class="csh__chevron" viewBox="0 0 12 8" fill="none" aria-hidden="true" width="10" height="10"> 1201 <path d="M1 1.5l5 5 5-5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1202 </svg> 1203 </button> 1204 </div></nav><div class="csh__logo-wrap" data-csh-logo-wrap><a href="/" class="csh__logo-link" aria-label="Logan Hollowell"> 1205 <img 1206 src="//loganhollowell.com/cdn/shop/files/LH-Logo.png?v=1746731196&width=600" 1207 alt="Logan Hollowell" 1208 width="260" 1209 class="csh__logo-img" 1210 loading="eager" 1211 fetchpriority="high" 1212 > 1213 </a></div><nav class="csh__nav csh__nav--right" aria-label="Secondary navigation"><div class="csh__item csh__item--has-dropdown"> 1214 <button 1215 type="button" 1216 class="csh__link csh__link--dropdown-toggle" 1217 aria-expanded="false" 1218 aria-haspopup="true" 1219 > 1220 About
1221 <svg class="csh__chevron" viewBox="0 0 12 8" fill="none" aria-hidden="true" width="10" height="10"> 1222 <path d="M1 1.5l5 5 5-5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1223 </svg> 1224 </button> 1225 <div class="csh__dropdown csh__dropdown--right" role="region"> 1226 <ul class="csh__dropdown-list"><li><a href="/pages/our-story" class="csh__dropdown-link">Our Story</a></li><li><a href="/pages/stockists-1" class="csh__dropdown-link">Stockists</a></li><li><a href="/pages/faq" class="csh__dropdown-link">FAQ</a></li></ul> 1227 </div> 1228 </div><div class="csh__item csh__item--has-dropdown"> 1229 <button 1230 type="button" 1231 class="csh__link csh__link--dropdown-toggle" 1232 aria-expanded="false" 1233 aria-haspopup="true" 1234 > 1235 Services 1236 <svg class="csh__chevron" viewBox="0 0 12 8" fill="none" aria-hidden="true" width="10" height="10"> 1237 <path d="M1 1.5l5 5 5-5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 1238 </svg> 1239 </button> 1240 <div class="csh__dropdown csh__dropdown--right" role="region"> 1241 <ul class="csh__dropdown-list"><li><a href="/pages/custom-design" class="csh__dropdown-link">Custom Design</a></li><li><a href="https://loganhollowell.com/pages/jewelry-care" class="csh__dropdown-link">Jewelry Care</a></li></ul> 1242 </div> 1243 </div><div class="csh__item"> 1244 <a href="/pages/contact" class="csh__link" aria-current="page">Contact</a> 1245 </div><div class="csh__nav-divider" aria-hidden="true"></div><div class="csh__utility"><button 1246 type="button" 1247 class="csh__util-btn csh__search-toggle" 1248 aria-label="Open search modal" 1249 aria-expanded="false" 1250 aria-controls="csh-search-sections--27730117951793__custom_header_3gQN8h" 1251 data-csh-search-toggle 1252 > 1253 <span class="csh__util-icon" aria-hidden="true"> 1254 <svg viewBox="0 0 24 24" fill="none" width="20" height="20"> 1255 <circle cx="10.5" cy="10.5" r="6.5" stroke="currentColor" stroke-width="1.4"/> 1256 <path d="M15.5 15.5L21 21" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> 1257 </svg> 1258 </span> 1259 </button><a 1260 href="#swym-wishlist" 1261 class="csh__util-btn swym-wishlist" 1262 aria-label="View your wishlist" 1263 > 1264 <span class="csh__util-icon" aria-hidden="true"> 1265 <span class="icon icon-new icon-header-favorites csh__icon-svg"> 1266 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M11.926 18.874c4.609-4.015 8.176-7.694 8.176-10.661 0-2.151-1.577-3.713-3.75-3.713-1.898 0-3.477 1.393-4.426 2.989C10.977 5.893 9.398 4.5 7.5 4.5c-2.173 0-3.75 1.561-3.75 3.713 0 2.967 3.567 6.646 8.176 10.661z" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10"/></svg> 1267</span> 1268 </span> 1269 </a><div class="csh__account-wrap" data-csh-account-wrap> 1270 <button 1271 type="button" 1272 class="csh__util-btn csh__account-btn" 1273 aria-label="Go to the account page" 1274 aria-expanded="false" 1275 aria-controls="csh-account-panel-sections--27730117951793__custom_header_3gQN8h" 1276 data-csh-account-toggle 1277 > 1278 <span class="csh__util-icon" aria-hidden="true"> 1279 <span class="icon icon-new icon-header-account csh__icon-svg"> 1280 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 12.413a4.358 4.358 0 1 0 0-8.715 4.358 4.358 0 0 0 0 8.715zM3.488 20.857c0-3.085 1.594-5.61 5.26-5.61h6.503c3.667 0 5.261 2.525 5.261 5.61" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10"/></svg> 1281</span> 1282 </span> 1283 </button> 1284 1285 <div 1286 id="csh-account-panel-sections--27730117951793__custom_header_3gQN8h" 1287 class="csh__account-panel" 1288 role="dialog" 1289 aria-modal="true" 1290 aria-labelledby="csh-account-heading-sections--27730117951793__custom_header_3gQN8h" 1291 aria-hidden="true" 1292 data-csh-account-panel 1293 > 1294 <div class="csh__account-panel__caret" aria-hidden="true"></div><h2 id="csh-account-heading-sections--27730117951793__custom_header_3gQN8h" class="csh__account-panel__heading">Sign In</h2><div class="csh__account-panel__social"> 1295 <a href="https://account.loganhollowell.com/" class="csh__account-panel__social-btn csh__account-panel__social-btn--s
1295hop"> 1296 <span>Continue with Shop</span> 1297 </a> 1298 <a href="https://account.loganhollowell.com/" class="csh__account-panel__social-btn csh__account-panel__social-btn--google"> 1299 <svg class="csh__account-panel__social-icon" viewBox="0 0 24 24" aria-hidden="true" width="18" height="18"> 1300 <path d="M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z" fill="#4285F4"/> 1301 <path d="M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z" fill="#34A853"/> 1302 <path d="M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l3.66-2.84z" fill="#FBBC05"/> 1303 <path d="M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z" fill="#EA4335"/> 1304 </svg> 1305 <span>Continue with Google</span> 1306 </a> 1307 </div> 1308 1309 <div class="csh__account-panel__or" aria-hidden="true"> 1310 <span>or</span> 1311 </div><form 1312 class="csh__account-panel__email-form" 1313 data-csh-account-email-form 1314 novalidate 1315 > 1316 <div class="csh__account-panel__field"> 1317 <label for="csh-email-sections--27730117951793__custom_header_3gQN8h" class="csh__account-panel__label">Email</label> 1318 <div class="csh__account-panel__input-wrap"> 1319 <svg class="csh__account-panel__input-icon" viewBox="0 0 24 24" fill="none" aria-hidden="true" width="16" height="16"> 1320 <circle cx="12" cy="8" r="4" stroke="currentColor" stroke-width="1.4"/> 1321 <path d="M4 20c0-4 3.582-7 8-7s8 3 8 7" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> 1322 </svg> 1323 <input 1324 type="email" 1325 id="csh-email-sections--27730117951793__custom_header_3gQN8h" 1326 class="csh__account-panel__input" 1327 autocomplete="email" 1328 autocorrect="off" 1329 autocapitalize="off" 1330 placeholder="[email protected]" 1331 aria-describedby="csh-email-error-sections--27730117951793__custom_header_3gQN8h" 1332 required 1333 > 1334 </div> 1335 <p id="csh-email-error-sections--27730117951793__custom_header_3gQN8h" class="csh__account-panel__error" role="alert" aria-live="polite" hidden></p> 1336 </div> 1337 1338 <button type="submit" class="csh__account-panel__submit">Continue</button> 1339 </form> 1340 1341 <div class="csh__account-panel__divider" aria-hidden="true"></div> 1342 <p class="csh__account-panel__create"> 1343 New customer? <a href="https://account.loganhollowell.com/registration" class="csh__account-panel__create-link">Create account</a> 1344 </p></div> 1345 </div><button 1346 type="button" 1347 class="csh__util-btn csh__cart-btn" 1348 aria-label="Cart, empty" 1349 data-js-cart-icon 1350 data-js-cart-btn 1351 data-open-quick-cart 1352 > 1353 <span class="csh__util-icon" aria-hidden="true"> 1354 <span class="icon icon-new icon-header-shopping-cart csh__icon-svg" aria-hidden="true"> 1355 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.148 11.479c-.101-1.428-.125-2.985-.296-4.57C15.577 4.37 14.372 2.64 12 2.64S8.423 4.37 8.148 6.908c-.171 1.586-.195 3.142-.296 4.57" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10" stroke-linejoin="bevel"/><path d="M20.701 20.438V8.816H3.3v11.622H20.7z" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10"/><g transform="translate(12, 14.6) scale(0.093) translate(-30, -41)" fill="currentColor"> 1356 <rect x="0" y="0" width="8" height="63"/> 1357 <rect x="8" y="54" width="9" height="9"/> 1358 <rect x="17" y="23" width="7" height="59"/> 1359 <rect x="17" y="50" width="43" height="4"/> 1360 <rect x="53" y="23" width="7" height="59"/> 1361 </g> 1362 </svg> 1363 </span>
1364 <span class="csh__cart-count csh__cart-count--empty" aria-hidden="true" data-js-cart-count>0</span> 1365 </span> 1366 </button><span class="csh__sr-only" aria-live="polite" aria-atomic="true" data-js-cart-live></span><button 1367 type="button" 1368 class="csh__util-btn csh__menu-toggle" 1369 aria-label="Open menu modal" 1370 aria-expanded="false" 1371 data-aria-label-closed="Open menu modal" 1372 data-aria-label-opened="Close menu modal" 1373 data-js-menu-button 1374 > 1375 <span class="csh__hamburger" aria-hidden="true"> 1376 <span class="csh__bar"></span> 1377 <span class="csh__bar"></span> 1378 <span class="csh__bar"></span> 1379 </span> 1380 </button> 1381 1382 </div></nav> 1383 </div><div 1384 id="csh-search-sections--27730117951793__custom_header_3gQN8h" 1385 class="csb__panel" 1386 role="dialog" 1387 aria-modal="true" 1388 aria-label="Search productsâ¦" 1389 aria-hidden="true" 1390 data-csh-search-panel 1391><div class="csb__bar" data-csh-search-bar> 1392 <form 1393 id="csh-search-form-sections--27730117951793__custom_header_3gQN8h" 1394 action="/search" 1395 method="get" 1396 class="csb__form" 1397 role="search" 1398 data-csh-search-form 1399 > 1400 <input type="hidden" name="type" value="product"> 1401 <input 1402 type="search" 1403 name="q" 1404 id="csh-search-input-sections--27730117951793__custom_header_3gQN8h" 1405 class="csb__input" 1406 placeholder="Search productsâ¦" 1407 aria-label="Search productsâ¦" 1408 autocomplete="off" 1409 autocorrect="off" 1410 autocapitalize="off" 1411 spellcheck="false" 1412 data-csh-search-input 1413 > 1414 </form> 1415 1416 <div class="csb__bar-actions"><button 1417 type="button" 1418 class="cvs__btn" 1419 id="cvs-btn-sections--27730117951793__custom_header_3gQN8h" 1420 aria-label="Search by voice" 1421 aria-pressed="false" 1422 data-cvs-btn 1423 data-cvs-input-id="csh-search-input-sections--27730117951793__custom_header_3gQN8h" 1424 hidden 1425><span class="cvs__icon" aria-hidden="true" data-cvs-icon> 1426 <svg viewBox="0 0 24 24" fill="none" width="20" height="20"> 1427 <rect x="9" y="2" width="6" height="11" rx="3" stroke="currentColor" stroke-width="1.4"/> 1428 <path d="M5 11a7 7 0 0 0 14 0" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> 1429 <line x1="12" y1="18" x2="12" y2="22" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> 1430 <line x1="9" y1="22" x2="15" y2="22" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> 1431 </svg> 1432 </span><span class="cvs__waves" aria-hidden="true" data-cvs-waves hidden> 1433 <span class="cvs__wave"></span> 1434 <span class="cvs__wave"></span> 1435 <span class="cvs__wave"></span> 1436 <span class="cvs__wave"></span> 1437 <span class="cvs__wave"></span> 1438 </span> 1439</button> 1440 1441<style> 1442/* ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1443 CUSTOM VOICE SEARCH â cvs__ 1444 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 1445 1446/* Ensure HTML hidden attribute is never overridden by display rules */ 1447.cvs__btn[hidden], 1448.cvs__waves[hidden], 1449.cvs__icon[hidden] { 1450 display: none !important; 1451} 1452 1453.cvs__btn { 1454 display: flex; 1455 align-items: center; 1456 justify-content: center; 1457 width: 40px; 1458 height: 40px; 1459 padding: 0; 1460 color: #666; /* was #bbb (~2.7:1 fail) â #666 (5.74:1 AA pass, WCAG 1.4.11) */ 1461 background: none; 1462 border: none; 1463 border-radius: 6px; 1464 cursor: pointer; 1465 transition: color 0.2s, background 0.2s; 1466 outline: none; 1467 -webkit-tap-highlight-color: transparent; 1468 flex-shrink: 0; 1469} 1470.cvs__btn:hover { 1471 color: #555; 1472 background: #f5f0ea; 1473} 1474.cvs__btn:focus-visible { 1475 outline: 2px solid #666; /* was 1px solid #999 (weak) â 2px solid #666 (5.74:1, WCAG 2.4.7) */ 1476 outline-offset: 2px; 1477} 1478.cvs__btn[aria-pressed="true"] { 1479 color: #c0392b; 1480 animation: cvs-mic-pulse 1s ease-in-out infinite; 1481} 1482@keyframes cvs-mic-pulse { 1483 0%, 100% { opacity: 1; transform: scale(1); } 1484 50% { opacity: 0.75; transform: scale(1.1); } 1485} 1486 1487.cvs__icon, 1488.cvs__icon svg { 1489 display: block;
1490 width: 20px; 1491 height: 20px; 1492} 1493 1494/* Animated wave bars */ 1495.cvs__waves { 1496 display: flex; 1497 align-items: center; 1498 justify-content: center; 1499 gap: 3px; 1500 height: 20px; 1501} 1502.cvs__wave { 1503 width: 3px; 1504 height: 100%; 1505 min-height: 6px; 1506 background: currentColor; 1507 border-radius: 2px; 1508 animation: cvs-wave 0.6s ease-in-out infinite; 1509} 1510.cvs__wave:nth-child(1) { animation-delay: 0s; height: 40%; } 1511.cvs__wave:nth-child(2) { animation-delay: 0.1s; height: 70%; } 1512.cvs__wave:nth-child(3) { animation-delay: 0.2s; height: 100%; } 1513.cvs__wave:nth-child(4) { animation-delay: 0.3s; height: 70%; } 1514.cvs__wave:nth-child(5) { animation-delay: 0.4s; height: 40%; } 1515@keyframes cvs-wave { 1516 0%, 100% { transform: scaleY(0.4); opacity: 0.7; } 1517 50% { transform: scaleY(1); opacity: 1; } 1518} 1519</style> 1520
1521<script src="//loganhollowell.com/cdn/shop/t/206/assets/custom-voice-search.js?v=55839626262414429201790192133" defer></script>
1521 1522 1523<button 1524 type="submit" 1525 form="csh-search-form-sections--27730117951793__custom_header_3gQN8h" 1526 class="csb__bar-icon" 1527 aria-label="Translation missing: en.general.search.search" 1528 > 1529 <svg viewBox="0 0 24 24" fill="none" width="18" height="18" aria-hidden="true"> 1530 <circle cx="10.5" cy="10.5" r="6.5" stroke="currentColor" stroke-width="1.4"/> 1531 <path d="M15.5 15.5L21 21" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> 1532 </svg> 1533 </button> 1534 1535 <button 1536 type="button" 1537 class="csb__close" 1538 aria-label="Close" 1539 data-csh-search-close 1540 > 1541 <svg viewBox="0 0 24 24" fill="none" width="20" height="20" aria-hidden="true"> 1542 <path d="M18 6L6 18M6 6l12 12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/> 1543 </svg> 1544 </button> 1545 </div><ul 1546 id="csh-autocomplete-sections--27730117951793__custom_header_3gQN8h" 1547 class="csb__autocomplete" 1548 role="listbox" 1549 aria-label="Search suggestions" 1550 data-csh-autocomplete 1551 hidden 1552 ></ul> 1553 </div><div class="csb__tags-strip csb__state-default" data-csh-state="default"> 1554 <span class="csb__tags-label">Popular searches</span> 1555 <div class="csb__tags" data-csh-popular-tags><a href="/search?type=product&q=rings" class="csb__tag">Rings</a> 1556 <a href="/search?type=product&q=necklaces" class="csb__tag">Necklaces</a> 1557 <a href="/search?type=product&q=earrings" class="csb__tag">Earrings</a> 1558 <a href="/search?type=product&q=bracelets" class="csb__tag">Bracelets</a> 1559 <a href="/search?type=product&q=moonstone" class="csb__tag">Moonstone</a> 1560 <a href="/search?type=product&q=diamond" class="csb__tag">Diamond</a> 1561 </div> 1562 </div><div class="csb__body"><div class="csb__main csb__state-default" data-csh-state="default"> 1563 <p class="csb__section-label" data-csh-featured-label>Featured</p> 1564 <div class="csb__products-grid csb__products-grid--featured" data-csh-featured-grid><div class="csb__skeleton-card csb__shimmer"><div class="csb__skeleton-img"></div><div class="csb__skeleton-text csb__skeleton-text--title"></div><div class="csb__skeleton-text csb__skeleton-text--price"></div></div> 1565 <div class="csb__skeleton-card csb__shimmer"><div class="csb__skeleton-img"></div><div class="csb__skeleton-text csb__skeleton-text--title"></div><div class="csb__skeleton-text csb__skeleton-text--price"></div></div> 1566 <div class="csb__skeleton-card csb__shimmer"><div class="csb__skeleton-img"></div><div class="csb__skeleton-text csb__skeleton-text--title"></div><div class="csb__skeleton-text csb__skeleton-text--price"></div></div> 1567 <div class="csb__skeleton-card csb__shimmer"><div class="csb__skeleton-img"></div><div class="csb__skeleton-text csb__skeleton-text--title"></div><div class="csb__skeleton-text csb__skeleton-text--price"></div></div> 1568 </div> 1569 </div><div class="csb__main csb__state-results" data-csh-state="results"> 1570 <p class="csb__section-label csb__results-label" data-csh-results-label> 1571 Results for 1572 <em data-csh-results-query></em> 1573 </p><div class="csb__products-grid" data-csh-skeleton hidden> 1574 <div class="csb__skeleton-card csb__shimmer"><div class="csb__skeleton-img"></div><div class="csb__skeleton-text csb__skeleton-text--title"></div><div class="csb__skeleton-text csb__skeleton-text--price"></div></div> 1575 <div class="csb__skeleton-card csb__shimmer"><div class="csb__skeleton-img"></div><div class="csb__skeleton-text csb__skeleton-text--title"></div><div class="csb__skeleton-text csb__skeleton-text--price"></div></div> 1576 <div class="csb__skeleton-card csb__shimmer"><div class="csb__skeleton-img"></div><div class="csb__skeleton-text csb__skeleton-text--title"></div><div class="csb__skeleton-text csb__skeleton-text--price"></div></div> 1577 </div><div class="csb__products-grid" data-csh-results-grid></div><p class="csb__no-results" data-csh-no-results hidden> 1578 No products found for 1579 <em data-csh-no-results-query></em> 1580 </p><div class="csb__dym" data-csh-did-you-mean hidden> 1581 <p class="csb__dym-label"> 1582 No results for <em data-csh-dym-query></em> —
1582 did you mean 1583 <button type="button" class="csb__dym-btn" data-csh-did-you-mean-btn></button>? 1584 </p> 1585 <div class="csb__products-grid" data-csh-fallback-grid></div> 1586 </div><a 1587 href="/search" 1588 class="csb__view-all" 1589 data-csh-view-all 1590 hidden 1591 > 1592 View all results 1593 <svg viewBox="0 0 16 16" fill="none" width="14" height="14" aria-hidden="true"> 1594 <path d="M3 8h10M9 4l4 4-4 4" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> 1595 </svg> 1596 </a> 1597 </div> 1598 1599 </div></div><div class="csb__backdrop" aria-hidden="true" data-csh-search-backdrop></div> 1600 1601<style> 1602/* ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1603 CUSTOM SEARCH BAR â csb__ 1604 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 1605 1606/* Ensure HTML hidden attribute always wins over display rules */ 1607[hidden] { display: none !important; } 1608 1609/* ââ PANEL âââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 1610.csb__panel { 1611 position: fixed; 1612 top: 0; left: 0; right: 0; 1613 z-index: 499; 1614 background: #fff; 1615 transform: translateY(-100%); 1616 /* visibility:hidden keeps the closed panel's controls out of the tab order 1617 (matches aria-hidden); the delay lets the slide-up animation finish first */ 1618 visibility: hidden; 1619 transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0.38s; 1620 max-height: 92vh; 1621 overflow-y: auto; 1622 display: flex; 1623 flex-direction: column; 1624 box-shadow: 0 8px 40px rgba(0,0,0,0.12); 1625} 1626.csb__panel.is-open { 1627 transform: translateY(0); 1628 visibility: visible; 1629 transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0s; 1630} 1631 1632/* ââ BACKDROP ââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 1633.csb__backdrop { 1634 position: fixed; inset: 0; 1635 z-index: 498; 1636 background: rgba(0,0,0,0.42); 1637 opacity: 0; 1638 pointer-events: none; 1639 transition: opacity 0.32s ease; 1640} 1641.csb__backdrop.is-open { 1642 opacity: 1; 1643 pointer-events: auto; 1644} 1645 1646/* ââ SEARCH BAR (sticky top) âââââââââââââââââââââââââââââââââââââ */ 1647.csb__bar { 1648 position: sticky; 1649 top: 0; 1650 z-index: 10; 1651 background: #fff; 1652 display: flex; 1653 align-items: center; 1654 padding: 0 2rem; 1655 height: 64px; 1656 border-bottom: 1px solid #ece8e2; 1657 flex-shrink: 0; 1658 gap: 0.5rem; 1659} 1660.csb__bar-icon { 1661 background: none; 1662 border: none; 1663 cursor: pointer; 1664 color: #666; /* #666 = 5.74:1 AA pass, WCAG 1.4.11 */ 1665 display: flex; 1666 align-items: center; 1667 padding: 6px; 1668 flex-shrink: 0; 1669 transition: color 0.2s; 1670} 1671.csb__bar-icon:hover { color: #111; } 1672.csb__bar-icon svg { display: block; } 1673 1674/* ââ FORM & INPUT ââââââââââââââââââââââââââââââââââââââââââââââââ */ 1675.csb__form { 1676 flex: 1; 1677 min-width: 0; 1678 display: flex; 1679} 1680.csb__input { 1681 flex: 1; 1682 min-width: 0; 1683 border: none; 1684 outline: none; 1685 font-size: 0.9375rem; 1686 font-family: inherit; 1687 color: #111; 1688 background: transparent; 1689 letter-spacing: 0.03em; 1690 height: 44px; 1691 padding: 0 8px; 1692} 1693.csb__input::placeholder { color: #767676; } /* was #ccc (1.6:1 fail) â #767676 (4.54:1 AA) */ 1694 1695/* ââ BAR ACTIONS (voice, search submit, close) ââââââââââââââââââââ */ 1696.csb__bar-actions { 1697 display: flex; 1698 align-items: center; 1699 gap: 2px; 1700 flex-shrink: 0; 1701} 1702.csb__close { 1703 background: none; 1704 border: none; 1705 cursor: pointer; 1706 color: #777; 1707 display: flex; 1708 align-items: center; 1709 padding: 6px; 1710 margin-left: 4px; 1711 transition: color 0.2s; 1712 flex-shrink: 0; 1713} 1714.csb__close:hover { color: #111; } 1715.csb__close svg { display: block; } 1716 1717/* ââ AUTOCOMPLETE DROPDOWN ââââââââââââââââââââââââââââââââââââââââ */ 1718.csb__autocomplete { 1719 position: absolute; 1720 top: calc(100% + 1px); 1721 left: 0; right: 0; 1722 background: #fff; 1723 border: 1px solid #ece8e2; 1724 border-top: none; 1725 box-shadow: 0 8px 24px rgba(0,0,0,0.08);
1726 z-index: 20; 1727 list-style: none; 1728 margin: 0; 1729 padding: 0; 1730} 1731.csb__autocomplete-item { 1732 display: flex; 1733 align-items: center; 1734 gap: 10px; 1735 padding: 11px 2rem; 1736 cursor: pointer; 1737 font-size: 13px; 1738 color: #222; 1739 transition: background 0.12s; 1740 text-decoration: none; 1741} 1742.csb__autocomplete-item:hover, 1743.csb__autocomplete-item[aria-selected="true"] { background: #f8f3ec; } 1744.csb__autocomplete-item svg { color: #666; flex-shrink: 0; } /* was #ccc (~1.6:1 fail) â #666 (5.74:1 AA pass, WCAG 1.4.11) */ 1745.csb__autocomplete-match { background: none; color: #555; font-weight: 500; } 1746.csb__autocomplete-view-all { 1747 display: flex; 1748 align-items: center; 1749 padding: 11px 2rem; 1750 font-size: 10px; 1751 letter-spacing: 0.1em; 1752 text-transform: uppercase; 1753 color: #555; 1754 border-top: 1px solid #f0ece6; 1755 cursor: pointer; 1756 transition: background 0.12s; 1757 text-decoration: none; 1758} 1759.csb__autocomplete-view-all:hover { background: #f8f3ec; } 1760 1761/* ââ TAGS STRIP âââââââââââââââââââââââââââââââââââââââââââââââââââ */ 1762.csb__tags-strip { 1763 display: flex; 1764 flex-wrap: wrap; 1765 align-items: center; 1766 gap: 8px; 1767 padding: 12px 2rem; 1768 border-bottom: 1px solid #f0ece6; 1769 background: #fff; 1770} 1771.csb__tags-label { 1772 font-size: 9px; 1773 letter-spacing: 0.15em; 1774 text-transform: uppercase; 1775 color: #767676; /* was #ccc (~2.1:1 fail) â #767676 (4.54:1 AA pass, WCAG 1.4.3) */ 1776 font-weight: 400; 1777 white-space: nowrap; 1778 margin-right: 4px; 1779} 1780.csb__tags { 1781 display: flex; 1782 flex-wrap: wrap; 1783 align-items: center; 1784 gap: 8px; 1785} 1786.csb__tag { 1787 padding: 4px 12px; 1788 border: 1px solid #e0d8ce; 1789 border-radius: 20px; 1790 font-size: 11px; 1791 color: #666; 1792 cursor: pointer; 1793 white-space: nowrap; 1794 text-decoration: none; 1795 display: inline-block; 1796 transition: background 0.15s, border-color 0.15s, color 0.15s; 1797} 1798.csb__tag:hover { 1799 background: #f8f0e4; 1800 border-color: #b89a6e; 1801 color: #b89a6e; 1802} 1803 1804/* ââ BODY ââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 1805.csb__body { width: 100%; } 1806.csb__main { 1807 padding: 28px 2rem 48px; 1808} 1809.csb__section-label { 1810 font-size: 9px; 1811 letter-spacing: 0.15em; 1812 text-transform: uppercase; 1813 color: #767676; /* was #bbb (~2.7:1 fail) â #767676 (4.54:1 AA pass, WCAG 1.4.3) */ 1814 font-weight: 400; 1815 margin-bottom: 16px; 1816 margin-top: 0; 1817} 1818.csb__results-label em { font-style: normal; font-weight: 500; } 1819 1820/* ââ PRODUCTS GRID ââââââââââââââââââââââââââââââââââââââââââââââââ */ 1821.csb__products-grid { 1822 display: grid; 1823 grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); 1824 gap: 20px 16px; 1825} 1826.csb__product-card { 1827 display: flex; 1828 flex-direction: column; 1829 text-decoration: none; 1830 color: inherit; 1831} 1832.csb__product-img-wrap { 1833 position: relative; 1834 overflow: hidden; 1835 background: #f0ece6; 1836 aspect-ratio: 1 / 1; 1837 margin-bottom: 8px; 1838} 1839.csb__product-img { 1840 position: absolute; 1841 inset: 0; 1842 width: 100%; 1843 height: 100%; 1844 object-fit: cover; 1845 transition: opacity 0.35s ease; 1846} 1847.csb__product-img-alt { 1848 position: absolute; 1849 inset: 0; 1850 width: 100%; 1851 height: 100%; 1852 object-fit: cover; 1853 opacity: 0; 1854 transition: opacity 0.35s ease; 1855} 1856.csb__product-card.csb__has-alt:hover .csb__product-img { opacity: 0; } 1857.csb__product-card.csb__has-alt:hover .csb__product-img-alt { opacity: 1; } 1858.csb__product-title { 1859 font-size: 11px; 1860 font-weight: 300; 1861 line-height: 1.4; 1862 margin-bottom: 4px; 1863 letter-spacing: 0.03em; 1864 color: #111; 1865 text-align: center; 1866} 1867.csb__product-price { 1868 font-size: 11px; 1869 color: #777; 1870 text-align: center; 1871 margin: 0; 1872} 1873 1874/* ââ SKELETON / SHIMMER âââââââââââââââââââââââââââââââââââââââââââ */ 1875.csb__skeleton-card { 1876 display: flex; 1877 flex-direction: column; 1878 gap: 8px; 1879} 1880.csb__skeleton-img { 1881 width: 100%; 1882 aspect-ratio: 1 / 1; 1883 background: #f0ece6; 1884 border-radius: 2px; 1885} 1886.csb__skeleton-text { 1887 height: 11px; 1888 background: #f0ece6; 1889 border-radius: 2px; 1890} 1891.csb__skeleton-text--title { width: 80%; } 1892.csb__skeleton-text--price { width: 45%; } 1893.csb__shimmer { 1894 background: linear-gradient(90deg, #f0ece6 25%, #e8e2da 50%, #f0ece6 75%); 1895 background-size: 200%; 1896 animation: csb-shimmer 1.4s ease infinite; 1897} 1898.csb__skeleton-img, 1899.csb__skeleton-text { background-color: transparent; } 1900@keyframes csb-shimmer { 1901 0% { background-position: 200%; } 1902 100% { background-position: -200%; } 1903} 1904 1905/* ââ NO RESULTS & VIEW ALL ââââââââââââââââââââââââââââââââââââââââ */ 1906.csb__no-results { 1907 font-size: 0.875rem; 1908 color: #555; /* was #999 (~2.8:1 fail) â #555 (7.46:1 AA pass, WCAG 1.4.3) */ 1909 margin: 0; 1910} 1911.csb__no-results em { font-style: normal; font-weight: 500; color: #666; } 1912.csb__view-all { 1913 display: inline-flex; 1914 align-items: center; 1915 gap: 6px; 1916 margin-top: 20px; 1917 font-size: 10px; 1918 letter-spacing: 0.12em; 1919 text-transform: uppercase; 1920 color: #555; 1921 text-decoration: none; 1922 transition: opacity 0.2s; 1923} 1924.csb__view-all:hover { opacity: 0.7; } 1925.csb__view-all svg { display: block; } 1926 1927/* ââ DID YOU MEAN âââââââââââââââââââââââââââââââââââââââââââââââââ */ 1928.csb__dym { margin-top: 4px; } 1929.csb__dym-label { 1930 font-size: 0.875rem; 1931 color: #555; /* was #999 (~2.8:1 fail) â #555 (7.46:1 AA pass, WCAG 1.4.3) */ 1932 margin: 0 0 20px; 1933 line-height: 1.5; 1934} 1935.csb__dym-label em { font-style: normal; font-weight: 500; color: #666; } 1936.csb__dym-btn { 1937 background: none; 1938 border: none; 1939 padding: 0; 1940 cursor: pointer; 1941 font-family: inherit; 1942 font-size: inherit; 1943 font-weight: 500; 1944 color: #b89a6e; 1945 text-decoration: underline; 1946 text-underline-offset: 2px; 1947 transition: opacity 0.15s; 1948 vertical-align: baseline; 1949} 1950.csb__dym-btn:hover { opacity: 0.75; } 1951 1952/* ââ KEYBOARD FOCUS RINGS âââââââââââââââââââââââââââââââââââââââââ */ 1953/* Autocomplete items use arrow keys only (tabindex="-1") */ 1954.csb__autocomplete-item:focus-visible, 1955.csb__autocomplete-view-all:focus-visible { 1956 outline: 2px solid #b89a6e; 1957 outline-offset: -2px; 1958 background: #f8f3ec; 1959} 1960/* Product cards reachable via Tab; arrow keys navigate inside the grid */ 1961.csb__product-card:focus { outline: none; } 1962.csb__product-card:focus-visible { 1963 outline: 2px solid #b89a6e; 1964 outline-offset: 3px; 1965 border-radius: 2px; 1966} 1967 1968/* ââ STATE VISIBILITY âââââââââââââââââââââââââââââââââââââââââââââ */ 1969.csb__panel:not(.has-query) .csb__state-results { display: none; } 1970.csb__panel.has-query .csb__state-default { display: none; } 1971 1972/* ââ MOBILE ADJUSTMENTS âââââââââââââââââââââââââââââââââââââââââââ */ 1973@media (max-width: 767px) { 1974 .csb__bar { padding: 0 1rem; height: 56px; } 1975 .csb__tags-strip { padding: 10px 1rem; } 1976 .csb__main { padding: 20px 1rem 32px; } 1977 .csb__products-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } 1978} 1979 1980/* Prevent Swym from injecting wishlist buttons inside the search panel */ 1981.csb__panel .swym-wishlist-collections-v2-container,
1982.csb__panel .swym-add-to-wishlist-container, 1983.csb__panel .swym-button { display: none !important; } 1984</style> 1985
1986<script src="//loganhollowell.com/cdn/shop/t/206/assets/custom-search.js?v=55248699774593336921790192133" type="text/javascript"></script>
1986 1987 1988 1989 1990<style> 1991 /* ââ LH Mobile Drawer âââââââââââââââââââââââââââââââââââââââââââââââââââ */ 1992 1993 /* Full-width cream panel â extra 28px above first item matches Van Cleef / DY tier */ 1994 .drawer-menu__panel { 1995 width: 100% !important; 1996 max-width: 100% !important; 1997 background: #f9f5ef !important; 1998 padding-top: calc(var(--height-header, 70px) + 28px) !important; 1999 padding-right: 0 !important; 2000 padding-bottom: 0 !important; 2001 padding-left: 0 !important; 2002 /* 6. Gold scrollbar */ 2003 scrollbar-width: thin; 2004 scrollbar-color: rgba(184, 154, 110, 0.45) transparent; 2005 } 2006 2007 .drawer-menu__panel::-webkit-scrollbar { width: 3px; } 2008 .drawer-menu__panel::-webkit-scrollbar-track { background: transparent; } 2009 .drawer-menu__panel::-webkit-scrollbar-thumb { 2010 background: rgba(184, 154, 110, 0.45); 2011 border-radius: 2px; 2012 } 2013 2014 /* Sub-panels inherit cream */ 2015 .drawer-menu__list--sub { background: #f9f5ef !important; } 2016 2017 /* Kill all item borders */ 2018 .drawer-menu__item { border-bottom: none !important; border-top: none !important; } 2019 2020 /* Disable Stiletto's wrapper fade so per-item animation owns it */ 2021 .drawer-menu__links-wrapper.animation--drawer-menu-item { 2022 opacity: 1 !important; 2023 transform: none !important; 2024 animation: none !important; 2025 transition: none !important; 2026 } 2027 2028 /* ââ Primary nav typography ââ */ 2029 .drawer-menu__primary-links { padding-top: 8px; padding-bottom: 8px; } 2030 2031 .drawer-menu__primary-links .drawer-menu__item .drawer-menu__link { 2032 font-family: 'Cormorant Garamond', 'Cormorant', Georgia, serif !important; 2033 font-size: 14px !important; 2034 font-weight: 600 !important; 2035 letter-spacing: 0.14em !important; 2036 text-transform: uppercase !important; 2037 padding: 18px 32px !important; 2038 display: flex !important; 2039 align-items: center !important; 2040 justify-content: space-between !important; 2041 color: #111 !important; 2042 text-decoration: none !important; 2043 line-height: 1.3 !important; 2044 background: transparent !important; 2045 position: relative !important; 2046 transition: color 0.22s ease !important; 2047 } 2048 2049 /* Gold drawn-underline â scaleX(0â1) from left on hover */ 2050 .drawer-menu__primary-links .drawer-menu__item .drawer-menu__link::after { 2051 content: '' !important; 2052 position: absolute !important; 2053 bottom: 14px !important; 2054 left: 32px !important; 2055 right: 32px !important; 2056 height: 1px !important; 2057 background: #b89a6e !important; 2058 transform: scaleX(0) !important; 2059 transform-origin: left center !important; 2060 transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1) !important; 2061 } 2062 2063 .drawer-menu__primary-links .drawer-menu__item .drawer-menu__link:hover { 2064 color: #b89a6e !important; 2065 background: transparent !important; 2066 } 2067 2068 .drawer-menu__primary-links .drawer-menu__item .drawer-menu__link:hover::after { 2069 transform: scaleX(1) !important; 2070 } 2071 2072 /* Chevron â hidden since Option C crossfade owns sub-menu reveal */ 2073 .drawer-menu__primary-links .icon-chevron { 2074 display: none !important; 2075 } 2076 2077 .drawer-menu__link[aria-current="page"] { color: #b89a6e !important; } 2078 2079 /* ââ 1. Stagger animation â Van Cleef tier: 8px lift + opacity, 15ms apart ââ 2080 Micro-stagger: barely perceptible choreography, full menu visible in ~490ms. */ 2081 .drawer-menu__primary-links .drawer-menu__item[data-list-item] { 2082 opacity: 0 !important; 2083 transform: translateY(8px) !important; 2084 transition: opacity 0.3s ease-out, transform 0.3s cubic-bezier(0.25, 0, 0.25, 1) !important; 2085 } 2086 2087 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item] { 2088 opacity: 1 !important; 2089 transform: translateY(0) !important; 2090 } 2091 2092 /* Hardcoded stagger delays â 15ms apart */ 2093 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(1) { transition-delay: 0.02s !important; } 2094 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(2) { transition-delay: 0.035s !important; } 2095 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(3) { transition-delay: 0.05s !important; } 2096 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(4) { transition-delay: 0.065s !important; } 2097 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(5) { transition-delay: 0.08s !important; } 2098 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(6) { transition-delay: 0.095s !important; } 2099 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(7) { transition-delay: 0.11s !important; } 2100 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(8) { transition-delay: 0.125s !important; } 2101 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(9) { transition-delay: 0.14s !important; } 2102 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(10) { transition-delay: 0.155s !important; } 2103 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(11) { transition-delay: 0.17s !important; } 2104 .drawer-menu.visible .drawer-menu__primary-links .drawer-menu__item[data-list-item]:nth-child(12) { transition-delay: 0.185s !important; } 2105 2106 /* ââ Gold ornamental divider ââ */ 2107 .lh-drawer-ornament { 2108 display: flex; align-items: center; gap: 10px; 2109 padding: 10px 28px 14px; 2110 } 2111 .lh-drawer-ornament__line { 2112 flex: 1; height: 1px; 2113 background: rgba(184, 154, 110, 0.35); 2114 display: block; 2115 } 2116 .lh-drawer-ornament__diamond { 2117 font-size: 10px; color: #b89a6e; line-height: 1; 2118 font-family: 'Cormorant Garamond', Georgia, serif; 2119 user-select: none; 2120 } 2121 2122 /* ââ 2. Section eyebrow â âââ DISCOVER âââ matching homepage pattern ââ */ 2123 .lh-drawer__section-label { 2124 list-style: none; 2125 display: flex !important;
2126 align-items: center; 2127 gap: 14px; 2128 padding: 20px 28px 8px; 2129 margin: 0; 2130 border: none !important; 2131 pointer-events: none; 2132 height: auto !important; 2133 } 2134 2135 .lh-eyebrow__line { 2136 flex: 1; height: 1px; display: block; 2137 } 2138 /* Left line fades from transparent â gold */ 2139 .lh-eyebrow__line:first-child { 2140 background: linear-gradient(90deg, transparent, rgba(184, 154, 110, 0.45)); 2141 } 2142 /* Right line fades from gold â transparent */ 2143 .lh-eyebrow__line:last-child { 2144 background: linear-gradient(90deg, rgba(184, 154, 110, 0.45), transparent); 2145 } 2146 2147 .lh-eyebrow__text { 2148 font-family: 'Jost', sans-serif; 2149 font-size: 9px; font-weight: 300; 2150 letter-spacing: 0.3em; 2151 text-transform: uppercase; 2152 color: #b89a6e; 2153 white-space: nowrap; 2154 } 2155 2156 /* ââ Secondary nav â excludes account item so padding doesn't conflict ââ */ 2157 ul.drawer-menu__secondary-links .drawer-menu__item:not(.lh-drawer__section-label):not(.drawer-menu__item--account-item) .drawer-menu__link { 2158 font-family: 'Jost', sans-serif !important; 2159 font-size: 13px !important; font-weight: 300 !important; 2160 letter-spacing: 0.07em !important; text-transform: none !important; 2161 color: #444 !important; 2162 padding: 9px 28px !important; 2163 display: flex !important; align-items: center !important; 2164 justify-content: flex-start !important; gap: 10px !important; 2165 text-decoration: none !important; 2166 transition: color 0.2s ease !important; 2167 } 2168 ul.drawer-menu__secondary-links .drawer-menu__item:not(.lh-drawer__section-label):not(.drawer-menu__item--account-item) .drawer-menu__link:hover { 2169 color: #b89a6e !important; 2170 } 2171 2172 /* ââ Wishlist ââ */ 2173 .drawer-menu__item--wishlist-item .drawer-menu__link { 2174 display: flex !important; align-items: center !important; 2175 justify-content: flex-start !important; gap: 10px !important; 2176 font-family: 'Jost', sans-serif !important; 2177 font-size: 13px !important; font-weight: 300 !important; 2178 letter-spacing: 0.07em !important; color: #444 !important; 2179 height: auto !important; line-height: 1 !important; 2180 padding: 9px 28px !important; 2181 text-decoration: none !important; 2182 transition: color 0.2s ease !important; 2183 } 2184 .drawer-menu__item--wishlist-item .drawer-menu__link:hover { color: #b89a6e !important; } 2185 .drawer-menu__item--wishlist-item .lh-wish-icon { 2186 flex-shrink: 0; 2187 display: block; 2188 vertical-align: middle; 2189 } 2190 .drawer-menu__item--wishlist-item .lh-wish-icon path { transition: stroke 0.2s ease; } 2191 .drawer-menu__item--wishlist-item .drawer-menu__link:hover .lh-wish-icon path { stroke: #b89a6e; } 2192 2193 /* ââ Account item â icon sibling + <a>, <li> is flex row ââ */ 2194 .drawer-menu__item--account-item { 2195 display: flex !important; 2196 align-items: center !important; 2197 padding: 9px 28px !important; 2198 gap: 10px !important; 2199 } 2200 /* Account icon SVG â matches wishlist 16Ã16 */ 2201 .drawer-menu__item--account-item > svg { 2202 flex-shrink: 0; 2203 width: 16px !important; height: 16px !important; 2204 display: block !important; 2205 } 2206 /* The <a> link â height:auto overrides theme's 42px/52px fixed height */ 2207 .drawer-menu__item--account-item .drawer-menu__link { 2208 font-family: 'Jost', sans-serif !important; 2209 font-size: 13px !important; font-weight: 300 !important; 2210 letter-spacing: 0.07em !important; color: #444 !important; 2211 height: auto !important; line-height: 1 !important; 2212 padding: 0 !important; 2213 min-width: 0 !important; 2214 text-decoration: none !important; 2215 transition: color 0.2s ease !important; 2216 flex: 1; 2217 } 2218 .drawer-menu__item--account-item .drawer-menu__link:hover { color: #b89a6e !important; } 2219 2220 /* Logout link inline */ 2221 .drawer-menu__item--account-item .drawer-menu__logout_link { 2222 font-size: 12px; color: #888; 2223 transition: color 0.2s ease; 2224 text-decoration: none; 2225 } 2226 .drawer-menu__item--account-item .drawer-menu__logout_link:hover { color: #b89a6e; } 2227 2228 /* ââ Sub-panel back header ââ */ 2229 .drawer-menu__item--heading .fs-body-300 { 2230 font-family: 'Cormorant Garamond', 'Cormorant', Georgia, serif; 2231 font-size: 16px; font-weight: 400; 2232 letter-spacing: 0.12em; text-transform: uppercase; color: #111; 2233 } 2234 2235 /* ââ Panel slide transitions ââ */ 2236 .drawer-menu__primary-links { transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important; } 2237 .drawer-menu__all-links { transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important; } 2238 .drawer-menu__list--sub { 2239 transition: visibility 0s var(--duration-normal, 500ms), opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important; 2240 } 2241 .drawer-menu__list--sub.visible { 2242 transition: visibility 0s, opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important; 2243 } 2244 2245 /* ââ Social icons ââ */ 2246 .drawer-menu__item--social-icons { 2247 padding: 16px 28px 36px !important; 2248 border-top: 1px solid rgba(184, 154, 110, 0.2) !important; 2249 margin-top: 12px; 2250 } 2251 2252 /* ââ Footer localization ââ */ 2253 .drawer-menu__footer { border-top: 1px solid rgba(184, 154, 110, 0.2) !important; } 2254 2255 2256 /* ââ Thumbnail grid ââ */ 2257 .lh-drawer-thumb-row { border: none !important; margin: 0 !important; padding: 16px 20px 24px; } 2258 .lh-drawer-thumb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; } 2259 .lh-drawer-thumb-item { display: flex; flex-direction: column; gap: 9px; text-decoration: none; color: inherit; } 2260 .lh-drawer-thumb-img { aspect-ratio: 1 / 1; overflow: hidden; background: #ede8e0; } 2261 .lh-drawer-thumb-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } 2262 .lh-drawer-thumb-item:hover .lh-drawer-thumb-img img { transform: scale(1.05); } 2263 .lh-drawer-thumb-placeholder { width: 100%; height: 100%; background: #e8e1d8; } 2264 .lh-drawer-thumb-name { 2265 font-family: 'Jost', sans-serif; font-size: 10px; font-weight: 400; 2266 letter-spacing: 0.14em; text-transform: uppercase; color: #111; 2267 transition: color 0.2s ease; 2268 } 2269 .lh-drawer-thumb-item:hover .lh-drawer-thumb-name { color: #b89a6e; } 2270 2271 /* ââ Option C: Full-panel crossfade sub-menus âââââââââââââââââââââââââââ */ 2272 2273 /* Main scroll area fades when sub-panel opens */ 2274 .drawer-menu__bottom { 2275 transition: opacity 0.22s ease; 2276 } 2277 .drawer-menu__bottom.lh-content-fade { 2278 opacity: 0 !important; 2279 pointer-events: none !important; 2280 transition: opacity 0.22s ease !important; 2281 } 2282 2283 /* Sub-panel: absolute overlay covering the full drawer panel */ 2284 .lh-fade-sub { 2285 position: absolute; 2286 top: 0; left: 0; right: 0; bottom: 0; 2287 background: #f9f5ef; 2288 padding-top: calc(var(--height-header, 70px) + 28px); 2289 overflow-y: auto; 2290 opacity: 0; 2291 visibility: hidden; 2292 pointer-events: none; 2293 transition: opacity 0.35s ease, visibility 0s 0.35s; 2294 z-index: 20; 2295 scrollbar-width: thin; 2296 scrollbar-color: rgba(184, 154, 110, 0.45) transparent; 2297 } 2298 .lh-fade-sub::-webkit-scrollbar { width: 3px; } 2299 .lh-fade-sub::-webkit-scrollbar-thumb { background: rgba(184, 154, 110, 0.45); border-radius: 2px; } 2300 2301 .lh-fade-sub.lh-fade-sub--active { 2302 opacity: 1; 2303 visibility: visible; 2304 pointer-events: auto; 2305 transition: opacity 0.35s ease; 2306 } 2307 2308 /* Back button: â BACK in gold Jost 9px */ 2309 .lh-fade-back { 2310 display: flex; 2311 align-items: center; 2312 gap: 10px; 2313 width: 100%; 2314 background: none; 2315 border: none; 2316 border-bottom: 1px solid rgba(184, 154, 110, 0.2); 2317 cursor: pointer; 2318 padding: 18px 28px; 2319 font-family: 'Jost', sans-serif; 2320 font-size: 9px; 2321 font-weight: 300; 2322 letter-spacing: 0.3em; 2323 text-transform: uppercase; 2324 color: #b89a6e; 2325 text-align: left; 2326 transition: opacity 0.2s ease; 2327 } 2328 .lh-fade-back:hover { opacity: 0.65; } 2329 .lh-fade-back svg { flex-shrink: 0; } 2330 2331 /* Sub-panel links â same Cormorant primary feel */ 2332 .lh-fade-sub__list { 2333 list-style: none; 2334 padding: 12px 0 48px; 2335 margin: 0; 2336 } 2337 2338 /* Items start displaced, spring into place on open */ 2339 .lh-fade-sub__item { 2340 opacity: 0; 2341 transform: translateY(24px); 2342 transition: opacity 0.4s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1); 2343 } 2344 .lh-fade-sub__item--in { 2345 opacity: 1; 2346 transform: translateY(0); 2347 } 2348 2349 .lh-fade-sub__link { 2350 display: block; 2351 font-family: 'Cormorant Garamond', 'Cormorant', Georgia, serif; 2352 font-size: 14px; 2353 font-weight: 400; 2354 letter-spacing: 0.14em; 2355 text-transform: uppercase; 2356 padding: 11px 32px; 2357 color: #111; 2358 text-decoration: none; 2359 background: transparent; 2360 line-height: 1.3; 2361 position: relative; 2362 transition: color 0.22s ease; 2363 } 2364 .lh-fade-sub__link::after { 2365 content: ''; 2366 position: absolute; 2367 bottom: 8px; 2368 left: 32px; 2369 right: 32px; 2370 height: 1px; 2371 background: #b89a6e; 2372 transform: scaleX(0); 2373 transform-origin: left center; 2374 transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1); 2375 } 2376 .lh-fade-sub__link:hover { 2377 color: #b89a6e; 2378 background: transparent; 2379 } 2380 .lh-fade-sub__link:hover::after { 2381 transform: scaleX(1); 2382 } 2383 2384 /* ââ Sub-panel featured hero image ââââââââââââââââââââââââââââ */ 2385 .lh-fade-sub__hero--has-img { 2386 position: relative; 2387 width: 100%; 2388 } 2389 .lh-fade-sub__hero-img-wrap { 2390 width: 100%; 2391 aspect-ratio: 3 / 2; 2392 overflow: hidden; 2393 position: relative; 2394 background: #ede8e0; /* placeholder while image loads */ 2395 } 2396 .lh-fade-sub__hero-img-wrap img { 2397 width: 100%; height: 100%; 2398 object-fit: cover; display: block; 2399 transform: scale(1.07); 2400 transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1); 2401 } 2402 /* Scale to natural size once sub-panel is active */ 2403 .lh-fade-sub--active .lh-fade-sub__hero-img-wrap img { 2404 transform: scale(1); 2405 } 2406 .lh-fade-sub__hero-overlay { 2407 position: absolute; inset: 0; 2408 background: linear-gradient( 2409 to top, 2410 rgba(10, 8, 5, 0.6) 0%, 2411 rgba(10, 8, 5, 0.18) 50%, 2412 transparent 100% 2413 ); 2414 pointer-events: none; 2415 } 2416 .lh-fade-sub__hero-title { 2417 position: absolute; 2418 bottom: 18px; left: 24px; 2419 font-family: 'Cormorant Garamond', Georgia, serif; 2420 font-size: 22px; font-weight: 400; 2421 letter-spacing: 0.22em; text-transform: uppercase; 2422 color: #fff; 2423 text-shadow: 0 1px 14px rgba(0, 0, 0, 0.35); 2424 pointer-events: none; 2425 display: block; 2426 } 2427 2428 /* Back button â floats on top of the hero image */ 2429 .lh-fade-back.lh-fade-back--on-img { 2430 position: absolute; 2431 top: 14px; left: 16px; z-index: 10; 2432 width: auto !important; 2433 background: rgba(0, 0, 0, 0.28) !important; 2434 -webkit-backdrop-filter: blur(6px); 2435 backdrop-filter: blur(6px); 2436 border: none !important; 2437 border-bottom: none !important; 2438 border-radius: 20px; 2439 padding: 8px 14px 8px 10px !important; 2440 color: rgba(255, 255, 255, 0.92) !important; 2441 transition: background 0.2s ease !important; 2442 } 2443 .lh-fade-back.lh-fade-back--on-img:hover { 2444 opacity: 1 !important; 2445 background: rgba(0, 0, 0, 0.48) !important; 2446 } 2447 2448 /* Reduce gap between hero image and first link */ 2449 .lh-fade-sub__hero--has-img + .lh-fade-sub__list { 2450 padding-top: 4px; 2451 } 2452 2453 /* ââ Recently Viewed Strip ââââââââââââââââââââââââââââââââââââââââââââââ */ 2454 .lh-rv-wrap { padding: 0 0 28px; } 2455 2456 .lh-rv-eyebrow { 2457 display: flex; align-items: center; gap: 14px; 2458 padding: 18px 28px 12px; 2459 } 2460 2461 .lh-rv-scroll { 2462 display: flex; 2463 gap: 12px; 2464 overflow-x: auto; 2465 padding: 0 28px 4px; 2466 scrollbar-width: none; 2467 -webkit-overflow-scrolling: touch; 2468 } 2469 .lh-rv-scroll::-webkit-scrollbar { display: none; } 2470 2471 .lh-rv-item { 2472 flex-shrink: 0; 2473 width: 80px; 2474 text-decoration: none; 2475 display: block; 2476 } 2477 .lh-rv-item__img { 2478 width: 80px; height: 80px; 2479 object-fit: cover; display: block; 2480 background: #ede8e0; 2481 } 2482 .lh-rv-item__name { 2483 font-family: 'Jost', sans-serif; 2484 font-size: 9px; font-weight: 300; 2485 letter-spacing: 0.12em; text-transform: uppercase; 2486 color: #111; margin-top: 6px; 2487 display: block; 2488 white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 2489 transition: color 0.2s ease; 2490 } 2491 .lh-rv-item:hover .lh-rv-item__name { color: #b89a6e; } 2492 .lh-rv-item__price { 2493 font-family: 'Jost', sans-serif; 2494 font-size: 9px; font-weight: 300; 2495 color: #888; letter-spacing: 0.06em; 2496 display: block; margin-top: 2px; 2497 } 2498 2499 /* Text-only fallback header (non-collection parent links) */ 2500 .lh-fade-sub__hero--text-only { 2501 padding: 12px 32px 16px; 2502 border-bottom: 1px solid rgba(184, 154, 110, 0.2); 2503 } 2504 .lh-fade-sub__hero--text-only .lh-fade-sub__hero-title { 2505 position: static; 2506 font-family: 'Cormorant Garamond', Georgia, serif; 2507 font-size: 18px; font-weight: 400; 2508 letter-spacing: 0.18em; text-transform: uppercase; 2509 color: #111; 2510 text-shadow: none; 2511 display: block; 2512 } 2513</style> 2514 2515<section 2516 class="
2517 drawer-menu 2518 2519 " 2520 data-drawer-menu 2521 data-scroll-lock-ignore 2522 style="--item-height: 57px" 2523> 2524 <div class="drawer-menu__overlay" data-overlay></div> 2525 2526 <div class="drawer-menu__panel"> 2527 <div class="drawer-menu__bottom"> 2528 <div class="drawer-menu__all-links" data-depth="0" data-all-links data-in-initial-position="true"> 2529 <div class="drawer-menu__contents" data-scroll-lock-ignore> 2530 <div class="drawer-menu__main" data-main role="navigation"> 2531 2532 <div class="drawer-menu__links-wrapper animation--drawer-menu-item"> 2533 <ul class="drawer-menu__primary-links" data-depth="0" data-primary-container="true"> 2534 2535<li class="drawer-menu__item" data-list-item><a 2536 class="drawer-menu__link" 2537 href="/collections/new-arrivals" 2538 data-item="link"> 2539 New Arrivals 2540 </a></li><li class="drawer-menu__item" data-list-item><a 2541 class="drawer-menu__link" 2542 href="/collections/the-archive" 2543 data-item="link"> 2544 The Archive 2545 </a></li><li class="drawer-menu__item" data-list-item><a 2546 class="drawer-menu__link" 2547 href="/collections/ready-to-ship" 2548 data-item="link"> 2549 Ready to Ship 2550 </a></li><li class="drawer-menu__item" data-list-item> 2551 <a 2552 class="drawer-menu__link" 2553 href="https://loganhollowell.com/pages/the-aura" 2554 data-item="parent" 2555 aria-expanded="false" 2556 2557 data-featured-label="The Aura" 2558 > 2559 <span>The Aura</span> 2560 <span class="icon icon-new icon-chevron icon-chevron"> 2561 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.875 7.438 12 17.563 22.125 7.438" stroke="currentColor" stroke-width="2"/></svg> 2562</span> 2563 </a> 2564 2565 <ul 2566 class="drawer-menu__list drawer-menu__list--sub" 2567 aria-hidden="true" 2568 ><li class="drawer-menu__item drawer-menu__item--heading"> 2569 <span 2570 class="drawer-menu__item--heading-back-link" 2571 data-item="back" 2572 aria-label="Back" 2573 > 2574 <span class="icon icon-new icon-arrow-long back-link-icon"> 2575 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m17.1 18.9 5.9-6.4L17.1 6m5.9 6.4H0" stroke="currentColor" stroke-width="1.1"/></svg> 2576</span> 2577 </span> 2578 <span class="drawer-menu__link without-link"> 2579 <span class="fs-body-300">The Aura</span> 2580 </span> 2581 </li><li class="drawer-menu__item" data-list-item> 2582 <a 2583 class="drawer-menu__link" 2584 href="/pages/the-aura" 2585 data-item="link"> 2586 View All 2587 </a> 2588 </li><li class="drawer-menu__item" data-list-item> 2589 <a 2590 class="drawer-menu__link" 2591 href="https://loganhollowell.com/products/the-aura-jacket" 2592 data-item="link"> 2593 The Aura Sleeve 2594 </a> 2595 </li><li class="drawer-menu__item" data-list-item> 2596 <a 2597 class="drawer-menu__link" 2598 href="https://loganhollowell.com/collections/aura/products/solid-gold-aura-ring-sleeve" 2599 data-item="link"> 2600 The Solid Gold Aura Sleeve 2601 </a> 2602 </li><li class="drawer-menu__item" data-list-item> 2603 <a 2604 class="drawer-menu__link" 2605 href="https://loganhollowell.com/products/the-pave-diamond-aura-sleeve-2-0" 2606 data-item="link"> 2607 The Pavé Diamond Aura Sleeve 2608 </a> 2609 </li><li class="drawer-menu__item" data-list-item> 2610 <a 2611 class="drawer-menu__link" 2612 href="https://loganhollowell.com/products/the-french-pave-aura-sleeve-gen4-gen5" 2613 data-item="link"> 2614 The French Pave Aura Sleeve 2615 </a> 2616 </li><li class="drawer-menu__item" data-list-item> 2617 <a 2618 class="drawer-menu__link" 2619 href="https://loganhollowell.com/products/the-star-set-diamond-aura-sleeve" 2620 data-item="link"> 2621 The Star Set Diamond Aura Sleeve 2622 </a> 2623 </li>
2623<li class="drawer-menu__item" data-list-item> 2624 <a 2625 class="drawer-menu__link" 2626 href="https://loganhollowell.com/products/the-sterling-silver-aura-sleeve-gen-4-gen-5" 2627 data-item="link"> 2628 The Sterling Silver Aura Sleeve 2629 </a> 2630 </li></ul> 2631 </li><li class="drawer-menu__item" data-list-item><a 2632 class="drawer-menu__link" 2633 href="/collections/necklaces" 2634 data-item="link"> 2635 Necklaces 2636 </a></li><li class="drawer-menu__item" data-list-item><a 2637 class="drawer-menu__link" 2638 href="/collections/rings" 2639 data-item="link"> 2640 Rings 2641 </a></li><li class="drawer-menu__item" data-list-item><a 2642 class="drawer-menu__link" 2643 href="/collections/earrings-1" 2644 data-item="link"> 2645 Earrings 2646 </a></li><li class="drawer-menu__item" data-list-item><a 2647 class="drawer-menu__link" 2648 href="/collections/bracelets" 2649 data-item="link"> 2650 Bracelets 2651 </a></li><li class="drawer-menu__item" data-list-item><a 2652 class="drawer-menu__link" 2653 href="/collections/best-sellers" 2654 data-item="link"> 2655 Best Sellers 2656 </a></li><li class="drawer-menu__item" data-list-item><a 2657 class="drawer-menu__link" 2658 href="/pages/gift-guide" 2659 data-item="link"> 2660 Gift Guide 2661 </a></li><li class="drawer-menu__item" data-list-item><a 2662 class="drawer-menu__link" 2663 href="/pages/bridal" 2664 data-item="link"> 2665 Engagement & Bridal 2666 </a></li><li class="drawer-menu__item drawer-menu__item--has-thumbs" data-list-item> 2667 <a 2668 class="drawer-menu__link" 2669 href="https://loganhollowell.com/collections" 2670 data-item="parent" 2671 aria-expanded="false" 2672 2673 data-featured-label="Shop By Collection" 2674 > 2675 <span>Shop By Collection</span> 2676 <span class="icon icon-new icon-chevron icon-chevron"> 2677 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.875 7.438 12 17.563 22.125 7.438" stroke="currentColor" stroke-width="2"/></svg> 2678</span> 2679 </a> 2680 2681 <ul 2682 class="drawer-menu__list drawer-menu__list--sub lh-drawer-list--thumbs" 2683 aria-hidden="true" 2684 ><li class="drawer-menu__item drawer-menu__item--heading"> 2685 <span 2686 class="drawer-menu__item--heading-back-link" 2687 data-item="back" 2688 aria-label="Back" 2689 > 2690 <span class="icon icon-new icon-arrow-long back-link-icon"> 2691 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m17.1 18.9 5.9-6.4L17.1 6m5.9 6.4H0" stroke="currentColor" stroke-width="1.1"/></svg> 2692</span> 2693 </span> 2694 <span class="drawer-menu__link without-link"> 2695 <span class="fs-body-300">Shop By Collection</span> 2696 </span> 2697 </li><li class="drawer-menu__item lh-drawer-thumb-row"> 2698 <div class="lh-drawer-thumb-grid"><a class="lh-drawer-thumb-item" href="/collections/enigma-collection" data-item="link"> 2699 <div class="lh-drawer-thumb-img"><img 2700 src="//loganhollowell.com/cdn/shop/collections/Enigma-Desktop.jpg?v=1777865137&width=300" 2701 alt="Enigma" 2702 width="150" 2703 height="150" 2704 loading="lazy" 2705 ></div> 2706 <span class="lh-drawer-thumb-name">Enigma</span> 2707 </a><a class="lh-drawer-thumb-item" href="https://loganhollowell.com/collections/bubble-collection" data-item="link"> 2708 <div class="lh-drawer-thumb-img"><div class="lh-drawer-thumb-placeholder"></div></div> 2709 <span class="lh-drawer-thumb-name">Bubble</span> 2710 </a><a class="lh-drawer-thumb-item" href="/collections/queen" data-item="link"> 2711 <div class="lh-drawer-thumb-img"><img 2712 src="//loganhollowell.com/cdn/shop/collections/queen_coll_blck.png?v=1732552334&width=300" 2713 alt="Queen" 2714 width="150" 2715 height="150" 2716 loading="lazy" 2717 ></div>
2718 <span class="lh-drawer-thumb-name">Queen</span> 2719 </a><a class="lh-drawer-thumb-item" href="/collections/star-set" data-item="link"> 2720 <div class="lh-drawer-thumb-img"><img 2721 src="//loganhollowell.com/cdn/shop/collections/star_set_coll_blck.png?v=1608059579&width=300" 2722 alt="Star Set" 2723 width="150" 2724 height="150" 2725 loading="lazy" 2726 ></div> 2727 <span class="lh-drawer-thumb-name">Star Set</span> 2728 </a><a class="lh-drawer-thumb-item" href="/collections/tennis" data-item="link"> 2729 <div class="lh-drawer-thumb-img"><img 2730 src="//loganhollowell.com/cdn/shop/collections/desktop-tennis.jpg?v=1777779703&width=300" 2731 alt="LH Tennis" 2732 width="150" 2733 height="150" 2734 loading="lazy" 2735 ></div> 2736 <span class="lh-drawer-thumb-name">LH Tennis</span> 2737 </a><a class="lh-drawer-thumb-item" href="/collections/dew-drop-rose-cut-diamond" data-item="link"> 2738 <div class="lh-drawer-thumb-img"><img 2739 src="//loganhollowell.com/cdn/shop/collections/desktop-eau-de-rose.jpg?v=1777777704&width=300" 2740 alt="Eau de Rose Cut" 2741 width="150" 2742 height="150" 2743 loading="lazy" 2744 ></div> 2745 <span class="lh-drawer-thumb-name">Eau de Rose Cut</span> 2746 </a><a class="lh-drawer-thumb-item" href="/collections/constellation" data-item="link"> 2747 <div class="lh-drawer-thumb-img"><img 2748 src="//loganhollowell.com/cdn/shop/collections/Desktop-Constellation.jpg?v=1784748492&width=300" 2749 alt="Constellation" 2750 width="150" 2751 height="150" 2752 loading="lazy" 2753 ></div> 2754 <span class="lh-drawer-thumb-name">Constellation</span> 2755 </a><a class="lh-drawer-thumb-item" href="/collections/classics" data-item="link"> 2756 <div class="lh-drawer-thumb-img"><img 2757 src="//loganhollowell.com/cdn/shop/collections/classics-desktop.jpg?v=1777778945&width=300" 2758 alt="Classics" 2759 width="150" 2760 height="150" 2761 loading="lazy" 2762 ></div> 2763 <span class="lh-drawer-thumb-name">Classics</span> 2764 </a><a class="lh-drawer-thumb-item" href="/collections/personalization" data-item="link"> 2765 <div class="lh-drawer-thumb-img"><img 2766 src="//loganhollowell.com/cdn/shop/collections/logan-hollowell-featured-image-personalized.png?v=1777862961&width=300" 2767 alt="Personalized" 2768 width="150" 2769 height="150" 2770 loading="lazy" 2771 ></div> 2772 <span class="lh-drawer-thumb-name">Personalized</span> 2773 </a><a class="lh-drawer-thumb-item" href="/collections/cuban" data-item="link"> 2774 <div class="lh-drawer-thumb-img"><img 2775 src="//loganhollowell.com/cdn/shop/collections/logan-hollowell-featured-image-cuban.png?v=1732552442&width=300" 2776 alt="Cuban" 2777 width="150" 2778 height="150" 2779 loading="lazy" 2780 ></div> 2781 <span class="lh-drawer-thumb-name">Cuban</span> 2782 </a><a class="lh-drawer-thumb-item" href="/collections/sacred" data-item="link"> 2783 <div class="lh-drawer-thumb-img"><img 2784 src="//loganhollowell.com/cdn/shop/collections/sacred_coll_blck.png?v=1777863046&width=300" 2785 alt="Sacred" 2786 width="150" 2787 height="150" 2788 loading="lazy" 2789 ></div>
2790 <span class="lh-drawer-thumb-name">Sacred</span> 2791 </a><a class="lh-drawer-thumb-item" href="/collections/angel" data-item="link"> 2792 <div class="lh-drawer-thumb-img"><img 2793 src="//loganhollowell.com/cdn/shop/collections/callonyourangels-desktop.jpg?v=1777779568&width=300" 2794 alt="Call on Your Angels" 2795 width="150" 2796 height="150" 2797 loading="lazy" 2798 ></div> 2799 <span class="lh-drawer-thumb-name">Call on Your Angels</span> 2800 </a><a class="lh-drawer-thumb-item" href="https://loganhollowell.com/collections/the-wilderness" data-item="link"> 2801 <div class="lh-drawer-thumb-img"><div class="lh-drawer-thumb-placeholder"></div></div> 2802 <span class="lh-drawer-thumb-name">Wilderness</span> 2803 </a><a class="lh-drawer-thumb-item" href="/collections/alchemy" data-item="link"> 2804 <div class="lh-drawer-thumb-img"><img 2805 src="//loganhollowell.com/cdn/shop/collections/alchemy_coll_blck.png?v=1777824444&width=300" 2806 alt="Alchemy" 2807 width="150" 2808 height="150" 2809 loading="lazy" 2810 ></div> 2811 <span class="lh-drawer-thumb-name">Alchemy</span> 2812 </a><a class="lh-drawer-thumb-item" href="/collections/mens" data-item="link"> 2813 <div class="lh-drawer-thumb-img"><img 2814 src="//loganhollowell.com/cdn/shop/collections/image.jpg?v=1780427656&width=300" 2815 alt="LH Gentlemenâs" 2816 width="150" 2817 height="150" 2818 loading="lazy" 2819 ></div> 2820 <span class="lh-drawer-thumb-name">LH Gentlemenâs</span> 2821 </a></div> 2822 </li></ul> 2823 </li><li class="drawer-menu__item drawer-menu__item--has-thumbs" data-list-item> 2824 <a 2825 class="drawer-menu__link" 2826 href="#" 2827 data-item="parent" 2828 aria-expanded="false" 2829 2830 data-featured-label="Shop By Stone" 2831 > 2832 <span>Shop By Stone</span> 2833 <span class="icon icon-new icon-chevron icon-chevron"> 2834 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.875 7.438 12 17.563 22.125 7.438" stroke="currentColor" stroke-width="2"/></svg> 2835</span> 2836 </a> 2837 2838 <ul 2839 class="drawer-menu__list drawer-menu__list--sub lh-drawer-list--thumbs" 2840 aria-hidden="true" 2841 ><li class="drawer-menu__item drawer-menu__item--heading"> 2842 <span 2843 class="drawer-menu__item--heading-back-link" 2844 data-item="back" 2845 aria-label="Back" 2846 > 2847 <span class="icon icon-new icon-arrow-long back-link-icon"> 2848 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m17.1 18.9 5.9-6.4L17.1 6m5.9 6.4H0" stroke="currentColor" stroke-width="1.1"/></svg> 2849</span> 2850 </span> 2851 <span class="drawer-menu__link without-link"> 2852 <span class="fs-body-300">Shop By Stone</span> 2853 </span> 2854 </li><li class="drawer-menu__item lh-drawer-thumb-row"> 2855 <div class="lh-drawer-thumb-grid"><a class="lh-drawer-thumb-item" href="/pages/gem-guide" data-item="link"> 2856 <div class="lh-drawer-thumb-img"><div class="lh-drawer-thumb-placeholder"></div></div> 2857 <span class="lh-drawer-thumb-name">Gem Guide</span> 2858 </a><a class="lh-drawer-thumb-item" href="/collections/aquamarine" data-item="link"> 2859 <div class="lh-drawer-thumb-img"><img 2860 src="//loganhollowell.com/cdn/shop/collections/logan-hollowell-featured-image-aquamarine.png?v=1777777123&width=300" 2861 alt="Aquamarine" 2862 width="150" 2863 height="150" 2864 loading="lazy" 2865 ></div>
2866 <span class="lh-drawer-thumb-name">Aquamarine</span> 2867 </a><a class="lh-drawer-thumb-item" href="/collections/blue_topaz" data-item="link"> 2868 <div class="lh-drawer-thumb-img"><img 2869 src="//loganhollowell.com/cdn/shop/files/BabyBT.jpg?v=1711585225&width=300" 2870 alt="Blue Topaz" 2871 width="150" 2872 height="150" 2873 loading="lazy" 2874 ></div> 2875 <span class="lh-drawer-thumb-name">Blue Topaz</span> 2876 </a><a class="lh-drawer-thumb-item" href="/collections/diamond" data-item="link"> 2877 <div class="lh-drawer-thumb-img"><img 2878 src="//loganhollowell.com/cdn/shop/collections/diamond-desktop.jpg?v=1777862873&width=300" 2879 alt="Diamond" 2880 width="150" 2881 height="150" 2882 loading="lazy" 2883 ></div> 2884 <span class="lh-drawer-thumb-name">Diamond</span> 2885 </a><a class="lh-drawer-thumb-item" href="/collections/emerald" data-item="link"> 2886 <div class="lh-drawer-thumb-img"><img 2887 src="//loganhollowell.com/cdn/shop/collections/Desktop-Emeralds.jpg?v=1777781292&width=300" 2888 alt="Emerald" 2889 width="150" 2890 height="150" 2891 loading="lazy" 2892 ></div> 2893 <span class="lh-drawer-thumb-name">Emerald</span> 2894 </a><a class="lh-drawer-thumb-item" href="/collections/garnet" data-item="link"> 2895 <div class="lh-drawer-thumb-img"><img 2896 src="//loganhollowell.com/cdn/shop/collections/Garnet-Desktop.png?v=1777769657&width=300" 2897 alt="Garnet" 2898 width="150" 2899 height="150" 2900 loading="lazy" 2901 ></div> 2902 <span class="lh-drawer-thumb-name">Garnet</span> 2903 </a><a class="lh-drawer-thumb-item" href="/collections/moonstone" data-item="link"> 2904 <div class="lh-drawer-thumb-img"><img 2905 src="//loganhollowell.com/cdn/shop/collections/logan-hollowell-featured-image-moonstone.png?v=1777776913&width=300" 2906 alt="Moonstone" 2907 width="150" 2908 height="150" 2909 loading="lazy" 2910 ></div> 2911 <span class="lh-drawer-thumb-name">Moonstone</span> 2912 </a><a class="lh-drawer-thumb-item" href="/collections/morganite" data-item="link"> 2913 <div class="lh-drawer-thumb-img"><img 2914 src="//loganhollowell.com/cdn/shop/collections/logan-hollowell-featured-image-morganite.png?v=1727454972&width=300" 2915 alt="Morganite" 2916 width="150" 2917 height="150" 2918 loading="lazy" 2919 ></div> 2920 <span class="lh-drawer-thumb-name">Morganite</span> 2921 </a><a class="lh-drawer-thumb-item" href="/collections/opal" data-item="link"> 2922 <div class="lh-drawer-thumb-img"><img 2923 src="//loganhollowell.com/cdn/shop/collections/logan-hollowell-featured-image-opal.png?v=1681327243&width=300" 2924 alt="Opal" 2925 width="150" 2926 height="150" 2927 loading="lazy" 2928 ></div> 2929 <span class="lh-drawer-thumb-name">Opal</span> 2930 </a><a class="lh-drawer-thumb-item" href="/collections/onyx" data-item="link"> 2931 <div class="lh-drawer-thumb-img"><img 2932 src="//loganhollowell.com/cdn/shop/collections/logan-hollowell-featured-image-onyx.png?v=1777778048&width=300" 2933 alt="Onyx" 2934 width="150" 2935 height="150" 2936 loading="lazy" 2937 ></div>
2938 <span class="lh-drawer-thumb-name">Onyx</span> 2939 </a><a class="lh-drawer-thumb-item" href="/collections/paraiba" data-item="link"> 2940 <div class="lh-drawer-thumb-img"><img 2941 src="//loganhollowell.com/cdn/shop/collections/paraiba-desktop.png?v=1777778083&width=300" 2942 alt="Paraiba" 2943 width="150" 2944 height="150" 2945 loading="lazy" 2946 ></div> 2947 <span class="lh-drawer-thumb-name">Paraiba</span> 2948 </a><a class="lh-drawer-thumb-item" href="/collections/pearl" data-item="link"> 2949 <div class="lh-drawer-thumb-img"><img 2950 src="//loganhollowell.com/cdn/shop/collections/pearl-desktop.png?v=1777777045&width=300" 2951 alt="Pearl" 2952 width="150" 2953 height="150" 2954 loading="lazy" 2955 ></div> 2956 <span class="lh-drawer-thumb-name">Pearl</span> 2957 </a><a class="lh-drawer-thumb-item" href="/collections/ruby" data-item="link"> 2958 <div class="lh-drawer-thumb-img"><img 2959 src="//loganhollowell.com/cdn/shop/collections/ruby-desktop.jpg?v=1777781217&width=300" 2960 alt="Ruby" 2961 width="150" 2962 height="150" 2963 loading="lazy" 2964 ></div> 2965 <span class="lh-drawer-thumb-name">Ruby</span> 2966 </a><a class="lh-drawer-thumb-item" href="/collections/sapphire" data-item="link"> 2967 <div class="lh-drawer-thumb-img"><img 2968 src="//loganhollowell.com/cdn/shop/collections/logan-hollowell-featured-image-sapphire.png?v=1777777961&width=300" 2969 alt="Sapphire" 2970 width="150" 2971 height="150" 2972 loading="lazy" 2973 ></div> 2974 <span class="lh-drawer-thumb-name">Sapphire</span> 2975 </a><a class="lh-drawer-thumb-item" href="/collections/turquoise" data-item="link"> 2976 <div class="lh-drawer-thumb-img"><img 2977 src="//loganhollowell.com/cdn/shop/collections/turqdesk.jpg?v=1777781767&width=300" 2978 alt="Turquoise" 2979 width="150" 2980 height="150" 2981 loading="lazy" 2982 ></div> 2983 <span class="lh-drawer-thumb-name">Turquoise</span> 2984 </a></div> 2985 </li></ul> 2986 </li><li class="drawer-menu__item drawer-menu__item--has-thumbs" data-list-item> 2987 <a 2988 class="drawer-menu__link" 2989 href="/" 2990 data-item="parent" 2991 aria-expanded="false" 2992 2993 data-featured-label="Shop More" 2994 > 2995 <span>Shop More</span> 2996 <span class="icon icon-new icon-chevron icon-chevron"> 2997 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.875 7.438 12 17.563 22.125 7.438" stroke="currentColor" stroke-width="2"/></svg> 2998</span> 2999 </a> 3000 3001 <ul 3002 class="drawer-menu__list drawer-menu__list--sub lh-drawer-list--thumbs" 3003 aria-hidden="true" 3004 ><li class="drawer-menu__item drawer-menu__item--heading"> 3005 <span 3006 class="drawer-menu__item--heading-back-link" 3007 data-item="back" 3008 aria-label="Back" 3009 > 3010 <span class="icon icon-new icon-arrow-long back-link-icon"> 3011 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m17.1 18.9 5.9-6.4L17.1 6m5.9 6.4H0" stroke="currentColor" stroke-width="1.1"/></svg> 3012</span> 3013 </span> 3014 <span class="drawer-menu__link without-link"> 3015 <span class="fs-body-300">Shop More</span> 3016 </span> 3017 </li><li class="drawer-menu__item lh-drawer-thumb-row"> 3018 <div class="lh-drawer-thumb-grid"><a class="lh-drawer-thumb-item" href="/collections/hand-chains" data-item="link"> 3019 <div class="lh-drawer-thumb-img"><img 3020 src="//loganhollowell.com/cdn/shop/collections/hand-chains-desktop.jpg?v=1777778723&width=300" 3021 alt="Hand Chains" 3022 width="150" 3023 height="150" 3024 loading="lazy" 3025 ></div>
3026 <span class="lh-drawer-thumb-name">Hand Chains</span> 3027 </a><a class="lh-drawer-thumb-item" href="/pages/zodiac-signs" data-item="link"> 3028 <div class="lh-drawer-thumb-img"><div class="lh-drawer-thumb-placeholder"></div></div> 3029 <span class="lh-drawer-thumb-name">Zodiac Signs</span> 3030 </a><a class="lh-drawer-thumb-item" href="/collections/lifestyle" data-item="link"> 3031 <div class="lh-drawer-thumb-img"><img 3032 src="//loganhollowell.com/cdn/shop/collections/lifestyle_coll_blck.png?v=1714165113&width=300" 3033 alt="Lifestyle" 3034 width="150" 3035 height="150" 3036 loading="lazy" 3037 ></div> 3038 <span class="lh-drawer-thumb-name">Lifestyle</span> 3039 </a><a class="lh-drawer-thumb-item" href="/collections/under-2-500" data-item="link"> 3040 <div class="lh-drawer-thumb-img"><img 3041 src="//loganhollowell.com/cdn/shop/files/Untitled-4Artboard_19.jpg?v=1777676732&width=300" 3042 alt="Under $2,500" 3043 width="150" 3044 height="150" 3045 loading="lazy" 3046 ></div> 3047 <span class="lh-drawer-thumb-name">Under $2,500</span> 3048 </a><a class="lh-drawer-thumb-item" href="https://loganhollowell.com/products/gift-card" data-item="link"> 3049 <div class="lh-drawer-thumb-img"><div class="lh-drawer-thumb-placeholder"></div></div> 3050 <span class="lh-drawer-thumb-name">Gift Cards</span> 3051 </a><a class="lh-drawer-thumb-item" href="/pages/start-your-custom-design" data-item="link"> 3052 <div class="lh-drawer-thumb-img"><div class="lh-drawer-thumb-placeholder"></div></div> 3053 <span class="lh-drawer-thumb-name">Start Your Custom Design</span> 3054 </a></div> 3055 </li></ul> 3056 </li> 3057 </ul> 3058 </div> 3059 3060 3061 <!-- Gold ornamental divider --> 3062 <div class="lh-drawer-ornament" aria-hidden="true"> 3063 <span class="lh-drawer-ornament__line"></span> 3064 <span class="lh-drawer-ornament__diamond">◇</span> 3065 <span class="lh-drawer-ornament__line"></span> 3066 </div> 3067 3068 <div class="drawer-menu__links-wrapper animation--drawer-menu-item"> 3069 <ul 3070 class="drawer-menu__secondary-links" 3071 data-depth="0" 3072 data-secondary-container="true" 3073 style="--item-height: 42px" 3074 > 3075 <!-- 2. Section eyebrow â âââ DISCOVER âââ --> 3076 <li class="lh-drawer__section-label" role="presentation" aria-hidden="true"> 3077 <span class="lh-eyebrow__line"></span> 3078 <span class="lh-eyebrow__text">Discover</span> 3079 <span class="lh-eyebrow__line"></span> 3080 </li> 3081<li class="drawer-menu__item" data-list-item><a 3082 class="drawer-menu__link" 3083 href="/pages/our-story" 3084 data-item="link"> 3085 Our Story 3086 </a></li><li class="drawer-menu__item" data-list-item><a 3087 class="drawer-menu__link" 3088 href="/pages/custom-design" 3089 data-item="link"> 3090 Custom Design 3091 </a></li><li class="drawer-menu__item" data-list-item><a 3092 class="drawer-menu__link" 3093 href="/pages/contact" 3094 data-item="link" aria-current="page"> 3095 Contact 3096 </a></li> 3097<!-- 2. Section eyebrow â âââ ACCOUNT âââ --> 3098 <li class="lh-drawer__section-label" role="presentation" aria-hidden="true"> 3099 <span class="lh-eyebrow__line"></span> 3100 <span class="lh-eyebrow__text">Account</span> 3101 <span class="lh-eyebrow__line"></span> 3102 </li> 3103 3104 <!-- Wishlist -->
3105 <li class="drawer-menu__item drawer-menu__item--wishlist-item" data-list-item> 3106 <a class="drawer-menu__link" href="#swym-wishlist"> 3107 <svg class="lh-wish-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true"> 3108 <path d="M11.926 18.874c4.609-4.015 8.176-7.694 8.176-10.661 0-2.151-1.577-3.713-3.75-3.713-1.898 0-3.477 1.393-4.426 2.989C10.977 5.893 9.398 4.5 7.5 4.5c-2.173 0-3.75 1.561-3.75 3.713 0 2.967 3.567 6.646 8.176 10.661z" stroke="currentColor" stroke-width="1.3"/> 3109 </svg> 3110 My Wishlist 3111 </a> 3112 </li> 3113 3114 <!-- 4. Account: icon is sibling to <a>, li is now flex row --> 3115 <li class="drawer-menu__item drawer-menu__item--account-item" data-list-item> 3116 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M12 12.413a4.358 4.358 0 1 0 0-8.715 4.358 4.358 0 0 0 0 8.715zM3.488 20.857c0-3.085 1.594-5.61 5.26-5.61h6.503c3.667 0 5.261 2.525 5.261 5.61" stroke="currentColor" stroke-width="1.2" stroke-miterlimit="10"/></svg> 3117 <a class="drawer-menu__link" href="/account"> 3118 Register / Login 3119 </a></li> 3120 3121 3122 3123 </ul> 3124 </div> 3125 3126 3127 <!-- Recently Viewed Strip --> 3128 <div class="lh-rv-wrap" id="lh-rv-wrap" style="display:none;" aria-hidden="true"> 3129 <div class="lh-rv-eyebrow" aria-hidden="true"> 3130 <span class="lh-eyebrow__line"></span> 3131 <span class="lh-eyebrow__text">Recently Viewed</span> 3132 <span class="lh-eyebrow__line"></span> 3133 </div> 3134 <div class="lh-rv-scroll" id="lh-rv-scroll" role="list" aria-label="Recently viewed products"></div> 3135 </div> 3136 3137 </div> 3138 </div></div> 3139 </div> 3140 </div> 3141</section> 3142
3143<script> 3144/* ââ Product page tracking â saves current product to recently viewed ââ */ 3145 3146 3147(function () { 3148 'use strict'; 3149 3150 /* ââ Haptic helper (iOS PWA / Android Chrome) ââ */ 3151 function lhHaptic(ms) { 3152 if (navigator.vibrate) { try { navigator.vibrate(ms || 10); } catch (e) {} } 3153 } 3154 3155 /* ââ Recently viewed strip renderer ââ */ 3156 function renderRecentlyViewed() { 3157 var wrap = document.getElementById('lh-rv-wrap'); 3158 var scroll = document.getElementById('lh-rv-scroll'); 3159 if (!wrap || !scroll) return; 3160 try { 3161 var rv = JSON.parse(localStorage.getItem('lh_rv') || '[]'); 3162 if (!rv.length) return; 3163 scroll.innerHTML = rv.map(function (p) { 3164 var imgHtml = p.image 3165 ? '<img class="lh-rv-item__img" src="' + p.image + '" alt="' + p.title.replace(/"/g, '"') + '" loading="lazy" width="80" height="80">' 3166 : '<div class="lh-rv-item__img"></div>'; 3167 return '<a class="lh-rv-item" href="' + p.url + '" role="listitem">' + 3168 imgHtml + 3169 '<span class="lh-rv-item__name">' + p.title + '</span>' + 3170 '<span class="lh-rv-item__price">' + p.price + '</span>' + 3171 '</a>'; 3172 }).join(''); 3173 wrap.style.display = ''; 3174 wrap.removeAttribute('aria-hidden'); 3175 } catch (e) {} 3176 } 3177 3178 function initFadeSubMenus() { 3179 var drawer = document.querySelector('[data-drawer-menu]'); 3180 if (!drawer) return; 3181 3182 var panel = drawer.querySelector('.drawer-menu__panel'); 3183 var bottom = drawer.querySelector('.drawer-menu__bottom'); 3184 if (!panel || !bottom) return; 3185 3186 var parentLinks = drawer.querySelectorAll('[data-item="parent"]'); 3187 if (!parentLinks.length) return; 3188 3189 /* ââ Build one overlay per parent link ââ */ 3190 parentLinks.forEach(function (link) { 3191 var li = link.closest('[data-list-item]'); 3192 var subList = li && li.querySelector('.drawer-menu__list--sub'); 3193 if (!subList) return; 3194 3195 /* Collect sub-item anchors: standard text links first, thumb-items second */ 3196 var anchors = Array.from(subList.querySelectorAll( 3197 '.drawer-menu__item:not(.drawer-menu__item--heading) a[data-item="link"]' 3198 )); 3199 if (!anchors.length) { 3200 anchors = Array.from(subList.querySelectorAll('a.lh-drawer-thumb-item')); 3201 } 3202 if (!anchors.length) return; 3203 3204 /* Read featured image data embedded by Liquid */ 3205 var featuredImg = link.getAttribute('data-featured-img'); 3206 var featuredLabel = link.getAttribute('data-featured-label') || link.textContent.trim(); 3207 3208 var backArrow = 3209 '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true">' + 3210 '<path d="M19 12H5M5 12l7-7M5 12l7 7" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>' + 3211 '</svg>'; 3212 3213 /* Build the overlay element */ 3214 var fp = document.createElement('div'); 3215 fp.className = 'lh-fade-sub'; 3216 fp.setAttribute('aria-hidden', 'true'); 3217 3218 var html; 3219 if (featuredImg) { 3220 /* Hero image: back button floats on image, title overlaid at bottom */ 3221 html = 3222 '<div class="lh-fade-sub__hero lh-fade-sub__hero--has-img">' + 3223 '<div class="lh-fade-sub__hero-img-wrap">' + 3224 '<img src="' + featuredImg + '" alt="' + featuredLabel + '" loading="lazy">' + 3225 '<div class="lh-fade-sub__hero-overlay"></div>' + 3226 '<button class="lh-fade-back lh-fade-back--on-img" type="button" aria-label="Back to menu">' + 3227 backArrow + '<span>Back</span>' + 3228 '</button>' + 3229 '<span class="lh-fade-sub__hero-title">' + featuredLabel + '</span>' + 3230 '</div>' + 3231 '</div>'; 3232 } else { 3233 /* No image: regular back button strip + text-only category heading */ 3234 html = 3235 '<button class="lh-fade-back" type="button" aria-label="Back to menu">' + 3236 backArrow + '<span>Back</span>' + 3237 '</button>' + 3238 '<div class="lh-fade-sub__hero lh-fade-sub__hero--text-only">' + 3239 '<span class="lh-fade-sub__hero-title">' + featuredLabel + '</span>' + 3240 '</div>'; 3241 } 3242 3243 html += '<ul class="lh-fade-sub__list">'; 3244
3245 anchors.forEach(function (a) { 3246 var text = a.textContent.trim(); 3247 var href = a.getAttribute('href') || '#'; 3248 if (text) { 3249 html += '<li class="lh-fade-sub__item">' + 3250 '<a class="lh-fade-sub__link" href="' + href + '">' + text + '</a>' + 3251 '</li>'; 3252 } 3253 }); 3254 3255 html += '</ul>'; 3256 fp.innerHTML = html; 3257 panel.appendChild(fp); 3258 3259 /* ââ Capture-phase intercept â fires before Stiletto's bubble handler ââ */ 3260 link.addEventListener('click', function (e) { 3261 e.preventDefault(); 3262 e.stopImmediatePropagation(); 3263 3264 lhHaptic(8); /* subtle tap on category open */ 3265 3266 /* 1. Fade out main content */ 3267 bottom.classList.add('lh-content-fade'); 3268 3269 /* 2. After fade-out, reveal sub-panel with staggered spring */ 3270 setTimeout(function () { 3271 fp.classList.add('lh-fade-sub--active'); 3272 fp.setAttribute('aria-hidden', 'false'); 3273 3274 fp.querySelectorAll('.lh-fade-sub__item').forEach(function (item, i) { 3275 item.style.transitionDelay = (0.04 + i * 0.05) + 's'; 3276 requestAnimationFrame(function () { 3277 requestAnimationFrame(function () { 3278 item.classList.add('lh-fade-sub__item--in'); 3279 }); 3280 }); 3281 }); 3282 }, 230); 3283 3284 }, true); /* capture phase */ 3285 3286 /* ââ Back button: crossfade back simultaneously ââ */ 3287 fp.querySelector('.lh-fade-back').addEventListener('click', function () { 3288 fp.classList.remove('lh-fade-sub--active'); 3289 fp.setAttribute('aria-hidden', 'true'); 3290 bottom.classList.remove('lh-content-fade'); 3291 3292 /* Reset item states after the overlay has faded out */ 3293 setTimeout(function () { 3294 fp.querySelectorAll('.lh-fade-sub__item').forEach(function (item) { 3295 item.classList.remove('lh-fade-sub__item--in'); 3296 item.style.transitionDelay = '0s'; 3297 }); 3298 }, 380); 3299 }); 3300 }); 3301 3302 /* ââ Reset all sub-panels whenever the drawer closes; render RV + haptic on open ââ */ 3303 var drawerWasVisible = drawer.classList.contains('visible'); 3304 new MutationObserver(function () { 3305 var isVisible = drawer.classList.contains('visible'); 3306 3307 if (isVisible && !drawerWasVisible) { 3308 lhHaptic(10); /* felt on drawer open */ 3309 renderRecentlyViewed(); 3310 } 3311 drawerWasVisible = isVisible; 3312 3313 if (!isVisible) { 3314 bottom.classList.remove('lh-content-fade'); 3315 panel.querySelectorAll('.lh-fade-sub').forEach(function (fp) { 3316 fp.classList.remove('lh-fade-sub--active'); 3317 fp.setAttribute('aria-hidden', 'true'); 3318 fp.querySelectorAll('.lh-fade-sub__item').forEach(function (item) { 3319 item.classList.remove('lh-fade-sub__item--in'); 3320 item.style.transitionDelay = '0s'; 3321 }); 3322 }); 3323 } 3324 }).observe(drawer, { attributes: true, attributeFilter: ['class'] }); 3325 } 3326 3327 /* Run after DOM + deferred scripts are ready */ 3328 if (document.readyState === 'loading') { 3329 document.addEventListener('DOMContentLoaded', initFadeSubMenus); 3330 } else { 3331 initFadeSubMenus(); 3332 } 3333})(); 3334</script>
3334 3335 3336 3337</header><div id="csh-mega-bridge-sections--27730117951793__custom_header_3gQN8h" class="csh__mega-bridge" aria-hidden="true"></div><div 3338 id="csh-mega-sections--27730117951793__custom_header_3gQN8h" 3339 class="csh__mega-wrap" 3340 aria-hidden="true" 3341 data-mega-wrap 3342> 3343 <div class="csh__mega-backdrop" data-mega-backdrop></div> 3344 <div class="csh__mega" role="region" aria-label="Shop menu"> 3345 <div class="csh__mega-inner"><div class="csh__mega-col"><span class="csh__mega-col-heading">Categories</span><ul class="csh__mega-list"><li><a href="/collections/necklaces" class="csh__mega-link">Necklaces</a></li><li><a href="/collections/rings" class="csh__mega-link">Rings</a></li><li><a href="/collections/earrings-ear-cuffs" class="csh__mega-link">Earrings & Ear Cuffs</a></li><li><a href="/collections/bracelets" class="csh__mega-link">Bracelets</a></li><li><a href="/collections/body-jewelry" class="csh__mega-link">Body Jewelry</a></li><li><a href="/collections/lifestyle" class="csh__mega-link">Lifestyle</a></li><li><a href="/products/gift-card" class="csh__mega-link">Gift Cards</a></li></ul></div><div class="csh__mega-col"><span class="csh__mega-col-heading">Featured</span><ul class="csh__mega-list"><li><a href="/collections/ready-to-ship" class="csh__mega-link">Ready to Ship</a></li><li><a href="/collections/the-archive" class="csh__mega-link">The Archive</a></li><li><a href="/collections/best-sellers" class="csh__mega-link">Best Sellers</a></li><li><a href="/collections/lh-exclusives" class="csh__mega-link">LH Exclusives</a></li><li><a href="/collections/logans-favorites" class="csh__mega-link">Logan's Favorites</a></li><li><a href="/pages/bridal" class="csh__mega-link">Bridal</a></li><li><a href="/pages/zodiac-signs" class="csh__mega-link">Zodiac Guide</a></li><li><a href="/pages/gift-guide" class="csh__mega-link">Gift Guide</a></li></ul></div><div class="csh__mega-col"><span class="csh__mega-col-heading">Collections</span><ul class="csh__mega-list"><li><a href="/collections/queen" class="csh__mega-link">Queen</a></li><li><a href="/collections/constellation" class="csh__mega-link">Constellation</a></li><li><a href="/collections/bubble-collection" class="csh__mega-link">Bubble</a></li><li><a href="/collections/the-wilderness" class="csh__mega-link">Wilderness</a></li><li><a href="/collections/sacred" class="csh__mega-link">Sacred</a></li><li><a href="/collections/dew-drop-rose-cut-diamond" class="csh__mega-link">Eau de Rose</a></li><li><a href="/collections/enigma-collection" class="csh__mega-link">Enigma</a></li><li><a href="/pages/collections-1" class="csh__mega-link csh__mega-link--more">+ More</a></li></ul></div><div class="csh__mega-col"><span class="csh__mega-col-heading">Gemstones</span><ul class="csh__mega-list"><li><a href="/pages/gem-guide" class="csh__mega-link">Gem Guide</a></li><li><a href="/collections/emerald" class="csh__mega-link">Emerald</a></li><li><a href="/collections/diamond" class="csh__mega-link">Diamond</a></li><li><a href="/collections/moonstone" class="csh__mega-link">Moonstone</a></li><li><a href="/collections/morganite" class="csh__mega-link">Morganite</a></li><li><a href="/collections/sapphire" class="csh__mega-link">Sapphire</a></li><li><a href="/collections/turquoise" class="csh__mega-link">Turquoise</a></li><li><a href="/pages/gemstones" class="csh__mega-link csh__mega-link--more">+ More</a></li></ul></div><div class="csh__mega-col csh__mega-col--media"><img 3346 src="//loganhollowell.com/cdn/shop/files/BE127785-1AD3-43F7-AD85-37AA683581C3.jpg?v=1770915925&width=800" 3347 alt="GET YOUR LIFE PATH NUMBER" 3348 class="csh__mega-media-img" 3349 loading="lazy" 3350 width="400" 3351 height="600" 3352 ><div class="csh__mega-btn-wrap"> 3353 <a href="/pages/life-path-number-calculator" class="csh__mega-btn">GET YOUR LIFE PATH NUMBER</a> 3354 </div></div> 3355 3356 </div> 3357 </div> 3358</div> 3359 3360<style> 3361/* ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 3362 CUSTOM HEADER â scoped to this section instance 3363 All classes prefixed: csh__ 3364 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 3365
3366/* ââ SKIP TO CONTENT LINK âââââââââââââââââââââââââââââââââââââââ */ 3367.csh__skip-link { 3368 position: absolute; 3369 top: -100%; 3370 left: 1rem; 3371 z-index: 9999; 3372 padding: 0.625rem 1.25rem; 3373 background: #111; 3374 color: #f9f5ef; 3375 font-family: var(--sans, 'Jost', sans-serif); 3376 font-size: 0.875rem; 3377 font-weight: 400; 3378 letter-spacing: 0.06em; 3379 text-decoration: none; 3380 border-radius: 0 0 4px 4px; 3381 transition: top 0.2s ease; 3382} 3383.csh__skip-link:focus { 3384 top: 0; 3385 outline: 2px solid #b89a6e; 3386 outline-offset: 2px; 3387} 3388 3389/* ââ FIXED POSITION & TRANSITIONS âââââââââââââââââââââââââââââââ */ 3390#custom-header-sections--27730117951793__custom_header_3gQN8h.csh { 3391 position: fixed; 3392 top: 0; left: 0; right: 0; 3393 z-index: 200; 3394 color: var(--csh-text); 3395 transition: 3396 transform 0.45s cubic-bezier(0.4, 0, 0.2, 1), 3397 background-color 0.35s ease, 3398 box-shadow 0.35s ease; 3399} 3400#custom-header-sections--27730117951793__custom_header_3gQN8h.csh.is-instant { 3401 transition: 3402 transform 0s, 3403 background-color 0.35s ease, 3404 box-shadow 0.35s ease; 3405} 3406#custom-header-sections--27730117951793__custom_header_3gQN8h.csh.is-hidden { 3407 transform: translateY(-100%); 3408} 3409 3410/* ââ TRANSPARENT INITIAL BG (pseudo-element for smooth opacity fade) ââ */ 3411#custom-header-sections--27730117951793__custom_header_3gQN8h.csh::before { 3412 content: ''; 3413 position: absolute; inset: 0; 3414 background-color: var(--csh-bg-initial); 3415 opacity: var(--csh-initial-opacity); 3416 z-index: -1; 3417 transition: opacity 0.35s ease; 3418 pointer-events: none; 3419} 3420 3421/* ââ INITIAL STATE COLORS (over dark hero) âââââââââââââââââââââââ */ 3422#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__link, 3423#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__logo-text { 3424 color: var(--csh-link-initial); 3425} 3426#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__util-btn, 3427#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__chevron, 3428#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__mobile-social-link, 3429#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__nav-divider { 3430 color: var(--csh-icon-initial, #ffffff); 3431} 3432#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__top-link, 3433#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__top-sep, 3434#custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__top-social-link { 3435 color: var(--csh-text-initial); 3436} 3437 3438/* ââ KEYBOARD FOCUS RING âââââââââââââââââââââââââââââââââââââââââ */ 3439/* The header flips between white-on-dark-hero and dark-on-cream, so a fixed 3440 ring colour fails WCAG 1.4.11 (3:1) in one of the two states. currentColor 3441 tracks whatever the control's text colour is in the current state, which 3442 already meets text contrast against the same surface. */ 3443#custom-header-sections--27730117951793__custom_header_3gQN8h.csh :focus-visible { 3444 outline-color: currentColor; 3445} 3446 3447/* ââ SCROLLED STATE ââââââââââââââââââââââââââââââââââââââââââââââ */ 3448#custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] { 3449 background-color: var(--csh-bg-scrolled); 3450 box-shadow: 0 1px 0 rgba(0,0,0,0.08); 3451} 3452#custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"]::before { 3453 opacity: 0; 3454} 3455 3456/* ââ TOP BAR âââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 3457#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-bar { 3458 display: flex; 3459 align-items: center; 3460 justify-content: space-between; 3461 padding: 0 2rem; 3462 background: var(--csh-top-bar-bg); 3463 border-bottom: 1px solid rgba(0,0,0,0.06); 3464} 3465#custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] .csh__top-bar { 3466 border-bottom-color: rgba(0,0,0,0.08); 3467} 3468#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-nav { 3469 display: flex; 3470 align-items: center; 3471 gap: 0.35rem 0.85rem; 3472 flex-wrap: wrap; 3473} 3474#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-link { 3475 color: var(--csh-top-bar-text); 3476 text-decoration: none; 3477 font-size: 0.72rem; 3478 letter-spacing: 0.06em; 3479 font-weight: 300; 3480 transition: opacity 0.2s; 3481} 3482#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-link:hover { opacity: 0.65; } 3483#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-link--highlight { 3484 color: #d4b896; 3485 font-weight: 400; 3486} 3487#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-sep { 3488 opacity: 0.3; 3489 font-size: 0.75rem; /* was 0.65rem (~10.4px) â WCAG 1.4.4 */ 3490 color: var(--csh-top-bar-text); 3491} 3492#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-social { 3493 display: flex; 3494 align-items: center; 3495 gap: 0.2rem; 3496} 3497#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-social-link { 3498 display: inline-flex; 3499 align-items: center; 3500 justify-content: center; 3501 color: var(--csh-top-bar-text); 3502 transition: opacity 0.2s; 3503 padding: 0.4rem; 3504} 3505#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-social-link:hover { opacity: 0.55; } 3506#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-social-link svg { display: block; } 3507 3508/* ââ MAIN ROW ââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 3509#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__main { 3510 display: grid; 3511 grid-template-columns: 1fr 0fr 1fr; 3512 align-items: center; 3513 padding: 0 2rem; 3514 gap: 1.5rem; 3515 position: relative; 3516 transition: grid-template-columns 0.6s cubic-bezier(0.4, 0, 0.2, 1); 3517} 3518#custom-header-sections--27730117951793__custom_header_3gQN8h[data-scrolled="true"] .csh__main { 3519 grid-template-columns: 1fr auto 1fr; 3520} 3521 3522/* ââ NAV LINKS âââââââââââââââââââââââââââââââââââââââââââââââââââ */ 3523#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav { 3524 display: flex; 3525 align-items: center; 3526 gap: 0.2rem; 3527 flex-wrap: nowrap; 3528} 3529#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--right { 3530 justify-content: flex-end; 3531} 3532#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav-divider { 3533 width: 1px; 3534 height: 18px; 3535 background: currentColor; 3536 opacity: 0.14; 3537 flex-shrink: 0; 3538 margin: 0 0.25rem; 3539} 3540#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__utility { 3541 display: contents; 3542} 3543#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__item { 3544 position: relative; 3545} 3546/* Invisible hover bridge â fills the gap between the item and its dropdown panel */ 3547#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__item--has-dropdown::after {
3548 content: ''; 3549 position: absolute; 3550 top: 100%; 3551 left: 0; right: 0; 3552 height: 0.6rem; 3553} 3554#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__link { 3555 display: inline-flex; 3556 align-items: center; 3557 gap: 0.3rem; 3558 color: var(--csh-link); 3559 text-decoration: none; 3560 font-size: 0.8125rem; 3561 font-family: inherit; 3562 font-weight: 300; 3563 letter-spacing: 0.09em; 3564 text-transform: uppercase; 3565 white-space: nowrap; 3566 padding: 0.375rem 0.5rem; 3567 background: none; 3568 border: none; 3569 cursor: pointer; 3570 transition: opacity 0.2s; 3571} 3572#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__link:hover { opacity: 0.62; }#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__link[aria-current="page"] { 3573 text-decoration: none; 3574} 3575#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__chevron { 3576 display: block; 3577 flex-shrink: 0; 3578 transition: transform 0.25s ease; 3579 color: var(--csh-icon); 3580} 3581#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__link--dropdown-toggle[aria-expanded="true"] .csh__chevron { 3582 transform: rotate(180deg); 3583} 3584/* Standalone chevron button (left nav split link+toggle) */ 3585#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--left .csh__item--has-dropdown { 3586 display: inline-flex; 3587 align-items: center; 3588 gap: 0.3rem; 3589} 3590#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--left .csh__item--has-dropdown > .csh__link { 3591 padding-right: 0; 3592} 3593#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--left .csh__item--has-dropdown > .csh__link--dropdown-toggle { 3594 display: inline-flex; 3595 align-items: center; 3596 background: none; 3597 border: none; 3598 padding: 0 0.5rem 0 0; 3599 margin: 0; 3600 cursor: pointer; 3601 line-height: 1; 3602} 3603 3604/* ââ DROPDOWNS âââââââââââââââââââââââââââââââââââââââââââââââââââ */ 3605#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__dropdown { 3606 position: absolute; 3607 top: calc(100% + 0.5rem); 3608 left: 50%; 3609 transform: translateX(-50%) translateY(-8px); 3610 background: var(--csh-dropdown-bg); 3611 color: var(--csh-dropdown-text); 3612 min-width: 180px; 3613 border: 1px solid rgba(0,0,0,0.07); 3614 box-shadow: 0 12px 32px rgba(0,0,0,0.10); 3615 border-radius: 2px; 3616 opacity: 0; 3617 visibility: hidden; 3618 pointer-events: none; 3619 transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s 0.22s; 3620 z-index: 300; 3621} 3622#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__dropdown--right { 3623 left: auto; 3624 right: 0; 3625 transform: translateX(0) translateY(-8px); 3626} 3627#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__item--has-dropdown:hover .csh__dropdown, 3628#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__item--has-dropdown .csh__link--dropdown-toggle[aria-expanded="true"] ~ .csh__dropdown { 3629 opacity: 1; 3630 visibility: visible; 3631 pointer-events: auto; 3632 transform: translateX(-50%) translateY(0); 3633 transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s 0s; 3634} 3635#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--right .csh__item--has-dropdown:hover .csh__dropdown, 3636#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--right .csh__item--has-dropdown .csh__link--dropdown-toggle[aria-expanded="true"] ~ .csh__dropdown { 3637 transform: translateX(0) translateY(0); 3638} 3639#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__dropdown-list { 3640 list-style: none; 3641 margin: 0; 3642 padding: 0.5rem 0; 3643} 3644#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__dropdown-link { 3645 display: block; 3646 padding: 0.55rem 1.35rem; 3647 color: var(--csh-dropdown-text); 3648 text-decoration: none; 3649 font-size: 0.8rem; 3650 font-weight: 300; 3651 letter-spacing: 0.05em; 3652 white-space: nowrap; 3653 transition: background 0.15s; 3654} 3655#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__dropdown-link:hover { 3656 background: rgba(0,0,0,0.04); 3657} 3658 3659/* ââ ACCOUNT DROPDOWN PANEL âââââââââââââââââââââââââââââââââââââ */ 3660#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-wrap { 3661 position: relative; 3662} 3663#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel { 3664 position: absolute; 3665 top: calc(100% + 14px); 3666 right: 0; 3667 width: 300px; 3668 max-width: calc(100vw - 2rem); 3669 background: #f9f5ef; 3670 border: 1px solid rgba(184,154,110,0.25); 3671 box-shadow: 0 16px 48px rgba(0,0,0,0.13), 0 2px 8px rgba(0,0,0,0.06); 3672 border-radius: 2px; 3673 padding: 1.75rem 1.625rem 1.5rem; 3674 z-index: 350; 3675 opacity: 0; 3676 visibility: hidden; 3677 transform: translateY(-8px); 3678 transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s 0.22s; 3679 pointer-events: none; 3680} 3681#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel.is-open { 3682 opacity: 1; 3683 visibility: visible; 3684 transform: translateY(0); 3685 transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s 0s; 3686 pointer-events: auto; 3687} 3688/* Caret pointing up toward the icon */ 3689#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__caret { 3690 position: absolute; 3691 top: -7px; 3692 right: 14px; 3693 width: 14px; 3694 height: 7px; 3695 overflow: visible; 3696} 3697#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__caret::before, 3698#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__caret::after {
3699 content: ''; 3700 position: absolute; 3701 left: 0; 3702 border-left: 7px solid transparent; 3703 border-right: 7px solid transparent; 3704} 3705#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__caret::before { 3706 top: -1px; 3707 border-bottom: 8px solid rgba(184,154,110,0.3); 3708} 3709#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__caret::after { 3710 top: 1px; 3711 border-bottom: 7px solid #f9f5ef; 3712} 3713 3714/* Heading */ 3715#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__heading { 3716 font-family: var(--serif, 'Cormorant Garamond', Georgia, serif); 3717 font-size: 1.35rem; 3718 font-weight: 400; 3719 letter-spacing: 0em; 3720 color: #111; 3721 margin: 0 0 1.25rem; 3722 text-align: center; 3723} 3724/* Social login buttons */ 3725#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__social { 3726 display: flex; 3727 flex-direction: column; 3728 gap: 0.55rem; 3729 margin-bottom: 0; 3730} 3731#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__social-btn { 3732 display: flex; 3733 align-items: center; 3734 justify-content: center; 3735 gap: 0.6rem; 3736 height: 42px; 3737 border-radius: 2px; 3738 font-family: var(--sans, 'Jost', sans-serif); 3739 font-size: 0.78rem; 3740 font-weight: 400; 3741 letter-spacing: 0.06em; 3742 text-decoration: none; 3743 transition: opacity 0.2s, box-shadow 0.2s; 3744 white-space: nowrap; 3745} 3746#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__social-btn:focus-visible { 3747 outline: 2px solid #111; 3748 outline-offset: 2px; 3749} 3750#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__social-btn--shop { 3751 background: #111; 3752 color: #fff; 3753 border: 1px solid #111; 3754} 3755#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__social-btn--shop:hover { 3756 opacity: 0.82; 3757} 3758#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__social-btn--google { 3759 background: #fff; 3760 color: #3c4043; 3761 border: 1px solid rgba(0,0,0,0.18); 3762} 3763#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__social-btn--google:hover { 3764 box-shadow: 0 2px 8px rgba(0,0,0,0.12); 3765} 3766#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__social-icon { 3767 flex-shrink: 0; 3768 display: block; 3769} 3770/* "or" separator */ 3771#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__or { 3772 display: flex; 3773 align-items: center; 3774 gap: 0.75rem; 3775 margin: 1rem 0; 3776 color: #aaa; 3777 font-family: var(--sans, 'Jost', sans-serif); 3778 font-size: 0.68rem; 3779 letter-spacing: 0.1em; 3780 text-transform: uppercase; 3781} 3782#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__or::before, 3783#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__or::after { 3784 content: ''; 3785 flex: 1; 3786 height: 1px; 3787 background: rgba(184,154,110,0.22); 3788} 3789 3790/* Greeting (logged-in) */ 3791#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__greeting { 3792 font-family: var(--sans, 'Jost', sans-serif); 3793 font-size: 0.75rem; 3794 font-weight: 300; 3795 letter-spacing: 0.08em; 3796 text-transform: uppercase; 3797 color: #111; 3798 text-align: center; 3799 margin: 0 0 1.25rem; 3800} 3801/* Error */ 3802#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__error { 3803 font-family: var(--sans, 'Jost', sans-serif); 3804 font-size: 0.75rem; 3805 color: #b04040; 3806 background: rgba(176,64,64,0.07); 3807 border: 1px solid rgba(176,64,64,0.18); 3808 border-radius: 2px; 3809 padding: 0.6rem 0.75rem; 3810 margin: 0 0 1rem; 3811 line-height: 1.4; 3812} 3813/* Form fields */ 3814#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__field { 3815 margin-bottom: 0.9rem; 3816} 3817#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__label { 3818 display: block; 3819 font-family: var(--sans, 'Jost', sans-serif); 3820 font-size: 0.68rem; 3821 font-weight: 400; 3822 letter-spacing: 0.1em; 3823 text-transform: uppercase; 3824 color: #555; 3825 margin-bottom: 0.35rem; 3826} 3827/* Input with icon wrapper */ 3828#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__input-wrap { 3829 position: relative; 3830 display: flex; 3831 align-items: center; 3832} 3833#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__input-icon { 3834 position: absolute; 3835 left: 0.7rem; 3836 color: #b89a6e; 3837 pointer-events: none; 3838 flex-shrink: 0; 3839} 3840#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__input { 3841 display: block; 3842 width: 100%; 3843 height: 42px; 3844 padding: 0 0.75rem 0 2.25rem; 3845 background: #fff; 3846 border: 1px solid rgba(17,17,17,0.5); 3847 border-radius: 1px; 3848 font-family: var(--sans, 'Jost', sans-serif); 3849 font-size: 0.85rem; 3850 font-weight: 300; 3851 color: #111; 3852 outline: none; 3853 transition: border-color 0.2s, box-shadow 0.2s; 3854 box-sizing: border-box; 3855 -webkit-appearance: none; 3856} 3857#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__input::placeholder { 3858 color: #555; 3859 font-weight: 300; 3860} 3861#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__input:focus { 3862 border-color: #b89a6e; 3863 box-shadow: 0 0 0 2px rgba(184,154,110,0.8); 3864} 3865/* Submit button */ 3866#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__submit { 3867 display: block; 3868 width: 100%; 3869 height: 42px; 3870 margin-top: 1.1rem; 3871 background: #111; 3872 color: #f9f5ef; 3873 border: none; 3874 border-radius: 1px; 3875 font-family: var(--sans, 'Jost', sans-serif); 3876 font-size: 0.72rem; 3877 font-weight: 400; 3878 letter-spacing: 0.14em; 3879 text-transform: uppercase; 3880 cursor: pointer; 3881 transition: background 0.2s, color 0.2s; 3882} 3883#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__submit:hover { 3884 background: #b89a6e; 3885 color: #fff; 3886} 3887#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__submit:focus-visible { 3888 outline: 2px solid #b89a6e; 3889 outline-offset: 2px; 3890} 3891/* Divider */ 3892#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__divider { 3893 height: 1px; 3894 background: rgba(184,154,110,0.22); 3895 margin: 1.1rem 0; 3896} 3897/* Create account */ 3898#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__create { 3899 font-family: var(--sans, 'Jost', sans-serif); 3900 font-size: 0.75rem; 3901 font-weight: 300; 3902 letter-spacing: 0.04em; 3903 color: #666; 3904 text-align: center; 3905 margin: 0; 3906} 3907#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__create-link { 3908 color: #111; 3909 text-decoration: underline; 3910 letter-spacing: 0.06em; 3911 transition: opacity 0.2s; 3912} 3913#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__create-link:hover { opacity: 0.65; } 3914#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__create-link:focus-visible { 3915 outline: 2px solid #111; 3916 outline-offset: 2px; 3917} 3918/* Logged-in nav links */ 3919#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__links { 3920 display: flex; 3921 flex-direction: column; 3922 gap: 0.1rem; 3923} 3924#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__nav-link { 3925 display: block; 3926 padding: 0.6rem 0.5rem; 3927 font-family: var(--sans, 'Jost', sans-serif); 3928 font-size: 0.78rem; 3929 font-weight: 300; 3930 letter-spacing: 0.07em; 3931 text-transform: uppercase; 3932 color: #111; 3933 text-decoration: none; 3934 border-bottom: 1px solid rgba(0,0,0,0.05); 3935 transition: color 0.2s; 3936} 3937#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__nav-link:hover { color: #b89a6e; } 3938#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__signout { 3939 display: block; 3940 font-family: var(--sans, 'Jost', sans-serif); 3941 font-size: 0.68rem; 3942 font-weight: 400; 3943 letter-spacing: 0.1em; 3944 text-transform: uppercase; 3945 color: #666; 3946 text-decoration: none; 3947 text-align: center; 3948 transition: color 0.2s; 3949} 3950#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__signout:hover { color: #111; } 3951#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-panel__signout:focus-visible { 3952 outline: 2px solid #111; 3953 outline-offset: 2px; 3954} 3955
3956/* ââ LOGO (center, desktop: appears on scroll) âââââââââââââââââââ */ 3957#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-wrap { 3958 display: flex; 3959 justify-content: center; 3960 flex-shrink: 0; 3961 overflow: hidden; 3962 opacity: 0; 3963 pointer-events: none; 3964 transform: translateY(-6px); 3965 transition: 3966 opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1), 3967 transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); 3968} 3969#custom-header-sections--27730117951793__custom_header_3gQN8h[data-scrolled="true"] .csh__logo-wrap { 3970 opacity: 1; 3971 pointer-events: auto; 3972 transform: translateY(0); 3973} 3974/* Inline-logo styles: logo visible immediately, no large initial logo */ 3975#custom-header-sections--27730117951793__custom_header_3gQN8h[data-logo-inline] .csh__main { 3976 grid-template-columns: 1fr auto 1fr; 3977} 3978#custom-header-sections--27730117951793__custom_header_3gQN8h[data-logo-inline] .csh__logo-wrap { 3979 opacity: 1; 3980 pointer-events: auto; 3981 transform: translateY(0); 3982} 3983/* Primary 2 (white text): invert logo to white before scroll */ 3984#custom-header-sections--27730117951793__custom_header_3gQN8h[data-logo-inline]:not([data-primary-dark]):not([data-scrolled="true"]) .csh__logo-img { 3985 filter: brightness(0) invert(1); 3986 transition: filter 0.35s ease; 3987} 3988#custom-header-sections--27730117951793__custom_header_3gQN8h[data-logo-inline]:not([data-primary-dark])[data-scrolled="true"] .csh__logo-img { 3989 filter: none; 3990 transition: filter 0.35s ease; 3991} 3992#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-link { display: block; line-height: 0; } 3993#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-img { 3994 display: block; 3995 width: var(--csh-logo-width); 3996 height: auto; 3997 object-fit: contain; 3998 max-height: 52px; 3999} 4000#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-text { 4001 font-size: 1.1rem; 4002 letter-spacing: 0.06em; 4003 text-transform: uppercase; 4004 color: var(--csh-link); 4005 text-decoration: none; 4006 white-space: nowrap; 4007} 4008 4009/* ââ LOGO INITIAL (large, centered, below nav, pre-scroll) âââââââ */ 4010#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-initial-wrap { 4011 display: flex; 4012 justify-content: center; 4013 overflow: hidden; 4014 padding: 0.35rem 2rem 0.75rem; 4015 max-height: 300px; 4016 opacity: 1; 4017 pointer-events: auto; 4018 transform: translateY(0); 4019 transition: 4020 opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1), 4021 transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), 4022 max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), 4023 padding 0.5s cubic-bezier(0.4, 0, 0.2, 1); 4024} 4025#custom-header-sections--27730117951793__custom_header_3gQN8h[data-scrolled="true"] .csh__logo-initial-wrap { 4026 opacity: 0; 4027 pointer-events: none; 4028 transform: translateY(-8px); 4029 max-height: 0; 4030 padding-top: 0; 4031 padding-bottom: 0; 4032} 4033#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-initial-img { 4034 display: block; 4035 width: 360px; 4036 height: auto; 4037 max-height: 160px; 4038 object-fit: contain; 4039} 4040#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-initial-text { 4041 font-size: 2rem; 4042 letter-spacing: 0.12em; 4043 text-transform: uppercase; 4044 color: var(--csh-link-initial); 4045 text-decoration: none; 4046} 4047 4048/* ââ UTILITY ICON BUTTONS ââââââââââââââââââââââââââââââââââââââââ */ 4049#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__util-btn { 4050 display: inline-flex; 4051 align-items: center; 4052 justify-content: center; 4053 color: var(--csh-icon); 4054 background: none; 4055 border: none; 4056 padding: 0.4rem; 4057 cursor: pointer; 4058 text-decoration: none; 4059 transition: opacity 0.2s; 4060 position: relative; 4061 font-family: inherit; 4062 flex-shrink: 0; 4063} 4064#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__util-btn:hover { opacity: 0.6; } 4065#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__util-icon { 4066 display: block; 4067 width: 20px; 4068 height: 20px; 4069 pointer-events: none; 4070 position: relative; 4071 overflow: visible; 4072} 4073#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__util-icon svg, 4074#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__icon-svg { 4075 display: block; 4076 width: 100%; 4077 height: 100%; 4078} 4079 4080/* Visually hidden live region (WCAG 4.1.3) */ 4081#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__sr-only { 4082 position: absolute; 4083 width: 1px; height: 1px; 4084 overflow: hidden; 4085 clip: rect(0,0,0,0); 4086 white-space: nowrap; 4087} 4088 4089/* Cart count badge */ 4090#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__cart-count { 4091 position: absolute; 4092 top: -8px; right: -2px; 4093 width: 16px; 4094 height: 16px; 4095 min-width: unset; 4096 padding: 0; 4097 font-size: 0.6875rem; 4098 font-weight: 400; 4099 line-height: 1; 4100 color: var(--csh-cart-badge-text, #fff); 4101 background: var(--csh-cart-badge-bg, #b89a6e); 4102 border-radius: 50%; 4103 display: flex; 4104 align-items: center; 4105 justify-content: center; 4106 pointer-events: none; 4107} 4108#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__cart-count--empty, 4109#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__cart-count:empty { 4110 display: none !important; 4111} 4112 4113/* Hamburger â hidden on desktop */ 4114#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__menu-toggle { 4115 display: none; 4116} 4117 4118/* ââ Morphing hamburger â â ââââââââââââââââââââââââââââââââââââââââ */ 4119#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__hamburger { 4120 display: flex; 4121 flex-direction: column; 4122 justify-content: space-between;
4123 width: 20px; 4124 height: 13px; 4125 pointer-events: none; 4126} 4127#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__bar { 4128 display: block; 4129 width: 100%; 4130 height: 1.5px; 4131 background: currentColor; 4132 border-radius: 1px; 4133 transform-origin: center; 4134 transition: 4135 transform 0.38s cubic-bezier(0.23, 1, 0.32, 1), 4136 opacity 0.22s ease; 4137} 4138/* Closed â open: lines 1 & 3 converge to center and cross; line 2 fades */ 4139#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__menu-toggle[aria-expanded="true"] .csh__bar:nth-child(1) { 4140 transform: translateY(5.75px) rotate(45deg); 4141} 4142#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__menu-toggle[aria-expanded="true"] .csh__bar:nth-child(2) { 4143 opacity: 0; 4144 transform: scaleX(0.15); 4145} 4146#custom-header-sections--27730117951793__custom_header_3gQN8h .csh__menu-toggle[aria-expanded="true"] .csh__bar:nth-child(3) { 4147 transform: translateY(-5.75px) rotate(-45deg); 4148} 4149 4150/* ââ MEGA DROPDOWN ââââââââââââââââââââââââââââââââââââââââââââââââ */ 4151#csh-mega-sections--27730117951793__custom_header_3gQN8h { 4152 position: fixed; 4153 left: 0; right: 0; 4154 z-index: 199; 4155 pointer-events: none; 4156 /* visibility:hidden keeps the closed mega menu's links out of the tab order 4157 (matches aria-hidden); the delay lets the fade-out finish first */ 4158 visibility: hidden; 4159 transition: visibility 0s 0.28s; 4160} 4161#csh-mega-sections--27730117951793__custom_header_3gQN8h.is-open { 4162 pointer-events: auto; 4163 visibility: visible; 4164 transition: visibility 0s 0s; 4165} 4166 4167#csh-mega-bridge-sections--27730117951793__custom_header_3gQN8h { 4168 position: fixed; 4169 left: 0; right: 0; 4170 background: transparent; 4171 pointer-events: none; 4172 z-index: 198; 4173} 4174#csh-mega-bridge-sections--27730117951793__custom_header_3gQN8h.is-active { pointer-events: auto; } 4175 4176#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-backdrop { 4177 position: fixed; inset: 0; 4178 background: rgba(0,0,0,0.32); 4179 opacity: 0; 4180 transition: opacity 0.28s ease; 4181 pointer-events: none; 4182} 4183#csh-mega-sections--27730117951793__custom_header_3gQN8h.is-open .csh__mega-backdrop { 4184 opacity: 1; 4185 pointer-events: auto; 4186} 4187#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega { 4188 position: relative; 4189 width: 100%; 4190 background: var(--csh-dropdown-bg, #fff); 4191 color: var(--csh-dropdown-text, #111); 4192 box-shadow: 0 16px 48px rgba(0,0,0,0.10); 4193 transform: translateY(-6px); 4194 opacity: 0; 4195 transition: opacity 0.28s ease, transform 0.28s cubic-bezier(0.4,0,0.2,1); 4196 pointer-events: none; 4197} 4198#csh-mega-sections--27730117951793__custom_header_3gQN8h.is-open .csh__mega { 4199 opacity: 1; 4200 transform: translateY(0); 4201 pointer-events: auto; 4202} 4203#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-inner { 4204 display: grid; 4205 grid-template-columns: 1fr 1fr 1fr 1fr 280px; 4206 gap: 0; 4207 align-items: stretch; 4208} 4209#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-col { 4210 padding: 2.5rem 2rem; 4211} 4212#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-col-heading { 4213 display: block; 4214 font-size: 0.875rem; /* 14px â was 0.75rem (12px), originally 0.65rem â WCAG 1.4.4 */ 4215 font-weight: 400; 4216 letter-spacing: 0.15em; 4217 text-transform: uppercase; 4218 color: var(--csh-dropdown-text, #111); 4219 text-decoration: none; 4220 margin-bottom: 1.1rem; 4221 padding-bottom: 0.6rem; 4222 border-bottom: 1px solid rgba(0,0,0,0.10); 4223 transition: opacity 0.15s; 4224} 4225#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-col-heading:hover { opacity: 0.55; } 4226#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-list { 4227 list-style: none; 4228 margin: 0; padding: 0; 4229 display: flex; 4230 flex-direction: column; 4231 gap: 0; 4232} 4233#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-link { 4234 display: block; 4235 padding: 0.45rem 0; 4236 font-size: 0.82rem; 4237 font-weight: 300; 4238 letter-spacing: 0.04em; 4239 color: var(--csh-dropdown-text, #111); 4240 text-decoration: none; 4241 transition: opacity 0.15s; 4242} 4243#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-link:hover { opacity: 0.55; } 4244#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-link--more { 4245 color: #8b6914; /* darkened gold â ~5.1:1 on white, meets WCAG AA */ 4246 font-style: italic; 4247 opacity: 1; 4248 margin-top: 0.2rem; 4249} 4250#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-link--more:hover { opacity: 0.75; } 4251#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-col--media { 4252 position: relative; 4253 padding: 0; 4254 overflow: hidden; 4255 min-height: 280px; 4256} 4257#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-media-img { 4258 position: absolute; inset: 0; 4259 width: auto; height: 100%; 4260 object-fit: cover; 4261 display: block; 4262} 4263#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-media-placeholder { 4264 position: absolute; inset: 0; 4265 background: linear-gradient(160deg, #e8e0d4 0%, #c9b99a 100%); 4266} 4267#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-btn-wrap { 4268 position: absolute; 4269 bottom: 1.75rem; left: 1.75rem; right: 1.75rem; 4270 display: flex; 4271 justify-content: flex-start; 4272 z-index: 2; 4273} 4274#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-btn { 4275 display: inline-block; 4276 padding: 0.6rem 1.4rem; 4277 background: transparent; 4278 color: #fff; 4279 font-size: 0.75rem; /* was 0.65rem (~10.4px) â WCAG 1.4.4 */ 4280 font-weight: 300; 4281 letter-spacing: 0.16em; 4282 text-transform: uppercase; 4283 text-decoration: none; 4284 border: 1px solid rgba(255,255,255,0.75); 4285 cursor: pointer; 4286 transition: background 0.2s; 4287} 4288#csh-mega-sections--27730117951793__custom_header_3gQN8h .csh__mega-btn:hover { background: rgba(255,255,255,0.15); } 4289 4290/* Hide mega on mobile */ 4291@media (max-width: 989px) { 4292 #csh-mega-sections--27730117951793__custom_header_3gQN8h { display: none !important; } 4293} 4294 4295/* ââ MOBILE SOCIAL BAR ââââââââââââââââââââââââââââââââââââââââââââ */ 4296@media (min-width: 990px) { 4297 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__mobile-social { display: none; } 4298} 4299@media (max-width: 989px) { 4300 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__top-bar { display: none; } 4301 4302 /* Mobile top social strip â transparent on load, solid on scroll HIDDEN per Mk team*/ 4303 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__mobile-social { 4304 display: none;
4305 align-items: center; 4306 justify-content: flex-end; 4307 gap: 1rem; 4308 padding: 0.5rem 1.25rem; 4309 background: transparent; 4310 border-bottom: 1px solid transparent; 4311 transition: background 0.35s ease, border-color 0.35s ease; 4312 } 4313 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] .csh__mobile-social { 4314 background: var(--csh-bg-scrolled, #fff); 4315 border-bottom: 1px solid rgba(0,0,0,0.06); 4316 } 4317 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__mobile-social-link { 4318 display: flex; 4319 align-items: center; 4320 justify-content: center; 4321 color: #fff; 4322 opacity: 0.85; 4323 transition: opacity 0.15s, color 0.35s ease; 4324 text-decoration: none; 4325 } 4326 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] .csh__mobile-social-link { 4327 color: #111 !important; 4328 opacity: 0.75; 4329 } 4330 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__mobile-social-link:hover { opacity: 1; } 4331 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__mobile-social-link svg { display: block; } 4332 4333 /* Mobile main row */ 4334 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__main { 4335 display: flex; 4336 flex-wrap: nowrap; 4337 justify-content: space-between; 4338 align-items: center; 4339 gap: 0.5rem; 4340 padding: 0 1rem; 4341 min-height: 56px; 4342 transition: none; 4343 background: transparent; 4344 } 4345 4346 /* Hide desktop nav on mobile â belt + suspenders */ 4347 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--left, 4348 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--left * { 4349 display: none !important; 4350 pointer-events: none !important; 4351 visibility: hidden !important; 4352 } 4353 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--right { 4354 order: 2; 4355 margin-left: auto; 4356 gap: 0.1rem; 4357 justify-content: flex-end; 4358 } 4359 4360 /* Hide all nav text links on mobile (both left and right menus) */ 4361 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--right .csh__item, 4362 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav--right .csh__item * { 4363 display: none !important; 4364 pointer-events: none !important; 4365 visibility: hidden !important; 4366 } 4367 4368 /* Hide desktop-only elements on mobile */ 4369 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__nav-divider, 4370 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__account-btn, 4371 #custom-header-sections--27730117951793__custom_header_3gQN8h .swym-wishlist { display: none !important; } 4372 4373 /* Hamburger visible on mobile */ 4374 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__menu-toggle { 4375 display: inline-flex !important; 4376 } 4377 4378 /* Logo wrap always visible on mobile, no transform */ 4379 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-wrap { 4380 order: 1; 4381 flex: 0 1 auto; 4382 margin-top: 0; 4383 justify-content: flex-start; 4384 opacity: 1 !important; 4385 pointer-events: auto !important; 4386 transform: none !important; 4387 } 4388 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-img { 4389 max-height: 28px; 4390 width: auto; 4391 } 4392 /* Text logo fallback sizing */ 4393 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-text { 4394 font-size: 1.05rem; 4395 letter-spacing: 0.12em; 4396 } 4397 4398 /* Always hide large pre-scroll logo on mobile */ 4399 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__logo-initial-wrap { display: none !important; } 4400 4401 /* Mobile: transparent on load, solid on scroll */ 4402 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh.is-hidden { transform: none !important; } 4403 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh { 4404 background-color: transparent; 4405 box-shadow: none; 4406 transition: background-color 0.35s ease, box-shadow 0.35s ease; 4407 } 4408 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh::before { display: none; } 4409 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] { 4410 background-color: var(--csh-bg-scrolled, #fff); 4411 box-shadow: 0 1px 0 rgba(0,0,0,0.07); 4412 } 4413 4414 /* Mobile icon/logo colors â white when transparent, dark when scrolled */ 4415 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__util-btn { 4416 color: #fff; 4417 transition: color 0.35s ease; 4418 } 4419 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__logo-link, 4420 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__logo-text { 4421 color: #fff; 4422 transition: color 0.35s ease; 4423 } 4424 /* Invert logo image to white when header is transparent */ 4425 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__logo-img { 4426 filter: brightness(0) invert(1); 4427 transition: filter 0.35s ease; 4428 } 4429 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] .csh__util-btn { 4430 color: #111 !important; 4431 } 4432 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] .csh__logo-link, 4433 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] .csh__logo-text { 4434 color: #111 !important; 4435 } 4436 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-scrolled="true"] .csh__logo-img { 4437 filter: none; 4438 } 4439 4440 /* Mobile primary-dark: keep icons/logo dark even when transparent */ 4441 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-primary-dark]:not([data-scrolled="true"]) .csh__util-btn { 4442 color: #111 !important; 4443 } 4444 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-primary-dark]:not([data-scrolled="true"]) .csh__logo-link, 4445 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-primary-dark]:not([data-scrolled="true"]) .csh__logo-text { 4446 color: #111 !important; 4447 } 4448 #custom-header-sections--27730117951793__custom_header_3gQN8h.csh[data-primary-dark]:not([data-scrolled="true"]) .csh__logo-img { 4449 filter: none !important; 4450 } 4451 4452 /* Mobile drawer open: force dark colors regardless of scroll state */ 4453 body[mobile-menu-open="true"] #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__util-btn { 4454 color: #111 !important; 4455 } 4456 body[mobile-menu-open="true"] #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__logo-link, 4457 body[mobile-menu-open="true"] #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__logo-text { 4458 color: #111 !important; 4459 } 4460 body[mobile-menu-open="true"] #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__logo-img { 4461 filter: none !important; 4462 } 4463 body[mobile-menu-open="true"] #custom-header-sections--27730117951793__custom_header_3gQN8h.csh:not([data-scrolled="true"]) .csh__mobile-social-link { 4464 color: #111 !important; 4465 } 4466 4467 /* Cart badge â gold, same as desktop */ 4468 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__cart-count { 4469 top: -8px; 4470 right: -8px; 4471 width: 16px; 4472 height: 16px; 4473 font-size: 0.6875rem; 4474 } 4475 4476 /* Utility icon touch targets slightly larger on mobile */ 4477 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__util-btn { 4478 padding: 0.5rem 0.45rem; 4479 } 4480 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__util-icon { 4481 width: 22px; 4482 height: 22px; 4483 }
4484 /* Wider bars on mobile â height stays 13px so translateY math is unchanged */ 4485 #custom-header-sections--27730117951793__custom_header_3gQN8h .csh__hamburger { 4486 width: 22px; 4487 } 4488} 4489</style> 4490
4491<script> 4492 window.__CSH_CONFIG = window.__CSH_CONFIG || {}; 4493 window.__CSH_CONFIG['sections--27730117951793__custom_header_3gQN8h'] = { 4494 sectionId: 'sections--27730117951793__custom_header_3gQN8h', 4495 searchUrl: '/search', 4496 predictiveUrl: '/search/suggest', 4497 cartUrl: '/cart', 4498 }; 4499</script>
vendor: 1 bytes, line 4499
4499
4500<script src="//loganhollowell.com/cdn/shop/t/206/assets/custom-header.js?v=177899076709867275321790192133" type="text/javascript"></script>
vendor: 1 bytes, line 4500
4500
4501<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-page-fades.js?v=63395224312752679181790192133" type="text/javascript"></script>
vendor: 1 bytes, line 4501
4501
4502<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-swym-hover.js?v=133842055812864056151790192133" type="text/javascript"></script>
4502 4503 4504 4505</div> 4506<!-- END sections: header-group --> 4507 <!-- BEGIN sections: overlay-group --> 4508 4509<!-- END sections: overlay-group --> 4510<div 4511 id="MainQuickSearch" 4512 class="quick-search" 4513 data-quick-search 4514 aria-hidden="true" 4515> 4516 <div class="quick-search__overlay" data-overlay></div> 4517 4518 <div class="quick-search__container"> 4519 <button 4520 type="button" 4521 class="quick-search__close" 4522 aria-label="Close" 4523 data-close-icon 4524 > 4525 <span 4526 class="icon-button icon-button-close icon-button--small " 4527 4528> 4529 <span class="icon-button__icon"> 4530 <span class="icon icon-new icon-close "> 4531 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.66 1.34 2 .68.68 2l.66.66 1.32-1.32zm18.68 21.32.66.66L23.32 22l-.66-.66-1.32 1.32zm1.32-20 .66-.66L22 .68l-.66.66 1.32 1.32zM1.34 21.34.68 22 2 23.32l.66-.66-1.32-1.32zm0-18.68 10 10 1.32-1.32-10-10-1.32 1.32zm11.32 10 10-10-1.32-1.32-10 10 1.32 1.32zm-1.32-1.32-10 10 1.32 1.32 10-10-1.32-1.32zm0 1.32 10 10 1.32-1.32-10-10-1.32 1.32z" fill="currentColor"/></svg> 4532</span> 4533 </span> 4534</span> 4535 4536 </button> 4537 4538 <form 4539 action="/search" 4540 class="quick-search__form" 4541 autocomplete="off" 4542 data-quick-search-form 4543 data-scroll-lock-ignore 4544 > 4545 <div class="quick-search__bar"> 4546 <div class="quick-search__bar-inner"> 4547 <label for="search" class="visually-hidden" aria-label="What are you looking for?"></label> 4548 <div class="quick-search__actions"> 4549 <button class="quick-search__submit" type="submit" aria-label="Search"> 4550 <span class="icon icon-new icon-search "> 4551 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.165 18.808a8.745 8.745 0 1 0 0-17.49 8.745 8.745 0 0 0 0 17.49z" stroke="currentColor" stroke-width="1.6" stroke-miterlimit="10" stroke-linecap="round"/> 4552 <path d="m16.5 16.5 5.363 5.362" stroke="currentColor" stroke-width="1.6" stroke-miterlimit="10"/></svg> 4553</span> 4554 </button> 4555 </div> 4556 <input 4557 class="quick-search__input" 4558 id="search" 4559 type="text" 4560 name="q" 4561 placeholder="What are you looking for?" 4562 data-input 4563 > 4564 <input type="hidden" name="options[prefix]" value="last"> 4565 <div class="quick-search__actions"> 4566 <button 4567 type="button" 4568 class="quick-search__voice-btn" 4569 data-voice-search 4570 aria-label="Search by voice" 4571 title="Search by voice" 4572 > 4573 <span class="quick-search__voice-icon" aria-hidden="true"> 4574 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> 4575 <path d="M12 2a3 3 0 0 1 3 3v6a3 3 0 0 1-6 0V5a3 3 0 0 1 3-3Z"/> 4576 <path d="M19 10v2a7 7 0 0 1-14 0v-2"/> 4577 <line x1="12" x2="12" y1="19" y2="22"/> 4578 </svg> 4579 </span> 4580 <span class="quick-search__voice-waves" aria-hidden="true" hidden> 4581 <span class="quick-search__voice-wave"></span> 4582 <span class="quick-search__voice-wave"></span> 4583 <span class="quick-search__voice-wave"></span> 4584 <span class="quick-search__voice-wave"></span> 4585 <span class="quick-search__voice-wave"></span> 4586 </span> 4587 </button> 4588 <button class="quick-search__clear fs-body-50" type="button" data-clear> 4589 Clear 4590 </button> 4591 </div> 4592 </div> 4593 </div> 4594 4595 <div class="quick-search__results-wrapper"> 4596 <div class="quick-search__results" data-results></div> 4597 </div><div class="quick-search__suggested-wrapper"> 4598 <div class="quick-search__suggested"> 4599 <h4 class="quick-search__suggested-header ff-body fs-body-100 t-subdued"> 4600 Browse Collections 4601 </h4><a class="quick-search__result" href="/collections/best-sellers"> 4602 <div class="quick-search__result-details ff-body fs-body-75"> 4603 <div class="quick-search__result-heading">Best Sellers</div> 4604 </div> 4605 </a><a class="quick-search__result" href="/collections/body-jewelry"> 4606 <div class="quick-search__result-details ff-body fs-body-75"> 4607 <div class="quick-search__result-heading">Body Jewelry</div> 4608 </div> 4609 </a><a class="quick-search__result" href="/collections/bracelets"> 4610 <div class="quick-search__result-details ff-body fs-body-75"> 4611 <div class="quick-search__result-heading">Bracelets</div> 4612 </div> 4613 </a><a class="quick-search__result" href="/collections/bridal"> 4614 <div class="quick-search__result-details ff-body fs-body-75"> 4615 <div class="quick-search__result-heading">Eternal: Bridal & Engagement</div> 4616 </div> 4617 </a>
4617<a class="quick-search__result" href="/collections/earrings-1"> 4618 <div class="quick-search__result-details ff-body fs-body-75"> 4619 <div class="quick-search__result-heading">Earrings</div> 4620 </div> 4621 </a><a class="quick-search__result" href="/collections/lifestyle"> 4622 <div class="quick-search__result-details ff-body fs-body-75"> 4623 <div class="quick-search__result-heading">Lifestyle</div> 4624 </div> 4625 </a><a class="quick-search__result" href="/collections/necklaces"> 4626 <div class="quick-search__result-details ff-body fs-body-75"> 4627 <div class="quick-search__result-heading">Necklaces</div> 4628 </div> 4629 </a><a class="quick-search__result" href="/collections/rings"> 4630 <div class="quick-search__result-details ff-body fs-body-75"> 4631 <div class="quick-search__result-heading">Rings</div> 4632 </div> 4633 </a><a class="quick-search__result" href="/collections/lariats"> 4634 <div class="quick-search__result-details ff-body fs-body-75"> 4635 <div class="quick-search__result-heading">Lariats</div> 4636 </div> 4637 </a> 4638 </div> 4639 </div><div class="quick-search__footer"> 4640 <button type="submit" class="btn btn--primary btn--full">View all results</button> 4641 </div> 4642 </form> 4643 </div> 4644</div> 4645
4646<script src="//loganhollowell.com/cdn/shop/t/206/assets/voice-search.js?v=161773086813992346561790192133" defer></script>
4646 4647 4648 4649<div class="header-overlay" data-header-overlay> 4650 <div class="header-overlay__inner"></div> 4651 </div> 4652 4653 <main id="main" class="main"> 4654 <section id="shopify-section-template--27730130764081__lh_contact_hero_KeKN6H" class="shopify-section lh-events-header-section"> 4655 4656<section 4657 class="lheh" 4658 id="lheh-template--27730130764081__lh_contact_hero_KeKN6H" 4659 aria-label="Contact Us" 4660 4661 style="" 4662> 4663 4664 <div class="lheh__inner lheh__fade-up"><div class="lheh__eyebrow-wrap" aria-hidden="true"> 4665 <span class="lheh__eyebrow-line"></span> 4666 <span class="lheh__eyebrow-text">Begin Here or Start the Conversation</span> 4667 <span class="lheh__eyebrow-line lheh__eyebrow-line--right"></span> 4668 </div><h1 class="lheh__title">Contact Us</h1><p class="lheh__subtitle">Our team typically responds within 24-48 hours.</p><div class="lheh__ornament" aria-hidden="true"> 4669 <span class="lheh__orn-line"></span> 4670 <svg width="10" height="10" viewBox="0 0 10 10" fill="none" class="lheh__orn-diamond"> 4671 <rect x="5" y="0.5" width="6.36" height="6.36" rx="0.5" transform="rotate(45 5 0.5)" stroke="#b89a6e" stroke-width="1"/> 4672 </svg> 4673 <span class="lheh__orn-line"></span> 4674 </div></div> 4675 4676</section><style> 4677 /* Override CSS vars to match primary-dark behaviour */ 4678 [data-custom-header]:not([data-scrolled="true"]) { 4679 --csh-initial-opacity: 0 !important; 4680 --csh-text-initial: #111111 !important; 4681 --csh-link-initial: #111111 !important; 4682 --csh-icon-initial: #111111 !important; 4683 } 4684 /* Darken the white initial logo to match primary-dark (which uses the dark logo asset) */ 4685 [data-custom-header]:not([data-scrolled="true"]) .csh__logo-initial-img { 4686 filter: brightness(0) !important; 4687 } 4688 /* Mobile social icons â override the hardcoded #fff !important in the media block */ 4689 [data-custom-header][data-primary-dark="true"]:not([data-scrolled="true"]) .csh__mobile-social-link { 4690 color: #111111 !important; 4691 } 4692 4693 /* Hide initial logo instantly when mega menu is open (logo sits above mega panel at z-index:200) */ 4694 body:has([data-mega-wrap].is-open) [data-custom-header] .csh__logo-initial-wrap { 4695 opacity: 0 !important; 4696 pointer-events: none !important; 4697 transition: none !important; 4698 } 4699</style>
4700<script> 4701 (function () { 4702 var h = document.querySelector('[data-custom-header]'); 4703 if (!h) return; 4704 h.setAttribute('data-primary-dark', 'true'); 4705 4706 /* JS fallback for browsers without :has() support */ 4707 var logoInitWrap = h.querySelector('.csh__logo-initial-wrap'); 4708 var megaWrap = document.querySelector('[data-mega-wrap]'); 4709 if (logoInitWrap && megaWrap) { 4710 new MutationObserver(function () { 4711 var open = megaWrap.classList.contains('is-open'); 4712 logoInitWrap.style.opacity = open ? '0' : ''; 4713 logoInitWrap.style.pointerEvents = open ? 'none' : ''; 4714 }).observe(megaWrap, { attributes: true, attributeFilter: ['class'] }); 4715 } 4716 })(); 4717</script>
4717 4718<style> 4719 4720#lheh-template--27730130764081__lh_contact_hero_KeKN6H { 4721 background: #f9f5ef; 4722 padding: calc(var(--custom-header-height, 80px) + 96px) 2rem 72px; 4723} 4724 4725#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__inner { 4726 text-align: center; 4727 max-width: 760px; 4728 margin: 0 auto; 4729} 4730 4731/* Eyebrow */ 4732#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__eyebrow-wrap { 4733 display: flex; 4734 align-items: center; 4735 justify-content: center; 4736 gap: 18px; 4737 margin-bottom: 22px; 4738} 4739#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__eyebrow-line { 4740 width: 38px; 4741 height: 1px; 4742 background: linear-gradient(90deg, transparent, #d4b896); 4743 flex-shrink: 0; 4744} 4745#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__eyebrow-line--right { 4746 background: linear-gradient(90deg, #d4b896, transparent); 4747} 4748#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__eyebrow-text { 4749 font-family: 'Jost', sans-serif; 4750 font-size: 0.72rem; 4751 font-weight: 300; 4752 letter-spacing: 0.34em; 4753 text-transform: uppercase; 4754 color: #888; 4755 white-space: nowrap; 4756} 4757 4758/* Title */ 4759#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__title { 4760 font-family: 'Cormorant Garamond', Georgia, serif; 4761 font-size: clamp(2.8rem, 5vw, 4.8rem); 4762 font-weight: 300; 4763 font-style: italic; 4764 color: #111; 4765 line-height: 1.04; 4766 letter-spacing: 0em; 4767 margin: 0 0 20px; 4768} 4769 4770/* Subtitle */ 4771#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__subtitle { 4772 font-family: 'Jost', sans-serif; 4773 font-size: 0.9rem; 4774 font-weight: 300; 4775 letter-spacing: 0.1em; 4776 color: #666; 4777 line-height: 1.8; 4778 margin: 0 0 40px; 4779} 4780 4781/* Ornament */ 4782#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__ornament { 4783 display: flex; 4784 align-items: center; 4785 justify-content: center; 4786 gap: 16px; 4787} 4788#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__orn-line { 4789 width: 60px; 4790 height: 1px; 4791 background: linear-gradient(90deg, transparent, rgba(184,154,110,0.45)); 4792} 4793#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__ornament .lheh__orn-line:last-child { 4794 background: linear-gradient(90deg, rgba(184,154,110,0.45), transparent); 4795} 4796#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__orn-diamond { 4797 flex-shrink: 0; 4798 opacity: 0.7; 4799} 4800 4801/* Fade-up */ 4802#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__fade-up { 4803 opacity: 0; 4804 transform: translateY(32px); 4805 transition: 4806 opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1), 4807 transform 0.95s cubic-bezier(0.22, 1, 0.36, 1); 4808} 4809#lheh-template--27730130764081__lh_contact_hero_KeKN6H .lheh__fade-up.is-visible { 4810 opacity: 1; 4811 transform: translateY(0); 4812} 4813 4814/* Responsive */ 4815@media (max-width: 640px) { 4816 #lheh-template--27730130764081__lh_contact_hero_KeKN6H { 4817 padding-left: 1.5rem; 4818 padding-right: 1.5rem; 4819 } 4820} 4821 4822</style> 4823 4824
4825<script> 4826(function () { 4827 var section = document.getElementById('lheh-template--27730130764081__lh_contact_hero_KeKN6H'); 4828 if (!section) return; 4829 var targets = section.querySelectorAll('.lheh__fade-up'); 4830 if (!targets.length) return; 4831 if ('IntersectionObserver' in window) { 4832 var io = new IntersectionObserver(function (entries) { 4833 entries.forEach(function (e) { 4834 if (e.isIntersecting) { e.target.classList.add('is-visible'); io.unobserve(e.target); } 4835 }); 4836 }, { threshold: 0.1 }); 4837 targets.forEach(function (el) { io.observe(el); }); 4838 } else { 4839 targets.forEach(function (el) { el.classList.add('is-visible'); }); 4840 } 4841})(); 4842</script>
4842 4843 4844 4845 4846</section><section id="shopify-section-template--27730130764081__lh_contact_form_cPtLrA" class="shopify-section lh-contact-form-section"> 4847 4848<section 4849 class="lhcf" 4850 id="lhcf-template--27730130764081__lh_contact_form_cPtLrA" 4851 aria-label="Contact Form" 4852 4853 style="" 4854> 4855 <div class="lhcf__inner"> 4856 <div class="lhcf__info lhcf__fade-up"><div class="lhcf__eyebrow" aria-hidden="true"> 4857 <span class="lhcf__eyebrow-line"></span> 4858 <span class="lhcf__eyebrow-text">Send a Message</span> 4859 </div><h2 class="lhcf__title">We'd love to hear from you</h2><p class="lhcf__subtitle">Our team typically responds within 24 hours.</p> 4860<div class="lhcf__detail" ><p class="lhcf__detail-label">General Inquiries</p><p class="lhcf__detail-value"><a href="mailto:[email protected]">[email protected]</a></p></div><div class="lhcf__detail" ><p class="lhcf__detail-label">Custom Design & Bespoke</p><p class="lhcf__detail-value"><a href="mailto:[email protected]">[email protected]</a></p></div><div class="lhcf__detail" ><p class="lhcf__detail-label">Press & Partnerships</p><p class="lhcf__detail-value"><a href="mailto:[email protected]">[email protected]</a></p></div> 4861 <div class="lhcf__divider" aria-hidden="true"></div> 4862<p class="lhcf__social-label">Follow Along</p> 4863 <div class="lhcf__social"><a href="https://www.instagram.com/loganhollowell" class="lhcf__social-link" target="_blank" rel="noopener" aria-label="Instagram (opens in a new tab)"> 4864 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4H7.6m9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8 1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3z"/></svg> 4865 </a><a href="https://www.pinterest.com/loganhollowell/" class="lhcf__social-link" target="_blank" rel="noopener" aria-label="Pinterest (opens in a new tab)"> 4866 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 0C5.373 0 0 5.372 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.777 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738.098.119.112.224.083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.214 0-2.359-.632-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12 0-6.628-5.373-12-12-12z"/></svg> 4867 </a><a href="https://www.tiktok.com/@loganhollowell" class="lhcf__social-link" target="_blank" rel="noopener" aria-label="TikTok (opens in a new tab)"> 4868 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/></svg> 4869 </a><a href="https://www.facebook.com/loganhollowelljewelry/" class="lhcf__social-link" target="_blank" rel="noopener" aria-label="Facebook (opens in a new tab)"> 4870 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"/></svg> 4871 </a></div></div> 4872 <div class="lhcf__form-wrap lhcf__fade-up" style="transition-delay: 120ms;"><form method="post" action="/contact#lhcf-form-{{ section.id }}" id="lhcf-form-{{ section.id }}" accept-charset="UTF-8" class="lhcf__form"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="â" /> 4873<input type="hidden" name="contact[approximate_location]" data-lh-approx-location value=""> 4874 4875 <div class="lhcf__success" role="alert" aria-live="polite" style="display:none;"> 4876 <div class="lhcf__success-icon" aria-hidden="true"> 4877 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> 4878 <polyline points="20 6 9 17 4 12"/> 4879 </svg> 4880 </div> 4881 <p class="lhcf__success-title">Thank you for reaching out</p> 4882 <p class="lhcf__success-text">Our team will be in touch within 48 hours.</p> 4883 </div> 4884 4885 <div class="lhcf__fields"> 4886 <div class="lhcf__row"> 4887 <div class="lhcf__field"> 4888 <label class="lhcf__label" for="lhcf-first-template--27730130764
4888081__lh_contact_form_cPtLrA"> 4889 First Name <span class="lhcf__req" aria-hidden="true">*</span> 4890 </label> 4891 <input 4892 class="lhcf__input" 4893 type="text" 4894 id="lhcf-first-template--27730130764081__lh_contact_form_cPtLrA" 4895 name="contact[first_name]" 4896 placeholder="Your first name" 4897 required 4898 aria-required="true" 4899 aria-describedby="lhcf-first-hint-template--27730130764081__lh_contact_form_cPtLrA" 4900 autocomplete="given-name" 4901 > 4902 <span id="lhcf-first-hint-template--27730130764081__lh_contact_form_cPtLrA" class="lhcf__field-hint">Required</span> 4903 </div> 4904 <div class="lhcf__field"> 4905 <label class="lhcf__label" for="lhcf-last-template--27730130764081__lh_contact_form_cPtLrA"> 4906 Last Name <span class="lhcf__req" aria-hidden="true">*</span> 4907 </label> 4908 <input 4909 class="lhcf__input" 4910 type="text" 4911 id="lhcf-last-template--27730130764081__lh_contact_form_cPtLrA" 4912 name="contact[last_name]" 4913 placeholder="Your last name" 4914 required 4915 aria-required="true" 4916 aria-describedby="lhcf-last-hint-template--27730130764081__lh_contact_form_cPtLrA" 4917 autocomplete="family-name" 4918 > 4919 <span id="lhcf-last-hint-template--27730130764081__lh_contact_form_cPtLrA" class="lhcf__field-hint">Required</span> 4920 </div> 4921 </div> 4922 <div class="lhcf__field"> 4923 <label class="lhcf__label" for="lhcf-email-template--27730130764081__lh_contact_form_cPtLrA"> 4924 Email Address <span class="lhcf__req" aria-hidden="true">*</span> 4925 </label> 4926 <input 4927 class="lhcf__input" 4928 type="email" 4929 id="lhcf-email-template--27730130764081__lh_contact_form_cPtLrA" 4930 name="contact[email]" 4931 placeholder="[email protected]" 4932 required 4933 aria-required="true" 4934 aria-describedby="lhcf-email-hint-template--27730130764081__lh_contact_form_cPtLrA" 4935 autocomplete="email" 4936 > 4937 <span id="lhcf-email-hint-template--27730130764081__lh_contact_form_cPtLrA" class="lhcf__field-hint">Required. Enter a valid email address.</span> 4938 </div> 4939 <div class="lhcf__field"> 4940 <label class="lhcf__label" for="lhcf-phone-template--27730130764081__lh_contact_form_cPtLrA">Phone Number</label> 4941 <input 4942 class="lhcf__input" 4943 type="tel" 4944 id="lhcf-phone-template--27730130764081__lh_contact_form_cPtLrA" 4945 name="contact[phone]" 4946 placeholder="+1 (000) 000-0000" 4947 autocomplete="tel" 4948 > 4949 </div> 4950<div class="lhcf__field"> 4951 <label class="lhcf__label" for="lhcf-loc-template--27730130764081__lh_contact_form_cPtLrA">Preferred Location</label> 4952 <div class="lhcf__select-wrap"> 4953 <select 4954 class="lhcf__select" 4955 id="lhcf-loc-template--27730130764081__lh_contact_form_cPtLrA" 4956 name="contact[preferred_location]" 4957 > 4958 <option value="" disabled selected>Select a showroom</option><option value="beverly-hills-california">Beverly Hills, California</option><option value="new-york-new-york">New York, New York</option><option value="online-virtual-consultation">Online / Virtual Consultation</option></select> 4959 <span class="lhcf__select-chevron" aria-hidden="true"> 4960 <svg width="10" height="7" viewBox="0 0 10 7" fill="none"><path d="M1 1l4 4 4-4" stroke="#888" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg> 4961 </span> 4962 </div> 4963 </div> 4964<div class="lhcf__field"> 4965 <label class="lhcf__label" for="lhcf-subj-template--27730130764
4965081__lh_contact_form_cPtLrA"> 4966 Subject <span class="lhcf__req" aria-hidden="true">*</span> 4967 </label> 4968 <div class="lhcf__select-wrap"> 4969 <select 4970 class="lhcf__select" 4971 id="lhcf-subj-template--27730130764081__lh_contact_form_cPtLrA" 4972 name="contact[subject]" 4973 required 4974 > 4975 <option value="" disabled selected>What can we help you with?</option><option value="general-inquiry">General Inquiry</option><option value="custom-design-bespoke-jewelry">Custom Design & Bespoke Jewelry</option><option value="book-a-showroom-appointment">Book a Showroom Appointment</option><option value="order-status-or-question">Order Status or Question</option><option value="gifting-special-occasions">Gifting & Special Occasions</option><option value="press-partnerships">Press & Partnerships</option><option value="other">Other</option></select> 4976 <span class="lhcf__select-chevron" aria-hidden="true"> 4977 <svg width="10" height="7" viewBox="0 0 10 7" fill="none"><path d="M1 1l4 4 4-4" stroke="#888" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg> 4978 </span> 4979 </div> 4980 </div> 4981 <div class="lhcf__field"> 4982 <label class="lhcf__label" for="lhcf-msg-template--27730130764081__lh_contact_form_cPtLrA"> 4983 Message <span class="lhcf__req" aria-hidden="true">*</span> 4984 </label> 4985 <textarea 4986 class="lhcf__textarea" 4987 id="lhcf-msg-template--27730130764081__lh_contact_form_cPtLrA" 4988 name="contact[body]" 4989 placeholder="Tell us about your vision, inquiry, or how we can assist youâ¦" 4990 required 4991 ></textarea> 4992 </div> 4993 <div class="lhcf__submit-area"><p class="lhcf__privacy-note">By submitting this form you agree to our privacy policy. Weâll only use your details to respond to your inquiry.</p><button type="submit" class="lhcf__btn"> 4994 <span>Send Message</span> 4995 <svg width="15" height="15" viewBox="0 0 24 24" fill="none" aria-hidden="true"> 4996 <path d="M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/> 4997 </svg> 4998 </button> 4999 </div> 5000 5001 </div> 5002</form></div> 5003 5004 </div> 5005</section> 5006 5007<style> 5008 #lhcf-template--27730130764081__lh_contact_form_cPtLrA { 5009 background: #f9f5ef; 5010 padding: 110px 2rem 120px; 5011 position: relative; 5012 } 5013 5014 /* Top hairline */ 5015 #lhcf-template--27730130764081__lh_contact_form_cPtLrA::before { 5016 content: ''; 5017 position: absolute; 5018 top: 0; 5019 left: 50%; 5020 transform: translateX(-50%); 5021 width: calc(100% - 4rem); 5022 max-width: 1100px; 5023 height: 1px; 5024 background: linear-gradient(90deg, transparent, #e0d8ce, transparent); 5025 } 5026 5027 /* ââ Layout ââââââââââââââââââââââââââââââââââââââââââ */ 5028 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__inner { 5029 display: grid; 5030 grid-template-columns: 1fr 1.5fr; 5031 gap: 6rem; 5032 max-width: 1100px; 5033 margin: 0 auto; 5034 align-items: start; 5035 } 5036 5037 /* ââ Eyebrow âââââââââââââââââââââââââââââââââââââââââ */ 5038 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__eyebrow { 5039 display: flex; 5040 align-items: center; 5041 gap: 14px; 5042 margin-bottom: 16px; 5043 } 5044 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__eyebrow-line { 5045 width: 38px; 5046 height: 1px; 5047 background: linear-gradient(90deg, transparent, #d4b896); 5048 flex-shrink: 0; 5049 } 5050 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__eyebrow-text { 5051 font-family: 'Jost', sans-serif; 5052 font-size: 0.75rem; /* was 0.58rem (~9.3px) â WCAG 1.4.4 */ 5053 font-weight: 300; 5054 letter-spacing: 0.32em; 5055 text-transform: uppercase; 5056 color: #555555; /* was #b89a6e (2.5:1 on white â WCAG fail); #555 = 7.4:1 */ 5057 white-space: nowrap; 5058 } 5059 5060 /* ââ Info panel ââââââââââââââââââââââââââââââââââââââ */
5061 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__title { 5062 font-family: 'Cormorant Garamond', Georgia, serif; 5063 font-size: clamp(2rem, 3.5vw, 3.2rem); 5064 font-weight: 300; 5065 font-style: italic; 5066 color: #111; 5067 line-height: 1.1; 5068 margin: 8px 0 6px; 5069 } 5070 5071 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__subtitle { 5072 font-family: 'Jost', sans-serif; 5073 font-size: 0.7rem; 5074 font-weight: 300; 5075 letter-spacing: 0.1em; 5076 color: #888; 5077 margin-bottom: 44px; 5078 } 5079 5080 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__detail { 5081 margin-bottom: 32px; 5082 } 5083 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__detail-label { 5084 font-family: 'Jost', sans-serif; 5085 font-size: 0.75rem; /* was 0.52rem (~8.3px) â WCAG 1.4.4 */ 5086 font-weight: 300; 5087 letter-spacing: 0.3em; 5088 text-transform: uppercase; 5089 color: #555555; /* was #b89a6e (2.5:1 on white â WCAG fail); #555 = 7.4:1 */ 5090 margin-bottom: 8px; 5091 } 5092 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__detail-value { 5093 font-family: 'Jost', sans-serif; 5094 font-size: 0.75rem; 5095 font-weight: 300; 5096 letter-spacing: 0.05em; 5097 color: #555; 5098 line-height: 1.85; 5099 } 5100 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__detail-value a { 5101 color: #555; 5102 transition: color 0.22s; 5103 } 5104 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__detail-value a:hover { 5105 color: #9a7d52; 5106 } 5107 5108 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__divider { 5109 height: 1px; 5110 background: linear-gradient(90deg, #e0d8ce, transparent); 5111 margin: 36px 0; 5112 } 5113 5114 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__social-label { 5115 font-family: 'Jost', sans-serif; 5116 font-size: 0.75rem; /* was 0.52rem (~8.3px) â WCAG 1.4.4 */ 5117 font-weight: 300; 5118 letter-spacing: 0.3em; 5119 text-transform: uppercase; 5120 color: #555555; /* was #b89a6e (2.5:1 on white â WCAG fail); #555 = 7.4:1 */ 5121 margin-bottom: 16px; 5122 } 5123 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__social { 5124 display: flex; 5125 gap: 18px; 5126 align-items: center; 5127 } 5128 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__social-link { 5129 color: #888; 5130 display: flex; 5131 align-items: center; 5132 transition: color 0.22s; 5133 } 5134 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__social-link:hover { 5135 color: #9a7d52; /* was #b89a6e (2.5:1 â fail); gold-dark = 3.56:1 on white */ 5136 } 5137 5138 /* ââ Form fields âââââââââââââââââââââââââââââââââââââ */ 5139 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__form { 5140 display: flex; 5141 flex-direction: column; 5142 gap: 0; 5143 } 5144 5145 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__row { 5146 display: grid; 5147 grid-template-columns: 1fr 1fr; 5148 gap: 0 3px; 5149 } 5150 5151 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__field { 5152 position: relative; 5153 margin-bottom: 3px; 5154 } 5155 5156 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__label { 5157 display: block; 5158 font-family: 'Jost', sans-serif; 5159 font-size: 0.75rem; /* was 0.52rem (~8.3px) â WCAG 1.4.4 */ 5160 font-weight: 300; 5161 letter-spacing: 0.26em; 5162 text-transform: uppercase; 5163 color: #888; 5164 margin-bottom: 8px; 5165 transition: color 0.22s; 5166 } 5167 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__field:focus-within .lhcf__label { 5168 color: #555555; /* was #b89a6e (2.5:1 on white â WCAG fail); #555 = 7.4:1 */ 5169 } 5170 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__req { 5171 color: #555555; /* was #b89a6e; required indicator should meet same contrast as label text */ 5172 } 5173 5174 /* Screen-reader-only field hints (aria-describedby targets) */ 5175 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__field-hint { 5176 position: absolute; 5177 width: 1px; height: 1px; 5178 padding: 0; margin: -1px; 5179 overflow: hidden; 5180 clip: rect(0,0,0,0); 5181 white-space: nowrap; 5182 border: 0; 5183 } 5184
5185 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__input, 5186 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__select, 5187 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__textarea { 5188 width: 100%; 5189 background: #fff; 5190 border: 1px solid #e0d8ce; 5191 padding: 14px 18px; 5192 font-family: 'Jost', sans-serif; 5193 font-size: 0.75rem; 5194 font-weight: 300; 5195 letter-spacing: 0.04em; 5196 color: #111; 5197 outline: none; 5198 transition: border-color 0.25s ease, background 0.25s ease; 5199 appearance: none; 5200 -webkit-appearance: none; 5201 border-radius: 0; 5202 } 5203 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__input::placeholder, 5204 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__textarea::placeholder { 5205 color: #767676; /* was #aaa (2.3:1 fail) â #767676 (4.54:1 AA) */ 5206 font-weight: 300; 5207 } 5208 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__input:focus, 5209 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__select:focus, 5210 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__textarea:focus { 5211 border-color: #b89a6e; 5212 background: #fdfaf6; 5213 } 5214 5215 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__textarea { 5216 resize: vertical; 5217 min-height: 148px; 5218 line-height: 1.65; 5219 } 5220 5221 /* Select wrapper */ 5222 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__select-wrap { 5223 position: relative; 5224 } 5225 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__select { 5226 cursor: pointer; 5227 padding-right: 42px; 5228 } 5229 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__select-chevron { 5230 position: absolute; 5231 right: 16px; 5232 top: 50%; 5233 transform: translateY(-50%); 5234 pointer-events: none; 5235 display: flex; 5236 align-items: center; 5237 } 5238 5239 /* ââ Submit area âââââââââââââââââââââââââââââââââââââ */ 5240 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__submit-area { 5241 margin-top: 8px; 5242 display: flex; 5243 flex-direction: column; 5244 gap: 14px; 5245 } 5246 5247 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__privacy-note { 5248 font-family: 'Jost', sans-serif; 5249 font-size: 0.75rem; /* was 0.6rem (~9.6px) â WCAG 1.4.4 */ 5250 font-weight: 300; 5251 letter-spacing: 0.06em; 5252 color: #767676; /* was #aaa (2.3:1 on white â WCAG 1.4.3 fail); #767676 = 4.54:1 */ 5253 line-height: 1.6; 5254 } 5255 5256 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__btn { 5257 width: 100%; 5258 display: flex; 5259 align-items: center; 5260 justify-content: center; 5261 gap: 12px; 5262 padding: 17px 24px; 5263 background: #111; 5264 border: 1px solid #111; 5265 color: #fff; 5266 font-family: 'Jost', sans-serif; 5267 font-size: 0.75rem; /* was 0.58rem (~9.3px) â WCAG 1.4.4 */ 5268 font-weight: 300; 5269 letter-spacing: 0.26em; 5270 text-transform: uppercase; 5271 cursor: pointer; 5272 position: relative; 5273 overflow: hidden; 5274 transition: border-color 0.3s ease; 5275 } 5276 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__btn > * { 5277 position: relative; 5278 z-index: 1; 5279 } 5280 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__btn::before { 5281 content: ''; 5282 position: absolute; 5283 inset: 0; 5284 background: #b89a6e; 5285 transform: translateX(-101%); 5286 transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1); 5287 z-index: 0; 5288 } 5289 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__btn:hover { 5290 border-color: #b89a6e; 5291 } 5292 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__btn:hover::before { 5293 transform: translateX(0); 5294 } 5295 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__btn svg { 5296 transition: transform 0.25s ease; 5297 } 5298 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__btn:hover svg { 5299 transform: translateX(4px); 5300 } 5301 5302 /* ââ Success state âââââââââââââââââââââââââââââââââââ */ 5303 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__success { 5304 text-align: center; 5305 padding: 56px 24px; 5306 background: #fff; 5307 border: 1px solid #e0d8ce; 5308 }
5309 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__success-icon { 5310 width: 44px; 5311 height: 44px; 5312 border: 1px solid #d4b896; 5313 border-radius: 50%; 5314 display: flex; 5315 align-items: center; 5316 justify-content: center; 5317 margin: 0 auto 20px; 5318 color: #b89a6e; 5319 } 5320 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__success-title { 5321 font-family: 'Cormorant Garamond', Georgia, serif; 5322 font-size: 1.75rem; 5323 font-weight: 300; 5324 font-style: italic; 5325 color: #111; 5326 margin-bottom: 10px; 5327 } 5328 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__success-text { 5329 font-family: 'Jost', sans-serif; 5330 font-size: var(--lh-sub-size, 0.8125rem); /* raised from 0.72rem â WCAG 1.4.4 */ 5331 font-weight: 300; 5332 letter-spacing: 0.06em; 5333 color: #888; 5334 } 5335 5336 /* ââ Fade-up scroll animation ââââââââââââââââââââââââ */ 5337 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__fade-up { 5338 opacity: 0; 5339 transform: translateY(32px); 5340 transition: 5341 opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), 5342 transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); 5343 } 5344 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__fade-up.is-visible { 5345 opacity: 1; 5346 transform: translateY(0); 5347 } 5348 5349 /* ââ Responsive ââââââââââââââââââââââââââââââââââââââ */ 5350 @media (max-width: 900px) { 5351 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__inner { 5352 grid-template-columns: 1fr; 5353 gap: 56px; 5354 } 5355 #lhcf-template--27730130764081__lh_contact_form_cPtLrA .lhcf__row { 5356 grid-template-columns: 1fr; 5357 } 5358 #lhcf-template--27730130764081__lh_contact_form_cPtLrA { 5359 padding: 80px 1.5rem 90px; 5360 } 5361 } 5362</style> 5363
5364<script> 5365(function () { 5366 var section = document.getElementById('lhcf-template--27730130764081__lh_contact_form_cPtLrA'); 5367 if (!section) return; 5368 5369 // ââ Scroll fade-up ââââââââââââââââââââââââââââââââââââ 5370 var targets = section.querySelectorAll('.lhcf__fade-up'); 5371 if (targets.length) { 5372 if ('IntersectionObserver' in window) { 5373 var io = new IntersectionObserver(function (entries) { 5374 entries.forEach(function (entry) { 5375 if (entry.isIntersecting) { 5376 entry.target.classList.add('is-visible'); 5377 io.unobserve(entry.target); 5378 } 5379 }); 5380 }, { threshold: 0.12 }); 5381 targets.forEach(function (el) { io.observe(el); }); 5382 } else { 5383 targets.forEach(function (el) { el.classList.add('is-visible'); }); 5384 } 5385 } 5386 5387 // ââ AJAX contact form submit ââââââââââââââââââââââââââ 5388 var form = document.getElementById('lhcf-form-template--27730130764081__lh_contact_form_cPtLrA'); 5389 if (!form) return; 5390 5391 var fieldsWrap = form.querySelector('.lhcf__fields'); 5392 var successEl = form.querySelector('.lhcf__success'); 5393 var btn = form.querySelector('.lhcf__btn'); 5394 5395 form.addEventListener('submit', function (e) { 5396 e.preventDefault(); 5397 5398 // Basic HTML5 validation 5399 if (!form.checkValidity()) { 5400 form.reportValidity(); 5401 return; 5402 } 5403 5404 // Loading state 5405 btn.disabled = true; 5406 btn.style.opacity = '0.65'; 5407 5408 fetch(form.action, { 5409 method: 'POST', 5410 headers: { 'X-Requested-With': 'XMLHttpRequest' }, 5411 body: new FormData(form) 5412 }) 5413 .then(function (res) { 5414 // Shopify redirects to ?contact%5Bposted_successfully%5D=true on success. 5415 // Any 2xx or redirect (fetch follows them) that returns the page means success. 5416 if (res.ok) { 5417 // Hide form fields, show success message 5418 if (fieldsWrap) fieldsWrap.style.display = 'none'; 5419 if (successEl) { successEl.style.display = ''; successEl.focus(); } 5420 } else { 5421 throw new Error('server'); 5422 } 5423 }) 5424 .catch(function () { 5425 btn.disabled = false; 5426 btn.style.opacity = ''; 5427 alert('Something went wrong. Please try again or email us directly.'); 5428 }); 5429 }); 5430})(); 5431</script>
5431 5432 5433 5434</section><section id="shopify-section-template--27730130764081__lh_contact_locations_6dG4ej" class="shopify-section lh-contact-locations-section"> 5435<section 5436 class="lhcl" 5437 id="lhcl-template--27730130764081__lh_contact_locations_6dG4ej" 5438 aria-label="Our Showrooms" 5439 5440 style="" 5441> 5442 <div class="lhcl__header lhcl__fade-up"><div class="lhcl__eyebrow" aria-hidden="true"> 5443 <span class="lhcl__eyebrow-line"></span> 5444 <span class="lhcl__eyebrow-text">Visit Us</span> 5445 <span class="lhcl__eyebrow-line lhcl__eyebrow-line--right"></span> 5446 </div><h2 class="lhcl__title">Our Showrooms</h2></div> 5447<div class="lhcl__grid"><div 5448 class="lhcl__card lhcl__fade-up" 5449 style="transition-delay: 0ms;" 5450 5451 > 5452 <div class="lhcl__card-bg" aria-hidden="true"><img src="//loganhollowell.com/cdn/shop/files/interior-new-location_bd0f5661-1304-480b-a6ed-4019a1606da3.avif?v=1786169002&width=1200" alt="The Beverly Hills<br>Showroom" srcset="//loganhollowell.com/cdn/shop/files/interior-new-location_bd0f5661-1304-480b-a6ed-4019a1606da3.avif?v=1786169002&width=600 600w, //loganhollowell.com/cdn/shop/files/interior-new-location_bd0f5661-1304-480b-a6ed-4019a1606da3.avif?v=1786169002&width=900 900w, //loganhollowell.com/cdn/shop/files/interior-new-location_bd0f5661-1304-480b-a6ed-4019a1606da3.avif?v=1786169002&width=1200 1200w" width="1200" height="1714" loading="lazy" sizes="(max-width: 768px) 100vw, 50vw" class="lhcl__card-img"> 5453</div> 5454 5455 <div class="lhcl__card-overlay" aria-hidden="true"></div> 5456 5457 <div class="lhcl__card-content"><p class="lhcl__card-city">Beverly Hills, California</p><h3 class="lhcl__card-name">The Beverly Hills<br>Showroom</h3><div class="lhcl__card-divider" aria-hidden="true"> 5458 <span class="lhcl__card-divider-line"></span> 5459 <span class="lhcl__card-divider-diamond"></span> 5460 </div><address class="lhcl__card-address"><p>411 N Canon Drive, Beverly Hills, CA 90210<br/></p></address><p class="lhcl__card-hours">Mon â Sat 11am â 6pm</p><div class="lhcl__card-ctas">
5460<a href="/pages/contact" class="lhcl__btn-ghost"> 5461 Request a Private Consultation 5462 </a></div> 5463 5464 </div> 5465 </div><div 5466 class="lhcl__card lhcl__fade-up" 5467 style="transition-delay: 100ms;" 5468 5469 > 5470 <div class="lhcl__card-bg" aria-hidden="true"><img src="//loganhollowell.com/cdn/shop/files/FOUR.jpg?v=1759863990&width=1200" alt="The New York SoHo<br>Showroom" srcset="//loganhollowell.com/cdn/shop/files/FOUR.jpg?v=1759863990&width=600 600w, //loganhollowell.com/cdn/shop/files/FOUR.jpg?v=1759863990&width=900 900w, //loganhollowell.com/cdn/shop/files/FOUR.jpg?v=1759863990&width=1200 1200w" width="1200" height="1600" loading="lazy" sizes="(max-width: 768px) 100vw, 50vw" class="lhcl__card-img"> 5471</div> 5472 5473 <div class="lhcl__card-overlay" aria-hidden="true"></div> 5474 5475 <div class="lhcl__card-content"><p class="lhcl__card-city">New York, New York</p><h3 class="lhcl__card-name">The New York SoHo<br>Showroom</h3><div class="lhcl__card-divider" aria-hidden="true"> 5476 <span class="lhcl__card-divider-line"></span> 5477 <span class="lhcl__card-divider-diamond"></span> 5478 </div><address class="lhcl__card-address"><p>109 Greene St Suite 1D, New York, NY 10012</p></address><p class="lhcl__card-hours">Mon â Fri 11am â 5pm, 5479Saturday & Sunday By Appointment Only</p><div class="lhcl__card-ctas">
5479<a href="/pages/logan-hollowell-new-york-soho" class="lhcl__btn-ghost"> 5480 Request a Private Consultation 5481 </a></div> 5482 5483 </div> 5484 </div></div></section> 5485 5486<style> 5487 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej { 5488 background: #f9f5ef; 5489 padding: 100px 2rem 96px; 5490 } 5491 5492 /* ââ Header âââââââââââââââââââââââââââââââââââââââââââ */ 5493 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__header { 5494 text-align: center; 5495 margin-bottom: 70px; 5496 } 5497 5498 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__eyebrow { 5499 display: flex; 5500 align-items: center; 5501 justify-content: center; 5502 gap: 18px; 5503 margin-bottom: 20px; 5504 } 5505 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__eyebrow-line { 5506 width: 38px; 5507 height: 1px; 5508 background: linear-gradient(90deg, transparent, #d4b896); 5509 flex-shrink: 0; 5510 } 5511 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__eyebrow-line--right { 5512 background: linear-gradient(90deg, #d4b896, transparent); 5513 } 5514 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__eyebrow-text { 5515 font-family: 'Jost', sans-serif; 5516 font-size: 0.75rem; /* was 0.58rem (<12px) â raised for WCAG 1.4.4 */ 5517 font-weight: 300; 5518 letter-spacing: 0.32em; 5519 text-transform: uppercase; 5520 color: #555555; /* was #b89a6e (2.5:1 on cream â WCAG 1.4.3 fail); #555 = 6.8:1 */ 5521 white-space: nowrap; 5522 } 5523 5524 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__title { 5525 font-family: 'Cormorant Garamond', Georgia, serif; 5526 font-size: clamp(2.4rem, 4.5vw, 4rem); 5527 font-weight: 300; 5528 font-style: italic; 5529 color: #111; 5530 line-height: 1.05; 5531 letter-spacing: 0em; 5532 margin: 4px 0 0; 5533 } 5534 5535 /* ââ Grid âââââââââââââââââââââââââââââââââââââââââââââ */ 5536 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__grid { 5537 display: grid; 5538 grid-template-columns: 1fr 1fr; 5539 gap: 28px; 5540 max-width: 1280px; 5541 margin: 0 auto; 5542 } 5543 5544 /* ââ Card âââââââââââââââââââââââââââââââââââââââââââââ */ 5545 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card { 5546 position: relative; 5547 overflow: hidden; 5548 background: #e8e2da; 5549 aspect-ratio: 4 / 5; 5550 } 5551 5552 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-bg { 5553 position: absolute; 5554 inset: 0; 5555 } 5556 5557 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-img { 5558 position: absolute; 5559 inset: 0; 5560 width: 100%; 5561 height: 100%; 5562 object-fit: cover; 5563 object-position: center; 5564 filter: brightness(0.6) saturate(0.75); 5565 transform: scale(1.04); 5566 transition: transform 8s ease; 5567 } 5568 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card:hover .lhcl__card-img { 5569 transform: scale(1.08); 5570 } 5571 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-img--placeholder { 5572 background: #2a2520; 5573 } 5574 5575 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-overlay { 5576 position: absolute; 5577 inset: 0; 5578 background: linear-gradient( 5579 to top, 5580 rgba(14, 12, 9, 0.78) 0%, 5581 rgba(14, 12, 9, 0.18) 55%, 5582 transparent 100% 5583 ); 5584 z-index: 1; 5585 } 5586 5587 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-content { 5588 position: absolute; 5589 bottom: 0; 5590 left: 0; 5591 right: 0; 5592 z-index: 2; 5593 padding: 2.5rem; 5594 display: flex; 5595 flex-direction: column; 5596 } 5597 5598 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-city { 5599 font-family: 'Jost', sans-serif; 5600 font-size: 0.75rem; /* was 0.58rem (~9.3px) â WCAG 1.4.4 */ 5601 font-weight: 300; 5602 letter-spacing: 0.32em; 5603 text-transform: uppercase; 5604 color: #d4b896; 5605 margin-bottom: 10px; 5606 } 5607
5608 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-name { 5609 font-family: 'Cormorant Garamond', Georgia, serif; 5610 font-size: clamp(1.8rem, 3.5vw, 3rem); 5611 font-weight: 300; 5612 font-style: italic; 5613 color: #fff; 5614 line-height: 1.05; 5615 margin: 0 0 20px; 5616 } 5617 5618 /* Divider */ 5619 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-divider { 5620 display: flex; 5621 align-items: center; 5622 gap: 12px; 5623 margin-bottom: 20px; 5624 } 5625 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-divider-line { 5626 flex: 1; 5627 height: 1px; 5628 background: linear-gradient(90deg, rgba(184,154,110,0.5), transparent); 5629 max-width: 60px; 5630 } 5631 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-divider-diamond { 5632 width: 4px; 5633 height: 4px; 5634 border: 1px solid rgba(212,184,150,0.6); 5635 transform: rotate(45deg); 5636 flex-shrink: 0; 5637 } 5638 5639 /* Address */ 5640 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-address { 5641 font-style: normal; 5642 font-family: 'Jost', sans-serif; 5643 font-size: var(--lh-sub-size, 0.9375rem); 5644 font-weight: 400; 5645 letter-spacing: 0.03em; 5646 color: rgba(255,255,255,0.65); 5647 line-height: 1.85; 5648 margin-bottom: 24px; 5649 } 5650 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-address strong { 5651 display: block; 5652 color: rgba(255,255,255,0.85); 5653 font-weight: 300; 5654 letter-spacing: 0.08em; 5655 margin-bottom: 4px; 5656 } 5657 5658 /* Hours */ 5659 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-hours { 5660 font-family: 'Jost', sans-serif; 5661 font-size: 0.75rem; /* was 0.65rem (~10.4px) â WCAG 1.4.4 */ 5662 font-weight: 300; 5663 letter-spacing: 0.08em; 5664 color: rgba(255,255,255,0.48); 5665 line-height: 1.85; 5666 margin-bottom: 28px; 5667 } 5668 5669 /* Weekly hours group: live status + grouped lines + optional notice */ 5670 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__hours-group { 5671 margin-bottom: 28px; 5672 } 5673 5674 /* Live status â hidden until the script fills it in */ 5675 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__status { 5676 display: flex; 5677 align-items: center; 5678 gap: 9px; 5679 margin-bottom: 8px; 5680 } 5681 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__status[hidden] { display: none; } 5682 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__dot { 5683 width: 6px; 5684 height: 6px; 5685 border-radius: 50%; 5686 flex: none; 5687 background: rgba(255,255,255,0.4); 5688 } 5689 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__dot.is-open { 5690 background: #d4b896; 5691 box-shadow: 0 0 0 3px rgba(212,184,150,0.22); 5692 } 5693 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__dot.is-closed { 5694 background: rgba(255,255,255,0.4); 5695 } 5696 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__status-txt { 5697 font-family: 'Jost', sans-serif; 5698 font-size: 0.8125rem; 5699 font-weight: 400; 5700 letter-spacing: 0.06em; 5701 color: rgba(255,255,255,0.75); 5702 } 5703 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__status-txt.is-open { color: #fff; } 5704 5705 /* Grouped weekly hours (same rendering as the footer) */ 5706 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__hours { 5707 display: flex; 5708 flex-direction: column; 5709 gap: 2px; 5710 margin: 0; 5711 } 5712 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__hours-line { 5713 font-family: 'Jost', sans-serif; 5714 font-size: 0.75rem; 5715 font-weight: 300; 5716 letter-spacing: 0.08em; 5717 line-height: 1.85; 5718 color: rgba(255,255,255,0.6); 5719 } 5720 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-notice { 5721 font-family: 'Jost', sans-serif; 5722 font-size: 0.75rem; 5723 font-weight: 400; 5724 letter-spacing: 0.08em; 5725 color: #d4b896; 5726 margin: 8px 0 0; 5727 } 5728 5729 /* CTAs */ 5730 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-ctas { 5731 display: flex; 5732 gap: 12px; 5733 flex-wrap: wrap; 5734 align-items: flex-end; 5735 } 5736 5737 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__bt
5737n-ghost { 5738 display: inline-block; 5739 padding: 11px 24px; 5740 border: 1px solid rgba(255,255,255,0.35); 5741 color: #fff; 5742 font-family: 'Jost', sans-serif; 5743 font-size: 0.75rem; /* was 0.58rem (~9.3px) â WCAG 1.4.4 */ 5744 font-weight: 300; 5745 letter-spacing: 0.22em; 5746 text-transform: uppercase; 5747 cursor: pointer; 5748 position: relative; 5749 overflow: hidden; 5750 transition: border-color 0.3s ease; 5751 text-decoration: none; 5752 } 5753 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__btn-ghost::before { 5754 content: ''; 5755 position: absolute; 5756 inset: 0; 5757 background: #b89a6e; 5758 transform: translateX(-101%); 5759 transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1); 5760 z-index: -1; 5761 } 5762 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__btn-ghost:hover { 5763 border-color: #b89a6e; 5764 } 5765 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__btn-ghost:hover::before { 5766 transform: translateX(0); 5767 } 5768 5769 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__btn-text { 5770 display: inline-flex; 5771 align-items: center; 5772 gap: 8px; 5773 font-family: 'Jost', sans-serif; 5774 font-size: 0.75rem; /* was 0.58rem (~9.3px) â WCAG 1.4.4 */ 5775 font-weight: 300; 5776 letter-spacing: 0.22em; 5777 text-transform: uppercase; 5778 color: rgba(255,255,255,0.55); 5779 padding-bottom: 2px; 5780 border-bottom: 1px solid rgba(255,255,255,0.2); 5781 transition: color 0.25s ease, border-color 0.25s ease; 5782 text-decoration: none; 5783 align-self: flex-end; 5784 } 5785 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__btn-text:hover { 5786 color: #d4b896; 5787 border-color: #d4b896; 5788 } 5789 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__btn-text svg { 5790 transition: transform 0.25s ease; 5791 } 5792 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__btn-text:hover svg { 5793 transform: translateX(4px); 5794 } 5795 5796 /* ââ Fade-up animation ââââââââââââââââââââââââââââââââ */ 5797 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__fade-up { 5798 opacity: 0; 5799 transform: translateY(32px); 5800 transition: 5801 opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), 5802 transform 0.9s cubic-bezier(0.22, 1, 0.36, 1); 5803 } 5804 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__fade-up.is-visible { 5805 opacity: 1; 5806 transform: translateY(0); 5807 } 5808 5809 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__empty { 5810 text-align: center; 5811 color: #888; 5812 font-family: 'Jost', sans-serif; 5813 font-size: 0.8rem; 5814 padding: 2rem 0; 5815 } 5816 5817 /* ââ Responsive âââââââââââââââââââââââââââââââââââââââ */ 5818 @media (max-width: 768px) { 5819 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej { 5820 padding: 72px 1rem 64px; 5821 } 5822 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__grid { 5823 grid-template-columns: 1fr; 5824 gap: 20px; 5825 } 5826 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card { 5827 aspect-ratio: 3 / 4; 5828 } 5829 #lhcl-template--27730130764081__lh_contact_locations_6dG4ej .lhcl__card-content { 5830 padding: 2rem 1.5rem; 5831 } 5832 } 5833</style> 5834
5835<script> 5836(function () { 5837 var section = document.getElementById('lhcl-template--27730130764081__lh_contact_locations_6dG4ej'); 5838 if (!section) return; 5839 5840 var targets = section.querySelectorAll('.lhcl__fade-up'); 5841 if (!targets.length) return; 5842 5843 if ('IntersectionObserver' in window) { 5844 var io = new IntersectionObserver(function (entries) { 5845 entries.forEach(function (entry) { 5846 if (entry.isIntersecting) { 5847 entry.target.classList.add('is-visible'); 5848 io.unobserve(entry.target); 5849 } 5850 }); 5851 }, { threshold: 0.1 }); 5852 5853 targets.forEach(function (el) { io.observe(el); }); 5854 } else { 5855 targets.forEach(function (el) { el.classList.add('is-visible'); }); 5856 } 5857})(); 5858</script>
5858<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-showroom-status.js?v=19991405421510752861790192133" defer></script>
5858 5859</section> 5860 </main> 5861 5862 <!-- BEGIN sections: footer-group --> 5863<section id="shopify-section-sections--27730117820721__lh_newsletter_Lb8gxJ" class="shopify-section shopify-section-group-footer-group shopify-section"><section 5864 class="lh-nl" 5865 style=" 5866 --lh-nl-bg: #0e0e0e; 5867 --lh-nl-heading: #f9f5ef; 5868 --lh-nl-eyebrow: #b89a6e; 5869 --lh-nl-sub: #888880; 5870 --lh-nl-btn-bg: #b89a6e; 5871 --lh-nl-btn-fg: #ffffff; 5872 --lh-nl-border: #3a3228; 5873 --lh-nl-pt: 96px; 5874 --lh-nl-pb: 80px; 5875 " 5876 aria-label="Join the Goddess Collective" 5877><div class="lh-nl__inner"><p class="lh-nl__eyebrow">Stay in the World of LH</p><h2 class="lh-nl__title">Join the Goddess Collective</h2><p class="lh-nl__sub">Be the first to know about new gem drops and exclusive promotions.</p><form method="post" action="/contact#lh-nl-form-{{ section.id }}" id="lh-nl-form-{{ section.id }}" accept-charset="UTF-8" class="lh-nl__form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="contact[tags]" value="newsletter"><div class="lh-nl__field-row"> 5878 <label for="lh-nl-email-sections--27730117820721__lh_newsletter_Lb8gxJ" class="visually-hidden">Email address</label> 5879 <input 5880 id="lh-nl-email-sections--27730117820721__lh_newsletter_Lb8gxJ" 5881 class="lh-nl__input" 5882 type="email" 5883 name="contact[email]" 5884 value="" 5885 placeholder="Email address" 5886 autocomplete="email" 5887 autocorrect="off" 5888 autocapitalize="off" 5889 required 5890 aria-required="true"> 5891 <button class="lh-nl__btn" type="submit" data-label="Subscribe">Subscribe</button> 5892 </div></form></div> 5893 5894</section> 5895
5896<script> 5897(function () { 5898 var form = document.getElementById('lh-nl-form-sections--27730117820721__lh_newsletter_Lb8gxJ'); 5899 if (!form) return; 5900 5901 var successMsg = "Thank you for subscribing."; 5902 5903 form.addEventListener('submit', async function (e) { 5904 e.preventDefault(); 5905 5906 var btn = form.querySelector('.lh-nl__btn'); 5907 var fieldRow = form.querySelector('.lh-nl__field-row'); 5908 5909 // Clear any previous inline error 5910 var prevErr = form.querySelector('.lh-nl__error'); 5911 if (prevErr) prevErr.remove(); 5912 5913 // Disable button while submitting 5914 btn.disabled = true; 5915 btn.textContent = '\u2026'; // ellipsis 5916 5917 try { 5918 var res = await fetch(form.action, { method: 'POST', body: new FormData(form) }); 5919 var html = await res.text(); 5920 var doc = (new DOMParser()).parseFromString(html, 'text/html'); 5921 5922 var successEl = doc.querySelector('.lh-nl__success'); 5923 var errorEl = doc.querySelector('#lh-nl-email-error-sections--27730117820721__lh_newsletter_Lb8gxJ'); 5924 5925 if (errorEl) { 5926 // Show server-returned error inline without reload 5927 var errNode = document.createElement('p'); 5928 errNode.id = 'lh-nl-email-error-sections--27730117820721__lh_newsletter_Lb8gxJ'; 5929 errNode.className = 'lh-nl__error'; 5930 errNode.setAttribute('role', 'alert'); 5931 errNode.textContent = errorEl.textContent.trim(); 5932 fieldRow.before(errNode); 5933 btn.disabled = false; 5934 btn.textContent = btn.dataset.label; 5935 } else { 5936 // Success â swap field row for success message 5937 var msg = document.createElement('p'); 5938 msg.className = 'lh-nl__success'; 5939 msg.setAttribute('role', 'status'); 5940 msg.textContent = successEl ? successEl.textContent.trim() : successMsg; 5941 fieldRow.replaceWith(msg); 5942 } 5943 } catch (_) { 5944 // Network failure â re-enable so user can retry 5945 btn.disabled = false; 5946 btn.textContent = btn.dataset.label; 5947 } 5948 }); 5949})(); 5950</script>
5950 5951 5952<style> 5953/* âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 5954 LH NEWSLETTER â lh-nl__ 5955 Standalone email signup section, fully themeable via schema. 5956âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 5957 5958.lh-nl { 5959 background: var(--lh-nl-bg, #0e0e0e); 5960 padding: var(--lh-nl-pt, 96px) 2rem var(--lh-nl-pb, 80px); 5961 border-top: 1px solid var(--lh-nl-border, rgba(184,154,110,0.15)); 5962 border-bottom: 1px solid var(--lh-nl-border, rgba(184,154,110,0.15)); 5963} 5964 5965.lh-nl__inner { 5966 text-align: center; 5967 max-width: 600px; 5968 margin: 0 auto; 5969} 5970 5971.lh-nl__eyebrow { 5972 font-family: var(--sans, 'Jost', sans-serif); 5973 font-size: 0.75rem; 5974 font-weight: 300; 5975 letter-spacing: 0.32em; /* normalised from 0.36em */ 5976 text-transform: uppercase; 5977 color: var(--lh-nl-eyebrow, #b89a6e); /* gold passes on default dark bg (#0e0e0e ~6.3:1) */ 5978 margin-bottom: 20px; 5979} 5980 5981.lh-nl__title { 5982 font-family: var(--serif, 'Cormorant Garamond', serif); 5983 font-size: clamp(2rem, 3.5vw, 3.2rem); 5984 font-weight: 300; 5985 font-style: italic; 5986 color: var(--lh-nl-heading, #f9f5ef); 5987 line-height: 1.1; 5988 margin-bottom: 12px; 5989} 5990 5991.lh-nl__sub { 5992 font-family: var(--sans, 'Jost', sans-serif); 5993 font-size: var(--lh-sub-size, 0.9375rem); 5994 font-weight: var(--lh-sub-weight, 400); 5995 letter-spacing: var(--lh-sub-tracking, 0.08em); 5996 color: var(--lh-nl-sub, var(--lh-sub-on-dark, #a0a098)); 5997 margin-bottom: 40px; 5998 line-height: 1.8; 5999} 6000 6001/* ââ Form ââ */ 6002.lh-nl__form { 6003 width: 100%; 6004} 6005 6006.lh-nl__field-row { 6007 display: flex; 6008 align-items: stretch; 6009 justify-content: center; 6010 max-width: 480px; 6011 margin: 0 auto; 6012} 6013 6014.lh-nl__input { 6015 flex: 1; 6016 min-width: 0; 6017 background: rgba(255,255,255,0.05); 6018 border: 1px solid var(--lh-nl-border, rgba(184,154,110,0.25)); 6019 border-right: none; 6020 padding: 14px 20px; 6021 font-family: var(--sans, 'Jost', sans-serif); 6022 font-size: 0.875rem; 6023 font-weight: 300; 6024 letter-spacing: 0.06em; 6025 color: var(--lh-nl-heading, #f9f5ef); 6026 outline: none; 6027 transition: border-color 0.25s ease, background 0.25s ease; 6028 -webkit-appearance: none; 6029} 6030.lh-nl__input::placeholder { 6031 color: var(--lh-nl-sub, rgba(249,245,239,0.58)); /* was 0.3 (~3:1 fail on dark) â 0.58 (~5.8:1 AA) */ 6032} 6033.lh-nl__input:focus { 6034 border-color: var(--lh-nl-eyebrow, rgba(184,154,110,0.55)); 6035 background: rgba(255,255,255,0.07); 6036} 6037 6038.lh-nl__btn { 6039 background: var(--lh-nl-btn-bg, #b89a6e); 6040 border: 1px solid var(--lh-nl-btn-bg, #b89a6e); 6041 padding: 14px 28px; 6042 font-family: var(--sans, 'Jost', sans-serif); 6043 font-size: 0.75rem; 6044 font-weight: var(--lh-button-weight, 400); /* normalised from 300 â matches site-wide button token */ 6045 letter-spacing: 0.22em; /* normalised from 0.24em to match --lh-button-tracking */ 6046 text-transform: uppercase; 6047 color: var(--lh-nl-btn-fg, #fff); 6048 cursor: pointer; 6049 white-space: nowrap; 6050 transition: filter 0.25s ease; 6051 flex-shrink: 0; 6052 min-height: 44px; 6053} 6054.lh-nl__btn:hover { 6055 filter: brightness(0.88); 6056} 6057.lh-nl__btn:focus-visible { 6058 outline: 2px solid var(--lh-nl-eyebrow, #b89a6e); 6059 outline-offset: 2px; 6060} 6061 6062/* ââ States ââ */ 6063.lh-nl__success { 6064 font-family: var(--sans, 'Jost', sans-serif); 6065 font-size: 0.75rem; 6066 font-weight: 300; 6067 letter-spacing: 0.12em; 6068 color: var(--lh-nl-eyebrow, #b89a6e); 6069 padding: 14px 0; 6070} 6071 6072.lh-nl__error { 6073 font-family: var(--sans, 'Jost', sans-serif); 6074 font-size: 0.75rem; 6075 font-weight: 300; 6076 letter-spacing: 0.06em; 6077 color: #e07070; 6078 margin-bottom: 12px; 6079} 6080 6081@media (prefers-reduced-motion: reduce) { 6082 .lh-nl__input, 6083 .lh-nl__btn { transition: none !important; } 6084} 6085 6086/* ââ Mobile ââ */ 6087@media (max-width: 640px) { 6088 .lh-nl__field-row { 6089 flex-direction: column; 6090 max-width: 100%; 6091 } 6092 .lh-nl__input { 6093 border-right: 1px solid var(--lh-nl-border, rgba(184,154,110,0.25)); 6094 } 6095 .lh-nl__btn { 6096 width: 100%; 6097 padding: 16px; 6098 margin-top: 8px; 6099 } 6100} 6101</style> 6102 6103 6104</section><section id="shopify-section-sections--27730117820721__lh_footer_E8rkG4" class="shopify-section shopify-section-group-footer-group shopify-section"><footer 6105 class="lh-ft" 6106 role="contentinfo" 6107 style=" 6108 --lh-ft-bg: #0e0e0e; 6109 --lh-ft-heading: #b89a6e; 6110 --lh-ft-link: #8a8482; 6111 --lh-ft-link-hov: #c9a96e; 6112 --lh-ft-border: #1e1a16; 6113 --lh-ft-wm: #1a1512; 6114 --lh-ft-logo-w: 130px; 6115 " 6116><div class="lh-ft__visit"><div class="lh-ft__visit-eyebrow">
6117 <span>Visit Us</span> 6118 <i aria-hidden="true"></i> 6119 </div><div class="lh-ft__visit-grid" data-count="2"><div class="lh-ft__shop" ><p class="lh-ft__shop-city">Beverly Hills, California</p><h3 class="lh-ft__shop-name">The Beverly Hills Showroom</h3><address class="lh-ft__shop-addr"><p>411 N Canon Drive<br/>Beverly Hills, CA 90210</p></address><div 6120 class="lh-ft__status" 6121 hidden 6122 data-lh-hours='{"tz":"America/Los_Angeles","days":{"mon":"11:00-18:00","tue":"11:00-18:00","wed":"11:00-18:00","thu":"11:00-18:00","fri":"11:00-18:00","sat":"11:00-18:00","sun":"closed"},"overrides":{"2026-09-07":"closed"}}' 6123 > 6124 <span class="lh-ft__dot" data-lh-status-dot></span> 6125 <span class="lh-ft__status-txt" data-lh-status-text></span> 6126 </div><div class="lh-ft__shop-hours"><span class="lh-ft__hours-line">Monday â Saturday, 11am â 6pm</span><span class="lh-ft__hours-line">Sunday, Closed</span></div><div class="lh-ft__shop-ctas"><a href="/pages/contact" class="lh-ft__link-gold">Book an Appointment</a><a 6127 href="https://maps.google.com/?q=411+N+Canon+Drive,+Beverly+Hills,+CA+90210" 6128 class="lh-ft__link-plain" 6129 target="_blank" 6130 rel="noopener" 6131 > 6132 Get Directions<span class="visually-hidden"> (opens in a new tab)</span> 6133
6134 <svg width="11" height="11" viewBox="0 0 24 24" fill="none" aria-hidden="true"> 6135 <path d="M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/> 6136 </svg> 6137 </a></div> 6138 6139 </div><div class="lh-ft__shop" ><p class="lh-ft__shop-city">New York, New York</p><h3 class="lh-ft__shop-name">The New York SoHo Showroom</h3><address class="lh-ft__shop-addr"><p>109 Greene St, Suite 1D<br/>New York, NY 10012</p></address><div 6140 class="lh-ft__status" 6141 hidden 6142 data-lh-hours='{"tz":"America/New_York","days":{"mon":"11:00-17:00","tue":"11:00-17:00","wed":"11:00-17:00","thu":"11:00-17:00","fri":"11:00-17:00","sat":"appointment","sun":"appointment"},"overrides":{"2026-09-07":"closed"}}' 6143 > 6144 <span class="lh-ft__dot" data-lh-status-dot></span> 6145 <span class="lh-ft__status-txt" data-lh-status-text></span> 6146 </div><div class="lh-ft__shop-hours"><span class="lh-ft__hours-line">Monday â Friday, 11am â 5pm</span><span class="lh-ft__hours-line">Saturday â Sunday, By appointment</span></div><div class="lh-ft__shop-ctas"><a href="/pages/contact" class="lh-ft__link-gold">Book an Appointment</a><a 6147 href="https://maps.google.com/?q=109+Greene+St,+New+York,+NY+10012" 6148 class="lh-ft__link-plain" 6149 target="_blank" 6150 rel="noopener" 6151 > 6152 Get Directions<span class="visually-hidden"> (opens in a new tab)</span> 6153
6154 <svg width="11" height="11" viewBox="0 0 24 24" fill="none" aria-hidden="true"> 6155 <path d="M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/> 6156 </svg> 6157 </a></div> 6158 6159 </div></div> 6160 </div><div class="lh-ft__columns"><div class="lh-ft__col" data-col-type="menu" > 6161 <details class="lh-ft__accordion"> 6162 <summary class="lh-ft__accordion-btn"> 6163 <span class="lh-ft__col-heading">Get in Touch</span> 6164 <svg class="lh-ft__chevron" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true"> 6165 <path d="M2 4l4 4 4-4" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/> 6166 </svg> 6167 </summary><ul class="lh-ft__col-list"><li> 6168 <a 6169 href="tel:3238537844" 6170 class="lh-ft__col-link" 6171 6172 >(323) 853-7844</a> 6173 </li><li> 6174 <a 6175 href="mailto:[email protected]" 6176 class="lh-ft__col-link" 6177 6178 >[email protected]</a> 6179 </li><li> 6180 <a 6181 href="/pages/contact" 6182 class="lh-ft__col-link" 6183 6184 >Contact Us</a> 6185 </li></ul></details> 6186 </div><div class="lh-ft__col" data-col-type="menu" > 6187 <details class="lh-ft__accordion"> 6188 <summary class="lh-ft__accordion-btn"> 6189 <span class="lh-ft__col-heading">Featured</span> 6190 <svg class="lh-ft__chevron" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true"> 6191 <path d="M2 4l4 4 4-4" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/> 6192 </svg> 6193 </summary><ul class="lh-ft__col-list"><li> 6194 <a 6195 href="/collections/queen" 6196 class="lh-ft__col-link" 6197 6198 >Queen</a> 6199 </li><li> 6200 <a 6201 href="/collections/constellation" 6202 class="lh-ft__col-link" 6203 6204 >Constellation</a> 6205 </li><li> 6206 <a 6207 href="/collections/bubble-collection" 6208 class="lh-ft__col-link" 6209 6210 >Bubble</a> 6211 </li><li> 6212 <a 6213 href="/collections/the-wilderness" 6214 class="lh-ft__col-link" 6215 6216 >Wilderness</a> 6217 </li><li> 6218 <a 6219 href="/collections/sacred" 6220 class="lh-ft__col-link" 6221 6222 >Sacred</a> 6223 </li><li> 6224 <a 6225 href="/collections/dew-drop-rose-cut-diamond" 6226 class="lh-ft__col-link" 6227 6228 >Eau de Rose</a> 6229 </li><li> 6230 <a 6231 href="/collections/enigma-collection" 6232 class="lh-ft__col-link" 6233 6234 >Enigma</a> 6235 </li></ul></details> 6236 </div><div class="lh-ft__col" data-col-type="menu" > 6237 <details class="lh-ft__accordion"> 6238 <summary class="lh-ft__accordion-btn"> 6239 <span class="lh-ft__col-heading">Customer Care</span> 6240 <svg class="lh-ft__chevron" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true"> 6241 <path d="M2 4l4 4 4-4" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/> 6242 </svg> 6243 </summary><ul class="lh-ft__col-list"><li> 6244 <a 6245 href="/pages/join-the-goddess-collective" 6246 class="lh-ft__col-link" 6247 6248 >Join the Goddess Collective</a> 6249 </li><li> 6250 <a 6251 href="/pages/life-path-number-calculator" 6252 class="lh-ft__col-link" 6253 6254 >Life Path Number Calculator</a> 6255 </li><li> 6256 <a 6257 href="/pages/faq" 6258 class="lh-ft__col-link" 6259 6260 >FAQ</a> 6261 </li><li> 6262 <a 6263 href="/pages/shipping" 6264 class="lh-ft__col-link" 6265 6266 >Shipping</a> 6267 </li><li> 6268 <a 6269 href="/pages/policies" 6270 class="lh-ft__col-link" 6271 6272 >Policies</a> 6273 </li><li> 6274 <a 6275 href="/pages/contact" 6276 class="lh-ft__col-link" 6277 6278 >Contact Us</a> 6279 </li></ul></details> 6280 </div><div class="lh-ft__col lh-ft__col--social" data-col-type="social" ><h3 class="lh-ft__col-heading">Connect</h3><div class="lh-ft__social"><a href="https://www.instagram.com/loganhollowell" class="lh-ft__social-link" target="_blank" rel="noopener" aria-label="Instagram (opens in a new tab)"> 6281 <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> 6282 <rect x="2" y="2" width="20" height="20" rx="5" ry="5"/> 6283 <path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"/> 6284 <line x1="17.5" y1="6.5" x2="17.51" y2="6.5"/> 6285 </svg> 6286 </a><a href="https://www.pinterest.com/loganhollowell/" class="lh-ft__social-link" target="_blank" rel="noopener" aria-label="Pinterest (opens in a new tab)"> 6287 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> 6288 <path d="M12 0C5.373 0 0 5.373 0 12c0 5.084 3.163 9.426 7.627 11.174-.105-.949-.2-2.405.042-3.441.218-.937 1.407-5.965 1.407-5.965s-.359-.719-.359-1.782c0-1.668.967-2.914 2.171-2.914 1.023 0 1.518.769 1.518 1.69 0 1.029-.655 2.568-.994 3.995-.283 1.194.599 2.169 1.7
628877 2.169 2.133 0 3.772-2.249 3.772-5.495 0-2.873-2.064-4.882-5.012-4.882-3.414 0-5.418 2.561-5.418 5.207 0 1.031.397 2.138.893 2.738a.36.36 0 0 1 .083.345l-.333 1.36c-.053.22-.174.267-.402.161-1.499-.698-2.436-2.889-2.436-4.649 0-3.785 2.75-7.262 7.929-7.262 4.163 0 7.398 2.967 7.398 6.931 0 4.136-2.607 7.464-6.227 7.464-1.216 0-2.359-.632-2.75-1.378l-.748 2.853c-.271 1.043-1.002 2.35-1.492 3.146C9.57 23.812 10.763 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z"/> 6289 </svg> 6290 </a><a href="https://www.tiktok.com/@loganhollowell?lang=en" class="lh-ft__social-link" target="_blank" rel="noopener" aria-label="TikTok (opens in a new tab)"> 6291 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> 6292 <path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-2.88 2.5 2.89 2.89 0 0 1-2.89-2.89 2.89 2.89 0 0 1 2.89-2.89c.28 0 .54.04.79.1V9.01a6.32 6.32 0 0 0-.79-.05 6.34 6.34 0 0 0-6.34 6.34 6.34 6.34 0 0 0 6.34 6.34 6.34 6.34 0 0 0 6.33-6.34V8.69a8.18 8.18 0 0 0 4.78 1.52V6.75a4.85 4.85 0 0 1-1.01-.06z"/> 6293 </svg> 6294 </a><a href="https://www.facebook.com/loganhollowelljewelry/" class="lh-ft__social-link" target="_blank" rel="noopener" aria-label="Facebook (opens in a new tab)"> 6295 <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> 6296 <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/> 6297 </svg> 6298 </a></div><div class="lh-ft__apps"><a href="https://play.google.com/store/apps/details?id=co.app.id_dXe9FIXuwt&pcampaignid=web_share" class="lh-ft__app-link" target="_blank" rel="noopener"><img src="//loganhollowell.com/cdn/shop/files/GetItOnGooglePlay_Badge_Web_color_English.png?v=1787670311&width=270" alt="Download on the App Store" srcset="//loganhollowell.com/cdn/shop/files/GetItOnGooglePlay_Badge_Web_color_English.png?v=1787670311&width=270 270w" width="270" height="80" loading="lazy" class="lh-ft__app-img" style="width:135px"><span class="visually-hidden"> (opens in a new tab)</span> 6299</a><a href="https://apps.apple.com/us/app/logan-hollowell/id1536495505" class="lh-ft__app-link" target="_blank" rel="noopener"><img src="//loganhollowell.com/cdn/shop/files/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg?v=1787666969&width=270" alt="Get it on Google Play" srcset="//loganhollowell.com/cdn/shop/files/Download_on_the_App_Store_Badge_US-UK_RGB_blk_092917.svg?v=1787666969&width=270 270w" width="270" height="91" loading="lazy" class="lh-ft__app-img" style="width:135px"><span class="visually-hidden"> (opens in a new tab)</span> 6300</a></div></div></div><div class="lh-ft__bottom"> 6301 <p class="lh-ft__copy">© 2026 Logan Hollowell. All rights reserved.</p> 6302 <nav class="lh-ft__legal" aria-label="Legal links"><a href="/pages/privacy-policy" class="lh-ft__legal-link">Privacy Policy</a><a href="/pages/ccpa-compliance" class="lh-ft__legal-link">CCPA Compliance</a><a href="/pages/accessibility" class="lh-ft__legal-link">Accessibility</a></nav> 6303 </div><div class="lh-ft__locale"><form method="post" action="/localization" id="localization_form" accept-charset="UTF-8" class="lh-ft__locale-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/pages/contact" /><label class="visually-hidden" for="lh-ft-country"> 6304 Currency 6305 </label> 6306 <select 6307 id="lh-ft-country" 6308 name="country_code" 6309 class="lh-ft__locale-select" 6310 onchange="this.form.submit()" 6311 ><option 6312 value="AF" 6313 6314 > 6315 Afghanistan (AFN Ø) 6316 </option><option 6317 value="AX" 6318 6319 > 6320 à land Islands (EUR â¬) 6321 </option><option 6322 value="AL" 6323 6324 > 6325 Albania (ALL L) 6326 </option><option 6327 value="DZ" 6328 6329 > 6330 Algeria (DZD د.ج) 6331 </option><option 6332 value="AD" 6333 6334 > 6335 Andorra (EUR â¬) 6336 </option><option 6337 value="AO" 6338 6339 > 6340 Angola (USD $) 6341 </option><option 6342 value="AI" 6343 6344 > 6345 Anguilla (XCD $) 6346 </option><option 6347 value="AG" 6348 6349 > 6350 Antigua & Barbuda (XCD $) 6351 </option><option 6352 value="AR" 6353 6354 > 6355 Argentina (USD $) 6356 </option><option 6357 value="AM" 6358 6359 > 6360 Armenia (AMD Õ¤Ö.) 6361 </option><option 6362 value="AW" 6363 6364 > 6365 Aruba (AWG Æ) 6366 </option><option 6367 value="AU" 6368 6369 > 6370 Australia (AUD $) 6371 </option><option 6372 value="AT" 6373 6374 > 6375 Austria (EUR â¬) 6376 </option><option 6377 value="AZ" 6378 6379 > 6380 Azerbaijan (AZN â¼) 6381 </option><option 6382 value="BS" 6383 6384 > 6385 Bahamas (BSD $) 6386 </option><option 6387 value="BH" 6388 6389 > 6390 Bahrain (USD $) 6391 </option><option 6392 value="BD" 6393 6394 > 6395 Bangladesh (BDT à§³) 6396 </option><option 6397 value="BB" 6398 6399 > 6400 Barbados (BBD $) 6401 </option><option 6402 value="BY" 6403 6404 > 6405 Belarus (USD $) 6406 </option><option 6407 value="BE" 6408 6409 > 6410 Belgium (EUR â¬) 6411 </option><option 6412 value="BZ" 6413 6414 > 6415 Belize (BZD $) 6416 </option><option 6417 value="BJ" 6418 6419 > 6420 Benin (XOF Fr) 6421 </option><option 6422 value="BM" 6423 6424 > 6425 Bermuda (USD $) 6426 </option><option 6427 value="BT" 6428 6429 > 6430 Bhutan (USD $) 6431 </option><option 6432 value="BO" 6433 6434 > 6435 Bolivia (BOB Bs.) 6436 </option><option 6437 value="BA" 6438 6439 > 6440 Bosnia & Herzegovina (BAM ÐÐ) 6441 </option><option 6442 value="BW" 6443 6444 > 6445 Botswana (BWP P) 6446 </option><option 6447 value="BV" 6448 6449 > 6450 Bouvet Island (USD $) 6451 </option><option 6452 value="BR"
6453 6454 > 6455 Brazil (USD $) 6456 </option><option 6457 value="IO" 6458 6459 > 6460 British Indian Ocean Territory (USD $) 6461 </option><option 6462 value="VG" 6463 6464 > 6465 British Virgin Islands (USD $) 6466 </option><option 6467 value="BN" 6468 6469 > 6470 Brunei (BND $) 6471 </option><option 6472 value="BG" 6473 6474 > 6475 Bulgaria (EUR â¬) 6476 </option><option 6477 value="BF" 6478 6479 > 6480 Burkina Faso (XOF Fr) 6481 </option><option 6482 value="BI" 6483 6484 > 6485 Burundi (BIF Fr) 6486 </option><option 6487 value="KH" 6488 6489 > 6490 Cambodia (KHR á) 6491 </option><option 6492 value="CM" 6493 6494 > 6495 Cameroon (XAF CFA) 6496 </option><option 6497 value="CA" 6498 6499 > 6500 Canada (CAD $) 6501 </option><option 6502 value="CV" 6503 6504 > 6505 Cape Verde (CVE $) 6506 </option><option 6507 value="BQ" 6508 6509 > 6510 Caribbean Netherlands (USD $) 6511 </option><option 6512 value="KY" 6513 6514 > 6515 Cayman Islands (KYD $) 6516 </option><option 6517 value="CF" 6518 6519 > 6520 Central African Republic (XAF CFA) 6521 </option><option 6522 value="TD" 6523 6524 > 6525 Chad (XAF CFA) 6526 </option><option 6527 value="CL" 6528 6529 > 6530 Chile (USD $) 6531 </option><option 6532 value="CN" 6533 6534 > 6535 China (CNY Â¥) 6536 </option><option 6537 value="CX" 6538 6539 > 6540 Christmas Island (AUD $) 6541 </option><option 6542 value="CC" 6543 6544 > 6545 Cocos (Keeling) Islands (AUD $) 6546 </option><option 6547 value="CO" 6548 6549 > 6550 Colombia (USD $) 6551 </option><option 6552 value="KM" 6553 6554 > 6555 Comoros (KMF Fr) 6556 </option><option 6557 value="CG" 6558 6559 > 6560 Congo - Brazzaville (XAF CFA) 6561 </option><option 6562 value="CD" 6563 6564 > 6565 Congo - Kinshasa (CDF Fr) 6566 </option><option 6567 value="CK" 6568 6569 > 6570 Cook Islands (NZD $) 6571 </option><option 6572 value="CR" 6573 6574 > 6575 Costa Rica (CRC â¡) 6576 </option><option 6577 value="CI" 6578 6579 > 6580 Côte dâIvoire (XOF Fr) 6581 </option><option 6582 value="HR" 6583 6584 > 6585 Croatia (EUR â¬) 6586 </option><option 6587 value="CW" 6588 6589 > 6590 Curaçao (ANG Æ) 6591 </option><option 6592 value="CY" 6593 6594 > 6595 Cyprus (EUR â¬) 6596 </option><option 6597 value="CZ" 6598 6599 > 6600 Czechia (CZK KÄ) 6601 </option><option 6602 value="DK" 6603 6604 > 6605 Denmark (DKK kr.) 6606 </option><option 6607 value="DJ" 6608 6609 > 6610 Djibouti (DJF Fdj) 6611 </option><option 6612 value="DM" 6613 6614 > 6615 Dominica (XCD $) 6616 </option><option 6617 value="DO" 6618 6619 > 6620 Dominican Republic (DOP $) 6621 </option><option 6622 value="EC" 6623 6624 > 6625 Ecuador (USD $) 6626 </option><option 6627 value="EG" 6628 6629 > 6630 Egypt (EGP ج.Ù ) 6631 </option><option 6632 value="SV" 6633 6634 > 6635 El Salvador (USD $) 6636 </option><option 6637 value="GQ" 6638 6639 > 6640 Equatorial Guinea (XAF CFA) 6641 </option><option 6642 value="ER" 6643 6644 > 6645 Eritrea (USD $) 6646 </option><option 6647 value="EE" 6648 6649 > 6650 Estonia (EUR â¬) 6651 </option><option 6652 value="SZ" 6653 6654 > 6655 Eswatini (USD $) 6656 </option><option 6657 value="ET" 6658 6659 > 6660 Ethiopia (ETB Br) 6661 </option><option 6662 value="FK" 6663 6664 > 6665 Falkland Islands (FKP £) 6666 </option><option 6667 value="FO" 6668 6669 > 6670 Faroe Islands (DKK kr.) 6671 </option><option 6672 value="FJ" 6673 6674 > 6675 Fiji (FJD $) 6676 </option><option 6677 value="FI" 6678 6679 > 6680 Finland (EUR â¬) 6681 </option><option 6682 value="FR" 6683 6684 > 6685 France (EUR â¬) 6686 </option><option 6687 value="GF" 6688 6689 > 6690 French Guiana (EUR â¬) 6691 </option><option 6692 value="TF" 6693 6694 > 6695 French Southern Territories (EUR â¬) 6696 </option><option 6697 value="GA" 6698 6699 > 6700 Gabon (XOF Fr) 6701 </option><option 6702 value="GM" 6703 6704 > 6705 Gambia (GMD D) 6706 </option><option 6707 value="GE" 6708 6709 > 6710 Georgia (USD $) 6711 </option><option 6712 value="DE" 6713 6714 > 6715 Germany (EUR â¬) 6716 </option><option 6717 value="GH" 6718 6719 > 6720 Ghana (USD $) 6721 </option><option 6722 value="GI" 6723 6724 > 6725 Gibraltar (GBP £) 6726 </option><option 6727 value="GR" 6728 6729 > 6730 Greece (EUR â¬) 6731 </option><option 6732 value="GL" 6733 6734 > 6735 Greenland (DKK kr.) 6736 </option><option 6737 value="GD" 6738 6739 > 6740 Grenada (XCD $) 6741 </option><option 6742 value="GP" 6743 6744 > 6745 Guadeloupe (EUR â¬) 6746 </option><option 6747 value="GT" 6748 6749 > 6750 Guatemala (GTQ Q) 6751 </option><option 6752 value="GG" 6753 6754 > 6755 Guernsey (GBP £) 6756 </option><option 6757 value="GN" 6758 6759 > 6760 Guinea (GNF Fr) 6761 </option><option 6762 value="GW" 6763 6764 > 6765 Guinea-Bissau (XOF Fr) 6766 </option><option 6767 value="GY" 6768 6769 > 6770 Guyana (GYD $) 6771 </option><option 6772 value="HT" 6773 6774 > 6775 Haiti (USD $) 6776 </option><option 6777 value="HM" 6778 6779 > 6780 Heard & McDonald Islands (AUD $) 6781 </option><option 6782 value="HN" 6783 6784 > 6785 Honduras (HNL L) 6786 </option><option 6787 value="HK" 6788 6789 > 6790 Hong Kong SAR (HKD $) 6791 </option><option 6792 value="HU" 6793 6794 > 6795 Hungary (HUF Ft) 6796 </option><option 6797 value="IS" 6798 6799 > 6800 Iceland (ISK kr) 6801 </option><option 6802 value="IN" 6803 6804 > 6805 India (INR â¹) 6806 </option><option 6807 value="ID" 6808 6809 > 6810 Indonesia (IDR Rp) 6811 </option><option 6812 value="IQ" 6813 6814 > 6815 Iraq (USD $) 6816 </option><option 6817 value="IE" 6818 6819 > 6820 Ireland (EUR â¬) 6821 </option><option 6822 value="IM" 6823 6824 > 6825 Isle of Man (GBP £) 6826 </option><option 6827 value="IL" 6828 6829 >
6830 Israel (ILS âª) 6831 </option><option 6832 value="IT" 6833 6834 > 6835 Italy (EUR â¬) 6836 </option><option 6837 value="JM" 6838 6839 > 6840 Jamaica (JMD $) 6841 </option><option 6842 value="JP" 6843 6844 > 6845 Japan (JPY Â¥) 6846 </option><option 6847 value="JE" 6848 6849 > 6850 Jersey (USD $) 6851 </option><option 6852 value="JO" 6853 6854 > 6855 Jordan (USD $) 6856 </option><option 6857 value="KZ" 6858 6859 > 6860 Kazakhstan (KZT â¸) 6861 </option><option 6862 value="KE" 6863 6864 > 6865 Kenya (KES KSh) 6866 </option><option 6867 value="KI" 6868 6869 > 6870 Kiribati (USD $) 6871 </option><option 6872 value="XK" 6873 6874 > 6875 Kosovo (EUR â¬) 6876 </option><option 6877 value="KW" 6878 6879 > 6880 Kuwait (USD $) 6881 </option><option 6882 value="KG" 6883 6884 > 6885 Kyrgyzstan (KGS som) 6886 </option><option 6887 value="LA" 6888 6889 > 6890 Laos (LAK â) 6891 </option><option 6892 value="LV" 6893 6894 > 6895 Latvia (EUR â¬) 6896 </option><option 6897 value="LB" 6898 6899 > 6900 Lebanon (LBP Ù.Ù) 6901 </option><option 6902 value="LS" 6903 6904 > 6905 Lesotho (USD $) 6906 </option><option 6907 value="LR" 6908 6909 > 6910 Liberia (USD $) 6911 </option><option 6912 value="LY" 6913 6914 > 6915 Libya (USD $) 6916 </option><option 6917 value="LI" 6918 6919 > 6920 Liechtenstein (CHF CHF) 6921 </option><option 6922 value="LT" 6923 6924 > 6925 Lithuania (EUR â¬) 6926 </option><option 6927 value="LU" 6928 6929 > 6930 Luxembourg (EUR â¬) 6931 </option><option 6932 value="MO" 6933 6934 > 6935 Macao SAR (MOP P) 6936 </option><option 6937 value="MG" 6938 6939 > 6940 Madagascar (USD $) 6941 </option><option 6942 value="MW" 6943 6944 > 6945 Malawi (MWK MK) 6946 </option><option 6947 value="MY" 6948 6949 > 6950 Malaysia (MYR RM) 6951 </option><option 6952 value="MV" 6953 6954 > 6955 Maldives (MVR MVR) 6956 </option><option 6957 value="ML" 6958 6959 > 6960 Mali (XOF Fr) 6961 </option><option 6962 value="MT" 6963 6964 > 6965 Malta (EUR â¬) 6966 </option><option 6967 value="MQ" 6968 6969 > 6970 Martinique (EUR â¬) 6971 </option><option 6972 value="MR" 6973 6974 > 6975 Mauritania (USD $) 6976 </option><option 6977 value="MU" 6978 6979 > 6980 Mauritius (MUR â¨) 6981 </option><option 6982 value="YT" 6983 6984 > 6985 Mayotte (EUR â¬) 6986 </option><option 6987 value="MX" 6988 6989 > 6990 Mexico (USD $) 6991 </option><option 6992 value="MD" 6993 6994 > 6995 Moldova (MDL L) 6996 </option><option 6997 value="MC" 6998 6999 > 7000 Monaco (EUR â¬) 7001 </option><option 7002 value="MN" 7003 7004 > 7005 Mongolia (MNT â®) 7006 </option><option 7007 value="ME" 7008 7009 > 7010 Montenegro (EUR â¬) 7011 </option><option 7012 value="MS" 7013 7014 > 7015 Montserrat (XCD $) 7016 </option><option 7017 value="MA" 7018 7019 > 7020 Morocco (MAD د.Ù .) 7021 </option><option 7022 value="MZ" 7023 7024 > 7025 Mozambique (USD $) 7026 </option><option 7027 value="MM" 7028 7029 > 7030 Myanmar (Burma) (MMK K) 7031 </option><option 7032 value="NA" 7033 7034 > 7035 Namibia (USD $) 7036 </option><option 7037 value="NR" 7038 7039 > 7040 Nauru (AUD $) 7041 </option><option 7042 value="NP" 7043 7044 > 7045 Nepal (NPR Rs.) 7046 </option><option 7047 value="NL" 7048 7049 > 7050 Netherlands (EUR â¬) 7051 </option><option 7052 value="AN"
7053 7054 > 7055 Netherlands Antilles (ANG Æ) 7056 </option><option 7057 value="NC" 7058 7059 > 7060 New Caledonia (XPF Fr) 7061 </option><option 7062 value="NZ" 7063 7064 > 7065 New Zealand (NZD $) 7066 </option><option 7067 value="NI" 7068 7069 > 7070 Nicaragua (NIO C$) 7071 </option><option 7072 value="NE" 7073 7074 > 7075 Niger (XOF Fr) 7076 </option><option 7077 value="NG" 7078 7079 > 7080 Nigeria (NGN â¦) 7081 </option><option 7082 value="NU" 7083 7084 > 7085 Niue (NZD $) 7086 </option><option 7087 value="NF" 7088 7089 > 7090 Norfolk Island (AUD $) 7091 </option><option 7092 value="MK" 7093 7094 > 7095 North Macedonia (MKD ден) 7096 </option><option 7097 value="NO" 7098 7099 > 7100 Norway (USD $) 7101 </option><option 7102 value="OM" 7103 7104 > 7105 Oman (USD $) 7106 </option><option 7107 value="PK" 7108 7109 > 7110 Pakistan (PKR â¨) 7111 </option><option 7112 value="PS" 7113 7114 > 7115 Palestinian Territories (ILS âª) 7116 </option><option 7117 value="PA" 7118 7119 > 7120 Panama (USD $) 7121 </option><option 7122 value="PG" 7123 7124 > 7125 Papua New Guinea (PGK K) 7126 </option><option 7127 value="PY" 7128 7129 > 7130 Paraguay (PYG â²) 7131 </option><option 7132 value="PE" 7133 7134 > 7135 Peru (PEN S/) 7136 </option><option 7137 value="PN" 7138 7139 > 7140 Pitcairn Islands (NZD $) 7141 </option><option 7142 value="PL" 7143 7144 > 7145 Poland (PLN zÅ) 7146 </option><option 7147 value="PT" 7148 7149 > 7150 Portugal (EUR â¬) 7151 </option><option 7152 value="QA" 7153 7154 > 7155 Qatar (QAR ر.Ù) 7156 </option><option 7157 value="RE" 7158 7159 > 7160 Réunion (EUR â¬) 7161 </option><option 7162 value="RO" 7163 7164 > 7165 Romania (RON Lei) 7166 </option><option 7167 value="RW" 7168 7169 > 7170 Rwanda (RWF FRw) 7171 </option><option 7172 value="WS" 7173 7174 > 7175 Samoa (WST T) 7176 </option><option 7177 value="SM" 7178 7179 > 7180 San Marino (EUR â¬) 7181 </option><option 7182 value="ST" 7183 7184 > 7185 São Tomé & PrÃncipe (STD Db) 7186 </option><option 7187 value="SA" 7188 7189 > 7190 Saudi Arabia (SAR ر.س) 7191 </option><option 7192 value="SN" 7193 7194 > 7195 Senegal (XOF Fr) 7196 </option><option 7197 value="RS" 7198 7199 > 7200 Serbia (RSD РСÐ) 7201 </option><option 7202 value="SC" 7203 7204 > 7205 Seychelles (USD $) 7206 </option><option 7207 value="SL" 7208 7209 > 7210 Sierra Leone (SLL Le) 7211 </option><option 7212 value="SG" 7213 7214 > 7215 Singapore (SGD $) 7216 </option><option 7217 value="SX" 7218 7219 > 7220 Sint Maarten (ANG Æ) 7221 </option><option 7222 value="SK" 7223 7224 > 7225 Slovakia (EUR â¬) 7226 </option><option 7227 value="SI" 7228 7229 > 7230 Slovenia (EUR â¬) 7231 </option><option 7232 value="SB" 7233 7234 > 7235 Solomon Islands (SBD $) 7236 </option><option 7237 value="SO" 7238 7239 > 7240 Somalia (USD $) 7241 </option><option 7242 value="GS" 7243 7244 > 7245 South Georgia & South Sandwich Islands (GBP £) 7246 </option><option 7247 value="KR" 7248 7249 > 7250 South Korea (KRW â©) 7251 </option><option 7252 value="SS" 7253 7254 > 7255 South Sudan (USD $) 7256 </option><option 7257 value="ES" 7258 7259 > 7260 Spain (EUR â¬) 7261 </option><option 7262 value="LK" 7263 7264 > 7265 Sri Lanka (LKR â¨) 7266 </option><option 7267 value="BL" 7268 7269 > 7270 St. Barthélemy (EUR â¬) 7271 </option><option 7272 value="SH" 7273 7274 > 7275 St. Helena (SHP £) 7276 </option><option 7277 value="KN" 7278 7279 > 7280 St. Kitts & Nevis (XCD $) 7281 </option><option 7282 value="LC" 7283 7284 > 7285 St. Lucia (XCD $) 7286 </option><option 7287 value="MF" 7288 7289 > 7290 St. Martin (EUR â¬) 7291 </option><option 7292 value="PM" 7293 7294 > 7295 St. Pierre & Miquelon (EUR â¬) 7296 </option><option 7297 value="VC" 7298 7299 > 7300 St. Vincent & Grenadines (XCD $) 7301 </option><option 7302 value="SD" 7303 7304 > 7305 Sudan (USD $) 7306 </option><option 7307 value="SR" 7308 7309 > 7310 Suriname (USD $) 7311 </option><option 7312 value="SJ" 7313 7314 > 7315 Svalbard & Jan Mayen (USD $) 7316 </option><option 7317 value="SE" 7318 7319 > 7320 Sweden (SEK kr) 7321 </option><option 7322 value="CH" 7323 7324 > 7325 Switzerland (CHF CHF) 7326 </option><option 7327 value="TW" 7328 7329 > 7330 Taiwan (TWD $) 7331 </option><option 7332 value="TJ" 7333 7334 > 7335 Tajikistan (TJS Ð Ð) 7336 </option><option 7337 value="TZ" 7338 7339 > 7340 Tanzania (TZS Sh) 7341 </option><option 7342 value="TH" 7343 7344 > 7345 Thailand (THB ฿) 7346 </option><option 7347 value="TL" 7348 7349 > 7350 Timor-Leste (USD $) 7351 </option><option 7352 value="TG" 7353 7354 > 7355 Togo (XOF Fr) 7356 </option><option 7357 value="TK" 7358 7359 > 7360 Tokelau (NZD $) 7361 </option><option 7362 value="TO" 7363 7364 > 7365 Tonga (TOP T$) 7366 </option><option 7367 value="TT" 7368 7369 > 7370 Trinidad & Tobago (TTD $) 7371 </option><option 7372 value="TN"
7373 7374 > 7375 Tunisia (USD $) 7376 </option><option 7377 value="TR" 7378 7379 > 7380 Türkiye (USD $) 7381 </option><option 7382 value="TM" 7383 7384 > 7385 Turkmenistan (USD $) 7386 </option><option 7387 value="TC" 7388 7389 > 7390 Turks & Caicos Islands (USD $) 7391 </option><option 7392 value="TV" 7393 7394 > 7395 Tuvalu (AUD $) 7396 </option><option 7397 value="UM" 7398 7399 > 7400 U.S. Outlying Islands (USD $) 7401 </option><option 7402 value="UG" 7403 7404 > 7405 Uganda (UGX USh) 7406 </option><option 7407 value="UA" 7408 7409 > 7410 Ukraine (UAH â´) 7411 </option><option 7412 value="AE" 7413 7414 > 7415 United Arab Emirates (AED د.Ø¥) 7416 </option><option 7417 value="GB" 7418 7419 > 7420 United Kingdom (GBP £) 7421 </option><option 7422 value="US" 7423 selected 7424 > 7425 United States (USD $) 7426 </option><option 7427 value="UY" 7428 7429 > 7430 Uruguay (UYU $U) 7431 </option><option 7432 value="UZ" 7433 7434 > 7435 Uzbekistan (UZS so'm) 7436 </option><option 7437 value="VU" 7438 7439 > 7440 Vanuatu (VUV Vt) 7441 </option><option 7442 value="VA" 7443 7444 > 7445 Vatican City (EUR â¬) 7446 </option><option 7447 value="VE" 7448 7449 > 7450 Venezuela (USD $) 7451 </option><option 7452 value="VN" 7453 7454 > 7455 Vietnam (VND â«) 7456 </option><option 7457 value="WF" 7458 7459 > 7460 Wallis & Futuna (XPF Fr) 7461 </option><option 7462 value="EH" 7463 7464 > 7465 Western Sahara (MAD د.Ù .) 7466 </option><option 7467 value="YE" 7468 7469 > 7470 Yemen (YER ï·¼) 7471 </option><option 7472 value="ZM" 7473 7474 > 7475 Zambia (USD $) 7476 </option><option 7477 value="ZW" 7478 7479 > 7480 Zimbabwe (USD $) 7481 </option></select></form></div><span class="lh-ft__wordmark" aria-hidden="true">Logan Hollowell</span></footer> 7482 7483<style> 7484/* âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 7485 LH FOOTER â lh-ft__ 7486 Newsletter + accordion column grid + social + bottom bar + wordmark 7487âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 7488 7489.lh-ft { 7490 background: var(--lh-ft-bg, #0e0e0e); 7491 position: relative; 7492 overflow: hidden; 7493} 7494 7495/* ââ Showroom band ââ */ 7496.lh-ft__visit { 7497 max-width: 1400px; 7498 margin: 0 auto; 7499 padding: 56px 6rem 52px; 7500 box-sizing: border-box; 7501 border-bottom: 1px solid var(--lh-ft-border, rgba(184,154,110,0.12)); 7502} 7503 7504.lh-ft__visit-eyebrow { 7505 display: flex; 7506 align-items: center; 7507 gap: 14px; 7508 margin-bottom: 30px; 7509} 7510.lh-ft__visit-eyebrow span { 7511 font-family: var(--sans, 'Jost', sans-serif); 7512 font-size: 0.6875rem; 7513 font-weight: 400; 7514 letter-spacing: 0.32em; 7515 text-transform: uppercase; 7516 color: var(--lh-ft-heading, #b89a6e); 7517 white-space: nowrap; 7518} 7519.lh-ft__visit-eyebrow i { 7520 flex: 1; 7521 height: 1px; 7522 background: var(--lh-ft-border, rgba(184,154,110,0.12)); 7523 display: block; 7524} 7525 7526.lh-ft__visit-grid { 7527 display: grid; 7528 grid-template-columns: 1fr; 7529 gap: 40px; 7530} 7531.lh-ft__visit-grid[data-count="2"] { grid-template-columns: 1fr 1fr; column-gap: 0; } 7532.lh-ft__visit-grid[data-count="3"] { grid-template-columns: repeat(3, 1fr); column-gap: 0; } 7533 7534.lh-ft__visit-grid[data-count="2"] .lh-ft__shop, 7535.lh-ft__visit-grid[data-count="3"] .lh-ft__shop { 7536 padding: 0 4rem; 7537 border-left: 1px solid var(--lh-ft-border, rgba(184,154,110,0.12)); 7538} 7539.lh-ft__visit-grid[data-count="2"] .lh-ft__shop:first-child, 7540.lh-ft__visit-grid[data-count="3"] .lh-ft__shop:first-child { 7541 padding-left: 0; 7542 border-left: 0; 7543} 7544.lh-ft__visit-grid[data-count="2"] .lh-ft__shop:last-child, 7545.lh-ft__visit-grid[data-count="3"] .lh-ft__shop:last-child { 7546 padding-right: 0; 7547} 7548 7549.lh-ft__shop-city { 7550 font-family: var(--sans, 'Jost', sans-serif); 7551 font-size: 0.6875rem; 7552 font-weight: 300; 7553 letter-spacing: 0.24em; 7554 text-transform: uppercase; 7555 color: #6a645c; 7556 margin: 0 0 9px; 7557} 7558.lh-ft__shop-name { 7559 font-family: var(--serif, 'Cormorant Garamond', serif); 7560 font-size: 1.75rem; 7561 font-weight: 300; 7562 letter-spacing: 0.01em; 7563 line-height: 1.15; 7564 color: #f9f5ef; 7565 margin: 0 0 16px; 7566} 7567.lh-ft__shop-addr { 7568 font-family: var(--sans, 'Jost', sans-serif); 7569 font-size: 0.8125rem; 7570 font-weight: 300; 7571 font-style: normal; 7572 letter-spacing: 0.05em; 7573 line-height: 1.85; 7574 color: #8d867c; 7575 margin: 0 0 14px; 7576} 7577.lh-ft__shop-addr p { margin: 0; } 7578 7579/* Live status â hidden until the script fills it in */ 7580.lh-ft__status { 7581 display: flex; 7582 align-items: center; 7583 gap: 9px; 7584 margin-bottom: 6px; 7585} 7586.lh-ft__status[hidden] { display: none; } 7587.lh-ft__dot { 7588 width: 6px; 7589 height: 6px; 7590 border-radius: 50%; 7591 flex: none; 7592 background: #4e4840; 7593} 7594.lh-ft__dot--open { 7595 background: var(--lh-ft-heading, #b89a6e); 7596 box-shadow: 0 0 0 3px rgba(184,154,110,0.16); 7597} 7598.lh-ft__dot--closed { background: #4e4840; } 7599.lh-ft__status-txt { 7600 font-family: var(--sans, 'Jost', sans-serif); 7601 font-size: 0.8125rem; 7602 font-weight: 400; 7603 letter-spacing: 0.06em; 7604 color: #8d867c; 7605} 7606.lh-ft__status-txt--open { color: #f9f5ef; } 7607.lh-ft__status-txt--closed { color: #8d867c; } 7608 7609.lh-ft__shop-hours { 7610 display: flex; 7611 flex-direction: column; 7612 gap: 2px; 7613 margin: 0 0 6px; 7614}
7615.lh-ft__hours-line { 7616 font-family: var(--sans, 'Jost', sans-serif); 7617 font-size: 0.75rem; 7618 font-weight: 300; 7619 letter-spacing: 0.05em; 7620 line-height: 1.75; 7621 color: #6a645c; 7622} 7623.lh-ft__shop-notice { 7624 font-family: var(--sans, 'Jost', sans-serif); 7625 font-size: 0.75rem; 7626 font-weight: 400; 7627 letter-spacing: 0.08em; 7628 color: var(--lh-ft-heading, #b89a6e); 7629 margin: 8px 0 0; 7630} 7631 7632.lh-ft__shop-ctas { 7633 display: flex; 7634 gap: 26px; 7635 flex-wrap: wrap; 7636 align-items: center; 7637 margin-top: 22px; 7638} 7639.lh-ft__link-gold { 7640 font-family: var(--sans, 'Jost', sans-serif); 7641 font-size: 0.6875rem; 7642 font-weight: 400; 7643 letter-spacing: 0.2em; 7644 text-transform: uppercase; 7645 color: var(--lh-ft-heading, #b89a6e); 7646 text-decoration: none; 7647 border-bottom: 1px solid rgba(184,154,110,0.32); 7648 padding-bottom: 4px; 7649 transition: color .3s, border-color .3s; 7650} 7651.lh-ft__link-gold:hover { 7652 color: var(--lh-ft-link-hov, #c9a96e); 7653 border-bottom-color: var(--lh-ft-link-hov, #c9a96e); 7654} 7655.lh-ft__link-plain { 7656 font-family: var(--sans, 'Jost', sans-serif); 7657 font-size: 0.6875rem; 7658 font-weight: 400; 7659 letter-spacing: 0.2em; 7660 text-transform: uppercase; 7661 color: #7d766c; 7662 text-decoration: none; 7663 display: inline-flex; 7664 align-items: center; 7665 gap: 7px; 7666 transition: color .3s; 7667} 7668.lh-ft__link-plain:hover { color: var(--lh-ft-link-hov, #c9a96e); } 7669 7670@media (max-width: 900px) { 7671 .lh-ft__visit-grid[data-count="2"], 7672 .lh-ft__visit-grid[data-count="3"] { 7673 grid-template-columns: 1fr; 7674 gap: 36px; 7675 } 7676 .lh-ft__visit-grid[data-count="2"] .lh-ft__shop, 7677 .lh-ft__visit-grid[data-count="3"] .lh-ft__shop { 7678 padding: 0; 7679 border-left: 0; 7680 } 7681} 7682 7683/* ââ Newsletter ââ */ 7684.lh-ft__newsletter { 7685 padding: 56px 6rem; 7686 max-width: 1400px; 7687 margin: 0 auto; 7688 width: 100%; 7689 box-sizing: border-box; 7690 border-bottom: 1px solid var(--lh-ft-border, rgba(184,154,110,0.12)); 7691} 7692 7693.lh-ft__newsletter-label { 7694 font-family: var(--sans, 'Jost', sans-serif); 7695 font-size: 0.75rem; 7696 font-weight: 400; 7697 letter-spacing: 0.3em; 7698 text-transform: uppercase; 7699 color: var(--lh-ft-heading, #b89a6e); 7700 margin-bottom: 8px; 7701} 7702 7703.lh-ft__newsletter-sub { 7704 font-family: var(--sans, 'Jost', sans-serif); 7705 font-size: 0.875rem; 7706 font-weight: 300; 7707 color: var(--lh-ft-link, rgba(249,245,239,0.55)); 7708 margin-bottom: 20px; 7709 max-width: 420px; 7710 line-height: 1.6; 7711} 7712 7713.lh-ft__newsletter-form { max-width: 460px; } 7714 7715.lh-ft__newsletter-row { 7716 display: flex; 7717 border: 1px solid var(--lh-ft-border, rgba(184,154,110,0.3)); 7718} 7719 7720.lh-ft__newsletter-input { 7721 flex: 1; 7722 background: transparent; 7723 border: none; 7724 outline: none; 7725 padding: 13px 16px; 7726 font-family: var(--sans, 'Jost', sans-serif); 7727 font-size: 0.8125rem; 7728 font-weight: 300; 7729 letter-spacing: 0.06em; 7730 color: var(--lh-ft-link, rgba(249,245,239,0.9)); 7731 min-width: 0; 7732} 7733.lh-ft__newsletter-input::placeholder { 7734 color: rgba(249,245,239,0.3); 7735} 7736 7737.lh-ft__newsletter-btn { 7738 background: transparent; 7739 border: none; 7740 border-left: 1px solid var(--lh-ft-border, rgba(184,154,110,0.3)); 7741 padding: 13px 22px; 7742 font-family: var(--sans, 'Jost', sans-serif); 7743 font-size: 0.6875rem; 7744 font-weight: 400; 7745 letter-spacing: 0.2em; 7746 text-transform: uppercase; 7747 color: var(--lh-ft-heading, #b89a6e); 7748 cursor: pointer; 7749 transition: color 0.2s ease; 7750 white-space: nowrap; 7751} 7752.lh-ft__newsletter-btn:hover { color: var(--lh-ft-link-hov, #c9a96e); } 7753.lh-ft__newsletter-btn:focus-visible { 7754 outline: 2px solid var(--lh-ft-link-hov, #c9a96e); 7755 outline-offset: -2px; 7756} 7757 7758.lh-ft__newsletter-msg { 7759 font-family: var(--sans, 'Jost', sans-serif); 7760 font-size: 0.75rem; 7761 font-weight: 300; 7762 margin-top: 10px; 7763 letter-spacing: 0.05em; 7764} 7765.lh-ft__newsletter-msg--ok { color: #8aab7a; } 7766.lh-ft__newsletter-msg--err { color: #c97a7a; } 7767 7768/* ââ Column grid ââ */ 7769.lh-ft__columns { 7770 display: grid; 7771 grid-template-columns: repeat(4, 1fr); 7772 gap: 0; 7773 padding: 72px 6rem 64px; 7774 border-bottom: 1px solid var(--lh-ft-border, rgba(184,154,110,0.12)); 7775 max-width: 1400px; 7776 margin: 0 auto; 7777 width: 100%; 7778 box-sizing: border-box; 7779} 7780 7781.lh-ft__col { padding: 0 2rem; } 7782.lh-ft__col:first-child { padding-left: 0; } 7783.lh-ft__col:last-child { padding-right: 0; } 7784
7785/* ââ Accordion (wraps menu column content) ââ */ 7786.lh-ft__accordion { display: block; } 7787.lh-ft__accordion > summary { list-style: none; } 7788.lh-ft__accordion > summary::-webkit-details-marker { display: none; } 7789 7790/* Desktop: summary acts as a static heading (non-interactive) */ 7791@media (min-width: 641px) { 7792 .lh-ft__accordion-btn { 7793 pointer-events: none; 7794 cursor: default; 7795 display: block; 7796 margin-bottom: 24px; 7797 } 7798 .lh-ft__accordion-btn .lh-ft__col-heading { display: block; margin-bottom: 0; } 7799 .lh-ft__chevron { display: none; } 7800 /* Force list visible â overrides UA display:none on closed <details> */ 7801 .lh-ft__accordion > .lh-ft__col-list { display: flex !important; } 7802} 7803 7804.lh-ft__col-heading { 7805 font-family: var(--sans, 'Jost', sans-serif); 7806 font-size: 0.75rem; 7807 font-weight: 400; 7808 letter-spacing: 0.24em; 7809 text-transform: uppercase; 7810 color: var(--lh-ft-heading, #b89a6e); 7811 margin-bottom: 24px; 7812} 7813 7814.lh-ft__col-list { 7815 list-style: none; 7816 padding: 0; margin: 0; 7817 display: flex; 7818 flex-direction: column; 7819 gap: 13px; 7820} 7821.lh-ft__col-list--spaced { margin-top: 28px; } 7822 7823.lh-ft__col-link { 7824 font-family: var(--sans, 'Jost', sans-serif); 7825 font-size: 0.8125rem; 7826 font-weight: 300; 7827 letter-spacing: 0.06em; 7828 color: var(--lh-ft-link, rgba(249,245,239,0.65)); 7829 text-decoration: none; 7830 transition: color 0.22s ease; 7831} 7832.lh-ft__col-link:hover { color: var(--lh-ft-link-hov, #c9a96e); } 7833.lh-ft__col-link:focus-visible { 7834 outline: 2px solid var(--lh-ft-link-hov, #c9a96e); 7835 outline-offset: 2px; 7836 border-radius: 1px; 7837} 7838 7839/* ââ Social icons ââ */ 7840.lh-ft__social { 7841 display: flex; 7842 gap: 4px; 7843 align-items: center; 7844} 7845.lh-ft__social-link { 7846 color: var(--lh-ft-link, rgba(249,245,239,0.65)); 7847 display: flex; 7848 align-items: center; 7849 justify-content: center; 7850 transition: color 0.22s ease; 7851 line-height: 0; 7852 min-width: 44px; 7853 min-height: 44px; 7854} 7855.lh-ft__social-link:hover { color: var(--lh-ft-link-hov, #c9a96e); } 7856.lh-ft__social-link:focus-visible { 7857 outline: 2px solid var(--lh-ft-link-hov, #c9a96e); 7858 outline-offset: 2px; 7859 border-radius: 2px; 7860} 7861 7862/* ââ App store badges ââ */ 7863.lh-ft__apps { 7864 display: flex; 7865 align-items: center; 7866 flex-wrap: wrap; 7867 gap: 12px; 7868 margin-top: 18px; 7869} 7870.lh-ft__app-link { 7871 display: inline-block; 7872 line-height: 0; 7873 transition: opacity 0.22s ease; 7874} 7875a.lh-ft__app-link:hover { opacity: 0.75; } 7876.lh-ft__app-link:focus-visible { 7877 outline: 2px solid var(--lh-ft-link-hov, #c9a96e); 7878 outline-offset: 2px; 7879 border-radius: 2px; 7880} 7881.lh-ft__app-img { 7882 display: block; 7883 max-width: 100%; 7884 height: auto; 7885} 7886 7887/* ââ Bottom bar ââ */ 7888.lh-ft__bottom { 7889 display: flex; 7890 align-items: center; 7891 justify-content: space-between; 7892 padding: 24px 6rem; 7893 max-width: 1400px; 7894 margin: 0 auto; 7895 width: 100%; 7896 box-sizing: border-box; 7897} 7898 7899/* Per Google's reCAPTCHA FAQ: visibility:hidden (NOT display:none) is the 7900 sanctioned way to hide the floating badge, provided the required attribution 7901 text remains visible â that text lives under each form's submit button 7902 (lh-drawer-contact.liquid, lh-drawer-bridal.liquid, sections/contact-form.liquid). 7903 Multiple defensive properties because visibility alone keeps getting beaten 7904 by late-injected inline styles. See assets/lh-shared.css for the same rule. */ 7905.grecaptcha-badge { 7906 visibility: hidden !important; 7907 opacity: 0 !important; 7908 pointer-events: none !important; 7909 transform: translate3d(120%, 120%, 0) !important; 7910} 7911 7912.lh-ft__copy { 7913 font-family: var(--sans, 'Jost', sans-serif); 7914 font-size: 0.75rem; 7915 font-weight: 300; 7916 letter-spacing: 0.1em; 7917 color: var(--lh-ft-link, rgba(249,245,239,0.55)); 7918} 7919 7920.lh-ft__legal { 7921 display: flex; 7922 gap: 24px; 7923} 7924 7925/* Country/currency selector â native <select> for zero JS dependency */ 7926.lh-ft__locale { 7927 display: flex; 7928 justify-content: flex-start; 7929 padding: 0 6rem 24px; 7930 max-width: 1400px; 7931 margin: -25px auto 0; 7932 width: 100%; 7933 box-sizing: border-box; 7934} 7935.lh-ft__locale-form { margin: 0; } 7936.lh-ft__locale-select { 7937 appearance: none; 7938 -webkit-appearance: none; 7939 background: transparent; 7940 border: 1px solid var(--lh-ft-border, #1e1a16); 7941 border-radius: 1px; 7942 padding: 8px 32px 8px 12px; 7943 font-family: var(--sans, 'Jost', sans-serif); 7944 font-size: 0.75rem; 7945 font-weight: 300; 7946 letter-spacing: 0.1em; 7947 color: var(--lh-ft-link, rgba(249,245,239,0.55)); 7948 cursor: pointer; 7949 background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M2 4l4 4 4-4' stroke='%23706a62' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>"); 7950 background-repeat: no-repeat; 7951 background-position: right 10px center; 7952 transition: color 0.2s ease, border-color 0.2s ease; 7953 min-height: 36px; 7954} 7955.lh-ft__locale-select:hover {
7956 color: var(--lh-ft-link-hov, rgba(249,245,239,0.85)); 7957 border-color: var(--lh-ft-link-hov, rgba(249,245,239,0.35)); 7958} 7959.lh-ft__locale-select:focus-visible { 7960 outline: 2px solid var(--lh-ft-link-hov, #c9a96e); 7961 outline-offset: 2px; 7962} 7963.lh-ft__locale-select option { 7964 background: var(--lh-ft-bg, #0e0e0e); 7965 color: #f9f5ef; 7966} 7967.lh-ft__legal-link { 7968 font-family: var(--sans, 'Jost', sans-serif); 7969 font-size: 0.75rem; 7970 font-weight: 300; 7971 letter-spacing: 0.1em; 7972 color: var(--lh-ft-link, rgba(249,245,239,0.55)); 7973 text-decoration: none; 7974 transition: color 0.2s ease; 7975 min-height: 44px; 7976 display: inline-flex; 7977 align-items: center; 7978} 7979.lh-ft__legal-link:hover { color: var(--lh-ft-link-hov, rgba(249,245,239,0.85)); } 7980.lh-ft__legal-link:focus-visible { 7981 outline: 2px solid var(--lh-ft-link-hov, #c9a96e); 7982 outline-offset: 2px; 7983 border-radius: 1px; 7984} 7985 7986/* ââ Faded wordmark ââ */ 7987.lh-ft__wordmark { 7988 display: block; 7989 text-align: center; 7990 font-family: var(--serif, 'Cormorant Garamond', serif); 7991 font-size: clamp(1.8rem, 5.8vw, 6.5rem); 7992 font-weight: 300; 7993 letter-spacing: 0.1em; 7994 text-transform: uppercase; 7995 color: var(--lh-ft-wm, rgba(184,154,110,0.07)); 7996 padding: 0 1rem 3rem; 7997 line-height: 1; 7998 user-select: none; 7999 pointer-events: none; 8000 white-space: nowrap; 8001} 8002 8003/* ââ Tablet ââ */ 8004@media (max-width: 1024px) { 8005 .lh-ft__newsletter { padding: 48px 3rem; } 8006 .lh-ft__visit { padding: 48px 3rem 44px; } 8007 .lh-ft__columns { 8008 grid-template-columns: repeat(2, 1fr); 8009 padding: 64px 3rem; 8010 gap: 48px 0; 8011 } 8012 .lh-ft__col { padding: 0 1.5rem; } 8013 .lh-ft__col:first-child, 8014 .lh-ft__col:nth-child(3) { padding-left: 0; } 8015 .lh-ft__col:nth-child(2), 8016 .lh-ft__col:last-child { padding-right: 0; } 8017 .lh-ft__bottom { padding: 24px 3rem; } 8018} 8019 8020/* ââ Logo signature (desktop: hidden; mobile: visible) ââ */ 8021.lh-ft__logo-sig { display: none; } 8022 8023/* ââ Mobile ââ */ 8024@media (max-width: 640px) { 8025 /* Newsletter â generous padding, full-width form */ 8026 .lh-ft__visit { padding: 44px 1.5rem 40px; } 8027 .lh-ft__shop-name { font-size: 1.5rem; } 8028 .lh-ft__newsletter { 8029 padding: 48px 1.5rem 44px; 8030 } 8031 .lh-ft__newsletter-form, 8032 .lh-ft__newsletter-sub { max-width: 100%; } 8033 .lh-ft__newsletter-input, 8034 .lh-ft__newsletter-btn { min-height: 52px; } /* generous tap target */ 8035 8036 /* Columns: single stacked, accordion-ready */ 8037 .lh-ft__columns { 8038 grid-template-columns: 1fr; 8039 padding: 0 1.5rem 0; 8040 gap: 0; 8041 border-bottom: none; 8042 } 8043 .lh-ft__col { padding: 0 !important; } 8044 8045 /* Social column: full-width centered, last in flow */ 8046 .lh-ft__col--social { 8047 order: 99; 8048 padding: 36px 0 36px !important; 8049 border-top: 1px solid var(--lh-ft-border, rgba(184,154,110,0.12)); 8050 border-bottom: 1px solid var(--lh-ft-border, rgba(184,154,110,0.12)); 8051 text-align: center; 8052 } 8053 .lh-ft__col--social .lh-ft__col-heading { text-align: center; margin-bottom: 20px; } 8054 .lh-ft__col--social .lh-ft__social { justify-content: center; gap: 0; } 8055 .lh-ft__col--social .lh-ft__apps { justify-content: center; } 8056 .lh-ft__col--social .lh-ft__col-list { align-items: center; } 8057 /* 44px tap target on social icon links already set above via min-width/min-height */ 8058 8059 /* Accordion button â 52px tap target, generous padding */ 8060 .lh-ft__accordion-btn { 8061 display: flex !important; 8062 align-items: center; 8063 justify-content: space-between; 8064 width: 100%; 8065 padding: 0; 8066 min-height: 56px; /* exceeds the 44â48px luxury standard */ 8067 border-top: 1px solid var(--lh-ft-border, rgba(184,154,110,0.12)); 8068 cursor: pointer; 8069 background: none; 8070 -webkit-tap-highlight-color: transparent; 8071 pointer-events: auto; 8072 } 8073 .lh-ft__accordion-btn .lh-ft__col-heading { margin-bottom: 0; } 8074 8075 /* Chevron rotation */ 8076 .lh-ft__chevron { 8077 display: block; 8078 flex-shrink: 0; 8079 color: var(--lh-ft-heading, #b89a6e); 8080 transition: transform 0.22s ease; 8081 } 8082 .lh-ft__accordion[open] .lh-ft__chevron { transform: rotate(180deg); } 8083 8084 /* Accordion open content â links need 44px tap height */ 8085 .lh-ft__accordion > .lh-ft__col-list { padding: 4px 0 28px; } 8086 .lh-ft__accordion[open] > .lh-ft__col-list { animation: lh-ft-fade-in 0.2s ease both; } 8087 8088 /* All nav links: 44px minimum tap height */ 8089 .lh-ft__col-list li { display: flex; } 8090 .lh-ft__col-link { 8091 display: flex; 8092 align-items: center; 8093 min-height: 44px; 8094 padding: 4px 0; 8095 width: 100%; 8096 } 8097 8098 /* Logo signature: centered, sits below the bottom bar */ 8099 .lh-ft__logo-sig { 8100 display: flex; 8101 justify-content: center; 8102 padding: 44px 1.5rem 36px; 8103 } 8104 8105 /* Country selector: tighten padding on mobile, keep left-aligned */ 8106 .lh-ft__locale { padding: 0 1.5rem 16px; margin-top: -24px; } 8107 .lh-ft__logo-sig-link { display: block; line-height: 0; } 8108 .lh-ft__logo-sig-img { 8109 width: var(--lh-ft-logo-w, 130px); 8110 height: auto; 8111 opacity: 0.75; /* subtle, signature-style */ 8112 filter: brightness(0) invert(1); /* white logo on dark footer */ 8113 } 8114 8115 /* Bottom bar */ 8116 .lh-ft__bottom { 8117 flex-direction: column; 8118 gap: 16px; 8119 text-align: center; 8120 padding: 24px 1.5rem 32px; 8121 } 8122 .lh-ft__legal { 8123 flex-wrap: wrap; 8124 justify-content: center; 8125 gap: 0 20px; 8126 } 8127 /* Legal links: 44px tap height */ 8128 .lh-ft__legal-link { 8129 min-height: 44px; 8130 padding: 4px 0; 8131 } 8132 8133 /* Wordmark â single line, scaled to viewport width */ 8134 .lh-ft__wordmark { 8135 white-space: nowrap; 8136 font-size: clamp(1.2rem, 7.5vw, 6.5rem); 8137 letter-spacing: 0.06em; 8138 padding-bottom: 2rem; 8139 } 8140} 8141 8142@keyframes lh-ft-fade-in { 8143 from { opacity: 0; transform: translateY(-5px); } 8144 to { opacity: 1; transform: translateY(0); } 8145} 8146 8147@media (prefers-reduced-motion: reduce) { 8148 .lh-ft__col-link, 8149 .lh-ft__legal-link, 8150 .lh-ft__social-link, 8151 .lh-ft__chevron, 8152 .lh-ft__newsletter-btn { transition: none !important; animation: none !important; } 8153} 8154</style>
8154<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-showroom-status.js?v=19991405421510752861790192133" defer></script>
8154<script> 8155(function() { 8156 var MQ = 641; 8157 function syncAccordions() { 8158 var accordions = document.querySelectorAll('.lh-ft__accordion'); 8159 var isDesktop = window.innerWidth >= MQ; 8160 accordions.forEach(function(el) { 8161 if (isDesktop) { 8162 el.setAttribute('open', ''); 8163 } else if (el.hasAttribute('open') && !el._mobileOpen) { 8164 el.removeAttribute('open'); 8165 } 8166 }); 8167 } 8168 // Intercept toggle on mobile so we don't clobber user intent on resize 8169 document.querySelectorAll('.lh-ft__accordion').forEach(function(el) { 8170 el.addEventListener('toggle', function() { 8171 if (window.innerWidth < MQ) { el._mobileOpen = el.open; } 8172 }); 8173 }); 8174 document.addEventListener('DOMContentLoaded', syncAccordions); 8175 window.addEventListener('resize', syncAccordions); 8176 syncAccordions(); 8177})(); 8178</script>
8178 8179 8180 8181</section> 8182<!-- END sections: footer-group --> 8183 8184 <div id="shopify-section-lh-quick-cart" class="shopify-section"><div 8185 class="lh-qc quick-cart quick-cart__wrapper" data-section-id="lh-quick-cart" 8186 data-section-type="lh-quick-cart" 8187 aria-hidden="true" 8188 8189 style="" 8190> 8191 <div class="lh-qc__overlay" data-lh-qc-overlay></div> 8192 8193 <div class="lh-qc__drawer" role="dialog" aria-modal="true" aria-label="Shopping cart"><div class="lh-qc__header"> 8194 <p class="lh-qc__title"> 8195 Your Cart 8196 <span class="lh-qc__count" data-lh-qc-count></span> 8197 </p> 8198 <button 8199 type="button" 8200 class="lh-qc__close" 8201 data-lh-qc-close 8202 aria-label="Close" 8203 > 8204 <svg width="18" height="18" viewBox="0 0 18 18" fill="none" aria-hidden="true"> 8205 <line x1="1" y1="1" x2="17" y2="17" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> 8206 <line x1="17" y1="1" x2="1" y2="17" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/> 8207 </svg> 8208 </button> 8209 </div><div class="lh-qc__body" data-lh-qc-content><div class="lh-qc__empty"> 8210 <p class="lh-qc__empty-heading">Your cart is empty.</p><a href="/collections" class="lh-qc__empty-link" data-lh-qc-close> 8211 Continue Shopping 8212 </a></div></div></div></div><style> 8213/* ââ DRAWER SHELL âââââââââââââââââââââââââââââââââââââââââââ */ 8214.lh-qc { 8215 position: fixed; 8216 inset: 0; 8217 z-index: 9000; 8218 pointer-events: none; 8219 visibility: hidden; 8220} 8221.lh-qc.active { 8222 pointer-events: auto; 8223 visibility: visible; 8224} 8225 8226/* ââ OVERLAY ââââââââââââââââââââââââââââââââââââââââââââââââ */ 8227.lh-qc__overlay { 8228 position: absolute; 8229 inset: 0; 8230 background: rgba(0, 0, 0, 0.45); 8231 opacity: 0; 8232 transition: opacity 0.35s ease; 8233 cursor: pointer; 8234} 8235.lh-qc.active .lh-qc__overlay { 8236 opacity: 1; 8237} 8238 8239/* ââ DRAWER PANEL âââââââââââââââââââââââââââââââââââââââââââ */ 8240.lh-qc__drawer { 8241 position: absolute; 8242 top: 0; 8243 right: 0; 8244 bottom: 0; 8245 width: 420px; 8246 max-width: 100%; 8247 background: #f9f5ef; 8248 display: flex; 8249 flex-direction: column; 8250 transform: translateX(100%); 8251 transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1); 8252 box-shadow: -4px 0 24px rgba(0,0,0,0.08); 8253} 8254.lh-qc.active .lh-qc__drawer { 8255 transform: translateX(0); 8256} 8257 8258/* ââ HEADER âââââââââââââââââââââââââââââââââââââââââââââââââ */ 8259.lh-qc__header { 8260 display: flex; 8261 align-items: center; 8262 justify-content: space-between; 8263 padding: 22px 28px; 8264 border-bottom: 1px solid rgba(17,17,17,0.1); 8265 flex-shrink: 0; 8266} 8267.lh-qc__title { 8268 font-family: 'Cormorant Garamond', serif; 8269 font-size: 19px; 8270 font-weight: 400; 8271 letter-spacing: 0.06em; 8272 text-transform: uppercase; 8273 color: #111; 8274 margin: 0; 8275} 8276.lh-qc__count { 8277 font-size: 16px; 8278 opacity: 0.6; 8279 margin-left: 4px; 8280} 8281.lh-qc__close { 8282 display: flex; 8283 align-items: center; 8284 justify-content: center; 8285 width: 36px; 8286 height: 36px; 8287 background: none; 8288 border: none; 8289 cursor: pointer; 8290 color: #111; 8291 padding: 0; 8292 transition: opacity 0.2s; 8293} 8294.lh-qc__close:hover { opacity: 0.5; } 8295 8296/* ââ BODY (scrollable) ââââââââââââââââââââââââââââââââââââââ */ 8297.lh-qc__body { 8298 flex: 1; 8299 overflow-y: auto; 8300 -webkit-overflow-scrolling: touch; 8301 display: flex; 8302 flex-direction: column; 8303} 8304.lh-qc__body::-webkit-scrollbar { width: 4px; } 8305.lh-qc__body::-webkit-scrollbar-track { background: transparent; } 8306.lh-qc__body::-webkit-scrollbar-thumb { background: rgba(184,154,110,0.3); border-radius: 2px; } 8307 8308/* ââ FREE SHIPPING BAR ââââââââââââââââââââââââââââââââââââââ */ 8309.lh-qc__shipping-bar { 8310 padding: 14px 28px 12px; 8311 border-bottom: 1px solid rgba(17,17,17,0.08); 8312} 8313.lh-qc__shipping-msg { 8314 font-family: 'Jost', sans-serif; 8315 font-size: 11px; 8316 letter-spacing: 0.06em; 8317 text-transform: uppercase; 8318 color: #111; 8319 margin: 0 0 8px; 8320} 8321.lh-qc__shipping-msg strong { color: #9a7d52; } /* was #b89a6e (2.5:1 on white â WCAG 1.4.3 fail); #9a7d52 = 3.56:1 */ 8322.lh-qc__shipping-track { 8323 height: 2px; 8324 background: rgba(17,17,17,0.12); 8325 border-radius: 2px; 8326 overflow: hidden; 8327} 8328.lh-qc__shipping-fill { 8329 height: 100%; 8330 background: #b89a6e; 8331 border-radius: 2px; 8332 transition: width 0.4s ease; 8333} 8334 8335/* ââ ITEMS LIST âââââââââââââââââââââââââââââââââââââââââââââ */ 8336.lh-qc__items { 8337 list-style: none; 8338 margin: 0; 8339 padding: 0; 8340 flex: 1; 8341} 8342.lh-qc__item { 8343 display: flex; 8344 gap: 16px; 8345 padding: 22px 28px; 8346 border-bottom: 1px solid rgba(17,17,17,0.08); 8347 position: relative; 8348} 8349
8350/* ââ ITEM IMAGE âââââââââââââââââââââââââââââââââââââââââââââ */ 8351.lh-qc__item-img-link { 8352 flex-shrink: 0; 8353} 8354.lh-qc__item-img { 8355 display: block; 8356 width: 80px; 8357 height: 80px; 8358 object-fit: cover; 8359 background: #ede9e2; 8360} 8361.lh-qc__item-img--placeholder { 8362 background: #ede9e2; 8363} 8364 8365/* ââ ITEM DETAILS âââââââââââââââââââââââââââââââââââââââââââ */ 8366.lh-qc__item-details { 8367 flex: 1; 8368 min-width: 0; 8369 display: flex; 8370 flex-direction: column; 8371 justify-content: space-between; 8372 gap: 10px; 8373} 8374.lh-qc__item-top { 8375 display: flex; 8376 flex-direction: column; 8377 gap: 3px; 8378} 8379.lh-qc__item-title { 8380 font-family: 'Cormorant Garamond', serif; 8381 font-size: 15px; 8382 font-weight: 500; 8383 color: #111; 8384 text-decoration: none; 8385 line-height: 1.3; 8386 white-space: nowrap; 8387 overflow: hidden; 8388 text-overflow: ellipsis; 8389 display: block; 8390} 8391.lh-qc__item-title:hover { color: #b89a6e; } 8392.lh-qc__item-variant, 8393.lh-qc__item-prop { 8394 font-family: 'Jost', sans-serif; 8395 font-size: 11px; 8396 letter-spacing: 0.04em; 8397 color: rgba(17,17,17,0.55); 8398 margin: 0; 8399} 8400.lh-qc__item-bottom { 8401 display: flex; 8402 align-items: center; 8403 justify-content: space-between; 8404 gap: 8px; 8405} 8406 8407/* ââ QTY STEPPER ââââââââââââââââââââââââââââââââââââââââââââ */ 8408.lh-qc__qty { 8409 display: flex; 8410 align-items: center; 8411 border: 1px solid rgba(17,17,17,0.18); 8412 height: 30px; 8413} 8414.lh-qc__qty-btn { 8415 width: 28px; 8416 height: 100%; 8417 background: none; 8418 border: none; 8419 cursor: pointer; 8420 font-family: 'Jost', sans-serif; 8421 font-size: 15px; 8422 color: #111; 8423 display: flex; 8424 align-items: center; 8425 justify-content: center; 8426 transition: background 0.15s; 8427 flex-shrink: 0; 8428} 8429.lh-qc__qty-btn:hover { background: rgba(184,154,110,0.1); } 8430.lh-qc__qty-input { 8431 width: 36px; 8432 height: 100%; 8433 border: none; 8434 border-left: 1px solid rgba(17,17,17,0.18); 8435 border-right: 1px solid rgba(17,17,17,0.18); 8436 background: transparent; 8437 text-align: center; 8438 font-family: 'Jost', sans-serif; 8439 font-size: 12px; 8440 color: #111; 8441 -moz-appearance: textfield; 8442} 8443.lh-qc__qty-input::-webkit-outer-spin-button, 8444.lh-qc__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; } 8445.lh-qc__qty-input:focus { outline: none; } 8446 8447/* ââ ITEM PRICE + REMOVE ââââââââââââââââââââââââââââââââââââ */ 8448.lh-qc__item-price-wrap { 8449 display: flex; 8450 flex-direction: column; 8451 align-items: flex-end; 8452 gap: 4px; 8453} 8454.lh-qc__item-price { 8455 font-family: 'Jost', sans-serif; 8456 font-size: 13px; 8457 color: #111; 8458 letter-spacing: 0.02em; 8459} 8460.lh-qc__item-price--was { 8461 color: rgba(17,17,17,0.4); 8462 text-decoration: line-through; 8463} 8464.lh-qc__item-price--sale { 8465 color: #111; 8466} 8467.lh-qc__item-actions { 8468 display: flex; 8469 align-items: center; 8470 justify-content: flex-end; 8471 gap: 8px; 8472 margin-top: 8px; 8473} 8474.lh-qc__save-later { 8475 background: none; 8476 border: none; 8477 cursor: pointer; 8478 font-family: 'Jost', sans-serif; 8479 font-size: 10px; 8480 letter-spacing: 0.08em; 8481 text-transform: uppercase; 8482 color: rgba(17,17,17,0.62); /* ~4.8:1 on #f9f5ef â WCAG AA */ 8483 padding: 0; 8484 transition: color 0.2s; 8485} 8486.lh-qc__save-later:hover { color: #b89a6e; } 8487.lh-qc__save-later.is-saved { color: #b89a6e; } 8488.lh-qc__actions-divider { 8489 font-family: 'Jost', sans-serif; 8490 font-size: 10px; 8491 color: rgba(17,17,17,0.4); 8492 line-height: 1; 8493 user-select: none; 8494} 8495.lh-qc__remove { 8496 display: flex; 8497 align-items: center; 8498 gap: 4px; 8499 background: none; 8500 border: none; 8501 cursor: pointer; 8502 font-family: 'Jost', sans-serif; 8503 font-size: 10px; 8504 letter-spacing: 0.08em; 8505 text-transform: uppercase; 8506 color: rgba(17,17,17,0.62); /* ~4.8:1 on #f9f5ef â WCAG AA */ 8507 padding: 0; 8508 transition: color 0.2s; 8509} 8510.lh-qc__remove:hover { color: #111; } 8511 8512/* ââ LOADING STATE ââââââââââââââââââââââââââââââââââââââââââ */ 8513.lh-qc__body.is-loading { 8514 opacity: 0.5; 8515 pointer-events: none; 8516} 8517 8518/* ââ FOOTER âââââââââââââââââââââââââââââââââââââââââââââââââ */ 8519.lh-qc__footer { 8520 padding: 20px 28px 28px; 8521 border-top: 1px solid rgba(17,17,17,0.1); 8522 background: #f9f5ef; 8523 flex-shrink: 0; 8524} 8525.lh-qc__discounts { 8526 list-style: none; 8527 margin: 0 0 12px; 8528 padding: 0; 8529} 8530.lh-qc__discount { 8531 font-family: 'Jost', sans-serif; 8532 font-size: 11px; 8533 letter-spacing: 0.04em; 8534 color: #9a7d52; /* was #b89a6e (2.5:1 on white â WCAG 1.4.3 fail); #9a7d52 = 3.56:1 */ 8535} 8536.lh-qc__subtotal { 8537 display: flex; 8538 justify-content: space-between; 8539 align-items: baseline; 8540 margin-bottom: 8px; 8541} 8542.lh-qc__subtotal-label { 8543 font-family: 'Jost', sans-serif; 8544 font-size: 12px; 8545 letter-spacing: 0.08em; 8546 text-transform: uppercase; 8547 color: #111; 8548} 8549.lh-qc__subtotal-amount { 8550 font-family: 'Jost', sans-serif; 8551 font-size: 20px; 8552 font-weight: 500; 8553 color: #111; 8554} 8555.lh-qc__tax-note { 8556 font-family: 'Jost', sans-serif; 8557 font-size: 12px; /* was 10px (<12px) â raised for WCAG 1.4.4 */ 8558 letter-spacing: 0.04em; 8559 color: rgba(17,17,17,0.4); 8560 margin: 0 0 20px; 8561} 8562.lh-qc__checkout-btn { 8563 display: block; 8564 width: 100%; 8565 padding: 14px 20px; 8566 background: #111; 8567 color: #f9f5ef; 8568 text-align: center; 8569 font-family: 'Jost', sans-serif; 8570 font-size: 12px; /* was 11px (<12px) â raised for WCAG 1.4.4 */ 8571 letter-spacing: 0.12em; 8572 text-transform: uppercase; 8573 text-decoration: none; 8574 transition: background 0.25s, color 0.25s; 8575 margin-bottom: 12px; 8576 border: 1px solid #111; 8577} 8578.lh-qc__checkout-btn:hover { 8579 background: #b89a6e; 8580 border-color: #b89a6e; 8581 color: #fff; 8582} 8583.lh-qc__continue { 8584 display: block; 8585 width: 100%; 8586 padding: 10px; 8587 background: none; 8588 border: none; 8589 cursor: pointer; 8590 font-family: 'Jost', sans-serif; 8591 font-size: 10px; 8592 letter-spacing: 0.1em; 8593 text-transform: uppercase; 8594 color: rgba(17,17,17,0.45); 8595 text-align: center; 8596 transition: color 0.2s; 8597} 8598.lh-qc__continue:hover { color: #111; } 8599 8600/* ââ EMPTY STATE ââââââââââââââââââââââââââââââââââââââââââââ */ 8601.lh-qc__empty { 8602 flex: 1; 8603 display: flex; 8604 flex-direction: column; 8605 align-items: center; 8606 justify-content: center; 8607 padding: 60px 28px; 8608 text-align: center; 8609 gap: 24px; 8610} 8611.lh-qc__empty-heading { 8612 font-family: 'Cormorant Garamond', serif; 8613 font-size: 22px; 8614 font-weight: 400; 8615 letter-spacing: 0.04em; 8616 color: #111; 8617 margin: 0; 8618} 8619.lh-qc__empty-link { 8620 font-family: 'Jost', sans-serif; 8621 font-size: 10px; 8622 letter-spacing: 0.12em; 8623 text-transform: uppercase; 8624 color: #111; 8625 text-decoration: none; 8626 border-bottom: 1px solid rgba(17,17,17,0.3); 8627 padding-bottom: 2px; 8628 transition: color 0.2s, border-color 0.2s; 8629} 8630.lh-qc__empty-link:hover {
8631 color: #b89a6e; 8632 border-color: #b89a6e; 8633} 8634 8635/* ââ PERSONALIZED PROPERTIES ââââââââââââââââââââââââââââââââ */ 8636.lh-qc__item-personalized { 8637 border-left: 2px solid #b89a6e; 8638 padding: 2px 0 2px 8px; 8639 margin-top: 5px; 8640} 8641.lh-qc__item-personalized-label { 8642 display: block; 8643 font-family: 'Jost', sans-serif; 8644 font-size: 9px; 8645 letter-spacing: 0.08em; 8646 text-transform: uppercase; 8647 color: #b89a6e; 8648 line-height: 1.3; 8649} 8650.lh-qc__item-personalized-value { 8651 display: block; 8652 font-family: 'Cormorant Garamond', serif; 8653 font-size: 13px; 8654 font-style: italic; 8655 color: #111; 8656 line-height: 1.3; 8657} 8658 8659/* ââ GIFT WRAPPING TOGGLE âââââââââââââââââââââââââââââââââââ */ 8660.lh-qc__giftwrap { 8661 margin-bottom: 18px; 8662} 8663.lh-qc__giftwrap-check { 8664 position: absolute; 8665 opacity: 0; 8666 width: 0; 8667 height: 0; 8668 pointer-events: none; 8669} 8670/* !important overrides Stiletto global label { display:block } */ 8671.lh-qc__giftwrap-label { 8672 display: flex !important; 8673 flex-direction: row !important; 8674 align-items: center !important; 8675 gap: 14px; 8676 padding: 14px 0; 8677 cursor: pointer; 8678 transition: opacity 0.2s ease; 8679 user-select: none; 8680 margin: 0; 8681} 8682.lh-qc__giftwrap-label:hover { 8683 opacity: 0.75; 8684} 8685.lh-qc__giftwrap-check:checked ~ .lh-qc__giftwrap-label { 8686 opacity: 1; 8687} 8688.lh-qc__giftwrap-icon { 8689 flex-shrink: 0; 8690 display: flex; 8691 color: rgba(17,17,17,0.3); 8692 transition: color 0.3s ease; 8693} 8694.lh-qc__giftwrap-check:checked ~ .lh-qc__giftwrap-label .lh-qc__giftwrap-icon { 8695 color: #b89a6e; 8696} 8697.lh-qc__giftwrap-check:checked ~ .lh-qc__giftwrap-label .lh-qc__giftwrap-svg { 8698 animation: lhGiftwrapBounce 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) forwards; 8699} 8700@keyframes lhGiftwrapBounce { 8701 0% { transform: scale(1) rotate(0deg); } 8702 25% { transform: scale(1.3) rotate(-6deg); } 8703 50% { transform: scale(0.92) rotate(3deg); } 8704 75% { transform: scale(1.1) rotate(-2deg); } 8705 100% { transform: scale(1) rotate(0deg); } 8706} 8707/* Grid overlay: both texts occupy the same cell so they cross-fade in place */ 8708.lh-qc__giftwrap-copy { 8709 flex: 1; 8710 min-width: 0; 8711 display: grid; 8712 grid-template-columns: 1fr; 8713} 8714.lh-qc__giftwrap-q, 8715.lh-qc__giftwrap-yes { 8716 grid-row: 1; 8717 grid-column: 1; 8718 font-family: 'Jost', sans-serif; 8719 font-size: 11px; 8720 letter-spacing: 0.06em; 8721 text-transform: uppercase; 8722 line-height: 1; 8723 transition: opacity 0.25s ease, transform 0.25s ease; 8724} 8725.lh-qc__giftwrap-q { 8726 color: #111; 8727 opacity: 1; 8728 transform: translateY(0); 8729} 8730.lh-qc__giftwrap-yes { 8731 color: #b89a6e; 8732 opacity: 0; 8733 transform: translateY(5px); 8734} 8735.lh-qc__giftwrap-check:checked ~ .lh-qc__giftwrap-label .lh-qc__giftwrap-q { 8736 opacity: 0; 8737 transform: translateY(-5px); 8738} 8739.lh-qc__giftwrap-check:checked ~ .lh-qc__giftwrap-label .lh-qc__giftwrap-yes { 8740 opacity: 1; 8741 transform: translateY(0); 8742} 8743.lh-qc__giftwrap-circle { 8744 flex-shrink: 0; 8745 display: flex; 8746 color: rgba(17,17,17,0.18); 8747 transition: color 0.3s ease; 8748} 8749.lh-qc__giftwrap-check:checked ~ .lh-qc__giftwrap-label .lh-qc__giftwrap-circle { 8750 color: #b89a6e; 8751} 8752.lh-qc__giftwrap-tick { 8753 stroke-dasharray: 18; 8754 stroke-dashoffset: 18; 8755 transition: stroke-dashoffset 0.35s ease 0.15s; 8756} 8757.lh-qc__giftwrap-check:checked ~ .lh-qc__giftwrap-label .lh-qc__giftwrap-tick { 8758 stroke-dashoffset: 0; 8759} 8760 8761/* ââ ORNAMENT DIVIDER âââââââââââââââââââââââââââââââââââââââ */ 8762.lh-qc__ornament { 8763 display: flex; 8764 align-items: center; 8765 gap: 10px; 8766 margin-bottom: 16px; 8767} 8768.lh-qc__ornament-line { 8769 flex: 1; 8770 height: 1px; 8771 background: rgba(184,154,110,0.35); 8772} 8773.lh-qc__ornament-diamond { 8774 font-family: 'Cormorant Garamond', serif; 8775 font-size: 10px; 8776 color: #b89a6e; 8777 line-height: 1; 8778 opacity: 0.7; 8779} 8780 8781/* ââ MOBILE âââââââââââââââââââââââââââââââââââââââââââââââââ */ 8782@media (max-width: 480px) { 8783 .lh-qc__drawer { width: 100%; } 8784 .lh-qc__header { padding: 18px 20px; } 8785 .lh-qc__item { padding: 18px 20px; } 8786 .lh-qc__footer { padding: 18px 20px 24px; } 8787 .lh-qc__shipping-bar { padding: 12px 20px 10px; } 8788} 8789</style>
8789<script> 8790(function () { 8791 'use strict'; 8792 8793 var SECTION_ID = 'lh-quick-cart'; 8794 8795 function initLHQuickCart() { 8796 var section = document.querySelector('[data-section-id="' + SECTION_ID + '"]'); 8797 if (!section) return; 8798 8799 var overlay = section.querySelector('[data-lh-qc-overlay]'); 8800 8801 /* ââ OPEN / CLOSE ââââââââââââââââââââââââââââââââââââââââ */ 8802 var _skipObserverRefresh = false; /* set when open() handles its own refresh */ 8803 8804 function show() { 8805 section.classList.add('active'); 8806 section.setAttribute('aria-hidden', 'false'); 8807 document.body.style.overflow = 'hidden'; 8808 document.body.setAttribute('data-fluorescent-overlay-open', 'true'); 8809 } 8810 8811 function open(e) { 8812 /* If the event carries pre-fetched section HTML (from ATC handler), inject it directly. 8813 Otherwise fall back to a fresh refreshSection() fetch. */ 8814 var sectionsMap = e && e.detail && e.detail.sectionsMap; 8815 _skipObserverRefresh = true; 8816 if (sectionsMap) { 8817 injectSectionHtml(sectionsMap); 8818 show(); 8819 /* Reset flag AFTER microtasks (MutationObserver) have fired, so the observer 8820 sees _skipObserverRefresh=true and does not trigger a second stale refresh. */ 8821 setTimeout(function () { _skipObserverRefresh = false; }, 0); 8822 } else { 8823 // Show immediately so the drawer opens without waiting for the network, 8824 // then refresh content in the background (mirrors old direct-class path). 8825 show(); 8826 setTimeout(function () { _skipObserverRefresh = false; }, 0); 8827 setLoading(true); 8828 refreshSection(); 8829 } 8830 } 8831 8832 function injectSectionHtml(sectionsMap) { 8833 var html = sectionsMap[SECTION_ID]; 8834 if (!html) return; 8835 var parser = new DOMParser(); 8836 var doc = parser.parseFromString(html, 'text/html'); 8837 var newSect = doc.querySelector('[data-section-id="' + SECTION_ID + '"]'); 8838 if (!newSect) return; 8839 var newBody = newSect.querySelector('[data-lh-qc-content]'); 8840 var newCount = newSect.querySelector('[data-lh-qc-count]'); 8841 var curBody = section.querySelector('[data-lh-qc-content]'); 8842 var curCount = section.querySelector('[data-lh-qc-count]'); 8843 if (curBody && newBody) curBody.innerHTML = newBody.innerHTML; 8844 if (curCount && newCount) curCount.textContent = newCount.textContent; 8845 initGiftwrap(); 8846 } 8847 8848 function _unlockScroll() { 8849 // Clear every known scroll-lock mechanism used by this theme: 8850 // 1. Inline overflow (our own + Stiletto's body-scroll-lock library) 8851 document.body.style.overflow = ''; 8852 document.documentElement.style.overflow = ''; 8853 // 2. Stiletto's body-scroll-lock padding reservation 8854 document.body.style.paddingRight = ''; 8855 // 3. Stiletto search-panel / mobile-drawer position:fixed lock 8856 document.body.style.position = ''; 8857 document.body.style.top = ''; 8858 // 4. Stiletto CSS class (.scroll-lock { position:fixed; overflow:hidden }) 8859 document.body.classList.remove('scroll-lock'); 8860 // 5. Pairing panel body lock 8861 document.body.classList.remove('lhpp-body-lock'); 8862 // 6. Fluorescent overlay attribute 8863 document.body.removeAttribute('data-fluorescent-overlay-open'); 8864 } 8865 8866 function close() { 8867 section.classList.remove('active'); 8868 section.setAttribute('aria-hidden', 'true'); 8869 _unlockScroll(); 8870 // Re-clear after BSL's restoreOverflowSetting() may fire asynchronously. 8871 // Stiletto's BSL restore fires after 500 ms â we use 0 / 100 / 650 / 1100 ms 8872 // to ensure we always get the final word regardless of which component unlocks last. 8873 setTimeout(_unlockScroll, 0); 8874 setTimeout(_unlockScroll, 100); 8875 setTimeout(_unlockScroll, 650); 8876 setTimeout(_unlockScroll, 1100); 8877 } 8878 8879 var _observerRefreshing = false; 8880 var observer = new MutationObserver(function (mutations) { 8881 mutations.forEach(function (m) { 8882 if (m.attributeName === 'class') { 8883 var isActive = section.classList.contains('active'); 8884 section.setAttribute('aria-hidden', isActive ? 'false' : 'true'); 8885 if (isActive) { 8886 document.body.style.overflow = 'hidden'; 8887 // Drawer was opened externally (e.g. custom-header.js) â refresh content 8888 // Skip if open() already handled the refresh 8889 if (!_observerRefreshing && !_skipObserverRefresh) { 8890 _observerRefreshing = true; 8891 refreshSection().finally(function () { _observerRefreshing = false; }); 8892 } 8893 } else { 8894 _unlockScroll(); 8895 } 8896 } 8897 }); 8898 }); 8899 observer.observe(section, { attributes: true }); 8900 8901 // DOM event from other JS (custom-header.js dispatches this)
8902 document.addEventListener('lh-quick-cart:open', open); 8903 8904 // (cart icon click handled outside initLHQuickCart â see below) 8905 8906 if (overlay) overlay.addEventListener('click', close); 8907 // Event delegation for [data-lh-qc-close] â handles dynamically injected buttons 8908 section.addEventListener('click', function (e) { 8909 if (e.target.closest('[data-lh-qc-close]')) close(); 8910 }); 8911 8912 // ESC key 8913 document.addEventListener('keydown', function (e) { 8914 if (e.key === 'Escape' && section.classList.contains('active')) close(); 8915 }); 8916 8917 /* ââ QUANTITY STEPPER ââââââââââââââââââââââââââââââââââââ */ 8918 section.addEventListener('click', function (e) { 8919 var minusBtn = e.target.closest('[data-qty-minus]'); 8920 var plusBtn = e.target.closest('[data-qty-plus]'); 8921 if (!minusBtn && !plusBtn) return; 8922 8923 var wrap = (minusBtn || plusBtn).closest('[data-qty-wrap]'); 8924 var input = wrap && wrap.querySelector('[data-qty-input]'); 8925 if (!input) return; 8926 8927 var val = parseInt(input.value, 10) || 0; 8928 if (minusBtn) val = Math.max(0, val - 1); 8929 if (plusBtn) val = val + 1; 8930 input.value = val; 8931 updateQty(input.dataset.itemKey, val); 8932 }); 8933 8934 /* ââ QTY INPUT (direct edit, debounced) ââââââââââââââââââ */ 8935 var qtyTimer; 8936 section.addEventListener('input', function (e) { 8937 var input = e.target.closest('[data-qty-input]'); 8938 if (!input) return; 8939 clearTimeout(qtyTimer); 8940 qtyTimer = setTimeout(function () { 8941 var val = parseInt(input.value, 10); 8942 if (!isNaN(val) && val >= 0) updateQty(input.dataset.itemKey, val); 8943 }, 400); 8944 }); 8945 8946 /* ââ SAVE FOR LATER (Swym programmatic API) âââââââââââââ */ 8947 section.addEventListener('click', function (e) { 8948 var btn = e.target.closest('[data-lh-save-later]'); 8949 if (!btn) return; 8950 8951 var swat = window._swat; 8952 if (!swat) { console.warn('[lh-quick-cart] Swym not ready'); return; } 8953 8954 var productId = parseInt(btn.dataset.productId, 10); 8955 var variantId = parseInt(btn.dataset.variantId, 10); 8956 var productUrl = btn.dataset.productUrl; 8957 var productTitle = btn.dataset.productTitle; 8958 var productPrice = parseFloat(btn.dataset.productPrice) / 100; 8959 var productImage = btn.dataset.productImage; 8960 8961 swat.addToWishList( 8962 { epi: variantId, empi: productId, du: productUrl, dt: productTitle, pr: productPrice, iu: productImage }, 8963 function () { 8964 btn.textContent = 'Saved to wishlist'; 8965 btn.classList.add('is-saved'); 8966 btn.disabled = true; 8967 setTimeout(function () { 8968 btn.textContent = 'Save for later'; 8969 btn.classList.remove('is-saved'); 8970 btn.disabled = false; 8971 }, 3000); 8972 }, 8973 function (err) { console.error('[lh-quick-cart] Swym error:', err); } 8974 ); 8975 }); 8976 8977 /* ââ REMOVE ââââââââââââââââââââââââââââââââââââââââââââââ */ 8978 section.addEventListener('click', function (e) { 8979 var btn = e.target.closest('[data-remove-item]'); 8980 if (!btn) return; 8981 updateQty(btn.dataset.itemKey, 0); 8982 }); 8983 8984 /* ââ HEADER BADGE â direct DOM update âââââââââââââââââââ */ 8985 function updateHeaderBadge(count) { 8986 var badges = document.querySelectorAll('[data-js-cart-count]'); 8987 badges.forEach(function (el) { 8988 el.textContent = count > 0 ? count : ''; 8989 el.classList.toggle('csh__cart-count--empty', count === 0); 8990 }); 8991 } 8992 8993 /* ââ CART MUTATION âââââââââââââââââââââââââââââââââââââââ */ 8994 function updateQty(key, qty) { 8995 setLoading(true); 8996 fetch('/cart/change.js', { 8997 method: 'POST', 8998 credentials: 'include', 8999 headers: { 'Content-Type': 'application/json' }, 9000 body: JSON.stringify({ id: key, quantity: qty }) 9001 }) 9002 .then(function (r) { return r.json(); }) 9003 .then(function (cart) { 9004 // Direct DOM update â belt-and-suspenders regardless of event format 9005 updateHeaderBadge(cart.item_count); 9006 9007 // Fire cart:updated in both formats: 9008 // { cart: { item_count } } â Stiletto's expected format 9009 // { itemCount } â our custom-header.js fallback format 9010 document.dispatchEvent(new CustomEvent('cart:updated', { 9011 bubbles: true, 9012 detail: { cart: cart, itemCount: cart.item_count } 9013 })); 9014 return refreshSection(); 9015 }) 9016 .catch(function (err) { 9017 console.error('[lh-quick-cart] cart change error:', err);
9018 setLoading(false); 9019 }); 9020 } 9021 9022 /* ââ SECTION RENDERING API âââââââââââââââââââââââââââââââ */ 9023 function refreshSection() { 9024 return fetch(window.location.pathname + '?sections=' + SECTION_ID, { credentials: 'include' }) 9025 .then(function (r) { return r.json(); }) 9026 .then(function (data) { 9027 var html = data[SECTION_ID]; 9028 if (!html) { setLoading(false); return; } 9029 9030 var parser = new DOMParser(); 9031 var doc = parser.parseFromString(html, 'text/html'); 9032 var newSect = doc.querySelector('[data-section-id="' + SECTION_ID + '"]'); 9033 if (!newSect) { setLoading(false); return; } 9034 9035 // Swap only the scrollable body + count (preserve open/close state) 9036 var newBody = newSect.querySelector('[data-lh-qc-content]'); 9037 var newCount = newSect.querySelector('[data-lh-qc-count]'); 9038 var curBody = section.querySelector('[data-lh-qc-content]'); 9039 var curCount = section.querySelector('[data-lh-qc-count]'); 9040 9041 if (curBody && newBody) curBody.innerHTML = newBody.innerHTML; 9042 if (curCount && newCount) curCount.textContent = newCount.textContent; 9043 initGiftwrap(); 9044 9045 setLoading(false); 9046 }) 9047 .catch(function (err) { 9048 console.error('[lh-quick-cart] section refresh error:', err); 9049 setLoading(false); 9050 }); 9051 } 9052 9053 function setLoading(state) { 9054 var body = section.querySelector('[data-lh-qc-content]'); 9055 if (body) body.classList.toggle('is-loading', state); 9056 } 9057 9058 /* ââ GIFT WRAPPING TOGGLE âââââââââââââââââââââââââââââââ */ 9059 function initGiftwrap() { 9060 var checkbox = section.querySelector('[data-lh-giftwrap]'); 9061 if (!checkbox) return; 9062 checkbox.checked = sessionStorage.getItem('lh-giftwrap') === '1'; 9063 checkbox.addEventListener('change', function () { 9064 var checked = this.checked; 9065 sessionStorage.setItem('lh-giftwrap', checked ? '1' : '0'); 9066 // Re-trigger bounce when checking (CSS animation won't replay without a reset) 9067 if (checked) { 9068 var svg = section.querySelector('.lh-qc__giftwrap-svg'); 9069 if (svg) {
9070 svg.style.animation = 'none'; 9071 svg.offsetHeight; /* force reflow */ 9072 svg.style.animation = ''; 9073 } 9074 } 9075 fetch('/cart.js', { credentials: 'include' }) 9076 .then(function (r) { return r.json(); }) 9077 .then(function (cart) { 9078 var note = (cart.note || '').replace(/\n?Gift wrapping: Yes/gi, '').trim(); 9079 if (checked) note = note ? note + '\nGift wrapping: Yes' : 'Gift wrapping: Yes'; 9080 return fetch('/cart/update.js', { 9081 method: 'POST', 9082 credentials: 'include', 9083 headers: { 'Content-Type': 'application/json' }, 9084 body: JSON.stringify({ note: note }) 9085 }); 9086 }) 9087 .catch(function (err) { console.error('[lh-quick-cart] giftwrap error:', err); }); 9088 }); 9089 } 9090 9091 initGiftwrap(); 9092 9093 /* ââ LISTEN FOR ADD-TO-CART â open drawer ââââââââââââââââ */ 9094 // When theme fires quick-cart:open via pubsub AND via DOM event 9095 document.addEventListener('quick-cart:open', open); 9096 9097 // Also refresh section on cart:item-added (from Stiletto add-to-cart flow) 9098 document.addEventListener('cart:item-added', function () { 9099 refreshSection(); 9100 }); 9101 } 9102 9103 // Cart icon click â registered unconditionally so it works even if initLHQuickCart 9104 // returns early. Finds the section by type at click time rather than at init time. 9105 document.addEventListener('click', function (e) { 9106 var btn = e.target.closest('[data-js-cart-icon]'); 9107 if (!btn) return; 9108 e.preventDefault(); 9109 var qc = document.querySelector('[data-section-type="lh-quick-cart"]'); 9110 if (!qc) return; 9111 qc.classList.add('active'); 9112 qc.setAttribute('aria-hidden', 'false'); 9113 document.body.style.overflow = 'hidden'; 9114 document.body.setAttribute('data-fluorescent-overlay-open', 'true'); 9115 // If initLHQuickCart ran successfully, also trigger a content refresh 9116 // via the MutationObserver (which watches for the active class change). 9117 }); 9118 9119 if (document.readyState === 'loading') { 9120 document.addEventListener('DOMContentLoaded', initLHQuickCart); 9121 } else { 9122 initLHQuickCart(); 9123 } 9124 9125 // Re-init after theme editor section reload 9126 document.addEventListener('shopify:section:load', function (e) { 9127 var el = e.target && e.target.querySelector('[data-section-type="lh-quick-cart"]'); 9128 if (el) initLHQuickCart(); 9129 }); 9130})(); 9131</script>
9131 9132 9133 9134</div> 9135 9136 9137<div 9138 id="store-availability" 9139 class="lh-drawer" 9140 style="--lh-drawer-z:600;--lh-drawer-width:380px;--lh-drawer-bg:#f9f5ef" 9141 aria-hidden="true" 9142 role="dialog" 9143 aria-modal="true" 9144 aria-label="Store Availability" 9145 9146> 9147 <div class="lh-drawer__overlay" data-lh-drawer-overlay></div> 9148 <div class="lh-drawer__panel"> 9149 9150 <div class="lh-drawer__header"> 9151 <div class="lh-drawer__header-text"><span class="lh-drawer__title" data-lh-drawer-title>Store Availability</span></div> 9152 <p 9153 class="store-availability-drawer__store-list-variant-title fs-body-60 t-opacity-60" 9154 style="margin:0;font-size:0.75rem;opacity:0.6;" 9155 data-store-availability-variant-title 9156 ></p> 9157 <button 9158 type="button" 9159 class="lh-drawer__close" 9160 data-lh-drawer-close 9161 aria-label="Close" 9162 > 9163 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> 9164 <line x1="18" y1="6" x2="6" y2="18"></line> 9165 <line x1="6" y1="6" x2="18" y2="18"></line> 9166 </svg> 9167 </button> 9168 </div> 9169 9170 <div class="lh-drawer__body"> 9171 <div 9172 class="store-availability-drawer popover " 9173 data-store-availability-drawer 9174 style="position:static;visibility:visible;pointer-events:auto;z-index:auto;" 9175 > 9176 <div class="store-availbility-drawer__product" data-store-availability-product></div> 9177 <div class="store-availbility-drawer__content" data-store-list-container></div> 9178 </div> 9179 </div></div> 9180</div> 9181
9182<script> 9183 (function () { 9184 var el = document.getElementById('store-availability'); 9185 if (el && window.LHDrawer) { 9186 LHDrawer.register('store-availability', { el: el }); 9187 } else { 9188 document.addEventListener('DOMContentLoaded', function () { 9189 var el = document.getElementById('store-availability'); 9190 if (el && window.LHDrawer) { 9191 LHDrawer.register('store-availability', { el: el }); 9192 } 9193 }); 9194 } 9195 })(); 9196</script>
9196 9197 9198
9199<script> 9200 (function () { 9201 // Bridge: theme JS opens via data-store-availability-drawer. 9202 // Watch for the theme's popover system toggling visibility and 9203 // redirect to LHDrawer if available. 9204 var trigger = document.querySelector('[data-store-availability-drawer-trigger]'); 9205 if (trigger) { 9206 trigger.addEventListener('click', function () { 9207 if (window.LHDrawer) { 9208 LHDrawer.open('store-availability'); 9209 } 9210 }); 9211 } 9212 9213 // Also wire the theme's close button data attribute 9214 var themeClose = document.querySelector('[data-store-availability-close]'); 9215 if (themeClose) { 9216 themeClose.addEventListener('click', function () { 9217 if (window.LHDrawer) { 9218 LHDrawer.close('store-availability'); 9219 } 9220 }); 9221 } 9222 })(); 9223</script>
9223 9224 9225 <div 9226 class=" 9227 quick-product--wrap 9228 modal 9229 popover 9230 is-fixed 9231 9232 9233 " 9234 aria-modal="true" 9235 9236 aria-hidden="true" 9237 9238 data-quick-view-modal 9239> 9240 <div class="modal__wash"></div> 9241 9242 <div class="quick-product--modal__inner modal__inner"> 9243 <div class="quick-view-modal__content empty"> 9244 <h3 class="quick-view-modal-loading-indicator"> 9245 <div class="loader"> 9246 <div class="loader__wrap"> 9247 <div class="loader__bar"></div> 9248 </div> 9249</div> 9250 9251 </h3> 9252 </div> 9253 <button 9254 type="button" 9255 data-modal-close 9256 class="modal__close-icon" 9257 aria-label="Close" 9258 > 9259 <span 9260 class="icon-button icon-button-close icon-button--small " 9261 9262> 9263 <span class="icon-button__icon"> 9264 <span class="icon icon-new icon-close "> 9265 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.66 1.34 2 .68.68 2l.66.66 1.32-1.32zm18.68 21.32.66.66L23.32 22l-.66-.66-1.32 1.32zm1.32-20 .66-.66L22 .68l-.66.66 1.32 1.32zM1.34 21.34.68 22 2 23.32l.66-.66-1.32-1.32zm0-18.68 10 10 1.32-1.32-10-10-1.32 1.32zm11.32 10 10-10-1.32-1.32-10 10 1.32 1.32zm-1.32-1.32-10 10 1.32 1.32 10-10-1.32-1.32zm0 1.32 10 10 1.32-1.32-10-10-1.32 1.32z" fill="currentColor"/></svg> 9266</span> 9267 </span> 9268</span> 9269 9270 </button> 9271 </div> 9272</div> 9273 9274 9275 <div class="modal popover" data-modal> 9276 <div class="modal__wash"></div> 9277 <div class="modal__inner" data-scroll-lock-ignore> 9278 <div class="modal__header"> 9279 <button 9280 type="button" 9281 data-modal-close 9282 class="modal__close-icon" 9283 aria-label="Close" 9284 > 9285 <span 9286 class="icon-button icon-button-close icon-button--small " 9287 9288> 9289 <span class="icon-button__icon"> 9290 <span class="icon icon-new icon-close "> 9291 <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2.66 1.34 2 .68.68 2l.66.66 1.32-1.32zm18.68 21.32.66.66L23.32 22l-.66-.66-1.32 1.32zm1.32-20 .66-.66L22 .68l-.66.66 1.32 1.32zM1.34 21.34.68 22 2 23.32l.66-.66-1.32-1.32zm0-18.68 10 10 1.32-1.32-10-10-1.32 1.32zm11.32 10 10-10-1.32-1.32-10 10 1.32 1.32zm-1.32-1.32-10 10 1.32 1.32 10-10-1.32-1.32zm0 1.32 10 10 1.32-1.32-10-10-1.32 1.32z" fill="currentColor"/></svg> 9292</span> 9293 </span> 9294</span> 9295 9296 </button> 9297 </div> 9298 <div class="modal__content rte non-page-rte"></div> 9299 </div> 9300</div> 9301 9302 9303 9304 </div> 9305 9306 9307
9307<script src="//www.youtube.com/iframe_api" type="text/javascript"></script>
9307 9308 <link href="//loganhollowell.com/cdn/shopifycloud/shopify-plyr/v1.0/shopify-plyr.css" rel="stylesheet" type="text/css" media="all" /> 9309 9310 9311
9312<script> 9313document.addEventListener('DOMContentLoaded', function() { 9314 var header = document.querySelector('.header'); 9315 if (!header) return; 9316 // Function to update the blur effect 9317 function updateBlurEffect(blurAmount) { 9318 header.style.backdropFilter = `blur(${blurAmount}px)`; 9319 header.style.webkitBackdropFilter = `blur(${blurAmount}px)`; // For Safari and older browsers 9320 } 9321 // Mouseover events for desktop 9322 header.addEventListener('mouseenter', function() { 9323 this.classList.add('header-solid'); 9324 this.style.backgroundColor = '#FFFFFF'; // Set header background to solid white 9325 }); 9326 header.addEventListener('mouseleave', function() { 9327 this.classList.remove('header-solid'); 9328 this.style.backgroundColor = ''; // Remove the solid background color 9329 }); 9330 // Scroll event for dynamic blur effect 9331 document.addEventListener('scroll', function() { 9332 var scrollPosition = window.scrollY; 9333 var blurMax = 10; // Maximum blur in pixels 9334 var scrollMax = 500; // Scroll position (in pixels) where the maximum blur is reached 9335 var blurAmount = Math.min(scrollPosition / scrollMax * blurMax, blurMax); 9336 if (!header.classList.contains('header-solid')) { 9337 updateBlurEffect(blurAmount); 9338 } else { 9339 // Optional: Adjust the blur effect when the header is solid 9340 // updateBlurEffect(0); // Uncomment this line if you want to remove the blur when the header is solid 9341 } 9342 }); 9343}); 9344</script>
9344 9345 9346 9347 9348 9349<style> 9350a.btn.klaviyo-bis-trigger { 9351 border: 1.5px solid; 9352 text-align: center; 9353 margin: 0px; 9354 display: flex; 9355 padding: 10px 20px; /* Adjust padding as needed */ 9356 background-color: #000; /* Black background */ 9357 color: #fff; /* White text color */ 9358 border-radius: 5px; /* Rounded corners, adjust as needed */ 9359 font-size: 12px; /* Font size set to 12 pixels */ 9360} 9361 9362/* Optional: Hover effect */ 9363a.btn.klaviyo-bis-trigger:hover { 9364 background-color: #fff; /* Hover background color */ 9365 color: #000; /* Hover text color */ 9366}</style>
9366<script> 9367 window.lhInitKlaviyoBackInStock = function () { 9368 var klaviyo = window.klaviyo || []; 9369 if (!klaviyo || typeof klaviyo.init !== 'function') return; 9370 klaviyo.init({ 9371 account: "QqgYZH", 9372 list: "WXfYke", 9373 platform: "shopify" 9374 }); 9375 klaviyo.enable("backinstock",{ 9376 trigger: { 9377 product_page_text: "Join the Waitlist", 9378 product_page_class: "btn", 9379 product_page_text_align: "center", 9380 product_page_margin: "0px", 9381replace_anchor: true, 9382 }, 9383 modal: { 9384newsletter_subscribe_label: "Add me to your email list.", 9385 subscribe_checked: true, 9386 headline: "Join the Waitlist", 9387 body_content: "Please enter your email and we will let you know when your item becomes available.", 9388 email_field_label: "Email", 9389 button_label: "GET NOTIFIED", 9390 subscription_success_label: "You're in! We'll let you know when it's back.", 9391 footer_content: '', 9392 additional_styles: "@import url('https://fonts.googleapis.com/css?family=Helvetica+Neue');", 9393 drop_background_color: "#000", 9394 background_color: "#fff", 9395 text_color: "#000", 9396 button_text_color: "#fff", 9397 button_background_color: "#000", 9398 close_button_color: "#ccc", 9399 error_background_color: "#fcd6d7", 9400 error_text_color: "#C72E2F", 9401 success_background_color: "#d3efcd", 9402 success_text_color: "#1B9500" 9403 } 9404 }); 9405 }; 9406</script>
vendor: 1 bytes, line 9406
9406
9407<script async src="https://a.klaviyo.com/media/js/onsite/onsite.js" onload="window.lhInitKlaviyoBackInStock()"></script>
9407 9408 9409 9410 9411
9411<script> (function(){ var s = document.createElement('script'); var h = document.querySelector('head') || document.body; s.src = 'https://acsbapp.com/apps/app/dist/js/app.js'; s.async = true; s.onload = function(){ acsbJS.init({ statementLink : '', footerHtml : '', hideMobile : false, hideTrigger : false, disableBgProcess : false, language : 'en', position : 'left', leadColor : '#146FF8', triggerColor : '#146FF8', triggerRadius : '50%', triggerPositionX : 'left', triggerPositionY : 'bottom', triggerIcon : 'people', triggerSize : 'bottom', triggerOffsetX : 20, triggerOffsetY : 80, mobile : { triggerSize : 'small', triggerPositionX : 'right', triggerPositionY : 'bottom', triggerOffsetX : 10, triggerOffsetY : 10, triggerRadius : '20' } }); }; h.appendChild(s); })();</script>
9411 9412 9413 9414
9415<script async src="https://cdn.tangiblee.com/integration/5.0/managed/loganhollowell.com/revision_1/variation_original/tangiblee-bundle.min.js"></script>
9415 9416 9417 9418 9419
9420<script defer src="https://static.shopmy.us/Affiliates/sms_aff_clicktrack.js"></script>
9420 9421 9422 9423 9424 9425 9426 9427 9428 9429<div class="lh-sticky-atc" id="lh-sticky-atc" aria-hidden="true" aria-label="Quick add to cart"> 9430 <div class="lh-sticky-atc__info"> 9431 <p class="lh-sticky-atc__title" id="lh-sticky-atc-title"></p> 9432 <p class="lh-sticky-atc__price" id="lh-sticky-atc-price"></p> 9433 </div> 9434 <button class="lh-sticky-atc__btn" id="lh-sticky-atc-btn" type="button" aria-label="Add to cart"> 9435 Add to Cart 9436 </button> 9437</div> 9438 9439<style> 9440/* âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 9441 LH STICKY MOBILE ATC BAR · snippets/lh-sticky-atc.liquid 9442 Prefix: lh-sticky-atc 9443âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 9444 9445.lh-sticky-atc { 9446 position: fixed; 9447 bottom: 0; 9448 left: 0; 9449 right: 0; 9450 z-index: 550; 9451 display: flex; 9452 align-items: center; 9453 gap: 12px; 9454 padding: 12px 1.25rem calc(12px + env(safe-area-inset-bottom)); 9455 background: #fff; 9456 border-top: 1px solid var(--border, #e0d8ce); 9457 box-shadow: 0 -4px 24px rgba(0,0,0,0.08); 9458 9459 /* Hidden by default â JS adds .is-visible. 9460 visibility:hidden keeps the off-screen button out of the tab order (matches aria-hidden). */ 9461 transform: translateY(110%); 9462 visibility: hidden; 9463 transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0.32s; 9464 will-change: transform; 9465} 9466 9467.lh-sticky-atc.is-visible { 9468 transform: translateY(0); 9469 visibility: visible; 9470 transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0s; 9471} 9472 9473/* Only show on product templates */ 9474body:not(.template-product) .lh-sticky-atc { display: none !important; } 9475 9476/* Only show on mobile (â¤768px) */ 9477@media (min-width: 769px) { 9478 .lh-sticky-atc { display: none !important; } 9479} 9480 9481.lh-sticky-atc__info { 9482 flex: 1; 9483 min-width: 0; 9484 overflow: hidden; 9485} 9486 9487.lh-sticky-atc__title { 9488 font-family: var(--serif, 'Cormorant Garamond', Georgia, serif); 9489 font-size: clamp(0.85rem, 3.5vw, 1rem); 9490 font-weight: 400; 9491 color: var(--dark, #111); 9492 white-space: nowrap; 9493 overflow: hidden; 9494 text-overflow: ellipsis; 9495 line-height: 1.2; 9496 margin: 0 0 2px; 9497 letter-spacing: 0.01em; 9498} 9499 9500.lh-sticky-atc__price { 9501 font-family: var(--sans, 'Jost', sans-serif); 9502 font-size: 0.8125rem; 9503 font-weight: 300; 9504 color: var(--light, #888); 9505 letter-spacing: 0.06em; 9506 margin: 0; 9507 line-height: 1; 9508} 9509 9510.lh-sticky-atc__btn { 9511 flex-shrink: 0; 9512 padding: 11px 22px; 9513 background: var(--dark, #111); 9514 color: #fff; 9515 border: none; 9516 font-family: var(--sans, 'Jost', sans-serif); 9517 font-size: 0.75rem; 9518 font-weight: 300; 9519 letter-spacing: 0.2em; 9520 text-transform: uppercase; 9521 cursor: pointer; 9522 min-height: 44px; 9523 transition: background 0.2s ease, opacity 0.2s ease; 9524 -webkit-tap-highlight-color: transparent; 9525 touch-action: manipulation; 9526} 9527 9528.lh-sticky-atc__btn:hover { background: #2a2a2a; } 9529.lh-sticky-atc__btn:focus-visible { 9530 outline: 2px solid var(--gold, #b89a6e); 9531 outline-offset: 2px; 9532} 9533 9534/* Sold-out state */ 9535.lh-sticky-atc__btn[disabled], 9536.lh-sticky-atc__btn.is-sold-out { 9537 background: var(--cream, #f9f5ef); 9538 border: 1px solid var(--border, #e0d8ce); 9539 color: var(--light, #888); 9540 cursor: not-allowed; 9541 opacity: 1; 9542} 9543 9544/* Loading spinner state */ 9545.lh-sticky-atc__btn.is-loading { 9546 opacity: 0.6; 9547 pointer-events: none; 9548} 9549 9550@media (prefers-reduced-motion: reduce) { 9551 .lh-sticky-atc { transition: none; } 9552} 9553 9554/* Hide when pairing panel (or any body-lock overlay) is open */ 9555body.lhpp-body-lock .lh-sticky-atc { 9556 transform: translateY(110%) !important; 9557 pointer-events: none; 9558} 9559</style> 9560
9561<script> 9562(function () { 9563 'use strict'; 9564 9565 /* Only run on product pages */ 9566 if (!document.body.classList.contains('template-product')) return; 9567 9568 var bar = document.getElementById('lh-sticky-atc'); 9569 var barBtn = document.getElementById('lh-sticky-atc-btn'); 9570 var barTitle = document.getElementById('lh-sticky-atc-title'); 9571 var barPrice = document.getElementById('lh-sticky-atc-price'); 9572 9573 if (!bar || !barBtn) return; 9574 9575 /* ââ Locate the page's primary ATC button ââ */ 9576 var ATC_SELECTORS = [ 9577 '.product-form__submit[data-add-to-cart]', 9578 '.product-form__submit', 9579 '[data-add-to-cart]', 9580 'button[name="add"]', 9581 '.btn--add-to-cart', 9582 '.product-form button[type="submit"]', 9583 'form[action="/cart/add"] button[type="submit"]' 9584 ]; 9585 var pageAtcBtn = null; 9586 for (var i = 0; i < ATC_SELECTORS.length; i++) { 9587 pageAtcBtn = document.querySelector(ATC_SELECTORS[i]); 9588 if (pageAtcBtn) break; 9589 } 9590 if (!pageAtcBtn) return; /* No ATC button found â bail silently */ 9591 9592 /* ââ Populate product title & price ââ */ 9593 var TITLE_SELECTORS = [ 9594 '.product-meta__title', 'h1.product-meta__title', 9595 '.product__title', 'h1.product__title', 9596 '.product-single__title', 'h1' 9597 ]; 9598 var PRICE_SELECTORS = [ 9599 '.price__regular .price-item--regular', 9600 '.price__regular', 9601 '.product-meta__price', 9602 '[data-product-price]', 9603 '.price .money' 9604 ]; 9605 9606 function firstText(selectors) { 9607 for (var s = 0; s < selectors.length; s++) { 9608 var el = document.querySelector(selectors[s]); 9609 if (el && el.textContent.trim()) return el.textContent.trim(); 9610 } 9611 return ''; 9612 } 9613 9614 function populate() { 9615 var title = firstText(TITLE_SELECTORS); 9616 var price = firstText(PRICE_SELECTORS); 9617 if (title) barTitle.textContent = title; 9618 if (price) barPrice.textContent = price; 9619 } 9620 9621 populate(); 9622 9623 /* ââ Sync button state (sold out / loading) ââ */ 9624 function syncState() { 9625 var disabled = pageAtcBtn.disabled || pageAtcBtn.getAttribute('aria-disabled') === 'true'; 9626 barBtn.disabled = disabled; 9627 barBtn.classList.toggle('is-sold-out', disabled); 9628 var btnText = pageAtcBtn.textContent.trim(); 9629 if (btnText) barBtn.textContent = btnText; 9630 if (disabled && !/sold.?out/i.test(barBtn.textContent)) { 9631 barBtn.textContent = 'Sold Out'; 9632 } 9633 } 9634 9635 var stateObserver = new MutationObserver(syncState); 9636 stateObserver.observe(pageAtcBtn, { attributes: true, childList: true, subtree: true }); 9637 syncState(); 9638 9639 /* ââ Show/hide via IntersectionObserver ââ */ 9640 var io = new IntersectionObserver(function (entries) { 9641 var visible = entries[0].isIntersecting; 9642 bar.classList.toggle('is-visible', !visible); 9643 bar.setAttribute('aria-hidden', visible ? 'true' : 'false'); 9644 }, { 9645 threshold: 0, 9646 rootMargin: '0px 0px -20px 0px' 9647 }); 9648 io.observe(pageAtcBtn); 9649 9650 /* ââ Delegate click to the real ATC button ââ */ 9651 barBtn.addEventListener('click', function () { 9652 if (barBtn.disabled) return; 9653 barBtn.classList.add('is-loading'); 9654 pageAtcBtn.click(); 9655 /* Re-sync after a short delay to pick up any state changes */ 9656 setTimeout(function () { 9657 barBtn.classList.remove('is-loading'); 9658 syncState(); 9659 }, 1200); 9660 }); 9661 9662 /* ââ Price/title can change on variant switch â re-poll ââ */ 9663 document.addEventListener('variant:change', populate); /* custom event some themes fire */ 9664 document.addEventListener('variantChange', populate); 9665 /* Fallback: observe the price element for text changes */ 9666 var priceEl = document.querySelector(PRICE_SELECTORS[0]); 9667 if (priceEl) { 9668 new MutationObserver(populate).observe(priceEl, { childList: true, subtree: true, characterData: true }); 9669 } 9670 9671})(); 9672</script>
9672 9673 9674 9675<style> 9676 9677 /* ââââââââââââââââââââââââââââââââââââââââââ 9678 OVERLAY & CARD 9679 ââââââââââââââââââââââââââââââââââââââââââ */ 9680 .lhee { 9681 position: fixed; 9682 inset: 0; 9683 z-index: 999999; 9684 display: flex; 9685 align-items: center; 9686 justify-content: center; 9687 opacity: 0; 9688 pointer-events: none; 9689 transition: opacity 0.7s ease; 9690 } 9691 .lhee--active { 9692 opacity: 1; 9693 pointer-events: all; 9694 } 9695 .lhee__backdrop { 9696 position: absolute; 9697 inset: 0; 9698 background: rgba(10, 8, 6, 0.86); 9699 backdrop-filter: blur(6px); 9700 -webkit-backdrop-filter: blur(6px); 9701 } 9702 .lhee__card { 9703 position: relative; 9704 width: min(880px, 94vw); 9705 border-radius: 2px; 9706 overflow: hidden; 9707 box-shadow: 0 48px 140px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(184, 154, 110, 0.25); 9708 transform: scale(0.9) translateY(24px); 9709 transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1); 9710 } 9711 .lhee--active .lhee__card { 9712 transform: scale(1) translateY(0); 9713 } 9714 9715 /* ââââââââââââââââââââââââââââââââââââââââââ 9716 TIMELINE â 4 CROSSFADING FRAMES 9717 ââââââââââââââââââââââââââââââââââââââââââ */ 9718 .lhee__timeline { 9719 position: relative; 9720 height: clamp(300px, 48vw, 470px); 9721 overflow: hidden; 9722 } 9723 .lhee__frame { 9724 position: absolute; 9725 inset: 0; 9726 opacity: 0; 9727 transition: opacity 1.5s ease; 9728 pointer-events: none; 9729 } 9730 .lhee__frame--active { 9731 opacity: 1; 9732 pointer-events: all; 9733 } 9734 .lhee__fsv { 9735 position: absolute; 9736 inset: 0; 9737 width: 100%; 9738 height: 100%; 9739 display: block; 9740 } 9741 9742 /* Frame captions (frames 1â3) */ 9743 .lhee__cap { 9744 position: absolute; 9745 bottom: 44px; 9746 left: 50%; 9747 transform: translateX(-50%) translateY(18px); 9748 text-align: center; 9749 opacity: 0; 9750 transition: opacity 1s ease 0.8s, transform 1s ease 0.8s; 9751 pointer-events: none; 9752 white-space: nowrap; 9753 } 9754 .lhee__frame--active .lhee__cap { 9755 opacity: 1; 9756 transform: translateX(-50%) translateY(0); 9757 } 9758 .lhee__cap-eye { 9759 display: inline-block; 9760 font-family: 'Jost', sans-serif; 9761 font-size: 9px; 9762 letter-spacing: 0.32em; 9763 text-transform: uppercase; 9764 color: rgba(255, 255, 255, 0.92); 9765 margin-bottom: 10px; 9766 padding: 5px 14px; 9767 background: rgba(0, 0, 0, 0.42); 9768 backdrop-filter: blur(8px); 9769 -webkit-backdrop-filter: blur(8px); 9770 border-radius: 20px; 9771 border: 1px solid rgba(255, 255, 255, 0.1); 9772 text-shadow: none; 9773 } 9774 .lhee__cap-title { 9775 display: block; 9776 font-family: 'Cormorant Garamond', Georgia, serif; 9777 font-size: clamp(22px, 3.5vw, 34px); 9778 font-style: italic; 9779 font-weight: 300; 9780 color: #fff; 9781 text-shadow: 0 2px 22px rgba(0, 0, 0, 0.5); 9782 } 9783 9784 /* ââââââââââââââââââââââââââââââââââââââââââ 9785 FRAME 4 â SPLIT SCENE 9786 ââââââââââââââââââââââââââââââââââââââââââ */ 9787 .lhee__scene { 9788 display: grid; 9789 grid-template-columns: 1fr 1fr; 9790 height: 100%; 9791 position: relative; 9792 } 9793 .lhee__obx { 9794 position: relative; 9795 overflow: hidden; 9796 background: linear-gradient(180deg, 9797 #f5c87a 0%, #e9935e 18%, #d0734a 30%, 9798 #8fc4d8 50%, #4a90c4 68%, #3a7ab0 78%, 9799 #c8b89a 88%, #d8c8a8 100% 9800 ); 9801 } 9802 .lhee__bh { 9803 position: relative; 9804 overflow: hidden; 9805 background: linear-gradient(180deg, 9806 #0f0628 0%, #2a0d50 15%, #5c1f72 28%, 9807 #b84020 46%, #e07228 62%, #f0b040 76%, 9808 #4a6a28 90%, #2e4a18 100% 9809 ); 9810 } 9811 .lhee__scene-svg { 9812 position: absolute; 9813 inset: 0; 9814 width: 100%; 9815 height: 100%; 9816 } 9817 .lhee__label { 9818 position: absolute; 9819 bottom: 20px; 9820 left: 50%; 9821 transform: translateX(-50%); 9822 font-family: 'Jost', sans-serif; 9823 font-size: 9px; 9824 letter-spacing: 0.28em; 9825 text-transform: uppercase; 9826 color: rgba(255, 255, 255, 0.88); 9827 white-space: nowrap; 9828 text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5); 9829 z-index: 2; 9830 } 9831 9832 /* ââââââââââââââââââââââââââââââââââââââââââ 9833 CENTER CARD 9834 ââââââââââââââââââââââââââââââââââââââââââ */ 9835 .lhee__center { 9836 position: absolute; 9837 left: 50%; 9838 top: 50%; 9839 transform: translate(-50%, -50%) scale(0.88); 9840 text-align: center; 9841 z-index: 20; 9842 background: rgba(249, 245, 239, 0.96); 9843 backdrop-filter: blur(14px); 9844 -webkit-backdrop-filter: blur(14px); 9845 padding: 38px 52px 36px; 9846 width: clamp(280px, 36vw, 340px); 9847 border: 1px solid rgba(184, 154, 110, 0.45); 9848 box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); 9849 opacity: 0; 9850 transition: opacity 0.6s ease 0.4s, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.4s; 9851 } 9852 .lhee__frame--active .lhee__center { 9853 opacity: 1; 9854 transform: translate(-50%, -50%) scale(1); 9855 } 9856 9857 /* LH SVG logo */ 9858 .lhee__logo-wrap { 9859 position: relative; 9860 display: flex; 9861 align-items: center; 9862 justify-content: center; 9863 margin-bottom: 14px; 9864 overflow: hidden; 9865 } 9866 .lhee__frame--active .lhee__logo-wrap::after { 9867 content: ''; 9868 position: absolute; 9869 top: 0; left: 0; 9870 width: 45%; 9871 height: 100%; 9872 background: linear-gradient(90deg, transparent 0%, rgba(255, 230, 160, 0.55) 50%, transparent 100%); 9873 transform: translateX(-200%); 9874 animation: lhee-shimmer 1s cubic-bezier(0.4, 0, 0.2, 1) 0.9s forwards; 9875 pointer-events: none; 9876 } 9877 @keyframes lhee-shimmer { 9878 0% { transform: translateX(-200%); opacity: 1; } 9879 100% { transform: translateX(400%); opacity: 1; } 9880 } 9881 .lhee__logo-svg { 9882 height: 72px; 9883 width: auto; 9884 overflow: visible; 9885 } 9886 .lhee__logo-svg .lhee-lp { 9887 transform-box: fill-box; 9888 transform-origin: top center; 9889 transform: scaleY(0); 9890 opacity: 0; 9891 } 9892 .lhee__frame--active .lhee__logo-svg .lhee-lp { 9893 animation: lhee-logo-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) var(--d, 0ms) both; 9894 } 9895 @keyframes lhee-logo-in { 9896 0% { transform: scaleY(0); opacity: 0; } 9897 20% { opacity: 1; } 9898 100% { transform: scaleY(1); opacity: 1; } 9899 } 9900 9901 .lhee__divider { 9902 display: flex; 9903 align-items: center; 9904 justify-content: center; 9905 gap: 10px; 9906 margin-bottom: 18px; 9907 color: #b89a6e; 9908 } 9909 .lhee__divider::before, 9910 .lhee__divider::after { 9911 content: ''; 9912 height: 1px; 9913 width: 34px; 9914 background: #b89a6e; 9915 opacity: 0.65; 9916 } 9917 .lhee__divider-gem { 9918 width: 6px; 9919 height: 6px; 9920 background: #b89a6e; 9921 transform: rotate(45deg); 9922 flex-shrink: 0; 9923 } 9924 9925 /* Handwritten word-by-word message */ 9926 .lhee__message { 9927 font-family: 'Cormorant Garamond', Georgia, serif; 9928 font-size: 15px; 9929 font-style: italic; 9930 line-height: 1.85; 9931 color: #1a1a1a; 9932 margin: 0 0 16px; 9933 letter-spacing: 0.015em; 9934 } 9935 .lhee__word { 9936 display: inline-block; 9937 opacity: 0; 9938 transform: translateY(7px); 9939 transition: opacity 0.55s ease, transform 0.55s ease; 9940 transition-delay: var(--wd, 0s); 9941 } 9942 .lhee__frame--active .lhee__word { 9943 opacity: 1; 9944 transform: translateY(0); 9945 } 9946 9947 /* Counter */ 9948 .lhee__counter { 9949 font-family: 'Jost', sans-serif; 9950 font-size: 8.5px; 9951 letter-spacing: 0.3em; 9952 text-transform: uppercase; 9953 color: #b89a6e; 9954 opacity: 0; 9955 transform: translateY(5px); 9956 transition: opacity 0.7s ease, transform 0.7s ease; 9957 transition-delay: 2.4s; 9958 } 9959 .lhee__frame--active .lhee__counter { 9960 opacity: 1; 9961 transform: translateY(0); 9962 } 9963 9964 /* ââââââââââââââââââââââââââââââââââââââââââ 9965 CONSTELLATION (BH half panel, frame 4) 9966 ââââââââââââââââââââââââââââââââââââââââââ */ 9967 .lhee__c-star { 9968 opacity: 0; 9969 transition: opacity 0.6s ease var(--cd, 1s); 9970 } 9971 .lhee__frame--active .lhee__c-star { 9972 opacity: 1; 9973 } 9974 .lhee__c-line { 9975 stroke: rgba(184, 154, 110, 0.7); 9976 stroke-width: 0.85; 9977 fill: none; 9978 stroke-linecap: round; 9979 stroke-dasharray: var(--len, 50); 9980 stroke-dashoffset: var(--len, 50); 9981 transition: stroke-dashoffset 1s ease var(--cd, 1.2s); 9982 } 9983 .lhee__frame--active .lhee__c-line { 9984 stroke-dashoffset: 0; 9985 } 9986 9987 /* ââââââââââââââââââââââââââââââââââââââââââ 9988 FRAME DOTS 9989 ââââââââââââââââââââââââââââââââââââââââââ */ 9990 .lhee__dots { 9991 position: absolute; 9992 bottom: 10px; 9993 left: 50%; 9994 transform: translateX(-50%); 9995 display: flex; 9996 gap: 8px; 9997 z-index: 30; 9998 pointer-events: none; 9999 } 10000 .lhee__dot { 10001 width: 5px; 10002 height: 5px; 10003 border-radius: 50%; 10004 background: rgba(255, 255, 255, 0.28); 10005 transition: background 0.4s ease, transform 0.4s ease; 10006 } 10007 .lhee__dot--active { 10008 background: #b89a6e; 10009 transform: scale(1.4); 10010 } 10011 10012 /* ââââââââââââââââââââââââââââââââââââââââââ 10013 PROGRESS BAR 10014 ââââââââââââââââââââââââââââââââââââââââââ */ 10015 .lhee__progress { 10016 height: 2px; 10017 background: rgba(184, 154, 110, 0.18); 10018 opacity: 0; 10019 transition: opacity 0.5s ease; 10020 } 10021 .lhee__progress--on { 10022 opacity: 1; 10023 } 10024 .lhee__progress-fill { 10025 height: 100%; 10026 width: 100%; 10027 background: linear-gradient(90deg, #b89a6e, #d4b88a); 10028 transform-origin: left center; 10029 } 10030 10031 /* ââââââââââââââââââââââââââââââââââââââââââ 10032 OBX ANIMATIONS (used in frames 1 & 4) 10033 ââââââââââââââââââââââââââââââââââââââââââ */ 10034 @keyframes lhee-wave-a { 10035 0%, 100% { transform: translateX(0px); } 10036 50% { transform: translateX(-18px); } 10037 } 10038 @keyframes lhee-wave-b { 10039 0%, 100% { transform: translateX(-8px); } 10040 50% { transform: translateX(12px); } 10041 } 10042 @keyframes lhee-wave-c { 10043 0%, 100% { transform: translateX(0px); } 10044 50% { transform: translateX(10px); } 10045 } 10046 .lhee--active .lhee-wave-a { animation: lhee-wave-a 7s ease-in-out infinite; } 10047 .lhee--active .lhee-wave-b { animation: lhee-wave-b 9s ease-in-out infinite; } 10048 .lhee--active .lhee-wave-c { animation: lhee-wave-c 11s ease-in-out infinite; } 10049 10050 @keyframes lhee-sun-pulse { 10051 0%, 100% { opacity: 0.55; transform: scale(1); } 10052 50% { opacity: 0.8; transform: scale(1.08); } 10053 } 10054 .lhee--active .lhee-sun-glow { 10055 transform-box: fill-box; 10056 transform-origin: center; 10057 animation: lhee-sun-pulse 4s ease-in-out infinite; 10058 } 10059 10060 @keyframes lhee-beam-sweep { 10061 0%, 100% { transform: rotate(-8deg);
10061 opacity: 0.07; } 10062 50% { transform: rotate(12deg); opacity: 0.12; } 10063 } 10064 .lhee--active .lhee-beam { 10065 transform-box: fill-box; 10066 transform-origin: 188px 148px; 10067 animation: lhee-beam-sweep 5s ease-in-out infinite; 10068 } 10069 .lhee--active .lhee-beam-f1 { 10070 transform-box: fill-box; 10071 transform-origin: 575px 150px; 10072 animation: lhee-beam-sweep 5s ease-in-out infinite; 10073 } 10074 10075 @keyframes lhee-oats-sway { 10076 0%, 100% { transform: rotate(0deg); } 10077 40% { transform: rotate(4deg); } 10078 70% { transform: rotate(-3deg); } 10079 } 10080 .lhee--active .lhee-oats-r { 10081 transform-box: fill-box; 10082 transform-origin: 340px 344px; 10083 animation: lhee-oats-sway 3.5s ease-in-out infinite; 10084 } 10085 .lhee--active .lhee-oats-l { 10086 transform-box: fill-box; 10087 transform-origin: 62px 348px; 10088 animation: lhee-oats-sway 4.2s ease-in-out infinite 0.6s; 10089 } 10090 .lhee--active .lhee-oats-r2 { 10091 transform-box: fill-box; 10092 transform-origin: 800px 344px; 10093 animation: lhee-oats-sway 3.8s ease-in-out infinite 0.3s; 10094 } 10095 .lhee--active .lhee-oats-l2 { 10096 transform-box: fill-box; 10097 transform-origin: 50px 348px; 10098 animation: lhee-oats-sway 4.5s ease-in-out infinite 1s; 10099 } 10100 10101 @keyframes lhee-birds-fly { 10102 0% { transform: translate(0px, 0px); } 10103 100% { transform: translate(-700px, -30px); } 10104 } 10105 .lhee--active .lhee-birds { 10106 animation: lhee-birds-fly 18s linear infinite; 10107 } 10108 10109 @keyframes lhee-light-flicker { 10110 0%, 90%, 100% { opacity: 0.75; } 10111 93% { opacity: 0.4; } 10112 96% { opacity: 0.9; } 10113 } 10114 .lhee--active .lhee-lh-glow { 10115 animation: lhee-light-flicker 6s ease-in-out infinite 2s; 10116 } 10117 10118 /* ââââââââââââââââââââââââââââââââââââââââââ 10119 BEVERLY HILLS ANIMATIONS (frames 3 & 4) 10120 ââââââââââââââââââââââââââââââââââââââââââ */ 10121 @keyframes lhee-frond-sway-1 { 10122 0%, 100% { transform: rotate(0deg); } 10123 35% { transform: rotate(2.5deg); } 10124 70% { transform: rotate(-2deg); } 10125 } 10126 @keyframes lhee-frond-sway-2 { 10127 0%, 100% { transform: rotate(0deg); } 10128 40% { transform: rotate(-3deg); } 10129 75% { transform: rotate(2deg); } 10130 } 10131 @keyframes lhee-frond-sway-3 { 10132 0%, 100% { transform: rotate(0deg); } 10133 45% { transform: rotate(2deg); } 10134 80% { transform: rotate(-2.5deg); } 10135 } 10136 .lhee--active .lhee-palm-1 { 10137 transform-box: fill-box; 10138 transform-origin: 72px 370px; 10139 animation: lhee-frond-sway-1 4s ease-in-out infinite; 10140 } 10141 .lhee--active .lhee-palm-2 { 10142 transform-box: fill-box; 10143 transform-origin: 215px 370px; 10144 animation: lhee-frond-sway-2 4.8s ease-in-out infinite 0.5s; 10145 } 10146 .lhee--active .lhee-palm-3 { 10147 transform-box: fill-box; 10148 transform-origin: 362px 370px; 10149 animation: lhee-frond-sway-3 3.8s ease-in-out infinite 1.1s; 10150 } 10151 /* Full-width frame 3 palm anchors */ 10152 .lhee--active .lhee-palm-4 { 10153 transform-box: fill-box; 10154 transform-origin: 170px 460px; 10155 animation: lhee-frond-sway-1 4.2s ease-in-out infinite 0.2s; 10156 } 10157 .lhee--active .lhee-palm-5 { 10158 transform-box: fill-box; 10159 transform-origin: 430px 460px; 10160 animation: lhee-frond-sway-2 5s ease-in-out infinite 0.8s; 10161 } 10162 .lhee--active .lhee-palm-6 { 10163 transform-box: fill-box; 10164 transform-origin: 690px 460px; 10165 animation: lhee-frond-sway-3 4.4s ease-in-out infinite 1.4s; 10166 } 10167 10168 @keyframes lhee-twinkle-a { 10169 0%, 100% { opacity: 0.85; transform: scale(1); } 10170 50% { opacity: 0.15; transform: scale(0.5); } 10171 } 10172 @keyframes lhee-twinkle-b { 10173 0%, 100% { opacity: 0.7; transform: scale(1); } 10174 50% { opacity: 0.2; transform: scale(0.6); } 10175 } 10176 .lhee--active .lhee-star-a { transform-box: fill-box; transform-origin: center; animation: lhee-twinkle-a 2.4s ease-in-out infinite; } 10177 .lhee--active .lhee-star-b { transform-box: fill-box; transform-origin: center; animation: lhee-twinkle-b 3.1s ease-in-out infinite 0.8s; } 10178 .lhee--active .lhee-star-c { transform-box: fill-box; transform-origin: center; animation: lhee-twinkle-a 1.9s ease-in-out infinite 1.4s; } 10179 .lhee--active .lhee-star-d { transform-box: fill-box; transform-origin: center; animation: lhee-twinkle-b 2.7s ease-in-out infinite 0.3s; } 10180 10181 @keyframes lhee-bh-sun { 10182 0%, 100% { opacity: 0.6; transform: scale(1); } 10183 50% { opacity: 0.85; transform: scale(1.06); } 10184 } 10185 .lhee--active .lhee-bh-sun { transform-box: fill-box; transform-origin: center; animation: lhee-bh-sun 5s ease-in-out infinite; } 10186 10187 @keyframes lhee-rays-pulse { 10188 0%, 100% { opacity: 0.09; } 10189 50% { opacity: 0.16; } 10190 } 10191 .lhee--active .lhee-rays { animation: lhee-rays-pulse 6s ease-in-out infinite; } 10192 10193 @keyframes lhee-city-glow { 10194 0%, 100% { opacity: 0.12; } 10195 50% { opacity: 0.22; } 10196 } 10197 .lhee--active .lhee-city-glow { animation: lhee-city-glow 4s ease-in-out infinite 1s; } 10198 10199 /* ââââââââââââââââââââââââââââââââââââââââââ 10200 JEWELRY WORKSHOP ANIMATIONS (frame 2) 10201 ââââââââââââââââââââââââââââââââââââââââââ */ 10202 @keyframes lhee-gem-flash { 10203 0%, 80%, 100% { opacity: 0.88; } 10204 88% { opacity: 1; filter: brightness(1.4); } 10205 } 10206 @keyframes lhee-dust-rise { 10207 0% { transform: translateY(0px) translateX(0px); opacity: 0.45; } 10208 60% { transform: translateY(-22px) translateX(4px); opacity: 0.55; } 10209 100% { transform: translateY(-45px) translateX(-3px); opacity: 0; } 10210 } 10211 @keyframes lhee-sparkle-cross { 10212 0%, 100% { opacity: 0.9; transform: scale(1) rotate(0deg); } 10213 50% { opacity: 0.2; transform: scale(0.5) rotate(45deg); } 10214 } 10215 .lhee--active .lhee-gem-1 { animation: lhee-gem-flash 2.3s ease-in-out infinite 0.4s; } 10216 .lhee--active .lhee-gem-2 { animation: lhee-gem-flash 3s ease-in-out infinite 1.1s; } 10217 .lhee--active .lhee-gem-3 { animation: lhee-gem-flash 2.7s ease-in-out infinite 0.7s; } 10218 .lhee--active .lhee-dust-1 { animation: lhee-dust-rise 4.2s ease-in-out infinite; } 10219 .lhee--active .lhee-dust-2 { animation: lhee-dust-rise 5.5s ease-in-out infinite 1.2s; } 10220 .lhee--active .lhee-dust-3 { animation: lhee-dust-rise 3.8s ease-in-out infinite 2.4s; } 10221 .lhee--active .lhee-dust-4 { animation: lhee-dust-rise 4.8s ease-in-out infinite 0.6s; } 10222 .lhee--active .lhee-big-sparkle { animation: lhee-sparkle-cross 1.9s ease-in-out infinite; } 10223 10224</style> 10225 10226<!-- ââââââââââââââââââââââââââââââââââââââââ 10227 EASTER EGG OVERLAY 10228ââââââââââââââââââââââââââââââââââââââââ --> 10229<div id="lh-easter-egg" class="lhee" aria-hidden="true" role="dialog" aria-label="Founder's message"> 10230 <div class="lhee__backdrop"></div> 10231 <div class="lhee__card"> 10232 10233 <div class="lhee__timeline"> 10234 10235 <!-- ââââââââââââââââââââââââââââââââââ 10236 FRAME 1 â OUTER BANKS 10237 ââââââââââââââââââââââââââââââââââ --> 10238 <div class="lhee__frame" data-frame="1"> 10239 <svg class="lhee__fsv" viewBox="0 0 880 470" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" aria-hidden="true"> 10240 <!-- Sky base already from background --> 10241 10242 <!-- Sun glow --> 10243 <g class="lhee-sun-glow"> 10244 <circle cx="130" cy="158" r="46" fill="rgba(255,210,90,0.42)"/> 10245 <circle cx="130" cy="158" r="30" fill="rgba(255,225,100,0.66)"/> 10246 <circle cx="130" cy="158" r="17" fill="rgba(255,242,130,0.85)"/> 10247 </g> 10248 <!-- Water shimmer --> 10249 <ellipse cx="130" cy="308" rx="90" ry="11" fill="rgba(255,225,12
102490,0.2)"/> 10250 10251 <!-- Ocean waves --> 10252 <g class="lhee-wave-a"> 10253 <path d="M-20 276 Q130 258 300 274 Q470 290 640 268 Q760 252 900 270 L900 470 L-20 470Z" fill="#3a7fb5" opacity="0.85"/> 10254 </g> 10255 <g class="lhee-wave-b"> 10256 <path d="M-20 295 Q140 276 318 293 Q496 310 670 286 Q780 268 900 288 L900 470 L-20 470Z" fill="#2d6a9f" opacity="0.93"/> 10257 </g> 10258 <g class="lhee-wave-c"> 10259 <path d="M20 276 Q56 268 92 276" stroke="rgba(255,255,255,0.38)" stroke-width="1.5" fill="none"/> 10260 <path d="M200 270 Q236 262 272 270" stroke="rgba(255,255,255,0.34)" stroke-width="1.2" fill="none"/> 10261 <path d="M380 274 Q416 266 452 274" stroke="rgba(255,255,255,0.34)" stroke-width="1.2" fill="none"/> 10262 <path d="M555 270 Q591 262 627 270" stroke="rgba(255,255,255,0.32)" stroke-width="1.1" fill="none"/> 10263 <path d="M720 274 Q756 266 792 274" stroke="rgba(255,255,255,0.3)" stroke-width="1" fill="none"/> 10264 <path d="M100 293 Q136 284 172 293" stroke="rgba(255,255,255,0.26)" stroke-width="1" fill="none"/> 10265 <path d="M300 288 Q336 280 372 288" stroke="rgba(255,255,255,0.24)" stroke-width="1" fill="none"/> 10266 </g> 10267 10268 <!-- Beach --> 10269 <path d="M-10 328 Q440 312 890 330 L890 470 L-10 470Z" fill="#c4b290"/> 10270 <path d="M-10 346 Q440 333 890 348 L890 470 L-10 470Z" fill="#d0bc9c"/> 10271 <path d="M-10 365 Q440 356 890 366 L890 470 L-10 470Z" fill="#dccca8"/> 10272 10273 <!-- Fishing pier (left) --> 10274 <rect x="52" y="295" width="190" height="8" fill="#8a7050" rx="1"/> 10275 <line x1="55" y1="303" x2="55" y2="330" stroke="#6a5030" stroke-width="4.5" stroke-linecap="round"/> 10276 <line x1="95" y1="301" x2="95" y2="326" stroke="#6a5030" stroke-width="4" stroke-linecap="round"/> 10277 <line x1="135" y1="299" x2="135" y2="322" stroke="#6a5030" stroke-width="4" stroke-linecap="round"/> 10278 <line x1="175" y1="297" x2="175" y2="320" stroke="#6a5030" stroke-width="3.5" stroke-linecap="round"/> 10279 <line x1="215" y1="295" x2="215" y2="318" stroke="#6a5030" stroke-width="3" stroke-linecap="round"/> 10280 <line x1="238" y1="295" x2="238" y2="316" stroke="#6a5030" stroke-width="3" stroke-linecap="round"/> 10281 <!-- Pier shelter --> 10282 <rect x="225" y="280" width="28" height="17" fill="#7a6040" rx="1"/> 10283 <polygon points="218,280 261,280 239,268" fill="#6a5030"/> 10284 10285 <!-- Sea oats left --> 10286 <g class="lhee-oats-l2"> 10287 <line x1="22" y1="355" x2="15" y2="318" stroke="#7a6840" stroke-width="1.1"/> 10288 <line x1="34" y1="353" x2="32" y2="315" stroke="#7a6840" stroke-width="1.1"/> 10289 <line x1="46" y1="355" x2="49" y2="321" stroke="#7a6840" stroke-width="1.1"/> 10290 <ellipse cx="15" cy="315" rx="4.5" ry="10" fill="#8a7a4a" transform="rotate(-22,15,315)"/> 10291 <ellipse cx="32" cy="311" rx="4" ry="9" fill="#7a6a3a" transform="rotate(5,32,311)"/> 10292 <ellipse cx="49" cy="318" rx="4" ry="9" fill="#8a7a4a" transform="rotate(18,49,318)"/> 10293 </g> 10294 10295 <!-- Sea oats right --> 10296 <g class="lhee-oats-r2"> 10297 <line x1="778" y1="346" x2="765" y2="300" stroke="#7a6840" stroke-width="1.3"/> 10298 <line x1="790" y1="344" x2="782" y2="296" stroke="#7a6840" stroke-width="1.3"/> 10299 <line x1="802" y1="347" x2="800" y2="305" stroke="#7a6840" stroke-width="1.3"/> 10300 <line x1="816" y1="345" x2="820" y2="302" stroke="#7a6840" stroke-width="1.3"/> 10301 <line x1="830" y1="348" x2="836" y2="308" stroke="#7a6840" stroke-width="1.3"/> 10302 <ellipse cx="765" cy="296" rx="6.5" ry="14" fill="#8a7a4a" transform="rotate(-18,765,296)"/> 10303 <ellipse cx="782" cy="292" rx="6" ry="13" fill="#7a6a3a" transform="rotate(8,782,292)"/> 10304 <ellipse cx="800" cy="301" rx="5.5" ry="12" fill="#8a7a4a" transform="rotate(-4,800,301)"/> 10305 <ellipse cx="820" cy="298" rx="5.5" ry="12" fill="#7a6a3a" transform="rotate(22,820,298)"/> 10306 <ellipse cx="836" cy="304" rx="5" ry="11" fill="#8a7a4a" transform="rotate(-10,836,304)"/> 10307 </g> 10308 10309 <!-- Cape Hatteras Lighthouse --> 10310 <rect x="608" y="284" width="38" height="25" fill="#ccc4b4" rx="1"/> 10311 <polygon points="605,284 650,284 627,270" fill="#b8b0a0"/> 10312 <rect x="584" y="300" width="30" height="10" fill="#e0d8c8" rx="1.5"/> 10313 <path d="M588 300 L591 170 L607 170 L610 300Z" fill="#f2ede4"/> 10314 <path d="M589 292 L610 289 L609.5 274 L588.5 277Z" fill="#1e1e1e"/> 10315 <path d="M589.5 264 L610 261 L609.5 246 L589 249Z" fill="#1e1e1e"/> 10316 <path d="M589 236 L609.5 233 L609 218 L588.5 221Z" fill="#1e1e1e"/> 10317 <path d="M588.5 208 L609 205 L608.5 191 L588 194Z" fill="#1e1e1e"/> 10318 <rect x="582" y="161" width="36" height="12" fill="#aaa89a" rx="1"/> 10319 <rect x="580" y="155" width="40" height="8" fill="#888" rx="1"/> 10320 <line x1="582" y1="155" x2="582" y2="161" stroke="#666" stroke-width="1"/> 10321 <line x1="586" y1="155" x2="586" y2="161" stroke="#666" stroke-width="1"/> 10322 <line x1="590" y1="155" x2="590" y2="161" stroke="#666" stroke-width="1"/> 10323 <line x1="594" y1="155" x2="594" y2="161" stroke="#666" stroke-width="1"/> 10324 <line x1="598" y1="155" x2="598" y2="161" stroke="#666" stroke-width="1"/> 10325 <line x1="602" y1="155" x2="602" y2="161" stroke="#666" stroke-width="1"/> 10326 <line x1="606" y1="155" x2="606" y2="161" stroke="#666" stroke-width="1"/> 10327 <line x1="610" y1="155" x2="610" y2="161" stroke="#666" stroke-width="1"/> 10328 <line x1="614" y1="155" x2="614" y2="161" stroke="#666" stroke-width="1"/> 10329 <rect x="582" y="148" width="30" height="14" fill="#c0b898" rx="1"/> 10330 <rect x="583" y="149" width="28" height="12" fill="rgba(200,230,255,0.5)" rx="0.5"/> 10331 <g class="lhee-lh-glow"> 10332 <circle cx="597" cy="155" r="6" fill="rgba(255,238,100,0.9)"/> 10333 <circle cx="597" cy="155" r="13" fill="rgba(255,222,80,0.24)"/> 10334 </g> 10335 <polygon points="597,135 622,148 572,148" fill="#2a2a2a"/> 10336 <circle cx="597" cy="134" r="4" fill="#555"/> 10337 <g class="lhee-beam-f1"> 10338 <path d="M597,148 L685,72 L705,87 Z" fill="rgba(255,238,100,0.07)"/> 10339 <path d="M597,148 L510,68 L496,83 Z" fill="rgba(255,238,100,0.06)"/> 10340 </g> 10341 10342 <!-- Flying birds --> 10343 <g class="lhee-birds"> 10344 <path d="M740 110 Q747 102 754 110" stroke="#1a1a1a" stroke-width="1.6" fill="none" stroke-linecap="round"/> 10345 <path d="M768 96 Q776 88 784 96" stroke="#1a1a1a" stroke-width="1.4" fill="none" stroke-linecap="round"/> 10346 <path d="M798 114 Q805 106 812 114" stroke="#1a1a1a" stroke-width="1.4" fill="none" stroke-linecap="round"/> 10347 <path d="M824 94 Q830 88 836 94" stroke="#1a1a1a" stroke-width="1.2" fill="none" stroke-linecap="round"/> 10348 </g> 10349 <path d="M310 85 Q317 77 324 85" stroke="#1a1a1a" stroke-width="1.4" fill="none" stroke-linecap="round"/> 10350 <path d="M345 72 Q353 64 361 72" stroke="#1a1a1a" stroke-width="1.3" fill="none" stroke-linecap="round"/> 10351 <path d="M390 92 Q397 85 404 92" stroke="#1a1a1a" stroke-width="1.2" fill="none" stroke-linecap="round"/> 10352 </svg> 10353 <div class="lhee__cap">
10354 <span class="lhee__cap-eye">Where it all began</span> 10355 <span class="lhee__cap-title">Outer Banks, North Carolina</span> 10356 </div> 10357 </div> 10358 10359 <!-- ââââââââââââââââââââââââââââââââââ 10360 FRAME 2 â THE CRAFT (2014) 10361 ââââââââââââââââââââââââââââââââââ --> 10362 <div class="lhee__frame" data-frame="2" style="background:#0a0603;"> 10363 <svg class="lhee__fsv" viewBox="0 0 880 470" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"> 10364 <defs> 10365 <radialGradient id="lhee-lamp" cx="50%" cy="8%" r="65%" gradientUnits="objectBoundingBox"> 10366 <stop offset="0%" stop-color="#d05500" stop-opacity="0.5"/> 10367 <stop offset="40%" stop-color="#a03500" stop-opacity="0.2"/> 10368 <stop offset="100%" stop-color="#000000" stop-opacity="0"/> 10369 </radialGradient> 10370 <radialGradient id="lhee-gem-glow" cx="50%" cy="50%" r="50%"> 10371 <stop offset="0%" stop-color="#fff" stop-opacity="0.6"/> 10372 <stop offset="100%" stop-color="#fff" stop-opacity="0"/> 10373 </radialGradient> 10374 </defs> 10375 10376 <!-- Dark background --> 10377 <rect width="880" height="470" fill="#0a0603"/> 10378 <!-- Lamp glow --> 10379 <rect width="880" height="470" fill="url(#lhee-lamp)"/> 10380 10381 <!-- Lamp fixture --> 10382 <line x1="440" y1="0" x2="440" y2="32" stroke="#4a3820" stroke-width="4"/> 10383 <ellipse cx="440" cy="38" rx="28" ry="12" fill="#3a2a14"/> 10384 <ellipse cx="440" cy="42" rx="22" ry="8" fill="#c87820" opacity="0.5"/> 10385 10386 <!-- Workbench surface --> 10387 <rect x="0" y="285" width="880" height="185" fill="#150e06"/> 10388 <rect x="0" y="283" width="880" height="10" fill="#2a1a09" rx="2"/> 10389 <!-- Wood grain --> 10390 <line x1="0" y1="290" x2="880" y2="290" stroke="rgba(60,35,12,0.4)" stroke-width="1"/> 10391 <line x1="0" y1="305" x2="880" y2="307" stroke="rgba(60,35,12,0.22)" stroke-width="0.5"/> 10392 <line x1="0" y1="322" x2="880" y2="320" stroke="rgba(60,35,12,0.15)" stroke-width="0.5"/> 10393 10394 <!-- Sketch paper --> 10395 <rect x="352" y="232" width="190" height="148" fill="#f4eedd" rx="2" transform="rotate(-1.5,447,306)"/> 10396 <rect x="354" y="234" width="190" height="148" fill="#ebe3cc" rx="2" transform="rotate(-1.5,449,308)" opacity="0.4"/> 10397 <!-- Ring sketch on paper --> 10398 <circle cx="447" cy="292" r="30" stroke="#6a5a38" stroke-width="1.3" fill="none" opacity="0.65" transform="rotate(-1.5,447,306)"/> 10399 <circle cx="447" cy="263" r="5.5" stroke="#6a5a38" stroke-width="1" fill="none" opacity="0.55" transform="rotate(-1.5,447,306)"/> 10400 <path d="M447 258 L452 263 L447 268 L442 263 Z" stroke="#6a5a38" stroke-width="1" fill="none" opacity="0.55" transform="rotate(-1.5,447,306)"/> 10401 <!-- Pencil annotations --> 10402 <line x1="400" y1="336" x2="490" y2="336" stroke="#8a7a50" stroke-width="0.9" opacity="0.4" transform="rotate(-1.5,447,306)"/> 10403 <line x1="400" y1="344" x2="476" y2="344" stroke="#8a7a50" stroke-width="0.9" opacity="0.28" transform="rotate(-1.5,447,306)"/> 10404 10405 <!-- Finished ring (left of bench) --> 10406 <g transform="translate(252,298)"> 10407 <circle cx="0" cy="0" r="24" stroke="#b89a6e" stroke-width="3" fill="none"/> 10408 <circle cx="0" cy="0" r="21" stroke="#c8aa7e" stroke-width="0.8" fill="none" opacity="0.4"/> 10409 <!-- Blue sapphire --> 10410 <g class="lhee-gem-1"> 10411 <path d="M0 -24 L6 -31 L0 -38 L-6 -31 Z" fill="#4a8fdf" opacity="0.9"/> 10412 <path d="M0 -24 L6 -31 L0 -29 Z" fill="rgba(255,255,255,0.35)"/> 10413 <circle cx="2" cy="-31" r="2" fill="url(#lhee-gem-glow)"/> 10414 </g> 10415 </g> 10416 10417 <!-- Gold ring (right) --> 10418 <g transform="translate(628,308)"> 10419 <circle cx="0" cy="0" r="20" stroke="#c8a870" stroke-width="2.5" fill="rgba(184,154,110,0.08)"/> 10420 <g class="lhee-gem-2"> 10421 <rect x="-6" y="-26" width="12" height="9" fill="#2a8a4a" rx="1.2" opacity="0.92"/> 10422 <rect x="-3" y="-25" width="4" height="3" fill="rgba(255,255,255,0.28)" rx="0.5"/>
10423 <circle cx="4" cy="-28" r="1.2" fill="#fff" opacity="0.7"/> 10424 <circle cx="-4" cy="-26" r="0.9" fill="#fff" opacity="0.5"/> 10425 <circle cx="0" cy="-30" r="1.4" fill="#fff" opacity="0.8"/> 10426 </g> 10427 </g> 10428 10429 <!-- Loose gems scattered --> 10430 <g class="lhee-gem-1"> 10431 <path d="M162 268 L169 260 L176 268 L169 278 Z" fill="#a8d4f5" opacity="0.88"/> 10432 <path d="M162 268 L169 260 L169 268 Z" fill="rgba(255,255,255,0.3)"/> 10433 </g> 10434 <g class="lhee-gem-3"> 10435 <path d="M542 260 L548 253 L554 260 L548 268 Z" fill="#c23a3a" opacity="0.88"/> 10436 <path d="M542 260 L548 253 L548 260 Z" fill="rgba(255,255,255,0.25)"/> 10437 </g> 10438 <g class="lhee-gem-2"> 10439 <path d="M704 266 L710 259 L716 266 L710 275 Z" fill="#7a40c0" opacity="0.88"/> 10440 <path d="M704 266 L710 259 L710 266 Z" fill="rgba(255,255,255,0.22)"/> 10441 </g> 10442 10443 <!-- Delicate chain --> 10444 <path d="M118 285 Q200 278 285 282 Q305 283 320 285" stroke="#b89a6e" stroke-width="0.9" fill="none" opacity="0.45" stroke-dasharray="4,3"/> 10445 10446 <!-- Tweezers --> 10447 <g opacity="0.5"> 10448 <line x1="748" y1="250" x2="762" y2="288" stroke="#999" stroke-width="1.6" stroke-linecap="round"/> 10449 <line x1="756" y1="250" x2="762" y2="288" stroke="#999" stroke-width="1.6" stroke-linecap="round"/> 10450 <line x1="752" y1="247" x2="752" y2="253" stroke="#bbb" stroke-width="2.2" stroke-linecap="round"/> 10451 </g> 10452 10453 <!-- Floating dust particles in lamplight --> 10454 <circle class="lhee-dust-1" cx="295" cy="185" r="1.1" fill="rgba(255,195,70,0.45)"/> 10455 <circle class="lhee-dust-2" cx="460" cy="148" r="0.9" fill="rgba(255,195,70,0.5)"/> 10456 <circle class="lhee-dust-3" cx="572" cy="168" r="1.3" fill="rgba(255,195,70,0.38)"/> 10457 <circle class="lhee-dust-4" cx="388" cy="125" r="1" fill="rgba(255,195,70,0.48)"/> 10458 <circle class="lhee-dust-1" cx="650" cy="158" r="0.8" fill="rgba(255,195,70,0.4)"/> 10459 <circle class="lhee-dust-2" cx="210" cy="202" r="1" fill="rgba(255,195,70,0.35)"/> 10460 10461 <!-- Big sparkle on ring 1 --> 10462 <g class="lhee-big-sparkle" transform="translate(252,274)"> 10463 <line x1="0" y1="-6" x2="0" y2="6" stroke="#fff" stroke-width="1.1"/> 10464 <line x1="-6" y1="0" x2="6" y2="0" stroke="#fff" stroke-width="1.1"/> 10465 <line x1="-4" y1="-4" x2="4" y2="4" stroke="#fff" stroke-width="0.6"/> 10466 <line x1="4" y1="-4" x2="-4" y2="4" stroke="#fff" stroke-width="0.6"/> 10467 </g> 10468 </svg> 10469 <div class="lhee__cap"> 10470 <span class="lhee__cap-eye">A passion for beauty · 2014</span> 10471 <span class="lhee__cap-title">The Craft Begins</span> 10472 </div> 10473 </div> 10474 10475 <!-- ââââââââââââââââââââââââââââââââââ 10476 FRAME 3 â BEVERLY HILLS 10477 ââââââââââââââââââââââââââââââââââ --> 10478 <div class="lhee__frame" data-frame="3"> 10479 <svg class="lhee__fsv" viewBox="0 0 880 470" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid slice" aria-hidden="true"> 10480 10481 <!-- Stars --> 10482 <circle class="lhee-star-a" cx="28" cy="32" r="1.5" fill="rgba(255,255,255,0.85)"/> 10483 <circle class="lhee-star-b" cx="72" cy="16" r="1.1" fill="rgba(255,255,255,0.7)"/> 10484 <circle class="lhee-star-c" cx="118" cy="48" r="1.4" fill="rgba(255,255,255,0.78)"/> 10485 <circle class="lhee-star-d" cx="178" cy="26" r="1.0" fill="rgba(255,255,255,0.65)"/> 10486 <circle class="lhee-star-a" cx="240" cy="52" r="1.2" fill="rgba(255,255,255,0.6)"/> 10487 <circle class="lhee-star-b" cx="320" cy="22" r="1.0" fill="rgba(255,255,255,0.7)"/> 10488 <circle class="lhee-star-c" cx="412" cy="14" r="1.3" fill="rgba(255,255,255,0.75)"/> 10489 <circle class="lhee-star-d" cx="498" cy="38" r="1.1" fill="rgba(255,255,255,0.65)"/> 10490 <circle class="lhee-star-a" cx="580" cy="20" r="1.2" fill="rgba(255,255,255,0.8)"/> 10491 <circle class="lhee-star-b" cx="658" cy="44" r="1.0" fill="rgba(255,255,255,0.7)"/> 10492 <circle class="lhee-star-c" cx="742" cy="18" r="1.4" fill="rgba(255,255,255,0.75)"/> 10493 <circle class="lhee-star-d" cx="820" cy="50" r="1.1" fill="rgba(255,255,255,0.6)"/> 10494 <circle class="lhee-star-a" cx="860" cy="28" r="1.0" fill="rgba(255,255,255,0.65)"/> 10495 10496 <!-- Setting sun --> 10497 <g class="lhee-bh-sun"> 10498 <circle cx="440" cy="270" r="65" fill="rgba(245,150,35,0.5)"/> 10499 <circle cx="440" cy="270" r="46" fill="rgba(252,175,50,0.68)"/> 10500 <circle cx="440" cy="270" r="30" fill="rgba(255,202,70,0.82)"/> 10501 </g> 10502 <!-- Light rays --> 10503 <g class="lhee-rays"> 10504 <line x1="440" y1="270" x2="45" y2="55" stroke="#fff" stroke-width="2.5"/> 10505 <line x1="440" y1="270" x2="198" y2="35" stroke="#fff" stroke-width="2"/> 10506 <line x1="440" y1="270" x2="682" y2="35" stroke="#fff" stroke-width="2"/> 10507 <line x1="440" y1="270" x2="835" y2="60" stroke="#fff" stroke-width="2.5"/> 10508 <line x1="440" y1="270" x2="880" y2="172" stroke="#fff" stroke-width="1.5"/>
10509 <line x1="440" y1="270" x2="0" y2="168" stroke="#fff" stroke-width="1.5"/> 10510 </g> 10511 10512 <!-- Hills (far) --> 10513 <path d="M-10 302 Q80 244 188 260 Q296 276 390 232 Q464 202 540 220 Q630 240 720 210 Q800 185 890 208 L890 470 L-10 470Z" fill="#16350c" opacity="0.88"/> 10514 <!-- Hills (mid) --> 10515 <path d="M-10 322 Q90 278 200 292 Q310 306 408 270 Q480 248 560 264 Q650 282 748 252 Q808 232 890 248 L890 470 L-10 470Z" fill="#1f4510"/> 10516 <!-- Ground --> 10517 <rect x="-10" y="368" width="900" height="102" fill="#1e3e0c"/> 10518 <!-- Street --> 10519 <rect x="-10" y="380" width="900" height="12" fill="rgba(36,34,30,0.7)"/> 10520 <!-- Dashes --> 10521 <line x1="0" y1="386" x2="60" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10522 <line x1="96" y1="386" x2="156" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10523 <line x1="192" y1="386" x2="252" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10524 <line x1="288" y1="386" x2="348" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10525 <line x1="384" y1="386" x2="444" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10526 <line x1="480" y1="386" x2="540" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10527 <line x1="576" y1="386" x2="636" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10528 <line x1="672" y1="386" x2="732" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10529 <line x1="768" y1="386" x2="828" y2="386" stroke="rgba(255,228,80,0.35)" stroke-width="1.5" stroke-dasharray="22,16"/> 10530 10531 <!-- Palm Tree 1 (far left) --> 10532 <g class="lhee-palm-4"> 10533 <path d="M170 468 Q172 408 175 340 Q177 296 179 258" stroke="#3a2a14" stroke-width="9" fill="none" stroke-linecap="round"/> 10534 <path d="M170 468 Q172 408 175 340 Q177 296 179 258" stroke="#4e3a1e" stroke-width="6" fill="none" stroke-linecap="round"/> 10535 <path d="M179 258 C142 238 118 215 112 198" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10536 <path d="M179 258 C164 228 160 196 157 178" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10537 <path d="M179 258 C191 228 197 196 195 178" stroke="#1e680e" stroke-width="3.5" fill="none" stroke-linecap="round"/> 10538 <path d="M179 258 C205 238 228 216 244 206" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10539 <path d="M179 258 C152 256 126 256 100 260" stroke="#1a5c0e" stroke-width="3" fill="none" stroke-linecap="round"/> 10540 <ellipse cx="112" cy="199" rx="14" ry="5.5" fill="#246e18" transform="rotate(-36,112,199)"/> 10541 <ellipse cx="157" cy="179" rx="12" ry="4.5" fill="#246e18" transform="rotate(-14,157,179)"/> 10542 <ellipse cx="195" cy="179" rx="11" ry="4" fill="#2a7a1e" transform="rotate(11,195,179)"/> 10543 <ellipse cx="244" cy="207" rx="13" ry="5" fill="#246e18" transform="rotate(34,244,207)"/> 10544 <circle cx="177" cy="263" r="4" fill="#2e1a08"/> 10545 </g> 10546 10547 <!-- Palm Tree 2 (center-left) --> 10548 <g class="lhee-palm-5"> 10549 <path d="M430 468 Q428 402 425 328 Q423 280 421 236" stroke="#3a2a14" stroke-width="10" fill="none" stroke-linecap="round"/> 10550 <path d="M430 468 Q428 402 425 328 Q423 280 421 236" stroke="#4e3a1e" stroke-width="7" fill="none" stroke-linecap="round"/> 10551 <path d="M421 236 C380 215 356 190 348 172" stroke="#1a5c0e" stroke-width="4.5" fill="none" stroke-linecap="round"/> 10552 <path d="M421 236 C404 204 400 172 397 153" stroke="#1a5c0e" stroke-width="4.5" fill="none" stroke-linecap="round"/> 10553 <path d="M421 236 C434 204 441 172 439 153" stroke="#1e680e" stroke-width="4" fill="none" stroke-linecap="round"/> 10554 <path d="M421 236 C448 215 472 194 490 183" stroke="#1a5c0e" stroke-width="4.5" fill="none" stroke-linecap="round"/> 10555 <path d="M421 236 C456 231 482 228 508 231" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10556 <path d="M421 236 C390 233 364 233 336 236" stroke="#1a5c0e" stroke-width="3.5" fill="none" stroke-linecap="round"/> 10557 <ellipse cx="348" cy="173" rx="16" ry="6" fill="#246e18" transform="rotate(-38,348,173)"/> 10558 <ellipse cx="397" cy="154" rx="14" ry="5.5" fill="#246e18" transform="rotate(-12,397,154)"/> 10559 <ellipse cx="439" cy="154" rx="13" ry="5" fill="#2a7a1e" transform="rotate(10,439,154)"/> 10560 <ellipse cx="490" cy="184" rx="16" ry="6" fill="#246e18" transform="rotate(35,490,184)"/> 10561 <ellipse cx="508" cy="232" rx="14" ry="5" fill="#246e18" transform="rotate(3,508,232)"/> 10562 <circle cx="419" cy="242" r="5" fill="#2e1a08"/> 10563 </g> 10564 10565 <!-- Palm Tree 3 (right) --> 10566 <g class="lhee-palm-6"> 10567 <path d="M690 468 Q692 418 694 360 Q696 318 698 282" stroke="#3a2a14" stroke-width="8" fill="none" stroke-linecap="round"/> 10568 <path d="M690 468 Q692 418 694 360 Q696 318 698 282" stroke="#4e3a1e" stroke-width="5.5" fill="none" stroke-linecap="round"/> 10569 <path d="M698 282 C664 264 640 244 632 228" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10570 <path d="M698 282 C682 254 678 226 676 209" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10571 <path d="M698 282 C712 254 718 226 716 209" stroke="#1e680e" stroke-width="3.5" fill="none" stroke-linecap="round"/> 10572 <path d="M698 282 C722 265 740 250 754 242" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10573 <path d="M698 282 C684 290 664 294 640 298" stroke="#1a5c0e" stroke-width="3.5" fill="none" stroke-linecap="round"/> 10574 <ellipse cx="632" cy="229" rx="13" ry="5" fill="#246e18" transform="rotate(-32,632,229)"/> 10575 <ellipse cx="676" cy="210" rx="11" ry="4.5" fill="#246e18" transform="rotate(-12,676,210)"/> 10576 <ellipse cx="716" cy="210" rx="11" ry="4" fill="#2a7a1e" transform="rotate(10,716,210)"/> 10577 <ellipse cx="640" cy="299" rx="12" ry="4" fill="#246e18" transform="rotate(-5,640,299)"/> 10578 <circle cx="696" cy="287" r="4" fill="#2e1a08"/> 10579 </g> 10580 10581 <!-- City glow --> 10582 <ellipse class="lhee-city-glow" cx="440" cy="370" rx="440" ry="22" fill="rgba(255,170,40,1)"/> 10583 </svg> 10584 <div class="lhee__cap">
10585 <span class="lhee__cap-eye">The dream realized</span> 10586 <span class="lhee__cap-title">Beverly Hills, California</span> 10587 </div> 10588 </div> 10589 10590 <!-- ââââââââââââââââââââââââââââââââââ 10591 FRAME 4 â FOUNDER SPLIT VIEW 10592 ââââââââââââââââââââââââââââââââââ --> 10593 <div class="lhee__frame" data-frame="4"> 10594 <div class="lhee__scene"> 10595 10596 <!-- ââââ OUTER BANKS PANEL ââââ --> 10597 <div class="lhee__obx"> 10598 <svg class="lhee__scene-svg" viewBox="0 0 420 470" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"> 10599 <g class="lhee-sun-glow"> 10600 <circle cx="88" cy="162" r="38" fill="rgba(255,210,90,0.5)"/> 10601 <circle cx="88" cy="162" r="24" fill="rgba(255,225,100,0.72)"/> 10602 <circle cx="88" cy="162" r="14" fill="rgba(255,242,130,0.88)"/> 10603 </g> 10604 <ellipse cx="88" cy="310" rx="60" ry="9" fill="rgba(255,225,120,0.25)"/> 10605 <ellipse cx="88" cy="318" rx="42" ry="6" fill="rgba(255,225,120,0.16)"/> 10606 <g class="lhee-wave-a"> 10607 <path d="M-30 278 Q70 262 175 276 Q280 290 450 270 L450 470 L-30 470Z" fill="#3a7fb5" opacity="0.88"/> 10608 </g> 10609 <g class="lhee-wave-b"> 10610 <path d="M-30 296 Q80 280 185 295 Q290 310 450 290 L450 470 L-30 470Z" fill="#2d6a9f" op
10610acity="0.95"/> 10611 </g> 10612 <g class="lhee-wave-c"> 10613 <path d="M15 278 Q42 271 68 278" stroke="rgba(255,255,255,0.42)" stroke-width="1.5" fill="none"/> 10614 <path d="M138 271 Q165 264 192 271" stroke="rgba(255,255,255,0.38)" stroke-width="1.2" fill="none"/> 10615 <path d="M275 274 Q302 267 328 274" stroke="rgba(255,255,255,0.38)" stroke-width="1.2" fill="none"/> 10616 <path d="M55 294 Q82 287 108 294" stroke="rgba(255,255,255,0.28)" stroke-width="1" fill="none"/> 10617 <path d="M215 288 Q242 281 268 288" stroke="rgba(255,255,255,0.28)" stroke-width="1" fill="none"/> 10618 </g> 10619 <path d="M-10 330 Q205 314 430 332 L430 470 L-10 470Z" fill="#c4b290"/> 10620 <path d="M-10 346 Q205 334 430 350 L430 470 L-10 470Z" fill="#d0bc9c"/> 10621 <path d="M-10 365 Q205 356 430 368 L430 470 L-10 470Z" fill="#dccca8"/> 10622 <g class="lhee-oats-r"> 10623 <line x1="318" y1="346" x2="305" y2="300" stroke="#7a6840" stroke-width="1.3"/> 10624 <line x1="328" y1="344" x2="320" y2="296" stroke="#7a6840" stroke-width="1.3"/> 10625 <line x1="340" y1="347" x2="338" y2="305" stroke="#7a6840" stroke-width="1.3"/> 10626 <line x1="352" y1="345" x2="356" y2="302" stroke="#7a6840" stroke-width="1.3"/> 10627 <line x1="364" y1="347" x2="370" y2="308" stroke="#7a6840" stroke-width="1.3"/> 10628 <ellipse cx="305" cy="296" rx="6.5" ry="14" fill="#8a7a4a" transform="rotate(-18,305,296)"/> 10629 <ellipse cx="320" cy="292" rx="6" ry="13" fill="#7a6a3a" transform="rotate(8,320,292)"/> 10630 <ellipse cx="338" cy="301" rx="5.5" ry="12" fill="#8a7a4a" transform="rotate(-4,338,301)"/> 10631 <ellipse cx="356" cy="298" rx="5.5" ry="12" fill="#7a6a3a" transform="rotate(22,356,298)"/> 10632 <ellipse cx="370" cy="304" rx="5" ry="11" fill="#8a7a4a" transform="rotate(-10,370,304)"/> 10633 </g> 10634 <g class="lhee-oats-l"> 10635 <line x1="40" y1="352" x2="34" y2="316" stroke="#7a6840" stroke-width="1.1"/> 10636 <line x1="50" y1="350" x2="48" y2="312" stroke="#7a6840" stroke-width="1.1"/> 10637 <line x1="62" y1="352" x2="65" y2="318" stroke="#7a6840" stroke-width="1.1"/> 10638 <ellipse cx="34" cy="313" rx="4.5" ry="10" fill="#8a7a4a" transform="rotate(-22,34,313)"/> 10639 <ellipse cx="48" cy="309" rx="4" ry="9" fill="#7a6a3a" transform="rotate(5,48,309)"/> 10640 <ellipse cx="65" cy="315" rx="4" ry="9" fill="#8a7a4a" transform="rotate(18,65,315)"/> 10641 </g> 10642 <!-- Keeper's house --> 10643 <rect x="197" y="280" width="32" height="22" fill="#ccc4b4" rx="1"/> 10644 <polygon points="197,280 229,280 213,268" fill="#b8b0a0"/> 10645 <rect x="173" y="296" width="28" height="10" fill="#e0d8c8" rx="1.5"/> 10646 <path d="M177 296 L179.5 172 L196.5 172 L199 296Z" fill="#f2ede4"/> 10647 <path d="M179.5 288 L199 285 L198.5 271 L179.5 274Z" fill="#1e1e1e"/> 10648 <path d="M179.8 261 L198.8 258 L198.2 244 L179.2 247Z" fill="#1e1e1e"/> 10649 <path d="M179.2 234 L198.5 231 L197.8 217 L179 220Z" fill="#1e1e1e"/> 10650 <path d="M179 207 L198 204 L197.5 191 L179 194Z" fill="#1e1e1e"/> 10651 <rect x="174" y="163" width="30" height="11" fill="#aaa89a" rx="1"/> 10652 <rect x="172" y="158" width="34" height="7" fill="#888" rx="1"/> 10653 <line x1="174" y1="158" x2="174" y2="163" stroke="#666" stroke-width="1"/> 10654 <line x1="178" y1="158" x2="178" y2="163" stroke="#666" stroke-width="1"/> 10655 <line x1="182" y1="158" x2="182" y2="163" stroke="#666" stroke-width="1"/> 10656 <line x1="186" y1="158" x2="186" y2="163" stroke="#666" stroke-width="1"/> 10657 <line x1="190" y1="158" x2="190" y2="163" stroke="#666" stroke-width="1"/> 10658 <line x1="194" y1="158" x2="194" y2="163" stroke="#666" stroke-width="1"/> 10659 <line x1="198" y1="158" x2="198" y2="163" stroke="#666" stroke-width="1"/> 10660 <line x1="202" y1="158" x2="202" y2="163" stroke="#666" stroke-width="1"/> 10661 <rect x="176" y="150" width="26" height="13" fill="#c0b898" rx="1"/> 10662 <rect x="177" y="151" width="24" height="11" fill="rgba(200,230,255,0.52)" rx="0.5"/> 10663 <g class="lhee-lh-glow"> 10664 <circle cx="189" cy="157" r="5" fill="rgba(255,238,100,0.9)"/> 10665 <circle cx="189" cy="157" r="10" fill="rgba(255,222,80,0.25)"/> 10666 </g> 10667 <polygon points="189,138 210,150 168,150" fill="#2a2a2a"/> 10668 <circle cx="189" cy="137" r="3.5" fill="#555"/> 10669 <g class="lhee-beam"> 10670 <path d="M189,150 L248,88 L264,100 Z" fill="rgba(255,238,100,0.08)"/> 10671 <path d="M189,150 L125,82 L112,94 Z" fill="rgba(255,238,100,0.07)"/> 10672 </g> 10673 <g class="lhee-birds"> 10674 <path d="M340 122 Q346 115 352 122" stroke="#1a1a1a" stroke-width="1.6" fill="none" stroke-linecap="round"/> 10675 <path d="M358 110 Q365 102 372 110" stroke="#1a1a1a" stroke-width="1.4" fill="none" stroke-linecap="round"/> 10676 <path d="M380 126 Q386 119 392 126" stroke="#1a1a1a" stroke-width="1.4" fill="none" stroke-linecap="round"/> 10677 <path d="M400 108 Q405 102 410 108" stroke="#1a1a1a" stroke-width="1.2" fill="none" stroke-linecap="round"/> 10678 </g> 10679 <path d="M48 130 Q53 124 58 130" stroke="#1a1a1a" stroke-width="1.5" fill="none" stroke-linecap="round"/> 10680 <path d="M68 118 Q74 111 80 118" stroke="#1a1a1a" stroke-width="1.4" fill="none" stroke-linecap="round"/> 10681 </svg>
10682 <span class="lhee__label">Outer Banks, NC</span> 10683 </div> 10684 10685 <!-- ââââ BEVERLY HILLS PANEL ââââ --> 10686 <div class="lhee__bh"> 10687 <svg class="lhee__scene-svg" viewBox="0 0 420 470" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"> 10688 10689 <!-- Background stars --> 10690 <circle class="lhee-star-a" cx="25" cy="35" r="1.5" fill="rgba(255,255,255,0.85)"/> 10691 <circle class="lhee-star-b" cx="58" cy="18" r="1.1" fill="rgba(255,255,255,0.7)"/> 10692 <circle class="lhee-star-c" cx="95" cy="50" r="1.4" fill="rgba(255,255,255,0.8)"/> 10693 <circle class="lhee-star-d" cx="138" cy="28" r="1.0" fill="rgba(255,255,255,0.65)"/> 10694 <circle class="lhee-star-a" cx="285" cy="22" r="1.3" fill="rgba(255,255,255,0.8)"/> 10695 <circle class="lhee-star-b" cx="325" cy="44" r="1.1" fill="rgba(255,255,255,0.7)"/> 10696 <circle class="lhee-star-c" cx="370" cy="18" r="1.4" fill="rgba(255,255,255,0.75)"/> 10697 <circle class="lhee-star-d" cx="400" cy="52" r="1.0" fill="rgba(255,255,255,0.6)"/> 10698 <circle class="lhee-star-a" cx="168" cy="58" r="0.9" fill="rgba(255,255,255,0.55)"/> 10699 <circle class="lhee-star-b" cx="248" cy="38" r="1.2" fill="rgba(255,255,255,0.7)"/> 10700 <circle class="lhee-star-c" cx="192" cy="12" r="0.9" fill="rgba(255,255,255,0.6)"/> 10701 10702 <!-- ââ LH CONSTELLATION ââ --> 10703 <!-- Stars forming L and H --> 10704 <!-- L --> 10705 <circle class="lhee__c-star" cx="32" cy="18" r="2" fill="rgba(212,180,110,0.95)" style="--cd:1.2s"/> 10706 <circle class="lhee__c-star" cx="32" cy="66" r="2" fill="rgba(212,180,110,0.95)" style="--cd:1.5s"/> 10707 <circle class="lhee__c-star" cx="62" cy="66" r="2" fill="rgba(212,180,110,0.95)" style="--cd:1.8s"/> 10708 <!-- H --> 10709 <circle class="lhee__c-star" cx="86" cy="18" r="2" fill="rgba(212,180,110,0.95)" style="--cd:2.1s"/> 10710 <circle class="lhee__c-star" cx="86" cy="66" r="2" fill="rgba(212,180,110,0.95)" style="--cd:2.4s"/> 10711 <circle class="lhee__c-star" cx="116" cy="18" r="2" fill="rgba(212,180,110,0.95)" style="--cd:2.2s"/> 10712 <circle class="lhee__c-star" cx="116" cy="66" r="2" fill="rgba(212,180,110,0.95)" style="--cd:2.5s"/> 10713 <!-- Constellation lines --> 10714 <!-- L vertical --> 10715 <line class="lhee__c-line" x1="32" y1="18" x2="32" y2="66" style="--len:48;--cd:1.6s"/> 10716 <!-- L foot --> 10717 <line class="lhee__c-line" x1="32" y1="66" x2="62" y2="66" style="--len:30;--cd:2.0s"/> 10718 <!-- H left --> 10719 <line class="lhee__c-line" x1="86" y1="18" x2="86" y2="66" style="--len:48;--cd:2.2s"/> 10720 <!-- H crossbar --> 10721 <line class="lhee__c-line" x1="86" y1="42" x2="116" y2="42" style="--len:30;--cd:2.6s"/> 10722 <!-- H right --> 10723 <line class="lhee__c-line" x1="116" y1="18" x2="116" y2="66" style="--len:48;--cd:3.0s"/> 10724 10725 <!-- Setting sun --> 10726 <g class="lhee-bh-sun"> 10727 <circle cx="210" cy="265" r="56" fill="rgba(245,150,35,0.55)"/> 10728 <circle cx="210" cy="265" r="40" fill="rgba(252,175,50,0.72)"/> 10729 <circle cx="210" cy="265" r="27" fill="rgba(255,202,70,0.86)"/> 10730 </g> 10731 <g class="lhee-rays"> 10732 <line x1="210" y1="265" x2="28" y2="58" stroke="#fff" stroke-width="2.5"/> 10733 <line x1="210" y1="265" x2="118" y2="38" stroke="#fff" stroke-width="2"/> 10734 <line x1="210" y1="265" x2="302" y2="38" stroke="#fff" stroke-width="2"/> 10735 <line x1="210" y1="265" x2="392" y2="62" stroke="#fff" stroke-width="2.5"/> 10736 <line x1="210" y1="265" x2="420" y2="168" stroke="#fff" stroke-width="1.5"/> 10737 <line x1="210" y1="265" x2="0" y2="165" stroke="#fff" stroke-width="1.5"/> 10738 </g> 10739 <path d="M-10 298 Q62 240 144 255 Q224 270 296 228 Q348 198 420 218 L420 470 L-10 470Z" fill="#16350c" opacity="0.88"/> 10740 <path d="M-10 318 Q58 274 148 286 Q232 298 308 265 Q362 245 420 262 L420 470 L-10 470Z" fill="#1f4510"/> 10741 <rect x="-10" y="360" width="440" height="110" fill="#1e3e0c"/> 10742 <rect x="-10" y="372" width="440" height="11" fill="rgba(38,36,32,0.65)"/> 10743 <line x1="0" y1="377" x2="55" y2="377" stroke="rgba(255,228,80,0.38)" stroke-width="1.5" stroke-dasharray="20,14"/> 10744 <line x1="84" y1="377" x2="139" y2="377" stroke="rgba(255,228,80,0.38)" stroke-width="1.5" stroke-dasharray="20,14"/> 10745 <line x1="168" y1="377" x2="223" y2="377" stroke="rgba(255,228,80,0.38)" stroke-width="1.5" stroke-dasharray="20,14"/> 10746 <line x1="252" y1="377" x2="307" y2="377" stroke="rgba(255,228,80,0.38)" stroke-width="1.5" stroke-dasharray="20,14"/> 10747 <line x1="336" y1="377" x2="391" y2="377" stroke="rgba(255,228,80,0.38)" stroke-width="1.5" stroke-dasharray="20,14"/> 10748 10749 <!-- Palm Tree 1 --> 10750 <g class="lhee-palm-1"> 10751 <path d="M72 372 Q74 322 78 262 Q80 222 82 187" stroke="#3a2a14" stroke-width="9" fill="none" stroke-linecap="round"/> 10752 <path d="M72 372 Q74 322 78 262 Q80 222 82 187" stroke="#4e3a1e" stroke-width="6" fill="none" stroke-linecap="round"/> 10753 <path d="M82 187 C50 170 28 150 22 134" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10754 <path d="M82 187 C68 160 62 132 58 116" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10755 <path d="M82 187 C88 160 92 132 88 114" stroke="#1e680e" stroke-width="3.5" fill="none" stroke-linecap="round"/> 10756 <path d="M82 187 C100 167 118 150 132 142" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10757 <path d="M82 187 C108 182 128 178 148 176" stroke="#1a5c0e" stroke-width="3.5" fill="none" stroke-linecap="round"/> 10758 <path d="M82 187 C60 194 36 194 14 198" stroke="#1a5c0e" stroke-width="3" fill="none" stroke-linecap="round"/> 10759 <ellipse cx="22" cy="135" rx="14" ry="5.5" fill="#246e18" transform="rotate(-35,22,135)"/> 10760 <ellipse cx="58" cy="117" rx="12" ry="4.5" fill="#246e18" transform="rotate(-15,58,117)"/> 10761 <ellipse cx="88" cy="115" rx="11" ry="4" fill="#2a7a1e" transform="rotate(12,88,115)"/> 10762 <ellipse cx="132" cy="143" rx="13" ry="5" fill="#246e18" transform="rotate(32,132,143)"/> 10763 <ellipse cx="148" cy="177" rx="12" ry="4" fill="#246e18" transform="rotate(5,148,177)"/> 10764 <circle cx="80" cy="192" r="4" fill="#2e1a08"/> 10765 </g> 10766 <!-- Palm Tree 2 --> 10767 <g class="lhee-palm-2"> 10768 <path d="M215 372 Q213 315 210 248 Q208 204 206 160" stroke="#3a2a14" stroke-width="10" fill="none" stroke-linecap="round"/> 10769 <path d="M215 372 Q213 315 210 248 Q208 204 206 160" stroke="#4e3a1e" stroke-width="7" fill="none" stroke-linecap="round"/> 10770 <path d="M206 160 C168 140 145 117 138 98" stroke="#1a5c0e" stroke-width="4.5" fill="none" stroke-linecap="round"/> 10771 <path d="M206 160 C190 130 185 100 182 82" stroke="#1a5c0e" stroke-width="4.5" fill="none" stroke-linecap="round"/> 10772 <path d="M206 160 C218 130 224 100 222 82" stroke="#1e680e" stroke-width="4" fill="none" stroke-linecap="round"/> 10773 <path d="M206 160 C230 140 252 120 268 110" stroke="#1a5c0e" stroke-width="4.5" fill="none" stroke-linecap="round"/> 10774 <path d="M206 160 C240 154 265 150 290 152" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10775 <path d="M206 160 C178 157 155 157 128 160" stroke="#1a5c0e" stroke-width="3.5" fill="none" stroke-linecap="round"/> 10776 <ellipse cx="138" cy="99" rx="16" ry="6" fill="#246e18" transform="rotate(-38,138,99)"/> 10777 <ellipse cx="182" cy="83" rx="14" ry="5.5" fill="#246e18" transform="rotate(-12,182,83)"/> 10778 <ellipse cx="222" cy="83" rx="13" ry="5" fill="#2a7a1e" transform="rotate(10,222,83)"/> 10779 <ellipse cx="268" cy="111" rx="16" ry="6" fill="#246e18" transform="rotate(35,268,111)"/> 10780 <ellipse cx="290" cy="153" rx="14" ry="5" fill="#246e18" transform="rotate(3,290,153)"/> 10781 <ellipse cx="128" cy="161" rx="13" ry="4.5" fill="#246e18" transform="rotate(-3,128,161)"/> 10782 <circle cx="207" cy="166" r="5" fill="#2e1a08"/> 10783 </g> 10784 <!-- Palm Tree 3 --> 10785 <g class="lhee-palm-3"> 10786 <path d="M362 372 Q364 328 366 282 Q368 248 370 218" stroke="#3a2a14" stroke-width="8" fill="none" stroke-linecap="round"/> 10787 <path d="M362 372 Q364 328 366 282 Q368 248 370 218" stroke="#4e3a1e" stroke-width="5.5" fill="none" stroke-linecap="round"/> 10788 <path d="M370 218 C338 200 315 182 308 167" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10789 <path d="M370 218 C355 190 352 164 350 148" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10790 <path d="M370 218 C382 190 388 164 386 148" stroke="#1e680e" stroke-width="3.5" fill="none" stroke-linecap="round"/>
10791 <path d="M370 218 C392 202 408 188 420 180" stroke="#1a5c0e" stroke-width="4" fill="none" stroke-linecap="round"/> 10792 <path d="M370 218 C358 225 340 227 318 230" stroke="#1a5c0e" stroke-width="3.5" fill="none" stroke-linecap="round"/> 10793 <ellipse cx="308" cy="168" rx="13" ry="5" fill="#246e18" transform="rotate(-32,308,168)"/> 10794 <ellipse cx="350" cy="149" rx="11" ry="4.5" fill="#246e18" transform="rotate(-12,350,149)"/> 10795 <ellipse cx="386" cy="149" rx="11" ry="4" fill="#2a7a1e" transform="rotate(10,386,149)"/> 10796 <ellipse cx="318" cy="231" rx="12" ry="4" fill="#246e18" transform="rotate(-5,318,231)"/> 10797 <circle cx="368" cy="223" r="4" fill="#2e1a08"/> 10798 </g> 10799 10800 <ellipse class="lhee-city-glow" cx="210" cy="362" rx="210" ry="20" fill="rgba(255,170,40,1)"/> 10801 </svg> 10802 <span class="lhee__label">Beverly Hills, CA</span> 10803 </div> 10804 10805 <!-- ââââ CENTER CARD ââââ --> 10806 <div class="lhee__center"> 10807 <div class="lhee__logo-wrap" aria-hidden="true"> 10808 <svg class="lhee__logo-svg" viewBox="0 0 60 82" fill="#b89a6e" xmlns="http://www.w3.org/2000/svg"> 10809 <rect class="lhee-lp" x="0" y="0" width="8" height="63" style="--d:0ms"/> 10810 <rect class="lhee-lp" x="8" y="54" width="9" height="9" style="--d:130ms"/> 10811 <rect class="lhee-lp" x="17" y="23" width="7" height="59" style="--d:210ms"/> 10812 <rect class="lhee-lp" x="17" y="50" width="43" height="4" style="--d:320ms"/> 10813 <rect class="lhee-lp" x="53" y="23" width="7" height="59" style="--d:400ms"/> 10814 </svg> 10815 </div> 10816 <div class="lhee__divider"><span class="lhee__divider-gem"></span></div> 10817 <p class="lhee__message"> 10818 <span class="lhee__word" style="--wd:0.5s">Founded</span> <span class="lhee__word" style="--wd:0.72s">with</span> <span class="lhee__word" style="--wd:0.94s">love,</span><br> 10819 <span class="lhee__word" style="--wd:1.16s">from</span> <span class="lhee__word" style="--wd:1.32s">the</span> <span class="lhee__word" style="--wd:1.48s">Outer</span> <span class="lhee__word" style="--wd:1.64s">Banks</span><br> 10820 <span class="lhee__word" style="--wd:1.80s">to</span> <span class="lhee__word" style="--wd:1.96s">Beverly</span> <span class="lhee__word" style="--wd:2.12s">Hills</span><br> 10821 <br> 10822 <span class="lhee__word" style="--wd:2.44s">We</span> <span class="lhee__word" style="--wd:2.60s">are</span> <span class="lhee__word" style="--wd:2.76s">so</span> <span class="lhee__word" style="--wd:2.92s">proud</span> <span class="lhee__word" style="--wd:3.08s">of</span> <span class="lhee__word" style="--wd:3.24s">you</span> <span class="lhee__word" style="--wd:3.40s">and</span> <span class="lhee__word" style="--wd:3.56s">all</span> <span class="lhee__word" style="--wd:3.72s">you</span> <span class="lhee__word" style="--wd:3.88s">have</span> <span class="lhee__word" style="--wd:4.04s">accomplished.</span><br> 10823 <br> 10824 <span class="lhee__word" style="--wd:4.40s">â</span> <span class="lhee__word" style="--wd:4.56s">Chris</span> <span class="lhee__word" style="--wd:4.72s">&</span> <span class="lhee__word" style="--wd:4.88s">Vasken</span> 10825 </p> 10826 <div class="lhee__counter">Est. 2014 · Beverly Hills</div> 10827 </div> 10828 10829 </div><!-- /.lhee__scene --> 10830 </div><!-- /frame 4 --> 10831 10832 </div><!-- /.lhee__timeline --> 10833 10834 <!-- Frame dots --> 10835 <div class="lhee__dots" aria-hidden="true"> 10836 <div class="lhee__dot" data-dot="0"></div> 10837 <div class="lhee__dot" data-dot="1"></div> 10838 <div class="lhee__dot" data-dot="2"></div> 10839 <div class="lhee__dot" data-dot="3"></div> 10840 </div> 10841 10842 <!-- Progress bar (visible only on frame 4) --> 10843 <div class="lhee__progress" id="lhee-progress"> 10844 <div class="lhee__progress-fill" id="lhee-progress-fill"></div> 10845 </div> 10846 10847 </div><!-- /.lhee__card --> 10848</div><!-- /.lhee --> 10849 10850
10851<script> 10852(function () { 10853 'use strict'; 10854 10855 var SEQUENCE = 'lhobx'; 10856 var buffer = ''; 10857 var audio = null; 10858 var frameTimers = []; 10859 var closeTimer = null; 10860 10861 /* ââ Keydown listener ââ */ 10862 document.addEventListener('keydown', function (e) { 10863 var tag = (e.target.tagName || '').toLowerCase(); 10864 if (tag === 'input' || tag === 'textarea' || tag === 'select' || e.target.isContentEditable) return; 10865 if (e.metaKey || e.ctrlKey || e.altKey) return; 10866 buffer += e.key.toLowerCase(); 10867 if (buffer.length > SEQUENCE.length) buffer = buffer.slice(buffer.length - SEQUENCE.length); 10868 if (buffer === SEQUENCE) { buffer = ''; triggerEgg(); } 10869 }); 10870 10871 /* ââ Three Little Birds â real MP3 playback ââ */ 10872 function startMelody() { 10873 try { 10874 var song = new Audio("\/\/loganhollowell.com\/cdn\/shop\/t\/206\/assets\/lhobx-song.mp3?v=88713299289413608721790192133"); 10875 song.loop = true; 10876 song.volume = 0; 10877 song.play().catch(function () {}); 10878 /* Fade in over 2 seconds */ 10879 var steps = 40; 10880 var step = 0; 10881 var fadeIn = setInterval(function () { 10882 step++; 10883 song.volume = Math.min(0.55, (step / steps) * 0.55); 10884 if (step >= steps) clearInterval(fadeIn); 10885 }, 50); 10886 return song; 10887 } catch (e) { return null; } 10888 } 10889 10890 function stopMelody(song) { 10891 if (!song) return; 10892 /* Fade out over 1 second then pause */ 10893 var steps = 20; 10894 var step = 0; 10895 var startVol = song.volume; 10896 var fadeOut = setInterval(function () { 10897 step++; 10898 song.volume = Math.max(0, startVol * (1 - step / steps)); 10899 if (step >= steps) { 10900 clearInterval(fadeOut); 10901 song.pause(); 10902 song.currentTime = 0; 10903 } 10904 }, 50); 10905 } 10906 10907 /* ââ Frame sequencer ââ */ 10908 var FRAME_DUR = 4200; // ms per story frame 10909 10910 function showFrame(idx) { 10911 var el = document.getElementById('lh-easter-egg'); 10912 var frames = el.querySelectorAll('.lhee__frame'); 10913 var dots = el.querySelectorAll('.lhee__dot'); 10914 10915 frames.forEach(function (f, i) { 10916 f.classList.toggle('lhee__frame--active', i === idx); 10917 }); 10918 dots.forEach(function (d, i) { 10919 d.classList.toggle('lhee__dot--active', i === idx); 10920 }); 10921 10922 if (idx === 3) { 10923 /* Restart logo animation */ 10924 var logoSvg = el.querySelector('.lhee__logo-svg'); 10925 if (logoSvg) { 10926 logoSvg.querySelectorAll('.lhee-lp').forEach(function (p) {
10927 p.style.animation = 'none'; 10928 void p.offsetHeight; 10929 p.style.animation = ''; 10930 }); 10931 } 10932 10933 /* Start progress bar */ 10934 var prog = document.getElementById('lhee-progress'); 10935 var fill = document.getElementById('lhee-progress-fill'); 10936 var dur = 8000 + Math.floor(Math.random() * 6001); 10937 if (prog) prog.classList.add('lhee__progress--on'); 10938 fill.style.transition = 'none'; 10939 fill.style.transform = 'scaleX(1)'; 10940 requestAnimationFrame(function () { 10941 requestAnimationFrame(function () { 10942 fill.style.transition = 'transform ' + dur + 'ms linear'; 10943 fill.style.transform = 'scaleX(0)'; 10944 }); 10945 }); 10946 10947 closeTimer = setTimeout(closeEgg, dur); 10948 } 10949 } 10950 10951 /* ââ Trigger ââ */ 10952 function triggerEgg() { 10953 var el = document.getElementById('lh-easter-egg'); 10954 if (!el || el.classList.contains('lhee--active')) return; 10955 10956 el.removeAttribute('aria-hidden'); 10957 el.classList.add('lhee--active'); 10958 10959 audio = startMelody(); 10960 10961 /* Show frame 0 immediately, advance through 1, 2, 3 */ 10962 showFrame(0); 10963 [1, 2, 3].forEach(function (idx) { 10964 frameTimers.push(setTimeout(function () { showFrame(idx); }, idx * FRAME_DUR)); 10965 }); 10966 10967 /* Backdrop click to dismiss */ 10968 el.addEventListener('click', function handler(ev) { 10969 if (ev.target === el || ev.target.classList.contains('lhee__backdrop')) { 10970 clearAll(); 10971 closeEgg(); 10972 el.removeEventListener('click', handler); 10973 } 10974 }); 10975 10976 /* Escape key */ 10977 function escHandler(e) { 10978 if (e.key === 'Escape') { clearAll(); closeEgg(); document.removeEventListener('keydown', escHandler); } 10979 } 10980 document.addEventListener('keydown', escHandler); 10981 } 10982 10983 function clearAll() { 10984 frameTimers.forEach(clearTimeout); 10985 frameTimers = []; 10986 if (closeTimer) { clearTimeout(closeTimer); closeTimer = null; } 10987 } 10988 10989 function closeEgg() { 10990 var el = document.getElementById('lh-easter-egg'); 10991 var prog = document.getElementById('lhee-progress'); 10992 var fill = document.getElementById('lhee-progress-fill'); 10993 if (!el) return; 10994 10995 stopMelody(audio); audio = null; 10996 10997 el.classList.remove('lhee--active'); 10998 el.setAttribute('aria-hidden', 'true'); 10999 11000 /* Reset all frames after fade */ 11001 setTimeout(function () { 11002 el.querySelectorAll('.lhee__frame').forEach(function (f) { f.classList.remove('lhee__frame--active'); }); 11003 el.querySelectorAll('.lhee__dot').forEach(function (d) { d.classList.remove('lhee__dot--active'); }); 11004 if (prog) prog.classList.remove('lhee__progress--on'); 11005 fill.style.transition = 'none'; 11006 fill.style.transform = 'scaleX(1)'; 11007 }, 900); 11008 } 11009 11010})(); 11011</script>
vendor: 1 bytes, line 11011
11011
11012<script> 11013(function () { 11014 'use strict'; 11015 var SEQUENCE = 'weiwei'; 11016 var SRC = "\/\/loganhollowell.com\/cdn\/shop\/t\/206\/assets\/lh-wei-ships.js?v=123273777364671940971790192133"; 11017 var buffer = '', loading = false; 11018 11019 document.addEventListener('keydown', function (e) { 11020 if (e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA' || e.target.isContentEditable) return; 11021 if (e.key.length !== 1) return; 11022 buffer += e.key.toLowerCase(); 11023 if (buffer.length > SEQUENCE.length) buffer = buffer.slice(-SEQUENCE.length); 11024 if (buffer !== SEQUENCE) return; 11025 buffer = ''; 11026 if (window.LHWeiShips) { window.LHWeiShips.open(); return; } 11027 if (loading) return; 11028 loading = true; 11029 var s = document.createElement('script'); 11030 s.src = SRC; 11031 s.async = true; 11032 s.onload = function () { if (window.LHWeiShips) window.LHWeiShips.open(); }; 11033 s.onerror = function () { loading = false; }; 11034 document.head.appendChild(s); 11035 }); 11036})(); 11037</script>
11037 11038 11039 11040<div 11041 id="lh-contact" 11042 class="lh-drawer" 11043 style="--lh-drawer-z:600;--lh-drawer-width:420px;--lh-drawer-bg:#f9f5ef" 11044 aria-hidden="true" 11045 role="dialog" 11046 aria-modal="true" 11047 aria-label="Book an Appointment" 11048 11049> 11050 <div class="lh-drawer__overlay" data-lh-drawer-overlay></div> 11051 <div class="lh-drawer__panel"> 11052 11053 <div class="lh-drawer__header"> 11054 <div class="lh-drawer__header-text"><p class="lh-drawer__eyebrow">Logan Hollowell</p><span class="lh-drawer__title" data-lh-drawer-title>Book an Appointment</span></div> 11055 11056 <button 11057 type="button" 11058 class="lh-drawer__close" 11059 data-lh-drawer-close 11060 aria-label="Close" 11061 > 11062 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> 11063 <line x1="18" y1="6" x2="6" y2="18"></line> 11064 <line x1="6" y1="6" x2="18" y2="18"></line> 11065 </svg> 11066 </button> 11067 </div> 11068 11069 <div class="lh-drawer__body"> 11070 <div class="lh-drawer-contact" id="lh-drawer-contact"><iframe name="lh-dc-iframe" id="lh-dc-iframe" style="display:none;" aria-hidden="true"></iframe><div class="lh-dc__ceremony" id="lh-dc-ceremony" role="status" aria-live="polite" aria-atomic="true"> 11071 <div class="lh-dc__ceremony-inner"> 11072 <svg viewBox="0 0 96 96" fill="none" width="72" height="72" aria-hidden="true" style="margin:0 auto 24px;display:block;color:#b89a6e;"> 11073 <circle cx="48" cy="48" r="44" stroke="currentColor" stroke-width="0.6" stroke-dasharray="4 3"/> 11074 <circle cx="48" cy="48" r="34" fill="rgba(184,154,110,0.10)" stroke="currentColor" stroke-width="1"/> 11075 <path d="M 32,48 L 43,59 L 64,36" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/> 11076 </svg> 11077 <p style="font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;font-style:italic;color:#111;margin:0 0 10px;">Thank You</p> 11078 <p style="font-family:'Jost',sans-serif;font-size:0.78rem;font-weight:300;color:#888;line-height:1.6;margin:0;">We've received your request and will be in touch shortly.</p> 11079 </div> 11080 </div><form method="post" action="/contact#lh-drawer-contact-form" id="lh-drawer-contact-form" accept-charset="UTF-8" class="lh-drawer-contact__form"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="contact[source_url]" id="lh-dc-source-url" value=""> 11081 11082<input type="hidden" name="contact[approximate_location]" data-lh-approx-location value=""> 11083 11084 <div style="margin-bottom:20px;"> 11085 <p class="lh-dc__label" id="lh-dc-contact-label">Preferred Contact</p> 11086 <div style="display:flex;gap:8px;" role="radiogroup" aria-labelledby="lh-dc-contact-label"> 11087 <label class="lh-dc__pill"><input type="radio" name="contact[preferred_contact]" value="Email" checked><span>By Email</span></label> 11088 <label class="lh-dc__pill"><input type="radio" name="contact[preferred_contact]" value="Phone"><span>By Phone</span></label> 11089 </div> 11090 </div> 11091 11092 <div style="margin-bottom:20px;"> 11093 <label class="lh-dc__label" for="lh-dc-name">Name</label> 11094 <input class="lh-dc__input" id="lh-dc-name" type="text" name="contact[name]" autocomplete="name" required placeholder="Your full name"> 11095 </div> 11096 11097 <div style="margin-bottom:20px;"> 11098 <label class="lh-dc__label" for="lh-dc-email">Email</label> 11099 <input class="lh-dc__input" id="lh-dc-email" type="email" name="contact[email]" autocomplete="email" required placeholder="[email protected]"> 11100 </div> 11101 11102 <div style="margin-bottom:20px;"> 11103 <label class="lh-dc__label" for="lh-dc-phone">Phone</label> 11104 <input class="lh-dc__input" id="lh-dc-phone" type="tel" name="contact[phone]" autocomplete="tel" placeholder="+1 (000) 000-0000"> 11105 </div><div style="margin-bottom:20px;"> 11106 <p class="lh-dc__label" id="lh-dc-type-label">Appointment Type</p> 11107 <div style="display:flex;gap:8px;" role="radiogroup" aria-labelledby="lh-dc-type-label"> 11108 <label class="lh-dc__pill"><input type="radio" name="contact[appointment_type]" value="In Person" checked data-lh-dc-type><span>In Person</span></label> 11109 <label class="lh-dc__pill"><input type="radio" name="contact[appointment_type]" value="Virtual" data-lh-dc-type><span>Virtual</span></label> 11110 </div> 11111 </div><div style="margin-bottom:20px;" id="lh-dc-location-wrap"> 11112 <label class="lh-dc__label" for="lh-dc-location">Location</label> 11113 <select class="lh-dc__input" id="lh-dc-location" name="contact[location]" aria-label="Select location or platform" style="-webkit-appearance:none;appearance:none;"> 11114 <option value="">Select a locationâ¦</option> 11115 </select> 11116 </div><div style="margin-bottom:24px;"> 11117 <p class="lh-dc__label" id="lh-dc-dates-label">Date & Time Preferences</p> 11118 <p class="lh-dc__help" id="lh-dc-dates-help">Provide up to three preferred dates. We'll confirm the best fit.</p> 11119 11120 <div class="lh-dc__slots" role="group" aria-labelledby="lh-dc-dates-label" aria-describedby="lh-dc-dates-help"><div class="lh-dc__slot" data-lh-dc-slot="1"> 11121 <div class="lh-dc__slot-number" aria-hidden="true">1</div> 11122 <div class="lh-dc__slot-fields"> 11123 <div class="lh-dc__slot-row"> 11124 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11125 <rect x="3" y="4" width="18" height="18" rx="2" stroke="currentColor" stroke-width="1.3"/> 11126 <path d="M16 2v4M8 2v4M3 10h18" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/> 11127 </svg> 11128 <input class="lh-dc__slot-input" type="date" name="contact[date_preference_1]" aria-label="Preferred date, option 1"> 11129 </div> 11130 <div class="lh-dc__slot-row"> 11131 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11132 <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.3"/> 11133 <path d="M12 6v6l4 2" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> 11134 </svg> 11135 <select class="lh-dc__slot-select" name="contact[time_preference_1]" aria-label="Preferred time, option 1"> 11136 <option value="">Select timeâ¦</option> 11137 <option>12:00 PM</option><option>12:30 PM</option> 11138 <option>1:00 PM</option><option>1:30 PM</option> 11139 <option>2:00 PM</option><option>2:30 PM</option> 11140 <option>3:00 PM</option><option>3:30 PM</option> 11141 <option>4:00 PM</option><option>4:30 PM</option> 11142 <option>5:00 PM</option> 11143 </select> 11144 </div> 11145 </div> 11146 </div><div class="lh-dc__slot" data-lh-dc-slot="2"> 11147 <div class="lh-dc__slot-number" aria-hidden="true">2</div> 11148 <div class="lh-dc__slot-fields"> 11149 <div class="lh-dc__slot-row"> 11150 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11151 <rect x="3" y="4" width="18" height="18" rx="2" stroke="currentColor" stroke-width="1.3"/> 11152 <path d="M16 2v4M8 2v4M3 10h18" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/> 11153 </svg> 11154 <input class="lh-dc__slot-input" type="date" name="contact[date_preference_2]" aria-label="Preferred date, option 2"> 11155 </div> 11156 <div class="lh-dc__slot-row"> 11157 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11158 <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.3"/> 11159 <path d="M12 6v6l4 2" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> 11160 </svg> 11161 <select class="lh-dc__slot-select" name="contact[time_preference_2]" aria-label="Preferred time, option 2"> 11162 <option value="">Select timeâ¦</option> 11163 <option>12:00 PM</option><option>12:30 PM</option> 11164 <option>1:00 PM</option><option>1:30 PM</option> 11165 <option>2:00 PM</option><option>2:30 PM</option> 11166 <option>3:00 PM</option><option>3:30 PM</option> 11167 <option>4:00 PM</option><option>4:30 PM</option> 11168 <option>5:00 PM</option> 11169 </select> 11170 </div> 11171 </div> 11172 </div><div class="lh-dc__slot" data-lh-dc-slot="3"> 11173 <div class="lh-dc__slot-number" aria-hidden="true">3</div> 11174 <div class="lh-dc__slot-fields"> 11175 <div class="lh-dc__slot-row"> 11176 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11177 <rect x="3" y="4" width="18" height="18" rx="2" stroke="currentColor" stroke-width="1.3"/> 11178 <path d="M16 2v4M8 2v4M3 10h18" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/> 11179 </svg> 11180 <input class="lh-dc__slot-input" type="date" name="contact[date_preference_3]" aria-label="Preferred date, option 3"> 11181 </div> 11182 <div class="lh-dc__slot-row"> 11183 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11184 <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.3"/> 11185 <path d="M12 6v6l4 2" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> 11186 </svg> 11187 <select class="lh-dc__slot-select" name="contact[time_preference_3]" aria-label="Preferred time, option 3"> 11188 <option value="">Select timeâ¦</option> 11189 <option>12:00 PM</option><option>12:30 PM</option> 11190 <option>1:00 PM</option><option>1:30 PM</option> 11191 <option>2:00 PM</option><option>2:30 PM</option> 11192 <option>3:00 PM</option><option>3:30 PM</option> 11193 <option>4:00 PM</option><option>4:30 PM</option> 11194 <option>5:00 PM</option> 11195 </select> 11196 </div> 11197 </div> 11198 </div></div> 11199 </div> 11200 11201 <div style="height:1px;background:#e0d8ce;margin:28px 0;"></div> 11202 11203 <div style="margin-bottom:20px;"> 11204 <label class="lh-dc__label" for="lh-dc-message">Message</label> 11205 <textarea class="lh-dc__input" id="lh-dc-message" name="contact[body]" placeholder="Tell us about what you're looking forâ¦" rows="4" style="min-height:100px;resize:vertical;"></textarea> 11206 </div> 11207 11208 <button type="submit" class="lh-dc__submit" id="lh-dc-submit-btn">Submit Request</button><p class="lh-dc__recaptcha"> 11209 This site is protected by reCAPTCHA and the Google 11210 <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Privacy Policy<span class="visually-hidden"> (opens in a new tab)</span> 11211</a> 11212 and 11213 <a href="https://policies.google.com/terms" target="_blank" rel="noopener noreferrer">Terms of Service<span class="visually-hidden"> (opens in a new tab)</span> 11214</a> 11215 apply. 11216 </p></form></div> 11217 11218<style> 11219 .lh-dc__label { 11220 display: block; 11221 font-family: 'Jost', sans-serif; 11222 font-size: 0.68rem; 11223 font-weight: 400; 11224 letter-spacing: 0.12em; 11225 text-transform: uppercase; 11226 color: #555; 11227 margin-bottom: 8px; 11228 } 11229 .lh-dc__input { 11230 width: 100%; 11231 padding: 12px 14px; 11232 border: 1px solid #e0d8ce; 11233 background: #fff; 11234 font-family: 'Jost', sans-serif; 11235 font-size: 0.82rem; 11236 font-weight: 300; 11237 color: #111; 11238 border-radius: 0; 11239 transition: border-color 0.2s ease; 11240 } 11241 .lh-dc__input:focus { outline: none; border-color: #b89a6e; } 11242 .lh-dc__help { 11243 font-family: 'Jost', sans-serif; 11244 font-size: 0.68rem; 11245 font-weight: 300; 11246 color: #888; 11247 margin: 0 0 16px; 11248 font-style: italic; 11249 } 11250 11251 /* ââ Date/Time preference cards ââ */ 11252 .lh-dc__slots { 11253 display: flex; 11254 flex-direction: column; 11255 gap: 10px; 11256 } 11257 .lh-dc__slot { 11258 display: flex; 11259 align-items: stretch; 11260 gap: 14px; 11261 padding: 16px; 11262 background: #fff; 11263 border: 1px solid #ebe5db; 11264 transition: border-color 0.3s ease, box-shadow 0.3s ease; 11265 } 11266 .lh-dc__slot:hover, 11267 .lh-dc__slot:focus-within { 11268 border-color: #b89a6e; 11269 box-shadow: 0 2px 12px rgba(184,154,110,0.10); 11270 } 11271 .lh-dc__slot-number { 11272 display: flex; 11273 align-items: center; 11274 justify-content: center; 11275 width: 28px; 11276 height: 28px; 11277 border-radius: 50%; 11278 border: 1px solid #d4b896; 11279 color: #b89a6e; 11280 font-family: 'Cormorant Garamond', serif; 11281 font-size: 0.85rem; 11282 font-weight: 400; 11283 font-style: italic; 11284 flex-shrink: 0; 11285 align-self: center; 11286 } 11287 .lh-dc__slot-fields { 11288 flex: 1; 11289 display: flex; 11290 flex-direction: column; 11291 gap: 8px; 11292 } 11293 .lh-dc__slot-row { 11294 display: flex; 11295 align-items: center; 11296 gap: 10px; 11297 } 11298 .lh-dc__slot-input, 11299 .lh-dc__slot-select { 11300 flex: 1; 11301 border: none; 11302 border-bottom: 1px solid #e0d8ce; 11303 background: transparent; 11304 font-family: 'Jost', sans-serif; 11305 font-size: 0.78rem; 11306 font-weight: 300; 11307 color: #111; 11308 padding: 6px 0; 11309 -webkit-appearance: none; 11310 appearance: none; 11311 border-radius: 0; 11312 transition: border-color 0.3s ease; 11313 } 11314 .lh-dc__slot-input:focus, 11315 .lh-dc__slot-select:focus { 11316 outline: none; 11317 border-bottom-color: #b89a6e; 11318 } 11319 .lh-dc__slot-input:focus-visible, 11320 .lh-dc__slot-select:focus-visible { 11321 outline: 2px solid #b89a6e; 11322 outline-offset: 2px; 11323 } 11324 .lh-dc__slot-input::placeholder { color: #bbb; } 11325 .lh-dc__slot-select { cursor: pointer; color: #888; } 11326 .lh-dc__slot-select:has(option:checked:not([value=""])) { color: #111; } 11327 11328 .lh-dc__pill { cursor: pointer; } 11329 .lh-dc__pill input { 11330 position: absolute; 11331 width: 1px; 11332 height: 1px; 11333 padding: 0; 11334 margin: -1px; 11335 overflow: hidden; 11336 clip: rect(0,0,0,0); 11337 white-space: nowrap; 11338 border: 0; 11339 }
11340 .lh-dc__pill input:focus-visible + span { 11341 outline: 2px solid #b89a6e; 11342 outline-offset: 2px; 11343 } 11344 .lh-dc__pill span { 11345 display: inline-block; 11346 padding: 8px 18px; 11347 border: 1px solid #e0d8ce; 11348 font-family: 'Jost', sans-serif; 11349 font-size: 0.68rem; 11350 font-weight: 300; 11351 letter-spacing: 0.1em; 11352 text-transform: uppercase; 11353 color: #555; 11354 transition: all 0.2s ease; 11355 } 11356 .lh-dc__pill input:checked + span { background: #111; color: #fff; border-color: #111; } 11357 .lh-dc__submit { 11358 display: block; 11359 width: 100%; 11360 padding: 16px 32px; 11361 background: #111; 11362 color: #fff; 11363 border: 1px solid #111; 11364 font-family: 'Jost', sans-serif; 11365 font-size: 0.72rem; 11366 font-weight: 300; 11367 letter-spacing: 0.22em; 11368 text-transform: uppercase; 11369 cursor: pointer; 11370 transition: background 0.35s ease; 11371 } 11372 .lh-dc__submit:hover:not(:disabled) { background: #b89a6e; border-color: #b89a6e; } 11373 .lh-dc__submit:focus-visible { outline: 2px solid #b89a6e; outline-offset: 3px; } 11374 .lh-dc__submit:disabled { background: #ccc; border-color: #ccc; cursor: wait; } 11375 11376 /* reCAPTCHA attribution â shared by lh-drawer-contact + lh-drawer-bridal */ 11377 .lh-dc__recaptcha { 11378 margin: 16px 0 0; 11379 text-align: center; 11380 font-family: 'Jost', sans-serif; 11381 font-size: 0.65rem; 11382 font-weight: 300; 11383 letter-spacing: 0.04em; 11384 line-height: 1.6; 11385 color: #999; 11386 } 11387 .lh-dc__recaptcha a { 11388 color: #555; 11389 text-decoration: underline; 11390 text-underline-offset: 2px; 11391 transition: color 0.2s ease; 11392 } 11393 .lh-dc__recaptcha a:hover { color: #b89a6e; } 11394 #lh-contact .lh-drawer__body { padding: 24px; } 11395 11396 /* Hide any inline captcha challenge UI that Shopify injects inside the drawer. 11397 The floating .grecaptcha-badge is hidden globally from sections/lh-footer.liquid 11398 alongside the required Google ToS disclaimer. */ 11399 #lh-contact .shopify-challenge__container, 11400 #lh-contact .g-recaptcha, 11401 #lh-contact [data-shopify-captcha] { 11402 display: none !important; 11403 visibility: hidden !important; 11404 height: 0 !important; 11405 overflow: hidden !important; 11406 } 11407 11408 .lh-dc__ceremony { 11409 display: none; 11410 position: absolute; 11411 inset: 0; 11412 z-index: 5; 11413 background: #f9f5ef;
11414 align-items: center; 11415 justify-content: center; 11416 } 11417 .lh-dc__ceremony.is-visible { display: flex; } 11418 .lh-dc__ceremony-inner { text-align: center; padding: 40px 24px; } 11419 .lh-dc__ceremony.is-visible svg { 11420 animation: lh-dc-seal 0.75s cubic-bezier(0.34,1.4,0.64,1) both; 11421 } 11422 @keyframes lh-dc-seal { 11423 0% { transform: scale(0.2) rotate(-12deg); opacity: 0; } 11424 100% { transform: scale(1) rotate(0); opacity: 1; } 11425 } 11426 .lh-dc__ceremony.is-visible p { 11427 opacity: 0; 11428 animation: lh-dc-fade-up 0.7s 0.5s ease forwards; 11429 } 11430 @keyframes lh-dc-fade-up { 11431 from { opacity: 0; transform: translateY(10px); } 11432 to { opacity: 1; transform: translateY(0); } 11433 } 11434</style> 11435
11436<script> 11437(function () { 11438 'use strict'; 11439 11440 var form = document.getElementById('lh-drawer-contact-form'); 11441 var submitBtn = document.getElementById('lh-dc-submit-btn'); 11442 var ceremony = document.getElementById('lh-dc-ceremony'); 11443 var iframe = document.getElementById('lh-dc-iframe'); 11444 var sourceUrl = document.getElementById('lh-dc-source-url'); 11445 11446 if (!form || !iframe) return; 11447 11448 /* Point the Shopify form at the hidden iframe */ 11449 form.setAttribute('target', 'lh-dc-iframe'); 11450 11451 11452 /* ââ Location options that swap based on appointment type ââ */ 11453 var locationSelect = document.getElementById('lh-dc-location'); 11454 var inPersonOptions = [ 11455 { value: 'Beverly Hills Boutique', label: 'Beverly Hills Boutique' }, 11456 { value: 'New York Showroom', label: 'New York Showroom' } 11457 ]; 11458 var virtualOptions = [ 11459 { value: 'FaceTime', label: 'FaceTime' }, 11460 { value: 'Google Meet', label: 'Google Meet' }, 11461 { value: 'Zoom', label: 'Zoom' } 11462 ]; 11463 11464 function updateLocations(type) { 11465 if (!locationSelect) return; 11466 var opts = type === 'Virtual' ? virtualOptions : inPersonOptions; 11467 var label = type === 'Virtual' ? 'Select a platformâ¦' : 'Select a locationâ¦'; 11468 locationSelect.innerHTML = '<option value="">' + label + '</option>'; 11469 opts.forEach(function (o) { 11470 var el = document.createElement('option'); 11471 el.value = o.value; 11472 el.textContent = o.label; 11473 locationSelect.appendChild(el); 11474 }); 11475 } 11476 11477 /* Listen for appointment type changes */ 11478 var typeRadios = form.querySelectorAll('[data-lh-dc-type]'); 11479 typeRadios.forEach(function (radio) { 11480 radio.addEventListener('change', function () { 11481 updateLocations(this.value); 11482 }); 11483 }); 11484 11485 /* Set initial locations */ 11486 updateLocations('In Person'); 11487 11488 /* Capture page URL before submit */ 11489 form.addEventListener('submit', function () { 11490 if (sourceUrl) sourceUrl.value = window.location.href; 11491 submitBtn.disabled = true; 11492 submitBtn.setAttribute('aria-busy', 'true'); 11493 submitBtn.textContent = 'Sendingâ¦'; 11494 }); 11495 11496 /* When the iframe loads after POST = submission complete */ 11497 iframe.addEventListener('load', function () { 11498 /* Only trigger on actual form submissions (iframe loads once on page init too) */ 11499 if (!submitBtn.disabled) return; 11500 11501 /* Show success ceremony â no page reload */ 11502 form.style.display = 'none'; 11503 ceremony.classList.add('is-visible'); 11504 11505 /* Auto-close after 5 seconds */ 11506 setTimeout(function () { 11507 if (window.LHDrawer) LHDrawer.close('lh-contact'); 11508 /* Reset for next use */ 11509 setTimeout(function () { 11510 form.reset(); 11511 form.style.display = ''; 11512 ceremony.classList.remove('is-visible'); 11513 submitBtn.disabled = false; 11514 submitBtn.removeAttribute('aria-busy'); 11515 submitBtn.textContent = 'Submit Request'; 11516 }, 500); 11517 }, 5000); 11518 }); 11519})(); 11520</script>
11520 11521 </div></div> 11522</div> 11523
11524<script> 11525 (function () { 11526 var el = document.getElementById('lh-contact'); 11527 if (el && window.LHDrawer) { 11528 LHDrawer.register('lh-contact', { el: el }); 11529 } else { 11530 document.addEventListener('DOMContentLoaded', function () { 11531 var el = document.getElementById('lh-contact'); 11532 if (el && window.LHDrawer) { 11533 LHDrawer.register('lh-contact', { el: el }); 11534 } 11535 }); 11536 } 11537 })(); 11538</script>
11538 11539 11540 11541 11542<div 11543 id="lh-bridal" 11544 class="lh-drawer" 11545 style="--lh-drawer-z:600;--lh-drawer-width:420px;--lh-drawer-bg:#f9f5ef" 11546 aria-hidden="true" 11547 role="dialog" 11548 aria-modal="true" 11549 aria-label="Book a Consultation" 11550 11551> 11552 <div class="lh-drawer__overlay" data-lh-drawer-overlay></div> 11553 <div class="lh-drawer__panel"> 11554 11555 <div class="lh-drawer__header"> 11556 <div class="lh-drawer__header-text"><p class="lh-drawer__eyebrow">Logan Hollowell Bridal</p><span class="lh-drawer__title" data-lh-drawer-title>Book a Consultation</span></div> 11557 11558 <button 11559 type="button" 11560 class="lh-drawer__close" 11561 data-lh-drawer-close 11562 aria-label="Close" 11563 > 11564 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> 11565 <line x1="18" y1="6" x2="6" y2="18"></line> 11566 <line x1="6" y1="6" x2="18" y2="18"></line> 11567 </svg> 11568 </button> 11569 </div> 11570 11571 <div class="lh-drawer__body"> 11572 <div class="lh-drawer-bridal" id="lh-drawer-bridal-global"> 11573 11574 <iframe name="lh-dbg-iframe" id="lh-dbg-iframe" style="display:none;" aria-hidden="true"></iframe> 11575 11576 <div class="lh-dbg__ceremony" id="lh-dbg-ceremony" role="status" aria-live="polite"> 11577 <div style="text-align:center;padding:40px 24px;"> 11578 <svg viewBox="0 0 96 96" fill="none" width="72" height="72" aria-hidden="true" style="margin:0 auto 24px;display:block;color:#b89a6e;"> 11579 <circle cx="48" cy="48" r="44" stroke="currentColor" stroke-width="0.6" stroke-dasharray="4 3"/> 11580 <circle cx="48" cy="48" r="34" fill="rgba(184,154,110,0.10)" stroke="currentColor" stroke-width="1"/> 11581 <path d="M 32,48 L 43,59 L 64,36" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/> 11582 </svg> 11583 <p style="font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;font-style:italic;color:#111;margin:0 0 10px;">Thank You</p> 11584 <p style="font-family:'Jost',sans-serif;font-size:0.78rem;font-weight:300;color:#888;line-height:1.6;margin:0;">A bridal specialist will reach out within 24 hours to discuss your vision.</p> 11585 </div> 11586 </div><form method="post" action="/contact#lh-dbg-form" id="lh-dbg-form" accept-charset="UTF-8" class="lh-dbg__form"><input type="hidden" name="form_type" value="contact" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="contact[subject]" value="Bridal Consultation Request"> 11587 <input type="hidden" name="contact[source_url]" id="lh-dbg-source-url" value=""> 11588 11589<input type="hidden" name="contact[approximate_location]" data-lh-approx-location value=""> 11590<input type="hidden" name="contact[ring_style]" id="lh-dbg-ring-style-joined" value=""> 11591 <input type="hidden" name="contact[stone_type]" id="lh-dbg-stone-type-joined" value=""> 11592 11593 <div style="margin-bottom:20px;"> 11594 <label class="lh-dc__label" for="lh-dbg-name">Name</label> 11595 <input class="lh-dc__input" id="lh-dbg-name" type="text" name="contact[name]" autocomplete="name" required placeholder="Your full name"> 11596 </div> 11597 11598 <div style="margin-bottom:20px;"> 11599 <label class="lh-dc__label" for="lh-dbg-email">Email</label> 11600 <input class="lh-dc__input" id="lh-dbg-email" type="email" name="contact[email]" autocomplete="email" required placeholder="[email protected]"> 11601 </div> 11602 11603 <div style="margin-bottom:20px;"> 11604 <label class="lh-dc__label" for="lh-dbg-phone">Phone</label> 11605 <input class="lh-dc__input" id="lh-dbg-phone" type="tel" name="contact[phone]" autocomplete="tel" placeholder="+1 (000) 000-0000"> 11606 </div> 11607 11608 <div style="height:1px;background:#e0d8ce;margin:24px 0;"></div><div style="margin-bottom:20px;"> 11609 <p class="lh-dc__label" id="lh-dbg-style-label">Ring Style</p> 11610 <div style="display:flex;gap:8px;flex-wrap:wrap;" role="group" aria-labelledby="lh-dbg-style-label"> 11611 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="ring_style" value="Classic Solitaire"><span>Classic Solitaire</span></label> 11612 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="ring_style" value="Vintage-Inspired"><span>Vintage-Inspired</span></label> 11613 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="ring_style" value="Bold & Sculptural"><span>Bold & Sculptural</span></label> 11614 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="ring_style" value="Minimalist"><span>Minimalist</span></label> 11615 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="ring_style" value="Colored Stones"><span>Colored Stones</span></label> 11616 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="ring_style" value="Custom Bespoke"><span>Custom Bespoke</span></label> 11617 </div> 11618 </div> 11619 11620 <div style="margin-bottom:20px;"> 11621 <p class="lh-dc__label" id="lh-dbg-stone-label">Stone Type</p> 11622 <div style="display:flex;gap:8px;flex-wrap:wrap;" role="group" aria-labelledby="lh-dbg-stone-label"> 11623 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="stone_type" value="Diamond"><span>Diamond</span></label> 11624 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="stone_type" value="Sapphire"><span>Sapphire</span></label> 11625 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="stone_type" value="Emerald"><span>Emerald</span></label> 11626 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="stone_type" value="Moonstone"><span>Moonstone</span></label> 11627 <label class="lh-dc__pill"><input type="checkbox" data-lh-dbg-multi="stone_type" value="Other"><span>
11627Other</span></label> 11628 </div> 11629 </div> 11630 11631 <div style="margin-bottom:20px;"> 11632 <label class="lh-dc__label" for="lh-dbg-budget">Budget Range</label> 11633 <select class="lh-dc__input" id="lh-dbg-budget" name="contact[budget]" style="-webkit-appearance:none;appearance:none;"> 11634 <option value="">Prefer not to say</option> 11635 <option value="Under $5,000">Under $5,000</option> 11636 <option value="$5,000 - $10,000">$5,000 â $10,000</option> 11637 <option value="$10,000 - $25,000">$10,000 â $25,000</option> 11638 <option value="$25,000 - $50,000">$25,000 â $50,000</option> 11639 <option value="$50,000+">$50,000+</option> 11640 </select> 11641 </div> 11642 11643 <div style="margin-bottom:20px;"> 11644 <label class="lh-dc__label" for="lh-dbg-timeline">Timeline</label> 11645 <select class="lh-dc__input" id="lh-dbg-timeline" name="contact[timeline]" style="-webkit-appearance:none;appearance:none;"> 11646 <option value="">When do you need it?</option> 11647 <option value="Within 1 month">Within 1 month</option> 11648 <option value="1-3 months">1â3 months</option> 11649 <option value="3-6 months">3â6 months</option> 11650 <option value="6+ months">6+ months</option> 11651 <option value="Just browsing">Just browsing</option> 11652 </select> 11653 </div> 11654 11655 <div style="height:1px;background:#e0d8ce;margin:24px 0;"></div><div style="margin-bottom:20px;"> 11656 <p class="lh-dc__label" id="lh-dbg-type-label">Appointment Type</p> 11657 <div style="display:flex;gap:8px;" role="radiogroup" aria-labelledby="lh-dbg-type-label"> 11658 <label class="lh-dc__pill"><input type="radio" name="contact[appointment_type]" value="In Person" checked data-lh-dbg-type><span>In Person</span></label> 11659 <label class="lh-dc__pill"><input type="radio" name="contact[appointment_type]" value="Virtual" data-lh-dbg-type><span>Virtual</span></label> 11660 </div> 11661 </div><div style="margin-bottom:20px;" id="lh-dbg-location-wrap"> 11662 <label class="lh-dc__label" for="lh-dbg-location">Location</label> 11663 <select class="lh-dc__input" id="lh-dbg-location" name="contact[location]" aria-label="Select location or platform" style="-webkit-appearance:none;appearance:none;"> 11664 <option value="">Select a locationâ¦</option> 11665 </select> 11666 </div><div style="margin-bottom:24px;"> 11667 <p class="lh-dc__label" id="lh-dbg-dates-label">Date & Time Preferences</p> 11668 <p class="lh-dc__help" id="lh-dbg-dates-help">Provide up to three preferred dates. We'll confirm the best fit.</p> 11669 11670 <div class="lh-dc__slots" role="group" aria-labelledby="lh-dbg-dates-label" aria-describedby="lh-dbg-dates-help"><div class="lh-dc__slot" data-lh-dbg-slot="1"> 11671 <div class="lh-dc__slot-number" aria-hidden="true">1</div> 11672 <div class="lh-dc__slot-fields"> 11673 <div class="lh-dc__slot-row"> 11674 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11675 <rect x="3" y="4" width="18" height="18" rx="2" stroke="currentColor" stroke-width="1.3"/> 11676 <path d="M16 2v4M8 2v4M3 10h18" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/> 11677 </svg> 11678 <input class="lh-dc__slot-input" type="date" name="contact[date_preference_1]" aria-label="Preferred date, option 1"> 11679 </div> 11680 <div class="lh-dc__slot-row"> 11681 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11682 <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.3"/> 11683 <path d="M12 6v6l4 2" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> 11684 </svg> 11685 <select class="lh-dc__slot-select" name="contact[time_preference_1]" aria-label="Preferred time, option 1"> 11686 <option value="">Select timeâ¦</option> 11687 <option>12:00 PM</option><option>12:30 PM</option> 11688 <option>1:00 PM</option><option>1:30 PM</option> 11689 <option>2:00 PM</option><option>2:30 PM</option> 11690 <option>3:00 PM</option><option>3:30 PM</option> 11691 <option>4:00 PM</option><option>4:30 PM</option> 11692 <option>5:00 PM</option> 11693 </select> 11694 </div> 11695 </div> 11696 </div><div class="lh-dc__slot" data-lh-dbg-slot="2"> 11697 <div class="lh-dc__slot-number" aria-hidden="true">2</div> 11698 <div class="lh-dc__slot-fields"> 11699 <div class="lh-dc__slot-row"> 11700 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11701 <rect x="3" y="4" width="18" height="18" rx="2" stroke="currentColor" stroke-width="1.3"/> 11702 <path d="M16 2v4M8 2v4M3 10h18" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/> 11703 </svg> 11704 <input class="lh-dc__slot-input" type="date" name="contact[date_preference_2]" aria-label="Preferred date, option 2"> 11705 </div> 11706 <div class="lh-dc__slot-row"> 11707 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11708 <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.3"/> 11709 <path d="M12 6v6l4 2" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> 11710 </svg> 11711 <select class="lh-dc__slot-select" name="contact[time_preference_2]" aria-label="Preferred time, option 2"> 11712 <option value="">Select timeâ¦</option> 11713 <option>12:00 PM</option><option>12:30 PM</option> 11714 <option>1:00 PM</option><option>1:30 PM</option> 11715 <option>2:00 PM</option><option>2:30 PM</option> 11716 <option>3:00 PM</option><option>3:30 PM</option> 11717 <option>4:00 PM</option><option>4:30 PM</option> 11718 <option>5:00 PM</option> 11719 </select> 11720 </div> 11721 </div> 11722 </div><div class="lh-dc__slot" data-lh-dbg-slot="3"> 11723 <div class="lh-dc__slot-number" aria-hidden="true">3</div> 11724 <div class="lh-dc__slot-fields"> 11725 <div class="lh-dc__slot-row"> 11726 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11727 <rect x="3" y="4" width="18" height="18" rx="2" stroke="currentColor" stroke-width="1.3"/> 11728 <path d="M16 2v4M8 2v4M3 10h18" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"/> 11729 </svg> 11730 <input class="lh-dc__slot-input" type="date" name="contact[date_preference_3]" aria-label="Preferred date, option 3"> 11731 </div> 11732 <div class="lh-dc__slot-row"> 11733 <svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true" style="flex-shrink:0;color:#b89a6e;"> 11734 <circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.3"/> 11735 <path d="M12 6v6l4 2" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/> 11736 </svg> 11737 <select class="lh-dc__slot-select" name="contact[time_preference_3]" aria-label="Preferred time, option 3"> 11738 <option value="">Select timeâ¦</option> 11739 <option>12:00 PM</option><option>12:30 PM</option> 11740 <option>1:00 PM</option><option>1:30 PM</option> 11741 <option>2:00 PM</option><option>2:30 PM</option> 11742 <option>3:00 PM</option><option>3:30 PM</option> 11743 <option>4:00 PM</option><option>4:30 PM</option> 11744 <option>5:00 PM</option> 11745 </select> 11746 </div> 11747 </div> 11748 </div></div> 11749 </div> 11750 11751 <div style="height:1px;background:#e0d8ce;margin:28px 0;"></div> 11752 11753 <div style="margin-bottom:20px;"> 11754 <label class="lh-dc__label" for="lh-dbg-message">Tell Us About Your Vision</label> 11755 <textarea class="lh-dc__input" id="lh-dbg-message" name="contact[body]" placeholder="Describe your dream ring, share inspiration, or ask any questionsâ¦" rows="4" style="min-height:100px;resize:vertical;"></textarea> 11756 </div> 11757 11758 <button type="submit" class="lh-dc__submit" id="lh-dbg-submit">Request Consultation</button><p class="lh-dc__recaptcha"> 11759 This site is protected by reCAPTCHA and the Google 11760 <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">Privacy Policy<span class="visually-hidden"> (opens in a new tab)</span> 11761</a> 11762 and 11763 <a href="https://policies.google.com/terms" target="_blank" rel="noopener noreferrer">Terms of Service<span class="visually-hidden"> (opens in a new tab)</span> 11764</a> 11765 apply. 11766 </p></form></div> 11767 11768<style> 11769 .lh-dbg__ceremony { 11770 display: none; 11771 position: absolute; 11772 inset: 0; 11773 z-index: 5; 11774 background: #f9f5ef;
11775 align-items: center; 11776 justify-content: center; 11777 } 11778 .lh-dbg__ceremony.is-visible { display: flex; } 11779 .lh-dbg__ceremony.is-visible svg { 11780 animation: lh-dc-seal 0.75s cubic-bezier(0.34,1.4,0.64,1) both; 11781 } 11782 .lh-dbg__ceremony.is-visible p { 11783 opacity: 0; 11784 animation: lh-dc-fade-up 0.7s 0.5s ease forwards; 11785 } 11786 #lh-bridal .lh-drawer__body { padding: 24px; } 11787 /* Hide any inline captcha challenge UI that Shopify injects inside the drawer. 11788 The floating .grecaptcha-badge is hidden globally from sections/lh-footer.liquid 11789 alongside the required Google ToS disclaimer. */ 11790 #lh-bridal .shopify-challenge__container, 11791 #lh-bridal .g-recaptcha, 11792 #lh-bridal [data-shopify-captcha] { 11793 display: none !important; 11794 visibility: hidden !important; 11795 height: 0 !important; 11796 overflow: hidden !important; 11797 } 11798</style> 11799
11800<script> 11801(function () { 11802 var form = document.getElementById('lh-dbg-form'); 11803 var iframe = document.getElementById('lh-dbg-iframe'); 11804 var submitBtn = document.getElementById('lh-dbg-submit'); 11805 var ceremony = document.getElementById('lh-dbg-ceremony'); 11806 var sourceUrl = document.getElementById('lh-dbg-source-url'); 11807 if (!form || !iframe) return; 11808 11809 form.setAttribute('target', 'lh-dbg-iframe'); 11810 11811 /* ââ Location options that swap based on appointment type ââ */ 11812 var locationSelect = document.getElementById('lh-dbg-location'); 11813 var inPersonOptions = [ 11814 { value: 'Beverly Hills Boutique', label: 'Beverly Hills Boutique' }, 11815 { value: 'New York Showroom', label: 'New York Showroom' } 11816 ]; 11817 var virtualOptions = [ 11818 { value: 'FaceTime', label: 'FaceTime' }, 11819 { value: 'Google Meet', label: 'Google Meet' }, 11820 { value: 'Zoom', label: 'Zoom' } 11821 ]; 11822 11823 function updateLocations(type) { 11824 if (!locationSelect) return; 11825 var opts = type === 'Virtual' ? virtualOptions : inPersonOptions; 11826 var label = type === 'Virtual' ? 'Select a platformâ¦' : 'Select a locationâ¦'; 11827 locationSelect.innerHTML = '<option value="">' + label + '</option>'; 11828 opts.forEach(function (o) { 11829 var el = document.createElement('option'); 11830 el.value = o.value; 11831 el.textContent = o.label; 11832 locationSelect.appendChild(el); 11833 }); 11834 } 11835 11836 var typeRadios = form.querySelectorAll('[data-lh-dbg-type]'); 11837 typeRadios.forEach(function (radio) { 11838 radio.addEventListener('change', function () { 11839 updateLocations(this.value); 11840 }); 11841 }); 11842 11843 updateLocations('In Person'); 11844 11845 /* ââ Multi-select pill groups: join checked values into a single hidden 11846 input so the contact-form email shows "Solitaire, Halo, Custom" 11847 instead of repeated keys (which Shopify only renders the last of). ââ */ 11848 function updateMultiGroup(groupName) { 11849 var hidden = document.getElementById('lh-dbg-' + groupName.replace('_', '-') + '-joined'); 11850 if (!hidden) return; 11851 var boxes = form.querySelectorAll('[data-lh-dbg-multi="' + groupName + '"]'); 11852 var values = []; 11853 boxes.forEach(function (b) { if (b.checked) values.push(b.value); }); 11854 hidden.value = values.join(', '); 11855 } 11856 form.querySelectorAll('[data-lh-dbg-multi]').forEach(function (box) { 11857 box.addEventListener('change', function () { 11858 updateMultiGroup(this.getAttribute('data-lh-dbg-multi')); 11859 }); 11860 }); 11861 11862 /* ââ Public API: pre-check Ring Style pills from outside callers (e.g. the 11863 Ring Finder section). Match is case-insensitive on pill value/label. ââ */ 11864 window.LHBridalDrawer = window.LHBridalDrawer || {}; 11865 window.LHBridalDrawer.setRingStyles = function (labels) { 11866 if (!labels || !labels.length) return; 11867 var normalized = []; 11868 for (var i = 0; i < labels.length; i++) { 11869 normalized.push(String(labels[i]).trim().toLowerCase()); 11870 } 11871 var pills = form.querySelectorAll('[data-lh-dbg-multi="ring_style"]'); 11872 pills.forEach(function (pill) { 11873 if (normalized.indexOf(pill.value.trim().toLowerCase()) !== -1) { 11874 pill.checked = true; 11875 } 11876 }); 11877 updateMultiGroup('ring_style'); 11878 }; 11879 11880 form.addEventListener('submit', function () { 11881 if (sourceUrl) sourceUrl.value = window.location.href; 11882 submitBtn.disabled = true; 11883 submitBtn.setAttribute('aria-busy', 'true'); 11884 submitBtn.textContent = 'Sendingâ¦'; 11885 }); 11886 11887 iframe.addEventListener('load', function () { 11888 if (!submitBtn.disabled) return; 11889 form.style.display = 'none'; 11890 ceremony.classList.add('is-visible'); 11891 setTimeout(function () { 11892 if (window.LHDrawer) LHDrawer.close('lh-bridal'); 11893 setTimeout(function () { 11894 form.reset(); 11895 form.style.display = ''; 11896 ceremony.classList.remove('is-visible'); 11897 submitBtn.disabled = false; 11898 submitBtn.removeAttribute('aria-busy'); 11899 submitBtn.textContent = 'Request Consultation'; 11900 }, 500); 11901 }, 5000); 11902 }); 11903})(); 11904</script>
11904 11905 </div></div> 11906</div> 11907
11908<script> 11909 (function () { 11910 var el = document.getElementById('lh-bridal'); 11911 if (el && window.LHDrawer) { 11912 LHDrawer.register('lh-bridal', { el: el }); 11913 } else { 11914 document.addEventListener('DOMContentLoaded', function () { 11915 var el = document.getElementById('lh-bridal'); 11916 if (el && window.LHDrawer) { 11917 LHDrawer.register('lh-bridal', { el: el }); 11918 } 11919 }); 11920 } 11921 })(); 11922</script>
11922 11923 11924<div id="shopify-section-lh-pairing-panel" class="shopify-section"> 11925 11926<div id="lhpp" hidden aria-modal="true" role="dialog" aria-labelledby="lhpp-title" 11927 style="" 11928> 11929 <div class="lhpp__overlay" id="lhpp-overlay" aria-hidden="true"></div> 11930 11931 <aside class="lhpp__drawer" id="lhpp-drawer"><div class="lhpp__accent-bar" aria-hidden="true"></div><header class="lhpp__head"> 11932 <button 11933 class="lhpp__close" 11934 id="lhpp-close" 11935 type="button" 11936 aria-label="Close pairing panel" 11937 > 11938 <svg width="18" height="18" viewBox="0 0 18 18" fill="none" aria-hidden="true"> 11939 <line x1="1" y1="1" x2="17" y2="17" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/> 11940 <line x1="17" y1="1" x2="1" y2="17" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/> 11941 </svg> 11942 </button> 11943 11944 <p class="lhpp__eyebrow">The Pairing</p> 11945 <h2 class="lhpp__title" id="lhpp-title"></h2> 11946 11947 <div class="lhpp__ornament" aria-hidden="true"> 11948 <div class="lhpp__ornament-line"></div> 11949 <div class="lhpp__ornament-diamond"></div> 11950 <div class="lhpp__ornament-line"></div> 11951 </div> 11952 </header><div class="lhpp__body" id="lhpp-body"> 11953 <div class="lhpp__products" id="lhpp-products" aria-live="polite"></div> 11954 </div><footer class="lhpp__footer"> 11955 <button 11956 class="lhpp__add-both" 11957 id="lhpp-add-both" 11958 type="button" 11959 aria-label="Add both pieces to your bag" 11960 > 11961 <span class="lhpp__add-both-label">Place Both in Bag</span> 11962 </button> 11963 </footer> 11964 11965 </aside> 11966</div><style> 11967 /* âââ Body scroll lock âââââââââââââââââââââââââââââââââââ */ 11968 .lhpp-body-lock { overflow: hidden; } 11969 11970 /* âââ Root panel shell âââââââââââââââââââââââââââââââââââ */ 11971 #lhpp[hidden] { display: none; } 11972 #lhpp:not([hidden]) { display: block; } 11973 11974 /* âââ Overlay ââââââââââââââââââââââââââââââââââââââââââââ */ 11975 .lhpp__overlay { 11976 position: fixed; 11977 inset: 0; 11978 z-index: 510; 11979 background: rgba(17, 13, 9, 0.52); 11980 backdrop-filter: blur(3px); 11981 -webkit-backdrop-filter: blur(3px); 11982 opacity: 0; 11983 pointer-events: none; 11984 transition: opacity 0.5s ease; 11985 } 11986 .lhpp--open .lhpp__overlay { 11987 opacity: 1; 11988 pointer-events: auto; 11989 } 11990 11991 /* âââ Drawer âââââââââââââââââââââââââââââââââââââââââââââ */ 11992 .lhpp__drawer { 11993 position: fixed; 11994 top: 0; 11995 right: 0; 11996 bottom: 0; 11997 z-index: 520; 11998 width: 500px; 11999 max-width: 100vw; 12000 background: #faf8f5; 12001 display: flex; 12002 flex-direction: column; 12003 box-shadow: -12px 0 80px rgba(0, 0, 0, 0.14); 12004 transform: translateX(100%); 12005 transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1); 12006 overflow: hidden; 12007 } 12008 .lhpp--open .lhpp__drawer { 12009 transform: translateX(0); 12010 } 12011 12012 /* âââ Gold accent bar (top edge) ââââââââââââââââââââââââ */ 12013 .lhpp__accent-bar { 12014 position: absolute; 12015 top: 0; 12016 left: 0; 12017 right: 0; 12018 height: 3px; 12019 background: linear-gradient(90deg, #c9a87c 0%, #b89a6e 40%, #d4b896 70%, #b89a6e 100%); 12020 z-index: 2; 12021 flex-shrink: 0; 12022 } 12023 12024 /* âââ Header âââââââââââââââââââââââââââââââââââââââââââââ */ 12025 .lhpp__head { 12026 padding: 52px 44px 28px; 12027 flex-shrink: 0; 12028 position: relative; 12029 } 12030 12031 /* Close button */ 12032 .lhpp__close { 12033 position: absolute; 12034 top: 28px; 12035 right: 28px; 12036 width: 36px; 12037 height: 36px; 12038 background: none; 12039 border: 1px solid transparent; 12040 border-radius: 50%; 12041 cursor: pointer; 12042 display: flex; 12043 align-items: center; 12044 justify-content: center; 12045 color: #888; 12046 transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease; 12047 padding: 0; 12048 } 12049 .lhpp__close:hover { 12050 color: #111;
12051 border-color: #e0d8ce; 12052 background: rgba(0, 0, 0, 0.03); 12053 } 12054 .lhpp__close:focus-visible { 12055 outline: 2px solid #b89a6e; 12056 outline-offset: 2px; 12057 } 12058 12059 /* Eyebrow */ 12060 .lhpp__eyebrow { 12061 font-family: var(--font-body-family, 'Jost', sans-serif); 12062 font-size: 0.75rem; /* was 0.46rem (~7px) â raised for WCAG 1.4.4 */ 12063 font-weight: 300; 12064 letter-spacing: 0.38em; 12065 text-transform: uppercase; 12066 color: #555555; /* was #b89a6e (2.5:1 on cream â WCAG 1.4.3 fail); #555 = 6.8:1 */ 12067 margin-bottom: 14px; 12068 } 12069 12070 /* Title */ 12071 .lhpp__title { 12072 font-family: var(--font-heading-family, 'Cormorant Garamond', Georgia, serif); 12073 font-size: clamp(1.6rem, 3vw, 2rem); 12074 font-weight: 300; 12075 font-style: italic; 12076 color: #111; 12077 line-height: 1.15; 12078 margin-bottom: 24px; 12079 min-height: 1.15em; /* reserve height while JS fills in */ 12080 } 12081 12082 /* Ornamental separator */ 12083 .lhpp__ornament { 12084 display: flex; 12085 align-items: center; 12086 gap: 14px; 12087 } 12088 .lhpp__ornament-line { 12089 flex: 1; 12090 height: 1px; 12091 background: #e0d8ce; 12092 } 12093 .lhpp__ornament-diamond { 12094 width: 6px; 12095 height: 6px; 12096 border: 1px solid #b89a6e; 12097 transform: rotate(45deg); 12098 flex-shrink: 0; 12099 } 12100 12101 /* âââ Scrollable body ââââââââââââââââââââââââââââââââââââ */ 12102 .lhpp__body { 12103 flex: 1; 12104 overflow-y: auto; 12105 overflow-x: hidden; 12106 padding: 32px 44px 24px; 12107 /* Subtle inner scroll shadow */ 12108 background: 12109 linear-gradient(#faf8f5 30%, rgba(250,248,245,0)) center top, 12110 linear-gradient(rgba(250,248,245,0), #faf8f5 70%) center bottom; 12111 background-repeat: no-repeat; 12112 background-size: 100% 32px; 12113 background-attachment: local; 12114 } 12115 .lhpp__body::-webkit-scrollbar { width: 3px; } 12116 .lhpp__body::-webkit-scrollbar-track { background: transparent; } 12117 .lhpp__body::-webkit-scrollbar-thumb { background: #d4b896; border-radius: 2px; } 12118 12119 /* âââ Product cards ââââââââââââââââââââââââââââââââââââââ */ 12120 .lhpp__card { 12121 display: flex; 12122 flex-direction: column; 12123 /* Entrance animation â triggered by JS after drawer opens */ 12124 opacity: 0; 12125 transform: translateY(18px); 12126 transition: opacity 0.52s cubic-bezier(0.4, 0, 0.2, 1), 12127 transform 0.52s cubic-bezier(0.4, 0, 0.2, 1); 12128 } 12129 .lhpp__card--visible { 12130 opacity: 1; 12131 transform: translateY(0); 12132 } 12133 12134 /* Contained product image â full piece visible, cream bg fills gaps */ 12135 .lhpp__card-media { 12136 position: relative; 12137 overflow: hidden; 12138 height: 240px; 12139 background: #ffffff; 12140 flex-shrink: 0; 12141 } 12142 .lhpp__card-media a { display: block; width: 100%; height: 100%; } 12143 .lhpp__card-media img { 12144 width: 100%; 12145 height: 100%; 12146 object-fit: contain; 12147 object-position: center; 12148 display: block; 12149 padding: 16px; 12150 box-sizing: border-box; 12151 transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); 12152 } 12153 .lhpp__card-media:hover img { transform: scale(1.04); } 12154 .lhpp__card-media-placeholder { 12155 width: 100%; 12156 height: 100%; 12157 background: linear-gradient(160deg, #ede9e2 0%, #dad3c8 100%); 12158 } 12159 12160 /* Info below image */ 12161 .lhpp__card-info { 12162 padding-top: 26px; 12163 display: flex; 12164 flex-direction: column; 12165 gap: 0; 12166 } 12167 .lhpp__card-type { 12168 font-family: var(--font-body-family, 'Jost', sans-serif); 12169 font-size: 0.75rem; /* was 0.46rem (~7px) â raised for WCAG 1.4.4 */ 12170 font-weight: 300; 12171 letter-spacing: 0.32em; 12172 text-transform: uppercase; 12173 color: #555555; /* was #b89a6e (2.5:1 on white card â WCAG 1.4.3 fail); #555 = 6.8:1 */ 12174 margin-bottom: 10px; 12175 } 12176 .lhpp__card-title { 12177 font-family: var(--font-heading-family, 'Cormorant Garamond', Georgia, serif); 12178 font-size: 1.5rem; 12179 font-weight: 300; 12180 font-style: italic; 12181 color: #111; 12182 line-height: 1.2; 12183 margin-bottom: 14px; 12184 } 12185 .lhpp__card-title a { 12186 color: inherit; 12187 text-decoration: none; 12188 transition: color 0.2s ease; 12189 } 12190 .lhpp__card-title a:hover { color: #b89a6e; } 12191 .lhpp__card-desc { 12192 font-family: var(--font-body-family, 'Jost', sans-serif); 12193 font-size: var(--lh-sub-size, 0.9375rem); 12194 font-weight: 400; 12195 letter-spacing: 0.01em; 12196 line-height: 1.85; 12197 color: #555; 12198 margin-bottom: 18px; 12199 display: -webkit-box; 12200 -webkit-line-clamp: 3; 12201 -webkit-box-orient: vertical; 12202 overflow: hidden; 12203 } 12204 .lhpp__card-price { 12205 font-family: var(--font-body-family, 'Jost', sans-serif); 12206 font-size: 0.88rem; 12207 font-weight: 300; 12208 letter-spacing: 0.04em; 12209 color: #595959; /* 7.0:1 on cream â WCAG AAA â */ 12210 margin-bottom: 22px; 12211 } 12212 .lhpp__card-unavail { 12213 display: block; 12214 font-family: var(--font-body-family, 'Jost', sans-serif); 12215 font-size: 0.75rem; /* was 0.6rem (~9.6px) â WCAG 1.4.4 */ 12216 font-weight: 300; 12217 letter-spacing: 0.18em; 12218 text-transform: uppercase; 12219 color: #767676; /* was #aaa (2.3:1 on white â WCAG 1.4.3 fail); #767676 = 4.54:1 */ 12220 margin-bottom: 14px; 12221 } 12222 12223 /* Individual "Place in Bag" â ghost/outlined, secondary to gold CTA */ 12224 .lhpp__card-atc { 12225 width: 100%; 12226 padding: 11px 16px; 12227 background: transparent; 12228 color: #111; 12229 border: 1px solid #c8bfb2; 12230 font-family: var(--font-body-family, 'Jost', sans-serif); 12231 font-size: 0.75rem; /* was 0.55rem (~8.8px) â WCAG 1.4.4 */ 12232 font-weight: 300; 12233 letter-spacing: 0.22em; 12234 text-transform: uppercase; 12235 cursor: pointer; 12236 transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease; 12237 } 12238 .lhpp__card-atc:hover:not(:disabled) { 12239 background: #111; 12240 color: #fff; 12241 border-color: #111; 12242 } 12243 .lhpp__card-atc:disabled { opacity: 0.5; cursor: default; } 12244 .lhpp__card-atc--added { 12245 background: #4a7252 !important; 12246 border-color: #4a7252 !important; 12247 color: #fff !important; 12248 } 12249 12250 /* âââ Product separator ââââââââââââââââââââââââââââââââââ */ 12251 .lhpp__sep { 12252 display: flex; 12253 align-items: center; 12254 gap: 16px; 12255 margin: 36px 0; 12256 } 12257 .lhpp__sep-line { 12258 flex: 1; 12259 height: 1px; 12260 background: #e8e2da; 12261 } 12262 .lhpp__sep-diamond { 12263 width: 7px; 12264 height: 7px; 12265 border: 1px solid #c9a87c; 12266 transform: rotate(45deg); 12267 flex-shrink: 0; 12268 } 12269 12270 /* âââ Footer âââââââââââââââââââââââââââââââââââââââââââââ */ 12271 .lhpp__footer { 12272 flex-shrink: 0; 12273 padding: 22px 44px 36px; 12274 border-top: 1px solid #e8e2da; 12275 background: #faf8f5; 12276 box-shadow: 0 -6px 28px rgba(250, 248, 245, 0.95); 12277 } 12278 12279 /* "Add Both to Bag" â primary gold CTA */ 12280 .lhpp__add-both { 12281 width: 100%; 12282 padding: 17px 24px; 12283 background: #b89a6e; 12284 color: #fff; 12285 border: 1px solid #b89a6e; 12286 font-family: var(--font-body-family, 'Jost', sans-serif); 12287 font-size: 0.75rem; /* was 0.58rem (~9.3px) â WCAG 1.4.4 */ 12288 font-weight: 300; 12289 letter-spacing: 0.28em; 12290 text-transform: uppercase; 12291 cursor: pointer; 12292 display: flex; 12293 align-items: center; 12294 justify-content: center; 12295 gap: 10px; 12296 transition: background 0.25s ease, border-color 0.25s ease, letter-spacing 0.25s ease; 12297 position: relative; 12298 overflow: hidden; 12299 } 12300 .lhpp__add-both::before { 12301 content: ''; 12302 position: absolute; 12303 inset: 0; 12304 background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 60%); 12305 pointer-events: none; 12306 } 12307 .lhpp__add-both:hover:not(:disabled) { 12308 background: #a8895a; 12309 border-color: #a8895a; 12310 letter-spacing: 0.32em; 12311 } 12312 .lhpp__add-both:disabled { opacity: 0.5; cursor: default; } 12313 .lhpp__add-both--added { 12314 background: #4a7252 !important; 12315 border-color: #4a7252 !important; 12316 } 12317 .lhpp__add-both-label { position: relative; } 12318 12319 /* Footer note */ 12320 .lhpp__footer-note { 12321 margin-top: 14px; 12322 text-align: center; 12323 font-family: var(--font-body-family, 'Jost', sans-serif); 12324 font-size: 0.75rem; /* was 0.52rem (~8.3px) â WCAG 1.4.4 */ 12325 font-weight: 300; 12326 letter-spacing: 0.12em; 12327 color: #767676; /* was #aaa (2.3:1 on white â WCAG 1.4.3 fail); #767676 = 4.54:1 */ 12328 } 12329 12330 /* âââ Empty state ââââââââââââââââââââââââââââââââââââââââ */ 12331 .lhpp__empty { 12332 text-align: center; 12333 padding: 40px 0; 12334 font-family: var(--font-heading-family, 'Cormorant Garamond', Georgia, serif); 12335 font-size: 1rem; 12336 font-style: italic; 12337 font-weight: 300; 12338 color: #aaa; 12339 } 12340
12341 /* âââ Responsive âââââââââââââââââââââââââââââââââââââââââ */ 12342 @media (max-width: 540px) { 12343 .lhpp__drawer { width: 100vw; } 12344 .lhpp__head { padding: 48px 28px 24px; } 12345 .lhpp__body { padding: 24px 28px 20px; } 12346 .lhpp__footer { padding: 20px 28px 32px; } 12347 .lhpp__close { top: 22px; right: 22px; } 12348 .lhpp__card-media { height: 200px; } 12349 } 12350</style>
12350<script> 12351(function () { 12352 'use strict'; 12353 12354 var panel = document.getElementById('lhpp'); 12355 if (!panel) return; 12356 12357 var overlay = document.getElementById('lhpp-overlay'); 12358 var titleEl = document.getElementById('lhpp-title'); 12359 var productsEl = document.getElementById('lhpp-products'); 12360 var addBothBtn = document.getElementById('lhpp-add-both'); 12361 var closeBtn = document.getElementById('lhpp-close'); 12362 12363 var currentData = null; 12364 var isOpen = false; 12365 12366 /* ââ Helpers ââââââââââââââââââââââââââââââââââââââââââââââ */ 12367 function esc(str) { 12368 if (str === null || str === undefined) return ''; 12369 return String(str) 12370 .replace(/&/g, '&') 12371 .replace(/</g, '<') 12372 .replace(/>/g, '>') 12373 .replace(/"/g, '"'); 12374 } 12375 12376 /* ââ Open âââââââââââââââââââââââââââââââââââââââââââââââââ */ 12377 function openPanel(data) { 12378 currentData = data; 12379 render(data); 12380 panel.removeAttribute('hidden'); 12381 panel.setAttribute('aria-hidden', 'false'); 12382 /* Next paint â start CSS transition */ 12383 requestAnimationFrame(function () { 12384 requestAnimationFrame(function () { 12385 panel.classList.add('lhpp--open'); 12386 isOpen = true; 12387 /* Stagger-fade cards in after drawer is mid-open */ 12388 setTimeout(function () { 12389 productsEl.querySelectorAll('.lhpp__card').forEach(function (card, i) { 12390 setTimeout(function () { card.classList.add('lhpp__card--visible'); }, i * 180); 12391 }); 12392 }, 280); 12393 }); 12394 }); 12395 document.body.classList.add('lhpp-body-lock'); 12396 /* Focus close button after transition */ 12397 setTimeout(function () { closeBtn && closeBtn.focus(); }, 580); 12398 } 12399 12400 /* ââ Close ââââââââââââââââââââââââââââââââââââââââââââââââ */ 12401 function closePanel() { 12402 panel.classList.remove('lhpp--open'); 12403 panel.setAttribute('aria-hidden', 'true'); 12404 isOpen = false; 12405 document.body.classList.remove('lhpp-body-lock'); 12406 setTimeout(function () { 12407 panel.setAttribute('hidden', ''); 12408 }, 560); 12409 } 12410 12411 /* ââ Render âââââââââââââââââââââââââââââââââââââââââââââââ */ 12412 function render(data) { 12413 titleEl.textContent = data.title || ''; 12414 12415 var products = Array.isArray(data.products) ? data.products : []; 12416 var html = ''; 12417 12418 if (!products.length) { 12419 html = '<p class="lhpp__empty">No pieces selected for this pairing.</p>'; 12420 } else { 12421 products.forEach(function (p, i) { 12422 if (i > 0) { 12423 html += 12424 '<div class="lhpp__sep" aria-hidden="true">' + 12425 '<div class="lhpp__sep-line"></div>' + 12426 '<div class="lhpp__sep-diamond"></div>' + 12427 '<div class="lhpp__sep-line"></div>' + 12428 '</div>'; 12429 } 12430 html += renderCard(p); 12431 }); 12432 } 12433 12434 productsEl.innerHTML = html; 12435 12436 /* Wire individual ATC buttons */ 12437 productsEl.querySelectorAll('[data-lhpp-atc]').forEach(function (btn) { 12438 btn.addEventListener('click', function () { 12439 addToCart(btn.dataset.variantId, 1, btn); 12440 }); 12441 }); 12442 12443 /* "Add Both" button state */ 12444 var available = products.filter(function (p) { return p.available; }); 12445 if (products.length < 2) { 12446 addBothBtn.style.display = 'none'; 12447 } else if (available.length < 2) { 12448 addBothBtn.style.display = ''; 12449 addBothBtn.querySelector('.lhpp__add-both-label').textContent = 'One or more pieces unavailable'; 12450 addBothBtn.disabled = true; 12451 } else { 12452 addBothBtn.style.display = ''; 12453 addBothBtn.querySelector('.lhpp__add-both-label').textContent = 'Place Both in Bag'; 12454 addBothBtn.disabled = false; 12455 addBothBtn.classList.remove('lhpp__add-both--added'); 12456 } 12457 } 12458 12459 /* ââ Card HTML ââââââââââââââââââââââââââââââââââââââââââââ */ 12460 function renderCard(p) { 12461 var mediaHtml = p.image 12462 ? '<a href="' + esc(p.url) + '" tabindex="-1" aria-hidden="true"><img src="' + esc(p.image) + '" alt="' + esc(p.title) + '" loading="lazy"></a>' 12463 : '<div class="lhpp__card-media-placeholder"></div>'; 12464 12465 var atcHtml = p.available 12466 ? '<button class="lhpp__card-atc" type="button" data-lhpp-atc data-variant-id="' + esc(p.variant_id) + '">Place in Bag</button>' 12467 : '<span class="lhpp__card-unavail">Currently unavailable</span>'; 12468 12469 return ( 12470 '<div class="lhpp__card">' + 12471 '<div class="lhpp__card-media">' + mediaHtml + '</div>' + 12472 '<div class="lhpp__card-info">' + 12473 (p.type ? '<p class="lhpp__card-type">' + esc(p.type) + '</p>' : '') + 12474 '<h3 class="lhpp__card-title"><a href="' + esc(p.url) + '">' + esc(p.title) + '</a></h3>' + 12475 (p.desc ? '<p class="lhpp__card-desc">' + esc(p.desc) + '</p>' : '') + 12476 '<p class="lhpp__card-price">' + esc(p.price) + '</p>' +
12477 atcHtml + 12478 '</div>' + 12479 '</div>' 12480 ); 12481 } 12482 12483 /* ââ Add to cart ââââââââââââââââââââââââââââââââââââââââââ */ 12484 function addToCart(variantId, qty, btn) { 12485 var original = btn.querySelector('.lhpp__add-both-label') 12486 ? btn.querySelector('.lhpp__add-both-label').textContent 12487 : btn.textContent; 12488 12489 setText(btn, 'Adding\u2026'); 12490 btn.disabled = true; 12491 12492 fetch('/cart/add.js', { 12493 method: 'POST', 12494 headers: { 12495 'Content-Type': 'application/json', 12496 'X-Requested-With': 'XMLHttpRequest' 12497 }, 12498 body: JSON.stringify({ id: Number(variantId), quantity: qty }) 12499 }) 12500 .then(function (r) { 12501 if (!r.ok) throw new Error('Cart error'); 12502 return r.json(); 12503 }) 12504 .then(function () { 12505 setText(btn, 'Added \u2713'); 12506 btn.classList.add('lhpp__card-atc--added'); 12507 refreshCartCount(); 12508 setTimeout(function () { closePanel(); }, 1200); 12509 }) 12510 .catch(function () { 12511 setText(btn, 'Try again'); 12512 btn.disabled = false; 12513 setTimeout(function () { setText(btn, original); }, 3000); 12514 }); 12515 } 12516 12517 /* ââ Add Both âââââââââââââââââââââââââââââââââââââââââââââ */ 12518 addBothBtn.addEventListener('click', function () { 12519 if (!currentData || !currentData.products) return; 12520 var available = currentData.products.filter(function (p) { return p.available; }); 12521 if (!available.length) return; 12522 12523 setText(addBothBtn, 'Adding\u2026'); 12524 addBothBtn.disabled = true; 12525 12526 fetch('/cart/add.js', { 12527 method: 'POST', 12528 headers: { 12529 'Content-Type': 'application/json', 12530 'X-Requested-With': 'XMLHttpRequest' 12531 }, 12532 body: JSON.stringify({ 12533 items: available.map(function (p) { 12534 return { id: Number(p.variant_id), quantity: 1 }; 12535 }) 12536 }) 12537 }) 12538 .then(function (r) { 12539 if (!r.ok) throw new Error('Cart error ' + r.status); 12540 return r.json(); 12541 }) 12542 .then(function () { 12543 setText(addBothBtn, 'Both Added \u2713'); 12544 addBothBtn.classList.add('lhpp__add-both--added'); 12545 refreshCartCount(); 12546 /* Sync individual buttons */ 12547 productsEl.querySelectorAll('[data-lhpp-atc]').forEach(function (b) { 12548 setText(b, 'Added \u2713'); 12549 b.disabled = true; 12550 b.classList.add('lhpp__card-atc--added'); 12551 }); 12552 setTimeout(function () { closePanel(); }, 1400); 12553 }) 12554 .catch(function () { 12555 setText(addBothBtn, 'Something went wrong'); 12556 addBothBtn.disabled = false; 12557 setTimeout(function () { 12558 setText(addBothBtn, 'Place Both in Bag'); 12559 }, 3000); 12560 }); 12561 }); 12562 12563 /* ââ setText helper (works for both button and label span) â */ 12564 function setText(btn, text) { 12565 var label = btn.querySelector('.lhpp__add-both-label'); 12566 if (label) { label.textContent = text; } else { btn.textContent = text; } 12567 } 12568 12569 /* ââ Refresh cart count âââââââââââââââââââââââââââââââââââ */ 12570 function refreshCartCount() { 12571 fetch('/cart.js', { headers: { 'X-Requested-With': 'XMLHttpRequest' } }) 12572 .then(function (r) { return r.json(); }) 12573 .then(function (cart) { 12574 var count = cart.item_count; 12575 document.querySelectorAll( 12576 '[data-cart-count], .cart-count, #cart-badge, .header-new__cart-count, .csh__cart-count' 12577 ).forEach(function (el) { 12578 el.textContent = count; 12579 el.style.transform = 'scale(1)'; 12580 el.style.opacity = '1'; 12581 }); 12582 document.dispatchEvent( 12583 new CustomEvent('cart:updated', { bubbles: true, detail: { itemCount: count, count: count } }) 12584 ); 12585 }) 12586 .catch(function () {}); 12587 } 12588 12589 /* ââ Close listeners ââââââââââââââââââââââââââââââââââââââ */ 12590 closeBtn.addEventListener('click', closePanel); 12591 overlay.addEventListener('click', closePanel); 12592 document.addEventListener('keydown', function (e) { 12593 if (e.key === 'Escape' && isOpen) closePanel(); 12594 }); 12595 12596 /* ââ Intercept panel trigger clicks (from any section) ââââ */ 12597 document.addEventListener('click', function (e) {
12598 var trigger = e.target.closest('[data-aol-panel-trigger]'); 12599 if (!trigger) return; 12600 e.preventDefault(); 12601 var raw = trigger.dataset.aolPairing; 12602 if (!raw) return; 12603 try { 12604 openPanel(JSON.parse(raw)); 12605 } catch (err) { 12606 console.warn('[LH Pairing Panel] Could not parse pairing data:', err); 12607 } 12608 }); 12609 12610})(); 12611</script>
12611 12612 12613 12614</div> 12615 12616
12616<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-card-swipe.js?v=134213059025618587021790192133" defer></script>
12616 12617
12617<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-drawer.js?v=163621456281581661441790192133" defer></script>
12617 12618
12618<script src="//loganhollowell.com/cdn/shop/t/206/assets/lh-form-validation.js?v=141395319999299736671790192133" defer></script>
12618<script 12619 src="//loganhollowell.com/cdn/shop/t/206/assets/lh-approx-location.js?v=74017901957381925441790192133" 12620 data-geo-api-base="https://lh-for-you-pink.vercel.app" 12621 defer></script>
12621<script> 12622 (function () { 12623 var API = "https:\/\/lh-for-you-pink.vercel.app"; 12624 var SYNC_MIN = 10; // min minutes between syncs 12625 var STORE_KEY = 'lh_fy_sync'; 12626 var inFlight = false; 12627 12628 function run() { 12629 try { 12630 if (!API || inFlight) return; 12631 if (!window.LHIdentity || !window.LHPersonalization || 12632 typeof LHPersonalization.createForYouList !== 'function') return; 12633 12634 var id = LHIdentity.get(); 12635 if (!id || (!id.email && !id.phone)) return; // unknown visitor â wait 12636 12637 var handles = (LHPersonalization.getRVProducts() || []) 12638 .map(function (p) { return p.handle; }) 12639 .filter(Boolean); 12640 if (!handles.length) return; 12641 12642 // Throttle + dedupe by identity + list, so a new list OR a newly-learned 12643 // identity both trigger a fresh sync, but repeats don't. 12644 var sig = (id.email || id.phone) + '|' + handles.join(','); 12645 var last = {}; 12646 try { last = JSON.parse(localStorage.getItem(STORE_KEY) || '{}'); } catch (e) {} 12647 var now = Date.now(); 12648 if (last.sig === sig && (now - (last.ts || 0)) < SYNC_MIN * 60 * 1000) return; 12649 12650 inFlight = true; 12651 LHPersonalization.createForYouList(API, { 12652 handles: handles, 12653 email: id.email, 12654 phone: id.phone, 12655 source: 'browse-sync' 12656 }).then(function (token) { 12657 inFlight = false; 12658 if (!token) return; 12659 try { localStorage.setItem(STORE_KEY, JSON.stringify({ sig: sig, ts: Date.now(), token: token })); } catch (e) {} 12660 12661 // Klaviyo (email channel): fire the browse event carrying the token so the 12662 // email flow can link to /pages/for-you?t=<token>. Klaviyo attributes it to 12663 // the known profile via its own cookie; we also identify by email when we 12664 // have it. The email/SMS split is enforced by the Klaviyo flow filter 12665 // (sms_attentive_signup is not true), not here. 12666 try { 12667 if (window.klaviyo && typeof klaviyo.track === 'function') { 12668 if (id.email && typeof klaviyo.identify === 'function') { 12669 klaviyo.identify({ email: id.email }); 12670 } 12671 klaviyo.track('Browsed Products List', { 12672 list_token: token, 12673 list_url: '/pages/for-you?t=' + token, 12674 item_count: handles.length 12675 }); 12676 } 12677 } catch (e) {} 12678 }).catch(function () { inFlight = false; }); 12679 } catch (e) { inFlight = false; } 12680 } 12681 12682 // Re-sync the moment identity is learned mid-session (e.g. popup opt-in). 12683 document.addEventListener('lh:identity', function () { run(); }); 12684 12685 // Initial pass, after the recently-viewed list for this page is recorded. 12686 if (document.readyState === 'complete' || document.readyState === 'interactive') { 12687 setTimeout(run, 1200); 12688 } else { 12689 window.addEventListener('DOMContentLoaded', function () { setTimeout(run, 1200); }); 12690 } 12691 })(); 12692</script>
12692 12693<style> .product__callouts-mini-item {border: 0px solid currentColor;} .icon-button {width: 44px; height: 56px; position: relative;} .header {background-color: rgba( 255, 255, 255, 0.5 ); /* Adjust the alpha for transparency */ backdrop-filter: blur(0px); /* Initial state with no blur */ transition: backdrop-filter 0.3s ease; /* Smooth transition for the blur */} .header-solid {background-color: rgba(255, 255, 255, 1); /* Solid white background */ backdrop-filter: blur(0px); /* Keep the blur effect removed */} .product__block.product__block--medium {margin-bottom: 16px;} .product-form__controls-group--submit {margin-top: 16px; /* margin-top: 4px; */ /* margin-bottom: 28px; */ margin-bottom: 16px;} /* Wishlist Button Code */.custom-button {height: 48px;} .product__callouts-item-text.rte p {font-weight: bold; font-size: var( --font-size-100 ); /* Assuming font-size-100 is a CSS variable */} #toast-widget {display: none !important;} .filter-drawer__list.filter-drawer__list--chips[data-layout="3col"] {grid-template-columns: repeat(2, minmax(0, 1fr));} .product__price .product__price-displayed-discount {display: none;} .swym-wishlist-collections-v2-container .swym-wishlist-collections-v2[data-product-id="https://loganhollowell.com/products/gift-card"]{display: none !important;} /* Hide the wishlist container on the Goddess Gift Guide page */body.template-page .swym-wishlist-collections-v2-container {display: none !important;} body.template-product .swym-wishlist-collections-v2-container {display: none !important;} body.template-cart .swym-wishlist-collections-v2-container {display: none !important;} </style> 12694<div id="shopify-block-ASXJCWWEvMUE5L1VWd__5946647744298494267" class="shopify-block shopify-app-block"> 12695 12696 12697<!-- BEGIN app snippet: swymVersion -->
12697<script>var __SWYM__VERSION__ = '7.0.7';</script>
12697<!-- END app snippet --> 12698<!-- BEGIN app snippet: swymCustomCss --> 12699 12700 12701 12702 12703<style id="swym-custom-css"> 12704 12705</style> 12706 12707<!-- END app snippet --> 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719
12720<script> 12721 (function () { 12722 // Get CompanyLocation Metadata for B2B customer scenerios (SFS) 12723 12724 12725 // Put metafields in window variable 12726 const commonCustomizationSettings = ''; 12727 try { 12728 const parsedSettings = JSON.parse(commonCustomizationSettings); 12729 if (parsedSettings) { 12730 window.SwymWishlistCommonCustomizationSettings = parsedSettings[window.Shopify.theme.schema_name] || parsedSettings['global-settings']; 12731 } else { 12732 window.SwymWishlistCommonCustomizationSettings = {}; 12733 } 12734 } catch (e) { 12735 window.SwymWishlistCommonCustomizationSettings = {}; 12736 } 12737 12738 let enabledCommonFeatures = '{"add-to-wishlist-collections-button":false,"add-to-wishlist-pdp-button":false,"auto-add-to-wishlist-from-pdp":{"pdpViewCount":"5","notificationTimeoutDuration":"5","selectedPosition":"TopLeft","enabled":false},"social-count":{"enabledOnCollections":false}}'; 12739 try { 12740 enabledCommonFeatures = JSON.parse(enabledCommonFeatures) || {}; 12741 } catch (e) { 12742 enabledCommonFeatures = {}; 12743 } 12744 // Storing COMMON FEATURES data in the window object for potential use in the storefront JS code. 12745 window.SwymEnabledCommonFeatures = enabledCommonFeatures; 12746 12747 // Ghost-Intent Configuration 12748 // Defaults to disabled (false). Only enabled when metafields explicitly set to "true". 12749 try { 12750 let ghostIntentConfig = { 12751 isExplicitConsentNeeded: false, 12752 isExplicitConsentNeededEvenForLocalStorage: false, 12753 askForPermissionOnFirstClick: true 12754 }; 12755 12756 12757 12758 window.SwymGhostIntentConfig = ghostIntentConfig; 12759 } catch(e) { 12760 window.SwymGhostIntentConfig = { 12761 isExplicitConsentNeeded: false, 12762 isExplicitConsentNeededEvenForLocalStorage: false, 12763 askForPermissionOnFirstClick: true 12764 }; 12765 } 12766 12767 // Education Layer Configuration 12768 // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility. 12769 12770 12771 window.SwymEducationLayerEnabled = enabledCommonFeatures?.["education-layer"] ?? true; 12772 12773 // Login Nudge Configuration 12774 // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility. 12775 12776 12777 window.SwymLoginNudgeEnabled = enabledCommonFeatures?.["login-nudge"] ?? true; 12778 12779 // Initialize or ensure SwymViewProducts exists 12780 if (!window.SwymViewProducts) { 12781 window.SwymViewProducts = {}; 12782 } 12783 12784 })(); 12785</script>
12785 12786 12787<!-- BEGIN app snippet: swymLoadConsentManager -->
12788<script> 12789 (function () { 12790 if (document.querySelector("script[data-swym-consent-manager]")) return; 12791 var swymConsentManagerScript = document.createElement("script"); 12792 swymConsentManagerScript.src = "https:\/\/cdn.shopify.com\/extensions\/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8\/swym-relay-839\/assets\/swym-consent-manager.js"; 12793 swymConsentManagerScript.async = false; // run in insertion order once fetched, instead of whenever fetch resolves 12794 swymConsentManagerScript.setAttribute("data-swym-consent-manager", "true"); 12795 document.head.appendChild(swymConsentManagerScript); 12796 })(); 12797</script>
12797 12798<!-- END app snippet --> 12799
12800<script 12801 12802 id="wishlist-embed-init" 12803 defer 12804 async 12805> 12806 (function () { 12807 window.swymWishlistEmbedLoaded = true; 12808 var fullAssetUrl = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/apps.bundle.js"; 12809 var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1); 12810 var swymJsPath = '//freecdn.swymrelay.com/code/swym-shopify.js'; 12811 var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1); 12812 window.SwymCurrentJSPath = baseJsPath; 12813 window.SwymAssetBaseUrl = assetBaseUrl; 12814 12815 window.SwymCurrentStorePath = "//swymstore-v3free-01.swymrelay.com"; 12816 12817 function loadSwymShopifyScript() { 12818 var element = ""; 12819 var scriptSrc = ""; 12820 12821 12822 element = "swym-ext-shopify-script"; 12823 window.SwymShopifyCdnInUse = true; 12824 scriptSrc = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-ext-shopify.js"; 12825 12826 12827 if (document.getElementById(element)) { 12828 return; 12829 } 12830 12831 var s = document.createElement("script"); 12832 s.id = element; 12833 s.type = "text/javascript"; 12834 s.async = true; 12835 s.defer = true; 12836 s.src = scriptSrc; 12837 12838 s.onerror = function() { 12839 console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default"); 12840 // Fallback logic here 12841 element = `swym-ext-shopify-script-${__SWYM__VERSION__}`; 12842 var fallbackJsPathVal = "\/\/freecdn.swymrelay.com\/code\/swym-shopify.js"; 12843 var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify"); 12844 scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__; 12845 12846 var fallbackScript = document.createElement("script"); 12847 fallbackScript.id = element; 12848 fallbackScript.type = "text/javascript"; 12849 fallbackScript.async = true; 12850 fallbackScript.defer = true; 12851 fallbackScript.src = scriptSrc; 12852 var y = document.getElementsByTagName("script")[0]; 12853 y.parentNode.insertBefore(fallbackScript, y); 12854 }; 12855 12856 var x = document.getElementsByTagName("script")[0]; 12857 x.parentNode.insertBefore(s, x); 12858 } 12859 12860 var consentAPICallbackInvoked = false; 12861 function checkConsentAndLoad() { 12862 // Allow app to load in design mode (theme editor) regardless of consent 12863 if (window.Shopify?.designMode) { 12864 loadSwymShopifyScript(); 12865 return; 12866 } 12867 12868 // Ghost-Intent: If merchant enabled explicit consent, block SDK until 12869 // consent is given through our Ghost-Intent flow (sync nudge accept). 12870 // This works on any store regardless of region (EU or non-EU). 12871 var ghostConfig = window.SwymGhostIntentConfig || {}; 12872 if (ghostConfig.isExplicitConsentNeeded || ghostConfig.isExplicitConsentNeededEvenForLocalStorage) { 12873 try { 12874 var consentKey = 'swym-ghost-consent-' + (window.Shopify && window.Shopify.shop || ''); 12875 if (localStorage.getItem(consentKey) === 'true') { 12876 // Consent was given through our flow â load SDK 12877 loadSwymShopifyScript(); 12878 return; 12879 } 12880 } catch(e) {} 12881 12882 // Check if Shopify native cookie consent was given via the cookie banner. 12883 // If user accepted cookies through Shopify's banner, load SDK normally 12884 // (Ghost-Intent is only needed when NO consent mechanism has been used). 12885 var shopifyConsentGiven = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 12886 if (shopifyConsentGiven) { 12887 loadSwymShopifyScript(); 12888 return; 12889 } 12890 12891 console.warn("[Swym Ghost-Intent] SDK blocked until explicit consent is given"); 12892 return; 12893 } 12894 12895 var isCookieBannerVisible = window.Shopify?.customerPrivacy?.shouldShowBanner?.(); 12896 if(!isCookieBannerVisible) { 12897 loadSwymShopifyScript(); 12898 return; 12899 } 12900 var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 12901 if (shouldLoadSwymScript) { 12902 loadSwymShopifyScript(); 12903 } else { 12904 console.warn("No customer consent to load Swym Wishlist Plus"); 12905 } 12906 } 12907 function initialiseConsentCheck() { 12908 document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); }); 12909 window.Shopify?.loadFeatures?.( 12910 [{name: 'consent-tracking-api', version: '0.1'}], 12911 error => { 12912 consentAPICallbackInvoked = true; 12913 if (error) { 12914 if(!window.Shopify?.customerPrivacy) { 12915 loadSwymShopifyScript(); 12916 return; 12917 } 12918 } 12919 checkConsentAndLoad(); 12920 } 12921 ); 12922 } 12923 function consentCheckFallback(retryCount) { 12924 if(!consentAPICallbackInvoked) { 12925 if (window.Shopify?.customerPrivacy) { 12926 checkConsentAndLoad(); 12927 } else if (retryCount >= 1) { 12928 console.warn("Shopify.loadFeatures unsuccessful on site, refer - https://shopify.dev/docs/api/customer-privacy#loading-the-customer-privacy-api. Proceeding with normal Swym Wishlist Plus load"); 12929 // Ghost-Intent: route through checkConsentAndLoad so SDK block is respected 12930 checkConsentAndLoad(); 12931 } else { 12932 setTimeout(() => consentCheckFallback(retryCount + 1), 1000); 12933 } 12934 } 12935 } 12936 if (document.readyState === "loading") { 12937 document.addEventListener("DOMContentLoaded", initialiseConsentCheck); 12938 window.addEventListener("load", () => consentCheckFallback(0)); 12939 } else { 12940 initialiseConsentCheck(); 12941 } 12942 12943 })(); 12944</script>
12944 12945 12946<!-- BEGIN app snippet: swymSnippet -->
12946<script defer> 12947 (function () { 12948 const currentSwymJSPath = '//freecdn.swymrelay.com/code/swym-shopify.js'; 12949 const currentSwymStorePath = 'https://swymstore-v3free-01.swymrelay.com'; 12950 const dnsPrefetchLink = `<link rel="dns-prefetch" href="${currentSwymStorePath}" crossorigin>`; 12951 const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`; 12952 const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`; 12953 const swymSnippet = document.getElementById('wishlist-embed-init'); 12954 if(dnsPrefetchLink) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink);} 12955 if(dnsPrefetchLink2) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2);} 12956 if(preConnectLink) {swymSnippet.insertAdjacentHTML('afterend', preConnectLink);} 12957 })() 12958</script>
vendor: 1 bytes, line 12958
12958
12959<script id="swym-snippet" type="text"> 12960 window.swymLandingURL = document.URL; 12961 window.swymCart = {"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}; 12962 window.swymPageLoad = function() { 12963 window.SwymProductVariants = window.SwymProductVariants || {}; 12964 window.SwymHasCartItems = 0 > 0; 12965 window.SwymPageData = {}, window.SwymProductInfo = {}; 12966 var unknown = {et: 0}; 12967 window.SwymPageData = unknown; 12968 12969 window.SwymPageData.uri = window.swymLandingURL; 12970 }; 12971 if(window.selectCallback){ 12972 (function(){ 12973 var originalSelectCallback = window.selectCallback; 12974 window.selectCallback = function(variant){ 12975 originalSelectCallback.apply(this, arguments); 12976 try{ 12977 if(window.triggerSwymVariantEvent){ 12978 window.triggerSwymVariantEvent(variant.id); 12979 } 12980 }catch(err){ 12981 console.warn("Swym selectCallback", err); 12982 } 12983 };})();} 12984 window.swymCustomerId =null; 12985 window.swymCustomerExtraCheck = 12986 null; 12987 var swappName = ("Wishlist" || "Wishlist"); 12988 var swymJSObject = { 12989 pid: "3dBPsqWMajNgQQdCoDvFo0AAQ1RUxeT+E9Zrpvs2vcM=", 12990 interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName 12991 }; 12992 window.swymJSShopifyLoad = function(){ 12993 if(window.swymPageLoad) swymPageLoad(); 12994 if(!window._swat) { 12995 (function (s, w, r, e, l, a, y) { 12996 r['SwymRetailerConfig'] = s; 12997 r[s] = r[s] || function (k, v) { 12998 r[s][k] = v; 12999 }; 13000 })('_swrc', '', window); 13001 _swrc('RetailerId', swymJSObject.pid); 13002 _swrc('Callback', function(){initSwymShopify();}); 13003 }else if(window._swat.postLoader){ 13004 _swrc = window._swat.postLoader; 13005 _swrc('RetailerId', swymJSObject.pid); 13006 _swrc('Callback', function(){initSwymShopify();}); 13007 }else{ 13008 initSwymShopify();} 13009 } 13010 if(!window._SwymPreventAutoLoad) { 13011 swymJSShopifyLoad(); 13012 } 13013</script>
13013 13014 13015<style id="safari-flasher-pre"></style>
13016<script> 13017 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { 13018 document.getElementById("safari-flasher-pre").innerHTML = '' + '#swym-plugin,#swym-hosted-plugin{display: none;}' + '.swym-button.swym-add-to-wishlist{display: none;}' + '.swym-button.swym-add-to-watchlist{display: none;}' + '#swym-plugin #swym-notepad, #swym-hosted-plugin #swym-notepad{opacity: 0; visibility: hidden;}' + '#swym-plugin #swym-notepad, #swym-plugin #swym-overlay, #swym-plugin #swym-notification,' + '#swym-hosted-plugin #swym-notepad, #swym-hosted-plugin #swym-overlay, #swym-hosted-plugin #swym-notification' + '{-webkit-transition: none; transition: none;}' + ''; 13019 window.SwymCallbacks = window.SwymCallbacks || []; 13020 window.SwymCallbacks.push(function(tracker) { 13021 tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() { 13022 var x = function() { 13023 SwymUtils.onDOMReady(function() { 13024 var d = document.createElement("div"); 13025 d.innerHTML = "<style id='safari-flasher-post'>" + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}" + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}" + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}" + "#swym-plugin.swym-ready #swym-notepad, #swym-plugin.swym-ready #swym-overlay, #swym-plugin.swym-ready #swym-notification," + "#swym-hosted-plugin.swym-ready #swym-notepad, #swym-hosted-plugin.swym-ready #swym-overlay, #swym-hosted-plugin.swym-ready #swym-notification" + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}" + "</style>"; 13026 document.head.appendChild(d); 13027 });}; 13028 setTimeout(x, 10); 13029 });});} 13030 window.SwymOverrideMoneyFormat = "$ {{amount}}"; 13031</script>
13031 13032<style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; } </style><!-- END app snippet --> 13033
13034<script 13035 13036 id="swymSnippetCheckAndActivate" 13037> 13038 (function () { 13039 var duplicateProneIds = ['safari-flasher-pre', 'swym-product-view-defaults', 'swym-wrap-login-handler']; 13040 13041 function removeDuplicateIdNodes(id) { 13042 var nodes = document.querySelectorAll('#' + id); 13043 nodes.forEach(function (node, index) { 13044 if (index > 0) { 13045 node.remove(); 13046 } 13047 }); 13048 } 13049 13050 function cleanupDuplicateSnippetNodes(activeScript) { 13051 if (!activeScript) { 13052 return; 13053 } 13054 var allSwymSnippets = document.querySelectorAll('script#swym-snippet'); 13055 allSwymSnippets.forEach(function (scriptNode) { 13056 if (scriptNode !== activeScript) { 13057 scriptNode.remove(); 13058 } 13059 }); 13060 } 13061 13062 function cleanupDuplicateActivationGuards() { 13063 var guardScripts = document.querySelectorAll('script#swymSnippetCheckAndActivate'); 13064 guardScripts.forEach(function (scriptNode, index) { 13065 if (index > 0) { 13066 scriptNode.removeAttribute('id'); 13067 } 13068 }); 13069 } 13070 13071 function postDomLoad() { 13072 var activeScript = document.querySelector('script#swym-snippet:not([type="text"])'); 13073 if (!activeScript) { 13074 var inactiveScript = document.querySelector('script#swym-snippet[type="text"]'); 13075 if (inactiveScript) { 13076 inactiveScript.type = 'text/javascript'; 13077 new Function(inactiveScript.textContent)(); 13078 activeScript = inactiveScript; 13079 } 13080 } 13081 13082 cleanupDuplicateSnippetNodes(activeScript); 13083 cleanupDuplicateActivationGuards(); 13084 duplicateProneIds.forEach(removeDuplicateIdNodes); 13085 } 13086 13087 if (document.readyState === 'loading') { 13088 document.addEventListener('DOMContentLoaded', postDomLoad); 13089 } else { 13090 postDomLoad(); 13091 } 13092 })(); 13093</script>
13093 13094 13095 13096
13097<script> 13098 (function () { 13099 const themeSchemaName = window.Shopify.theme.schema_name; 13100 13101 if (!window.SwymCallbacks) { 13102 window.SwymCallbacks = []; 13103 } 13104 window.SwymCallbacks.push(swat => { 13105 if (!swat) { 13106 return; 13107 } 13108 13109 // Ghost-Intent: Sync local wishlist items to cloud when SDK loads after consent 13110 if (window.SwymLocalWishlist && window.SwymLocalWishlist.getSyncableItems().length > 0) { 13111 window.SwymLocalWishlist.syncToCloud(swat); 13112 } 13113 13114 if (window._SwymSDKOnlyMode) { 13115 return; 13116 } 13117 13118 // ENABLE COMMON FEATURES 13119 let swymEnabledCommonFeatures = window.SwymEnabledCommonFeatures; 13120 Object.keys(swymEnabledCommonFeatures).forEach(key => { 13121 if (!swymEnabledCommonFeatures[key]) return; 13122 13123 switch (key) { 13124 case 'add-to-wishlist-collections-button': 13125 // Check if app block is already handling the collections button 13126 if (window.SwymCollectionsConfig) { 13127 return; 13128 } 13129 13130 // Check if v2 default collections is handling it 13131 if (window.SwymAdvancedCollectionsWishlistConfig) { 13132 return; 13133 } 13134 13135 // Fallback to old v1 behavior if v2 config is not present 13136 swat?.collectionsApi?.setDefaultCustomizationOptions(); 13137 swat?.collectionsApi?.initializeCollections(swat, false, themeSchemaName); 13138 13139 break; 13140 case 'add-to-wishlist-pdp-button': 13141 // Check if app block is already handling the PDP button 13142 if (window.swymATWButtonConfig?.shopifyExtensionType === 'appblock') { 13143 return; 13144 } 13145 13146 if (!(window.SwymPageData && window.SwymPageData.et === 1)) { 13147 // Not initiating pdp button as it is not a product page 13148 return; 13149 } 13150 13151 // Inject addtowishlist.css into the document's <head> 13152 var head = document.head; 13153 var pdpButtonStylesheet = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.css"; 13154 var pdpButtonStylesheetTag = document.createElement('link'); 13155 pdpButtonStylesheetTag.id = `swym-pdp-button-stylesheet`; 13156 pdpButtonStylesheetTag.rel = 'stylesheet'; 13157 pdpButtonStylesheetTag.href = pdpButtonStylesheet; 13158 13159 if (!document.getElementById('swym-pdp-button-stylesheet')) { 13160 head.appendChild(pdpButtonStylesheetTag); 13161 } 13162 13163 var x = document.getElementsByTagName('script')[0]; 13164 function createAndInsertScript(id, src, onLoadCallback) { 13165 var scriptTag = document.createElement('script'); 13166 scriptTag.id = id; 13167 scriptTag.type = 'text/javascript'; 13168 scriptTag.src = src; 13169 scriptTag.onload = onLoadCallback; 13170 x.parentNode.insertBefore(scriptTag, x); 13171 } 13172 13173 var pdpButtonScript = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.js"; 13174 createAndInsertScript(`swym-pdp-button-script`, pdpButtonScript, function () { 13175 const pdpBtnApi = window.WishlistPlusPDPButtonAPI; 13176 if (pdpBtnApi) { 13177 pdpBtnApi.setDefaultCustomizationOptions(swat); 13178 pdpBtnApi.initializePDPButton(swat, true); 13179 } 13180 }); 13181 break; 13182 default: 13183 return; 13184 } 13185 }); 13186 }); 13187 })(); // IIFE to prevent polluting global scope 13188</script>
13188 13189 13190 13191
13192<script> 13193 (function () { 13194 // Get the settings from Shopify's Liquid variables and create the styles 13195 const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"]; 13196 const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 13197 Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0; 13198 const isControlCentreEnabledFromBlockSettings = false; 13199 13200 if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) { 13201 // Don't enable control centre if this is disabled and block settings are not enabled 13202 return; 13203 } 13204 13205 let borderRadius = 6; 13206 let drawerWidth = window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutDrawerWidth || 400; 13207 13208 // Check if block settings exist, use them, otherwise fall back to common settings 13209 let primaryBgColor = isControlCentreEnabledFromBlockSettings ? 13210 "#000000" : 13211 window.SwymWishlistCommonCustomizationSettings.primaryColor; 13212 13213 let primaryTextColor = isControlCentreEnabledFromBlockSettings ? 13214 "#ffffff" : 13215 window.SwymWishlistCommonCustomizationSettings.secondaryColor; 13216 13217 let secondaryBgColor = isControlCentreEnabledFromBlockSettings ? 13218 "#F4F8FE" : null; 13219 let secondaryTextColor = isControlCentreEnabledFromBlockSettings ? 13220 "#333333" : null; 13221 13222 // Only use color adjustment functions if we're using common settings 13223 if (!secondaryBgColor || !secondaryTextColor) { 13224 function adjustOpacity(color, opacity) { 13225 if (color[0] === '#') { 13226 color = color.slice(1); 13227 } 13228 13229 if (color.length === 3) { 13230 color = color.split('').map(char => char + char).join(''); 13231 } 13232 13233 const r = parseInt(color.slice(0, 2), 16); 13234 const g = parseInt(color.slice(2, 4), 16); 13235 const b = parseInt(color.slice(4, 6), 16); 13236 13237 return `rgba(${r}, ${g}, ${b}, ${opacity})`; 13238 } 13239 13240 function hexToRgb(color) { 13241 if (color[0] === '#') { 13242 color = color.slice(1); 13243 } 13244 if (color.length === 3) { 13245 color = color.split('').map(c => c + c).join(''); 13246 } 13247 13248 return { 13249 r: parseInt(color.slice(0, 2), 16), 13250 g: parseInt(color.slice(2, 4), 16), 13251 b: parseInt(color.slice(4, 6), 16) 13252 }; 13253 } 13254 13255 function getLuminance({ r, g, b }) { 13256 return 0.299 * r + 0.587 * g + 0.114 * b; 13257 } 13258 13259 function generateSecondaryColors(primaryBgColor, primaryTextColor) { 13260 const secondaryBgOpacity = 0.2; 13261 const secondaryTextOpacity = 0.8; 13262 13263 const secondaryBgColor = adjustOpacity(primaryBgColor, secondaryBgOpacity); 13264 13265 const bgRgb = hexToRgb(primaryBgColor); 13266 const bgLuminance = getLuminance(bgRgb); 13267 13268 // Determine whether to use dark or light text for contrast 13269 const lightText = adjustOpacity(primaryTextColor, secondaryTextOpacity); 13270 const darkText = adjustOpacity(primaryBgColor, secondaryTextOpacity); 13271 13272 const secondaryTextColor = bgLuminance > 186 ? darkText : lightText; 13273 13274 return { 13275 secondaryBgColor, 13276 secondaryTextColor 13277 }; 13278 } 13279 13280 const generatedColors = generateSecondaryColors(primaryBgColor, primaryTextColor); 13281 secondaryBgColor = secondaryBgColor || generatedColors.secondaryBgColor; 13282 secondaryTextColor = secondaryTextColor || generatedColors.secondaryTextColor; 13283 } 13284 13285 // Create the CSS rule 13286 let styles = ` 13287 .swym-storefront-layout-root-component { 13288 --swym-storefront-layout-ui-border-radius: ${borderRadius}px; 13289 --swym-storefront-layout-button-border-radius: ${borderRadius}px; 13290 --swym-storefront-layout-side-drawer-width: ${drawerWidth}px; 13291 --swym-storefront-layout-button-color-bg-primary: ${primaryBgColor}; 13292 --swym-storefront-layout-button-color-text-primary: ${primaryTextColor}; 13293 --swym-storefront-layout-button-color-bg-secondary: ${secondaryBgColor}; 13294 --swym-storefront-layout-button-color-text-secondary: ${secondaryTextColor}; 13295 } 13296 `; 13297 13298 // Create a <style> element and append the styles 13299 let styleSheet = document.createElement("style"); 13300 styleSheet.type = "text/css"; 13301 styleSheet.innerText = styles; 13302 document.head.appendChild(styleSheet); 13303 13304 if (typeof window.SwymStorefrontLayoutContext === 'undefined') { 13305 window.SwymStorefrontLayoutContext = {}; 13306 } 13307 if (typeof window.SwymStorefrontLayoutExtensions === 'undefined'){ 13308 window.SwymStorefrontLayoutExtensions = {}; 13309 } 13310 13311 // Expose block settings toggle state so ThemeCSSMapping can respect it. 13312 // When true, theme editor color pickers take priority over inherited theme CSS variables. 13313 SwymStorefrontLayoutContext.BlockSettingsEnabled = isControlCentreEnabledFromBlockSettings; 13314 13315 if (isControlCentreEnabledFromBlockSettings) { 13316 // If block settings are enabled, use them 13317 SwymStorefrontLayoutContext.Settings = { 13318 EnableStorefrontLayoutOnLauncher: true, 13319 EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true, 13320 StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer", 13321 StorefrontLayoutDrawerPosition: "left", 13322 StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container", 13323 StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist", 13324 EnableStorefrontLayoutVariantSelector: true, 13325 StorefrontLayoutNotificationPosition: "left", 13326 StorefrontLayoutActionPopupPosition: "left", 13327 StorefrontLayoutNotificationDuration: 5000 13328 }; 13329 } else { 13330 // If only metafield is enabled but no block settings, use common settings 13331 SwymStorefrontLayoutContext.Settings = { 13332 EnableStorefrontLayoutOnLauncher: true, 13333 EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true, 13334 StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer", 13335 StorefrontLayoutDrawerPosition: "left", 13336 StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container", 13337 StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist", 13338 EnableStorefrontLayoutVariantSelector: true, 13339 StorefrontLayoutNotificationPosition: "left", 13340 StorefrontLayoutActionPopupPosition: "left", 13341 StorefrontLayoutNotificationDuration: 5000 13342 }; 13343 } 13344 const storefrontLayoutCallback = (swat) =>{ 13345 SwymStorefrontLayoutContext.swat = swat; 13346 let isStoreOnPaidPlan = swat.getApp('Wishlist')?.['is-paid']; 13347 let isWishlistEnabled = swat.getApp('Wishlist')?.['enabled']; 13348 SwymStorefrontLayoutContext.Settings = { 13349 ...SwymStorefrontLayoutContext?.Settings, 13350 EnableStorefrontLayoutCollection: window?.SwymEnabledCommonFeatures?.["multiple-wishlist"] ?? false, 13351 EnableStorefrontLayout: isWishlistEnabled && (isControlCentreEnabledFromBlockSettings || isControlCentreEnabledFromMetafield), 13352 } 13353 13354 if(SwymStorefrontLayoutContext?.Settings?.EnableStorefrontLayout){ 13355 if(SwymStorefrontLayoutContext?.CustomEvents?.LayoutInitialized){ 13356 var event = new CustomEvent(SwymStorefrontLayoutContext.CustomEvents.LayoutInitialized, { 13357 detail: { settings: SwymStorefrontLayoutContext?.Settings } 13358 }); 13359 document.dispatchEvent(event); 13360 }else{ 13361 swat.utils.warn(`LayoutInitialized event is not defined.`); 13362 } 13363 }else{ 13364 swat.utils.warn(`Storefront Layout is disabled.`); 13365 document.getElementById("swym-storefront-layout-container")?.remove(); 13366 document.getElementById("swym-storefront-extention-render-container")?.remove(); 13367 } 13368 } 13369 13370 if (!window.SwymCallbacks) { 13371 window.SwymCallbacks = []; 13372 } 13373 window.SwymCallbacks.push(storefrontLayoutCallback); 13374 13375 SwymStorefrontLayoutContext.SwymCustomerData = { 13376 13377 name: null, 13378 email: null 13379 13380 };
13381 SwymStorefrontLayoutContext.isShopperLoggedIn = !!SwymStorefrontLayoutContext?.SwymCustomerData?.email; 13382 })(); 13383</script>
13383 13384 13385 13386 13387 13388</div><div id="shopify-block-AbEpqaklGb2U2U255a__10274264662263595587" class="shopify-block shopify-app-block">
13389<script> 13390 window.SwymCollectionsConfig = { 13391 'CollectionsSelectors': [], 13392 'CollectionsPosition': "top-right", 13393 'CollectionsIcon': "heart", 13394 'CollectionsButtonSize': 24, 13395 'CollectionsVerticalOffset': 0, 13396 'CollectionsHorizontalOffset': 0, 13397 'CollectionsProductLinkSelector': "-", 13398 'CollectionsProductTileSelector': "-", 13399 'CollectionsVariantSelector': "true", 13400 'CollectionsVariantSelectorChooseActionText': "Choose or Create new Wishlist", 13401 'CollectionsCreateListTitle': "Name Your Wishlist", 13402 'CollectionsCreateListPlaceholder': "Enter wishlist name", 13403 'CollectionsCustomIconAdd': "", 13404 'CollectionsCustomIconAdded': "", 13405 'CollectionsIconColor': "#2e2e2e", 13406 'CollectionsIconThickness': "1.7", 13407} 13408</script>
13408 13409<style> 13410 .swym-wishlist-collections-v2, .swym-wishlist-collections-v2 svg {border:unset; background:unset; min-width: 24px; height: 24px!important;} 13411 .swym-wishlist-collections-icon-heart-filled, .swym-wishlist-collections-icon-heart-unfilled, .swym-wishlist-collections-icon-star-filled, .swym-wishlist-collections-icon-star-unfilled, .swym-wishlist-collections-icon-bookmark-unfilled, .swym-wishlist-collections-icon-bookmark-filled {fill: #2e2e2e;} 13412 .swym-wishlist-collections-v2 .swym-collections-social-count {color: #2e2e2e;} 13413</style> 13414 13415 <!-- BEGIN app snippet: swymVariantSelector --><div class="swym-variant-selector-modal-background swym-hide-container"> 13416 <div class="swym-collections-variant-popup-parent"></div> 13417</div>
13418<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/variantSelector.js" defer></script>
13418 13419<link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/variantSelector.css"> 13420<style data-shopify> 13421.swym-collections-variant-popup-header { 13422 display: flex; 13423 justify-content: space-between; 13424 align-items: center; 13425 border-bottom: 1px solid #EBEBEB; 13426 padding: 8px 16px; 13427} 13428div.swym-collections-variant-popup-content { 13429 background: #fff; 13430 padding-top: 1rem; 13431 padding-left: 16px; 13432 padding-right: 16px; 13433 padding-bottom: 16px; 13434} 13435.swym-variant-selector-modal-background .swym-collections-variant-popup-parent.swym-variant-selector-lists-view { 13436 background: #fff; 13437} 13438div.swym-collections-variant-popup-header { 13439 background: #fff; 13440} 13441.swym-hidden { 13442 display: none !important; 13443} 13444#swym-custom-variant-selector-parent #swym-custom-variant-selector-container .swym-filter-option-name, 13445.swym-collections-variant-popup-content #swym-vs-actions-container #swym-custom-wishlist-actions-title { 13446 color: #000; 13447} 13448div.swym-collections-variant-popup-parent div.swym-collections-variant-popup-header h1.swym-collections-variant-popup-header-title, 13449.swym-collections-variant-popup-content .swym-collection-title-detail h2#swym-custom-product-title { 13450 color: #333; 13451} 13452#swym-custom-variant-selector-parent #swym-custom-variant-selector-container label.swym-filter-labels.selected { 13453 color: #fff; 13454 background: #292929; 13455} 13456.swym-font-size-14 { 13457 font-size: 14 13458} 13459.swym-font-size-12 { 13460 font-size: 13461} 13462.swym-font-size-16 { 13463 font-size: 13464} 13465.swym-collections-variant-popup-content-container .swym-collections-variant-popup-content .swym-add-to-wishlist-1, 13466div.swym-variant-selector-lists-btn-container button:nth-child(2), 13467#swym-create-list-button-wrapper button#swym-custom-confirm-list-button { 13468 background: #292929; 13469 color: #fff; 13470} 13471#swym-custom-wishlist-container 13472 .swym-variant-selector-wishlist-item 13473 .swym-variant-selector-list-name 13474 .swym-variant-selector-status { 13475 background: #292929; 13476 color: #fff; 13477} 13478div.swym-vs-spinner { 13479 color: #fff 13480} 13481</style><!-- END app snippet --> 13482
13483<script> 13484 // Send heartbeat for collections button 13485 (function() { 13486 let collectionsButtonHeartbeatData = '{"editor":"2025-05-14T16:36:54.963Z","176458465585":"2025-06-26T12:37:42.209Z","177421222193":"2025-06-12T20:45:14.459Z"}'; 13487 try { 13488 collectionsButtonHeartbeatData = JSON.parse(collectionsButtonHeartbeatData) || {}; 13489 } catch (e) { 13490 collectionsButtonHeartbeatData = {}; 13491 } 13492 const ShopifyTheme = window.Shopify.theme; 13493 const themeId = ShopifyTheme.id; 13494 let heartbeatMetadata = { 13495 schema_name: ShopifyTheme?.schema_name, 13496 schema_version: ShopifyTheme?.schema_version, 13497 theme_store_id: ShopifyTheme?.theme_store_id, 13498 role: ShopifyTheme?.role 13499 }; 13500 13501 const isDesignMode = !!window.swymDesignMode; 13502 13503 if (!window.SwymCallbacks) { 13504 window.SwymCallbacks = []; 13505 } 13506 window.SwymCallbacks.push((swat) => { 13507 if (!swat || !themeId) { 13508 return; 13509 } 13510 const triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat; 13511 if (typeof triggerHeartbeat !== "function") return; 13512 13513 const lastHeartbeat = isDesignMode ? collectionsButtonHeartbeatData?.editor : collectionsButtonHeartbeatData?.[themeId]; 13514 const themeContext = isDesignMode ? 'editor' : themeId; 13515 13516 const extensionData = { 13517 extensionName: "add-to-wishlist-collections-button", 13518 extensionType: "app-embed", 13519 metadata: heartbeatMetadata, 13520 themeId: themeContext, 13521 extensionSource: "default" 13522 }; 13523 13524 /** Stop heartbeat 13525 triggerHeartbeat(extensionData, lastHeartbeat); 13526 */ 13527 }); 13528 })(); // IIFE to prevent polluting global scope 13529</script>
13529 13530 13531 13532<style> 13533 .swym-advanced-wishlist-collections-container { 13534 display: none; 13535 } 13536</style> 13537</div>
13537<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
13537 13538</body> 13539 <link 13540 rel="preload" 13541 fetchpriority="low" 13542 href="//loganhollowell.com/cdn/shop/t/206/assets/theme-deferred.css?v=100538309232085770951790192133" 13543 as="style" 13544 onload="this.onload=null;this.rel='stylesheet'" 13545 > 13546 <noscript><link rel="stylesheet" href="//loganhollowell.com/cdn/shop/t/206/assets/theme-deferred.css?v=100538309232085770951790192133"></noscript> 13547</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.