1<!doctype html> 2<html class="no-js" lang="en" dir="ltr"> 3<head>
3<script data-source-attribution="shopify.event_observer.bootstrap"> 4(function(){let e=navigator,t=`prototype`,n=`sendBeacon`,r=e[n],i=fetch,a=XMLHttpRequest[t],{open:o,send:s}=a,c=`EventListener`,l=`add${c}`,u=`remove${c}`,d=EventTarget[t],f=d[l],p=d[u],m=e=>Error((e=document.currentScript)&&[e?.src,e?.id||e?.dataset?.sourceAttribution]),h=(e=[],t=0)=>(e.p=n=>e[t++%1e3]=n,[e,t=>(e.forEach(e.p=t),e.length=0)]),[g,_]=h(),[v,y]=h(),b,x=new WeakMap,S=e=>e&&g.p([e,b||[m()]]);d[l]=function(e,t,n){let r=this,i=t?.handleEvent||t,a=x.get(t),o=m();i?.call&&!a&&x.set(t,a=function(e){b=[o,e.type];try{i.call(t==i?this:t,e)}finally{b=null}}),v.p([e,o,a,r?.tagName||r+``,r?.id]),f.call(r,e,a||t,n)},d[u]=function(e,t,n){p.call(this,e,x.get(t)||t,n)},a.open=function(e,t){x.set(this,[t+``,e]),o.apply(this,arguments)},a.send=function(e){S(x.get(this)),s.call(this,e)},fetch=(e,t)=>(S([(e?.url||e)+``,t?.method]),i(e,t)),e[n]=(t,n)=>(S([t+``,``]),r.call(e,t,n)),setTimeout(()=>import("//shop.realfaith.com/cdn/shopifycloud/storefront/assets/storefront/event_observer_reporter-ed358274.js").then(e=>e.$(_,y,f,i,`97856225569`)))})(); 5//# sourceURL=event-observer-collector.js 6</script>
6 7 8 <meta charset="utf-8"> 9 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 10 <meta name="viewport" content="width=device-width,initial-scale=1"> 11 <meta name="theme-color" content="#b9a76d"> 12 <link rel="canonical" href="https://shop.realfaith.com/"> 13 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 14 <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 15 <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"> 16 <link rel="dns-prefetch" href="https://ajax.googleapis.com"> 17 <link rel="dns-prefetch" href="https://maps.googleapis.com"> 18 <link rel="dns-prefetch" href="https://maps.gstatic.com"><link rel="shortcut icon" href="//shop.realfaith.com/cdn/shop/files/realfaithstore_5_32x32.png?v=1787776659" type="image/png" /><title>RealFaith Ministries Online Store 19</title> 20<meta name="description" content="Christian books, apparel, gifts, and accessories from RealFaith. Every purchase supports our mission to equip the next generation with biblical teaching, practical discipleship resources, and tools to help Christians grow in faith and live according to Godâs Word."><meta property="og:site_name" content="RealFaith"> 21<meta property="og:url" content="https://shop.realfaith.com/"> 22<meta property="og:title" content="RealFaith Ministries Online Store"> 23<meta property="og:type" content="website"> 24<meta property="og:description" content="Christian books, apparel, gifts, and accessories from RealFaith. Every purchase supports our mission to equip the next generation with biblical teaching, practical discipleship resources, and tools to help Christians grow in faith and live according to Godâs Word."><meta 25 property="og:image" 26 content="https://shop.realfaith.com/cdn/shop/files/realfaith_store.png?v=1787771387" 27 > 28 29 <meta 30 property="og:image:secure_url" 31 content="https://shop.realfaith.com/cdn/shop/files/realfaith_store.png?v=1787771387" 32 > 33 34 <meta 35 property="og:image:width" 36 content="1200" 37 > 38 39 <meta 40 property="og:image:height" 41 content="630" 42 ><meta 43 name="twitter:card" 44 content="summary_large_image" 45> 46 47<meta 48 name="twitter:title" 49 content="RealFaith Ministries Online Store" 50> 51 52<meta 53 name="twitter:description" 54 content="Christian books, apparel, gifts, and accessories from RealFaith. Every purchase supports our mission to equip the next generation with biblical teaching, practical discipleship resources, and tools to help Christians grow in faith and live according to Godâs Word." 55><meta 56 name="twitter:image" 57 content="https://shop.realfaith.com/cdn/shop/files/realfaith_store.png?v=1787771387" 58 >
58<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 58
58
59<script type="importmap"> 60{ 61 "imports": { 62 "element.base-media": "//shop.realfaith.com/cdn/shop/t/4/assets/element.base-media.js?v=61305152781971747521783440470", 63 "element.image.parallax": "//shop.realfaith.com/cdn/shop/t/4/assets/element.image.parallax.js?v=59188309605188605141783440470", 64 "element.model": "//shop.realfaith.com/cdn/shop/t/4/assets/element.model.js?v=94284935004375649201783440470", 65 "element.quantity-selector": "//shop.realfaith.com/cdn/shop/t/4/assets/element.quantity-selector.js?v=68208048201360514121783440470", 66 "element.text.rte": "//shop.realfaith.com/cdn/shop/t/4/assets/element.text.rte.js?v=28194737298593644281783440470", 67 "element.video": "//shop.realfaith.com/cdn/shop/t/4/assets/element.video.js?v=110560105447302630031783440470", 68 "is-land": "//shop.realfaith.com/cdn/shop/t/4/assets/is-land.min.js?v=92343381495565747271783440470", 69 "util.misc": "//shop.realfaith.com/cdn/shop/t/4/assets/util.misc.js?v=117964846174238173191783440470", 70 "util.product-loader": "//shop.realfaith.com/cdn/shop/t/4/assets/util.product-loader.js?v=71947287259713254281783440470", 71 "util.resource-loader": "//shop.realfaith.com/cdn/shop/t/4/assets/util.resource-loader.js?v=81301169148003274841783440470", 72 "vendor.in-view": "//shop.realfaith.com/cdn/shop/t/4/assets/vendor.in-view.js?v=126891093837844970591783440470" 73 } 74} 75</script>
75<script type="module" src="//shop.realfaith.com/cdn/shop/t/4/assets/is-land.min.js?v=92343381495565747271783440470"></script>
75 76<style data-shopify>@font-face { 77 font-family: "Barlow Condensed"; 78 font-weight: 400; 79 font-style: normal; 80 font-display: swap; 81 src: url("//shop.realfaith.com/cdn/fonts/barlow_condensed/barlowcondensed_n4.0b6e95b04b09fc27ad023a00078b28fa0998250b.woff2") format("woff2"), 82 url("//shop.realfaith.com/cdn/fonts/barlow_condensed/barlowcondensed_n4.7335d7c18368c5d9ab7a8397ca8ff9a87ecef984.woff") format("woff"); 83} 84 85 @font-face { 86 font-family: "Barlow Semi Condensed"; 87 font-weight: 400; 88 font-style: normal; 89 font-display: swap; 90 src: url("//shop.realfaith.com/cdn/fonts/barlow_semi_condensed/barlowsemicondensed_n4.08986f000e280db515360498b94696747a1a4649.woff2") format("woff2"), 91 url("//shop.realfaith.com/cdn/fonts/barlow_semi_condensed/barlowsemicondensed_n4.3fa52d16ca97e6e9aed9d5fb27c283b4b09d423b.woff") format("woff"); 92} 93 94 95 @font-face { 96 font-family: "Barlow Semi Condensed"; 97 font-weight: 600; 98 font-style: normal; 99 font-display: swap; 100 src: url("//shop.realfaith.com/cdn/fonts/barlow_semi_condensed/barlowsemicondensed_n6.0cde432d270780c18d435b6363ee972d9ec6d3e1.woff2") format("woff2"), 101 url("//shop.realfaith.com/cdn/fonts/barlow_semi_condensed/barlowsemicondensed_n6.4445ada960dbbf7e278bf131310eca058f8f4ca9.woff") format("woff"); 102} 103 104 @font-face { 105 font-family: "Barlow Semi Condensed"; 106 font-weight: 400; 107 font-style: italic; 108 font-display: swap; 109 src: url("//shop.realfaith.com/cdn/fonts/barlow_semi_condensed/barlowsemicondensed_i4.3b49224d67d2d9b711fbe3801013760eadae25ee.woff2") format("woff2"), 110 url("//shop.realfaith.com/cdn/fonts/barlow_semi_condensed/barlowsemicondensed_i4.500c9ce2085f46694416016119f1a33eda312cac.woff") format("woff"); 111} 112 113 @font-face { 114 font-family: "Barlow Semi Condensed"; 115 font-weight: 600; 116 font-style: italic; 117 font-display: swap; 118 src: url("//shop.realfaith.com/cdn/fonts/barlow_semi_condensed/barlowsemicondensed_i6.7f45f20865bc47d93d2545f6a7fc1a50a88fd366.woff2") format("woff2"), 119 url("//shop.realfaith.com/cdn/fonts/barlow_semi_condensed/barlowsemicondensed_i6.83f50ae1f2566d75e32e56161467bd7b63433282.woff") format("woff"); 120} 121 122</style><link href="//shop.realfaith.com/cdn/shop/t/4/assets/theme.css?v=21436270909139738961783440489" rel="stylesheet" type="text/css" media="all" /> 123<style data-shopify>:root { 124 --typeHeaderPrimary: "Barlow Condensed"; 125 --typeHeaderFallback: sans-serif; 126 --typeHeaderSize: 30px; 127 --typeHeaderWeight: 400; 128 --typeHeaderLineHeight: 1.1; 129 --typeHeaderSpacing: 0.025em; 130 131 --typeH1Size: 30px; 132 --typeH2Size: 26px; 133 --typeH3Size: 20px; 134 --typeH1SizeHero: 44px; 135 136 --typeH1SizeMobile: 26px; 137 --typeH2SizeMobile: 22px; 138 --typeH3SizeMobile: 19px; 139 140 --typeBasePrimary:"Barlow Semi Condensed"; 141 --typeBaseFallback:sans-serif; 142 --typeBaseSize: 16px; 143 --typeBaseWeight: 400; 144 --typeBaseSpacing: 0.05em; 145 --typeBaseLineHeight: 1.6; 146 --typeBaselineHeightMinus01: 1.5; 147 148 --typeBodySize: 16px; 149 --typeBodySizeMobile: 15px; 150 --typeBodySmallSize: 14px; 151 --typeBodyExtraSmallSize: 12px; 152 --typeAccentSmallSize: 13px; 153 154 --typeHeroSubtitleSize: 18px; 155 --typeHeroTextSize: 21px; 156 --typeEnlargeTextSize: 21px; 157 158 --typeCollectionTitle: 35px; 159 --typeCollectionTitleMobile: 28px; 160 --typeUppercaseSpacing: 0.2em; 161 162 --iconWeight: 3px; 163 --iconLinecaps: round; 164 165 166 --buttonRadius: 3px; 167 168 169 --colorGridOverlayOpacity: 0.0; 170 --colorAnnouncement: #131016; 171 --colorAnnouncementText: #fdf8f0; 172 173 --colorBody: #fdf8f0; 174 --colorBodyAlpha05: rgba(253, 248, 240, 0.05); 175 --colorBodyDim: #faeeda; 176 --colorBodyLightDim: #fcf4e7; 177 --colorBodyMediumDim: #fbf0de; 178 179 180 --colorBorder: #b9a76d; 181 182 --colorBtnPrimary: #b9a76d; 183 --colorBtnPrimaryLight: #cabc8f; 184 --colorBtnPrimaryDim: #b19d5c; 185 --colorBtnPrimaryText: #fdf8f0; 186 187 --colorCartDot: #c64d3e; 188 189 --colorDrawers: #fdf8f0; 190 --colorDrawersDim: #faeeda; 191 --colorDrawerBorder: #b9a76d; 192 --colorDrawerText: #131016; 193 --colorDrawerTextDark: #000000; 194 --colorDrawerButton: #b9a76d; 195 --colorDrawerButtonText: #fdf8f0; 196 197 --colorFooter: #fdf8f0; 198 --colorFooterText: #131016; 199 --colorFooterTextAlpha01: #131016; 200 201 --colorGridOverlay: #131016; 202 --colorGridOverlayOpacity: 0.0; 203 204 --colorHeaderTextAlpha01: rgba(19, 16, 22, 0.1); 205 206 --colorHeroText: #fdf8f0; 207 208 --colorSmallImageBg: #fdf8f0; 209 --colorLargeImageBg: #131016; 210 211 --colorImageOverlay: #131016; 212 --colorImageOverlayOpacity: 0.0; 213 --colorImageOverlayTextShadow: 0.13; 214 215 --colorLink: #131016; 216 217 --colorModalBg: rgba(206, 200, 135, 0.6); 218 219 --colorNav: #b9a76d; 220 --colorNavDim: #b19d5c; 221 --colorNavText: #131016; 222 223 --colorPrice: #131016; 224 225 --colorSaleTag: #c64d3e; 226 --colorSaleTagText: #fdf8f0; 227 228 --colorTextBody: #131016; 229 --colorTextBodyAlpha015: rgba(19, 16, 22, 0.15); 230 --colorTextBodyAlpha005: rgba(19, 16, 22, 0.05); 231 --colorTextBodyAlpha008: rgba(19, 16, 22, 0.08); 232 --colorTextSavings: #c64d3e; 233 234 --urlIcoSelect: url(//shop.realfaith.com/cdn/shop/t/4/assets/ico-select.svg);
235 --urlIcoSelectFooter: url(//shop.realfaith.com/cdn/shop/t/4/assets/ico-select-footer.svg); 236 --urlIcoSelectWhite: url(//shop.realfaith.com/cdn/shop/t/4/assets/ico-select-white.svg); 237 238 --grid-gutter: 17px; 239 --drawer-gutter: 20px; 240 241 --sizeChartMargin: 25px 0; 242 --sizeChartIconMargin: 5px; 243 244 --newsletterReminderPadding: 40px; 245 246 /*Shop Pay Installments*/ 247 --color-body-text: #131016; 248 --color-body: #fdf8f0; 249 --color-bg: #fdf8f0; 250 } 251 252 .placeholder-content { 253 background-image: linear-gradient(100deg, #fdf8f0 40%, #fbf2e3 63%, #fdf8f0 79%); 254 }</style>
254<script> 255 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 256 257 window.theme = window.theme || {}; 258 theme.routes = { 259 home: "/", 260 cart: "/cart.js", 261 cartPage: "/cart", 262 cartAdd: "/cart/add.js", 263 cartChange: "/cart/change.js", 264 search: "/search", 265 predictiveSearch: "/search/suggest" 266 }; 267 theme.strings = { 268 soldOut: "Sold Out", 269 unavailable: "Unavailable", 270 inStockLabel: "In stock, ready to ship", 271 oneStockLabel: "Low stock - [count] item left", 272 otherStockLabel: "Low stock - [count] items left", 273 willNotShipUntil: "Ready to ship [date]", 274 willBeInStockAfter: "Back in stock [date]", 275 waitingForStock: "Backordered, shipping soon", 276 savePrice: "Save [saved_amount]", 277 cartEmpty: "Your cart is currently empty.", 278 cartTermsConfirmation: "You must agree with the terms and conditions of sales to check out", 279 searchCollections: "Collections", 280 searchPages: "Pages", 281 searchArticles: "Articles", 282 productFrom: "from ", 283 maxQuantity: "You can only have [quantity] of [title] in your cart." 284 }; 285 theme.settings = { 286 cartType: "drawer", 287 isCustomerTemplate: false, 288 moneyFormat: "${{amount}}", 289 saveType: "dollar", 290 productImageSize: "square", 291 productImageCover: false, 292 predictiveSearch: true, 293 predictiveSearchType: null, 294 predictiveSearchVendor: false, 295 predictiveSearchPrice: false, 296 quickView: true, 297 themeName: 'Impulse', 298 themeVersion: "9.2.0" 299 }; 300 </script>
300 301 302
302<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
302<meta name="google-site-verification" content="1y90FbS_OWpaQdUQIO62Mt3bnJSp_lFJmF_ajomopgI"> 303<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/97856225569/digital_wallets/dialog"> 304<meta id="in-context-paypal-metadata" data-shop-id="97856225569" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"> 305<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
305<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6806765857"></script>
305 306<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
307<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=6806765857&shop_id=97856225569" crossorigin="anonymous"></script>
vendor: 1 bytes, line 307
307
308<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":97856225569,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/97856225569","merchantName":"RealFaith","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"RealFaith","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 308
308
309<script id="shopify-features" type="application/json">{"accessToken":"ab99a037eaa8117c667a8fedfd9a3848","betas":["rich-media-storefront-analytics"],"domain":"shop.realfaith.com","predictiveSearch":true,"shopId":97856225569,"locale":"en"}</script>
vendor: 1 bytes, line 309
309
310<script>var Shopify = Shopify || {}; 311Shopify.shop = "ju0enw-ki.myshopify.com"; 312Shopify.locale = "en"; 313Shopify.currency = {"active":"USD","rate":"1.0"}; 314Shopify.country = "US"; 315Shopify.theme = {"name":"Newest Website (With Fonts)","id":187197751585,"schema_name":"Impulse","schema_version":"9.2.0","theme_store_id":857,"role":"main"}; 316Shopify.theme.handle = "null"; 317Shopify.theme.style = {"id":null,"handle":null}; 318Shopify.cdnHost = "shop.realfaith.com/cdn"; 319Shopify.routes = Shopify.routes || {}; 320Shopify.routes.root = "/"; 321Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 322Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 323Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 324Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 324
324
325<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 325
325
326<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 326
326
327<script> 328 window.ShopifyPay = window.ShopifyPay || {}; 329 window.ShopifyPay.apiHost = "shop.app\/pay"; 330 window.ShopifyPay.redirectState = null; 331</script>
vendor: 1 bytes, line 331
331
332<script> 333 window.Shopify = window.Shopify || {}; 334 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 335 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 336 window.Shopify.SignInWithShop.eligible = true; 337</script>
vendor: 1 bytes, line 337
337
338<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
vendor: 1 bytes, line 338
338
339<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 339
339
340<script type="module"> 341 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 342 343 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 344 345</script>
vendor: 1 bytes, line 345
345
346<script> 347 window.Shopify = window.Shopify || {}; 348 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 349 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"]}; 350</script>
vendor: 1 bytes, line 350
350
351<script>(function() { 352 var isLoaded = false; 353 function asyncLoad() { 354 if (isLoaded) return; 355 isLoaded = true; 356 var urls = ["https:\/\/delivery.shopifyapps.com\/assets\/checkout\/script.js?shop=ju0enw-ki.myshopify.com"]; 357 for (var i = 0; i < urls.length; i++) { 358 var s = document.createElement('script'); 359 s.type = 'text/javascript'; 360 s.async = true; 361 s.src = urls[i]; 362 var x = document.getElementsByTagName('script')[0]; 363 x.parentNode.insertBefore(s, x); 364 } 365 }; 366 if(window.attachEvent) { 367 window.attachEvent('onload', asyncLoad); 368 } else { 369 window.addEventListener('load', asyncLoad, false); 370 } 371})();</script>
vendor: 1 bytes, line 371
371
372<script id="__st">var __st={"a":97856225569,"offset":-25200,"reqid":"ab8562dd-abfb-4eb4-83eb-e94518af2cda-1790864132","pageurl":"shop.realfaith.com\/","u":"77e7d35c8415","p":"home"};</script>
vendor: 1 bytes, line 372
372
373<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 373
373
374<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 374
374
375<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//shop.realfaith.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 375
375
376<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 = "//shop.realfaith.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>
376<script crossorigin="anonymous" defer="defer" src="//shop.realfaith.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 376
376
377<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 377
377
378<script> 379 window.Shopify = window.Shopify || {}; 380 window.Shopify.MCP = window.Shopify.MCP || {}; 381 window.Shopify.MCP.enabled = true; 382 window.Shopify.MCP.shop = "ju0enw-ki.myshopify.com"; 383 window.Shopify.MCP.mcpEndpoint = "https:\/\/shop.realfaith.com\/api\/mcp"; 384 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"]}}]; 385</script>
vendor: 1 bytes, line 385
385
386<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("\/\/shop.realfaith.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 387</script>
vendor: 1 bytes, line 387
387
388<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://shop.realfaith.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 389</script>
vendor: 1 bytes, line 389
389
390<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 391 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); 392</script>
vendor: 1 bytes, line 392
392
393<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})}})); 394</script>
vendor: 1 bytes, line 394
394
395<script id='scb4127' type='text/javascript' async='' src='https://shop.realfaith.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
395<script integrity="sha256-/LA1C2Bx6899fYCos0FS9qLj2opaGFm7AXrTUvBEb4s=" data-source-attribution="shopify.remote_product_tracking" data-shopify-remote-tracking="{"session_id":"01M3VX42FSPP2CRTP9ZRYEW38H","publisher_shop_id":97856225569,"theme_id":187197751585,"theme_published":true,"theme_store_id":857,"placement":"collection","event_data":{"handle":"","page_type":"home"},"recommendations_tracking_enabled":true}" defer="defer" src="//shop.realfaith.com/cdn/shopifycloud/storefront/assets/storefront/remote_product_tracking-91d95044.js" crossorigin="anonymous"></script>
395 396<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://shop.realfaith.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 397<style id="shopify-accelerated-checkout-cart"> 398 #shopify-buyer-consent { 399 margin-top: 1em; 400 display: inline-block; 401 width: 100%; 402} 403 404#shopify-buyer-consent.hidden { 405 display: none; 406} 407 408#shopify-subscription-policy-button { 409 background: none; 410 border: none; 411 padding: 0; 412 text-decoration: underline; 413 font-size: inherit; 414 cursor: pointer; 415} 416 417#shopify-subscription-policy-button::before { 418 box-shadow: none; 419} 420 421 </style> 422<link rel="stylesheet" media="screen" href="//shop.realfaith.com/cdn/shop/t/4/compiled_assets/styles.css?v=21970276522094634641789518927">
423<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
423 424 425 <style data-shopify>:root { 426 /* Base colors */ 427 --kit-color-primary: var(--colorTextBody); 428 --kit-color-secondary: var(--colorBody); 429 --kit-color-tint: var(--colorImageOverlay); 430 431 /* Absolute colors */ 432 --kit-color-focus: var(--colorTextBody); 433 434 /* Color-mix percentages */ 435 --kit-color-mix-tint-overlay: calc(var(--colorImageOverlayOpacity) * 100%); 436 437 /* Border radius */--kit-radius-md: 3px;/* Transitions */ 438 --kit-transition-normal: 300ms ease; 439 440 /* Focus */ 441 --kit-focus-ring-offset: 2px; 442 443 /* Layout */ 444 --kit-section-spacing: 40px; 445 --kit-section-gutter: 17px; 446 447 /* Typography */ 448 --kit-font-family-heading: var(--typeHeaderPrimary), var(--typeHeaderFallback); 449 --kit-font-family-body: var(--typeBasePrimary), var(--typeBaseFallback); 450 --kit-font-weight-normal: var(--typeBaseWeight); 451 --kit-heading-font-weight: var(--typeHeaderWeight); 452 --kit-heading-line-height: var(--typeHeaderLineHeight); 453 --kit-body-line-height: var(--typeBaseLineHeight); 454 --kit-heading-letter-spacing: var(--typeHeaderSpacing); 455 --kit-body-letter-spacing: var(--typeBaseSpacing);--kit-heading-text-transform: uppercase;/* Body font sizes (mobile-first) */ 456 --kit-font-size-xs: var(--typeBodyExtraSmallSize); 457 --kit-font-size-sm: var(--typeBodySmallSize); 458 --kit-font-size-base: var(--typeBodySizeMobile); 459 --kit-font-size-lg: var(--typeBaseSize); 460 461 /* Heading font sizes (mobile-first) */ 462 --kit-heading-font-size-sm: var(--typeH3SizeMobile); 463 --kit-heading-font-size-md: var(--typeH2SizeMobile); 464 --kit-heading-font-size-lg: var(--typeH1SizeMobile); 465 --kit-heading-font-size-xl: var(--typeH1Size); 466 467 /* Buttons */ 468 --kit-color-primary-button: var(--colorBtnPrimary); 469 --kit-color-on-primary-button: var(--colorBtnPrimaryText); 470 --kit-color-primary-button-border: var(--colorBtnPrimary); 471 --kit-color-secondary-button: var(--colorBody); 472 --kit-color-on-secondary-button: var(--colorTextBody); 473 --kit-color-secondary-button-border: var(--colorBorder); 474 } 475 476 @media (min-width: 700px) { 477 :root { 478 --kit-font-size-base: var(--typeBaseSize); 479 480 --kit-heading-font-size-sm: var(--typeH3Size); 481 --kit-heading-font-size-md: var(--typeH2Size); 482 --kit-heading-font-size-lg: var(--typeH1Size); 483 --kit-heading-font-size-xl: var(--typeH1SizeHero); 484 } 485 } 486 487 @media (min-width: 769px) { 488 :root { 489 --kit-section-spacing: 75px; 490 --kit-section-gutter: 40px; 491 } 492 } 493 494 /* typography */ 495 body .kit-text--caption { 496 font-size: var(--kit-font-size-sm); 497 text-transform: uppercase; 498 letter-spacing: var(--typeUppercaseSpacing); 499 color: inherit; 500 }</style> 501 502 <style data-shopify> 503 :root { 504 /* Root Variables */ 505 /* ========================= */ 506 --root-color-primary: #131016; 507 --color-primary: #131016; 508 --root-color-secondary: #fdf8f0; 509 --color-secondary: #fdf8f0; 510 --color-sale-tag: #c64d3e; 511 --color-sale-tag-text: #fdf8f0; 512 --layout-section-padding-block: 3rem; 513 --layout-section-padding-inline--md: 40px; 514 --layout-section-max-inline-size: 1420px; 515 516 517 /* Text */ 518 /* ========================= */ 519 520 /* Body Font Styles */ 521 --element-text-font-family--body: "Barlow Semi Condensed"; 522 --element-text-font-family-fallback--body: sans-serif; 523 --element-text-font-weight--body: 400; 524 --element-text-letter-spacing--body: 0.05em; 525 --element-text-text-transform--body: none; 526 527 /* Body Font Sizes */ 528 --element-text-font-size--body: initial; 529 --element-text-font-size--body-xs: 12px; 530 --element-text-font-size--body-sm: 14px; 531 --element-text-font-size--body-md: 16px; 532 --element-text-font-size--body-lg: 18px; 533 534 /* Body Line Heights */ 535 --element-text-line-height--body: 1.6; 536 537 /* Heading Font Styles */ 538 --element-text-font-family--heading: "Barlow Condensed"; 539 --element-text-font-family-fallback--heading: sans-serif; 540 --element-text-font-weight--heading: 400; 541 --element-text-letter-spacing--heading: 0.025em; 542 543 544 --element-text-text-transform--heading: uppercase; 545 546 547 548 /* Heading Font Sizes */ 549 --element-text-font-size--heading-2xl: 46px; 550 --element-text-font-size--heading-xl: 30px; 551 --element-text-font-size--heading-lg: 24px; 552 --element-text-font-size--heading-md: 22px; 553 --element-text-font-size--heading-sm: 16px; 554 --element-text-font-size--heading-xs: 14px; 555 556 /* Heading Line Heights */ 557 --element-text-line-height--heading: 1.1; 558 559 /* Buttons */ 560 /* ========================= */ 561 562 --element-button-radius: 3px; 563 564 565 --element-button-padding-block: 12px; 566 --element-button-text-transform: uppercase; 567 --element-button-font-weight: 800; 568 --element-button-font-size: max(calc(var(--typeBaseSize) - 4px), 13px); 569 --element-button-letter-spacing: var(--typeUppercaseSpacing); 570 571 /* Base Color Variables */ 572 --element-button-color-primary: #b9a76d; 573 --element-button-color-secondary: #fdf8f0; 574 --element-button-shade-border: 100%; 575 576 /* Hover State Variables */ 577 --element-button-shade-background--hover: 0%; 578 --element-button-shade-border--hover: 100%; 579 580 /* Focus State Variables */ 581 --element-button-color-focus: var(--color-focus); 582 583 /* Inputs */ 584 /* ========================= */ 585 586 --element-icon-radius: 3px; 587 588 589 --element-input-font-size: var(--element-text-font-size--body-sm); 590 --element-input-box-shadow-shade: 100%; 591 592 /* Hover State Variables */ 593 --element-input-background-shade--hover: 0%; 594 --element-input-box-shadow-spread-radius--hover: 1px; 595 } 596 597 @media only screen and (max-width: 768px) { 598 :root { 599 --element-button-font-size: max(calc(var(--typeBaseSize) - 5px), 11px); 600 } 601 } 602 603 .element-radio { 604 &:has(input[type='radio']:checked) { 605 --element-button-color: var(--element-button-color-secondary); 606 } 607 } 608 609 /* ATC Button Overrides */ 610 /* ========================= */ 611 612 .element-button[type="submit"],
613 .element-button[type="submit"] .element-text, 614 .element-button--shopify-payment-wrapper button { 615 --element-button-padding-block: 13px; 616 --element-button-padding-inline: 20px; 617 --element-button-line-height: 1.42; 618 --_font-size--body-md: var(--element-button-font-size); 619 620 line-height: 1.42 !important; 621 } 622 623 /* When dynamic checkout is enabled */ 624 product-form:has(.element-button--shopify-payment-wrapper) { 625 --element-button-color: #131016; 626 627 .element-button[type="submit"], 628 .element-button--shopify-payment-wrapper button { 629 min-height: 50px !important; 630 } 631 632 .shopify-payment-button { 633 margin: 0; 634 } 635 } 636 637 /* Hover animation for non-angled buttons */ 638 body:not([data-button_style='angled']) .element-button[type="submit"] { 639 position: relative; 640 overflow: hidden; 641 642 &:after { 643 content: ''; 644 position: absolute; 645 top: 0; 646 left: 150%; 647 width: 200%; 648 height: 100%; 649 transform: skewX(-20deg); 650 background-image: linear-gradient(to right,transparent, rgba(255,255,255,.25),transparent); 651 } 652 653 &:hover:after { 654 animation: shine 0.75s cubic-bezier(0.01, 0.56, 1, 1); 655 } 656 } 657 658 /* ANGLED STYLE - ATC Button Overrides */ 659 /* ========================= */ 660 661 [data-button_style='angled'] { 662 --element-button-shade-background--active: var(--element-button-shade-background); 663 --element-button-shade-border--active: var(--element-button-shade-border); 664 665 .element-button[type="submit"] { 666 --_box-shadow: none; 667 668 position: relative; 669 max-width: 94%; 670 border-top: 1px solid #b9a76d; 671 border-bottom: 1px solid #b9a76d; 672 673 &:before, 674 &:after { 675 content: ''; 676 position: absolute; 677 display: block; 678 top: -1px; 679 bottom: -1px; 680 width: 20px; 681 transform: skewX(-12deg); 682 background-color: #b9a76d; 683 } 684 685 &:before { 686 left: -6px; 687 } 688 689 &:after { 690 right: -6px; 691 } 692 } 693 694 /* When dynamic checkout is enabled */ 695 product-form:has(.element-button--shopify-payment-wrapper) { 696 .element-button[type="submit"]:before, 697 .element-button[type="submit"]:after { 698 background-color: color-mix(in srgb,var(--_color-text) var(--_shade-background),var(--_color-background)); 699 border-top: 1px solid #b9a76d; 700 border-bottom: 1px solid #b9a76d; 701 } 702 703 .element-button[type="submit"]:before { 704 border-left: 1px solid #b9a76d; 705 } 706 707 .element-button[type="submit"]:after { 708 border-right: 1px solid #b9a76d; 709 } 710 } 711 712 .element-button--shopify-payment-wrapper { 713 --_color-background: #b9a76d; 714 715 button:hover, 716 button:before, 717 button:after { 718 background-color: color-mix(in srgb,var(--_color-text) var(--_shade-background),var(--_color-background)) !important; 719 } 720 721 button:not(button:focus-visible) { 722 box-shadow: none !important; 723 } 724 } 725 } 726 </style> 727 728
728<script src="//shop.realfaith.com/cdn/shop/t/4/assets/vendor-scripts-v11.js" defer="defer"></script>
728<link rel="stylesheet" href="//shop.realfaith.com/cdn/shop/t/4/assets/country-flags.css">
728<script src="//shop.realfaith.com/cdn/shop/t/4/assets/theme.js?v=22554912860141883171783440470" defer="defer"></script>
728 729<!-- BEGIN app block: shopify://apps/loyalty-rewards-and-referrals/blocks/embed-sdk/6f172e67-4106-4ac0-89c5-b32a069b3101 --> 730 731<style 732 type='text/css' 733 data-lion-app-styles='main' 734 data-lion-app-styles-settings='{"disableBundledCSS":false,"disableBundledFonts":false,"useClassIsolator":false}' 735></style> 736 737<!-- loyaltylion.snippet.version=fca9e1ed84+13037 --> 738 739
740<script> 741 742 !function(t,n){function o(n){var o=t.getElementsByTagName("script")[0],i=t.createElement("script");i.src=n,i.crossOrigin="",o.parentNode.insertBefore(i,o)}if(!n.isLoyaltyLion){window.loyaltylion=n,void 0===window.lion&&(window.lion=n),n.version=2,n.isLoyaltyLion=!0;var i=new Date,e=i.getFullYear().toString()+i.getMonth().toString()+i.getDate().toString();o("https://sdk.loyaltylion.net/static/2/loader.js?t="+e);var r=!1;n.init=function(t){if(r)throw new Error("Cannot call lion.init more than once");r=!0;var a=n._token=t.token;if(!a)throw new Error("Token must be supplied to lion.init");for(var l=[],s="_push configure bootstrap shutdown on removeListener authenticateCustomer".split(" "),c=0;c<s.length;c+=1)!function(t,n){t[n]=function(){l.push([n,Array.prototype.slice.call(arguments,0)])}}(n,s[c]);o("https://sdk.loyaltylion.net/sdk/start/"+a+".js?t="+e+i.getHours().toString()),n._initData=t,n._buffer=l}}}(document,window.loyaltylion||[]); 743 744 745 746 loyaltylion.init( 747 { token: "60cf1106a556c6258d66245247ba5207" } 748 ); 749 750 751 752 loyaltylion.configure({ 753 disableBundledCSS: false, 754 disableBundledFonts: false, 755 useClassIsolator: false, 756 }) 757 758 759</script>
759 760 761 762 763<!-- END app block --><!-- BEGIN app block: shopify://apps/parkour-facebook-pixel/blocks/threasury_pixel/f23b2ffe-4c53-446e-ad3a-7976ffbee5c2 --> 764
765<script> 766 (function () { 767 const params = new URLSearchParams(window.location.search); 768 const hasBuilderMode = params.get('eventBuilderMode') === 'true'; 769 const encodedSelector = params.get('selector'); 770 771 if (hasBuilderMode) { 772 sessionStorage.setItem('eventBuilderMode', '1'); 773 } 774 775 const fromSession = sessionStorage.getItem('eventBuilderMode'); 776 777 // â Store the decoded selector globally 778 if (encodedSelector) { 779 try { 780 const decoded = decodeURIComponent(encodedSelector); 781 sessionStorage.setItem('eventBuilderSelector', decoded); 782 window.extractedSelector = decoded; 783 console.log('[Parkour] Builder selector loaded:', decoded); 784 } catch (err) { 785 console.warn('[Parkour] Failed to decode selector:', err); 786 } 787 } 788 789 // â Load eventBuilder.js if in builder mode 790 if (hasBuilderMode || fromSession) { 791 const s = document.createElement('script'); 792 s.src = "https://cdn.shopify.com/extensions/01a08191-1bc5-79e2-bd0a-2c7e134c9184/parkour-pixel-111/assets/eventBuilder.js"; 793 s.async = true; 794 document.head.appendChild(s); 795 } 796 })(); 797</script>
797 798
799<script> 800 document.addEventListener('DOMContentLoaded', function () { 801 // Metafield emitted via | json (with </ escaped): raw template-literal 802 // interpolation broke this whole block when the value contained a backtick or 803 // quote, and a closing script tag inside a value was stored XSS. 804 // base64_encode instead of | json: Shopify's json filter REFUSES multiline 805 // metafields (emits {"error":"json not allowed for this object"}), and base64 806 // output can never contain quotes/backslashes/closing tags â injection-proof 807 // for every metafield type. base64_encode encodes the UTF-8 BYTES, and atob() 808 // alone reads them back as Latin-1 â silent mojibake for any non-ASCII event 809 // name/trigger (JSON.parse still succeeds!). TextDecoder restores real UTF-8; 810 // for pure-ASCII values it is an exact identity. 811 const metaData = (() => { try { return new TextDecoder().decode(Uint8Array.from(atob(''), (c) => c.charCodeAt(0))); } catch (e) { return ''; } })(); 812 try { 813 // custom_events is a json-TYPE metafield, so `| json` can emit a real array â 814 // handle array, plain-JSON string, and the legacy base64 shape (mirrors 815 // safeParseMetaData) so the tracker loads on a fresh visitor's FIRST page view. 816 let customEvents = Array.isArray(metaData) ? metaData : null; 817 if (!customEvents && metaData) { 818 try { customEvents = JSON.parse(metaData); } 819 catch (e1) { 820 try { customEvents = JSON.parse(decodeURIComponent(atob(metaData))); } 821 catch (e2) { customEvents = null; } 822 } 823 } 824 const fromLocal = localStorage.getItem('Parkour_custom_events_fb'); 825 // Only load the tracker when there are actually events (an empty [] used to 826 // still boot the MutationObserver machinery on every page). 827 const hasCustomEvents = (Array.isArray(customEvents) && customEvents.length > 0) || (fromLocal && fromLocal !== '[]'); 828 if (hasCustomEvents) { 829 const script = document.createElement('script'); 830 script.src = "https://cdn.shopify.com/extensions/01a08191-1bc5-79e2-bd0a-2c7e134c9184/parkour-pixel-111/assets/customTracker.js"; 831 script.async = true; 832 document.head.appendChild(script); 833 } 834 } catch (e) { 835 console.warn('[Parkour] customTracker.js load failed', e); 836 } 837 }); 838</script>
838 839
840<script> 841const FacebookTracker = { 842 config: { 843 debug: localStorage.getItem('tdb') || null, 844 storageKeys: { 845 PREFERRED_ID: 'Parkour_preferred_id_fb', 846 AD_INFO: 'Parkour_ad_info_fb', 847 AD_LOGS: 'Parkour_ad_logs_fb', 848 PIXEL_STATUS: 'Parkour_pixel_app_status_fb', 849 PIXEL_CONFIG: 'Parkour_pixel_config_fb', 850 CUSTOMER_HASHED: 'Parkour_Customer_params_fb', 851 CUSTOM_EVENTS: 'Parkour_custom_events_fb', 852 WEB_PIXEL: 'Parkour_web_pixel_fb', 853 EXTERNAL_ID: 'Parkour_external_id', 854 PAGE_DATA: 'Parkour_page_data', 855 FBC: 'Parkour_fbc', 856 FBP: 'Parkour_fbp', 857 }, 858 fbParams: { 859 standard: ['fbclid', 'utm_campaign', 'ad_name', 'utm_source', 'adset_name', 'campaign_id', 'adset_id', 'ad_id', 'utm_id'] 860 } 861 }, 862 863 utils: { 864 log(message, data = null) { 865 if (FacebookTracker.config.debug === null) return; 866 console.log(`[Facebook Tracker] ${message}`, data); 867 }, 868 stripDiacritics(str) { 869 return str.normalize('NFD').replace(/[\u0300-\u036f]/g, ''); 870 }, 871 normalizeField(value, field) { 872 if (!value) return ''; 873 let v = String(value).trim().toLowerCase(); 874 switch (field) { 875 case 'email': 876 return v; 877 case 'phone': 878 return v.replace(/[^0-9]/g, ''); 879 case 'city': 880 return FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, ''); 881 case 'state': 882 v = FacebookTracker.utils.stripDiacritics(v); 883 v = v.replace(/\b(county|province|region|state|district)\b/g, ''); 884 return v.replace(/[^a-z]/g, ''); 885 case 'country': 886 v = FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, ''); 887 return v.length === 2 ? v : ''; 888 case 'zipCode': 889 return v.replace(/[\s\-]/g, ''); 890 default: 891 return FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, ''); 892 } 893 }, 894 async HashString(str) { 895 if (!str) return ''; 896 const encoder = new TextEncoder(); 897 const data = encoder.encode(str); 898 const hash = await crypto.subtle.digest('SHA-256', data); 899 return Array.from(new Uint8Array(hash)).map(b => b.toString(16).padStart(2, '0')).join(''); 900 }, 901 retry: async (fn, attempts = 3) => { 902 for (let i = 0; i < attempts; i++) { 903 try { return await fn(); } catch (e) { 904 if (i === attempts - 1) throw e; 905 await new Promise(r => setTimeout(r, (i + 1) * 1000)); 906 } 907 } 908 }, 909 generateId(prefix = 'CID') { 910 return `${prefix}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`; 911 }, 912 getCookie(name) { 913 const match = document.cookie.match(new RegExp(`(^| )${name}=([^;]+)`)); 914 return match ? match[2] : null; 915 }, 916 setCookie(name, value, days = 90) { 917 const expires = new Date(Date.now() + days * 864e5).toUTCString(); 918 document.cookie = `${name}=${value}; expires=${expires}; path=/; SameSite=Lax`; 919 }, 920 getUrlParam(name) { 921 return new URLSearchParams(window.location.search).get(name); 922 }, 923 getRawUrlParam(name) { 924 // Returns the param EXACTLY as it appears in the URL, without percent-decoding. 925 // URLSearchParams.get() decodes %XX escapes and converts "+" to a space, which 926 // mangles fbclid values and makes Meta flag a "modified fbclid value in fbc". 927 const match = window.location.search.match(new RegExp('[?&]' + name + '=([^&#]*)')); 928 return match ? match[1] : null; 929 }, 930 getFormattedTimestamp() { 931 const now = new Date(); 932 return { timestamp: now.toISOString(), formattedDate: now.toLocaleString() }; 933 }, 934 safeParseMetaData(data) { 935 // Two writer generations exist in the wild: the service app stores RAW JSON 936 // (json-type metafields), older installs stored btoa(encodeURIComponent(JSON)) 937 // in multiline string metafields. Try both â and NEVER throw: any third/corrupt 938 // shape must degrade to null, because a throw here aborted the rest of init() 939 // (fbc/fbp capture, cart attribution) for the whole shop. 940 try { 941 return JSON.parse(data); 942 } catch (e) { 943 try { 944 return JSON.parse(decodeURIComponent(atob(data))); 945 } catch (e2) { 946 FacebookTracker.utils.log('Unparseable metafield shape â skipping', e2); 947 return null; 948 } 949 } 950 } 951 }, 952 953 storage: { 954 set(key, value) { 955 localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value)); 956 }, 957 get(key, type = 'json') { 958 const val = localStorage.getItem(key); 959 if (!val) return null; 960 return type === 'string' ? val : JSON.parse(val); 961 }, 962 remove(key) { 963 localStorage.removeItem(key); 964 }, 965 appendToArray(key, item) { 966 const arr = FacebookTracker.storage.get(key) || []; 967 FacebookTracker.storage.set(key, [...arr, item]); 968 } 969 }, 970 971 tracking: {
972 async initializeExternalId() { 973 let id = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.EXTERNAL_ID, 'string'); 974 if (!id) { 975 id = FacebookTracker.utils.generateId(); 976 FacebookTracker.storage.set(FacebookTracker.config.storageKeys.EXTERNAL_ID, id); 977 } 978 return id; 979 }, 980 981 isFbcExpired(fbc) { 982 if (!fbc) return true; 983 const parts = fbc.split('.'); 984 if (parts.length < 4) return true; 985 const timestamp = parseInt(parts[2], 10); 986 if (isNaN(timestamp)) return true; 987 const sevenDaysMs = 7 * 24 * 60 * 60 * 1000; 988 return (Date.now() - timestamp) > sevenDaysMs; 989 }, 990 991 handleFbc() { 992 // Read the fbclid EXACTLY as it appears in the URL (no decoding â that is what 993 // produced the "modified fbclid value in fbc" warning) and the current _fbc cookie. 994 let fbclid = FacebookTracker.utils.getRawUrlParam('fbclid'); 995 // Recovery for %XX-RE-ENCODED fbclids (email gateways / redirectors): decode 996 // exactly once, and only when the result is a clean base64url click id â this 997 // restores the original value and cannot reintroduce the +âspace corruption 998 // (decodeURIComponent leaves '+' untouched). 999 if (fbclid && fbclid.indexOf('%') !== -1) { 1000 try { 1001 const decoded = decodeURIComponent(fbclid); 1002 if (/^[A-Za-z0-9_-]+$/.test(decoded)) fbclid = decoded; 1003 } catch (e) { /* malformed escape â keep raw */ } 1004 } 1005 const existing = FacebookTracker.utils.getCookie('_fbc'); 1006 1007 if (fbclid && fbclid != 'fbclid') { 1008 // A fbclid in the URL is a fresh click. If a _fbc cookie already exists for THIS 1009 // same fbclid (e.g. set by Meta's own pixel), keep it as-is â it carries the 1010 // authoritative timestamp/subdomain index. Only (re)build for a NEW click, which 1011 // also refreshes the timestamp and prevents sending an expired fbclid later. 1012 // Compare the click-id SEGMENT, not the string tail: Meta's fbevents.js writes a 1013 // fifth "appendix" segment (fb.1.<ts>.<fbclid>.AQYCAQIB), so endsWith() saw a 1014 // "different" click and overwrote Meta's cookie on every ad landing. 1015 if (existing && existing.split('.')[3] === fbclid) { 1016 FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, existing); 1017 return existing; 1018 } 1019 const fbc = `fb.1.${Date.now()}.${fbclid}`; 1020 FacebookTracker.utils.setCookie('_fbc', fbc); 1021 FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, fbc); 1022 return fbc; 1023 } 1024 // No fresh fbclid: reuse a stored/cookie fbc only if it is not expired; otherwise 1025 // clear it from both stores so we never send an expired fbclid (its localStorage 1026 // copy has no natural expiry). 1027 const stored = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBC, 'string'); 1028 const cookie = FacebookTracker.utils.getCookie('_fbc'); 1029 const fbc = stored || cookie; 1030 if (fbc && !FacebookTracker.tracking.isFbcExpired(fbc)) { 1031 FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, fbc); 1032 return fbc; 1033 } 1034 // Clear expired fbc 1035 FacebookTracker.storage.remove(FacebookTracker.config.storageKeys.FBC); 1036 FacebookTracker.utils.setCookie('_fbc', '', -1); 1037 return null; 1038 }, 1039 1040 handleFbp() { 1041 let fbp = FacebookTracker.utils.getCookie('_fbp'); 1042 if (!fbp) { 1043 fbp = `fb.1.${Date.now()}.${Math.floor(Math.random() * 1e9)}`; 1044 FacebookTracker.utils.setCookie('_fbp', fbp); 1045 } 1046 FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBP, fbp); 1047 return fbp; 1048 }, 1049 1050 collectAdParameters() { 1051 const adData = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.AD_INFO) || {}; 1052 let hasNew = false; 1053 adData.facebook = adData.facebook || {}; 1054 1055 FacebookTracker.config.fbParams.standard.forEach(param => { 1056 const value = FacebookTracker.utils.getUrlParam(param); 1057 if (value && adData.facebook[param] !== value) { 1058 adData.facebook[param] = value; 1059 hasNew = true; 1060 } 1061 }); 1062 1063 adData.referrer = document.referrer; 1064 if (hasNew) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.AD_INFO, adData); 1065 return adData; 1066 }, 1067 1068 collectPageData() { 1069 return { 1070 product_name: null, 1071 selected_variant: null, 1072 product_id: null, 1073 variant_id: null, 1074 collection_ids: [], 1075 tags: null, 1076 page_type: "index", 1077 currency: "USD", 1078 price: null 1079 } 1080 }, 1081 1082 logAdData(adParams) { 1083 if (!adParams?.facebook || Object.keys(adParams.facebook).length === 0) return; 1084 const entry = { 1085 ...adParams, 1086 url: window.location.href, 1087 referrer: document.referrer, 1088 ...FacebookTracker.utils.getFormattedTimestamp() 1089 }; 1090 FacebookTracker.storage.appendToArray(FacebookTracker.config.storageKeys.AD_LOGS, entry); 1091 FacebookTracker.utils.log('Ad data logged', entry); 1092 }, 1093 1094 async hashCustomer() {
1095 try { 1096 const customerData = { 1097 email: null, 1098 first_name: null, 1099 last_name: null, 1100 phone: null, 1101 default_address: null 1102 }; 1103 1104 // Geo context: only fetched when Shopify's own customer data is missing 1105 // fields, only when marketing consent is not denied, and cached for 24h. 1106 // Previously BOTH endpoints were hit on EVERY page view for EVERY visitor â 1107 // ipinfo's unauthenticated tier rate-limits, and shipping visitor IPs to a 1108 // third party regardless of consent state is a compliance exposure. 1109 let browsingGeo = {}, ipinfoGeo = {}; 1110 const addrPeek = customerData.default_address; 1111 const needsGeo = !(addrPeek?.province_code || addrPeek?.province) || !addrPeek?.city || !addrPeek?.country_code || !addrPeek?.zip; 1112 const consentAllows = (() => { 1113 const cp = window.Shopify && window.Shopify.customerPrivacy; 1114 if (cp && typeof cp.marketingAllowed === 'function') { 1115 try { return cp.marketingAllowed() !== false; } catch (e) { return true; } 1116 } 1117 return true; 1118 })(); 1119 if (needsGeo && consentAllows) { 1120 const cachedGeo = FacebookTracker.storage.get('Parkour_geo_fb'); 1121 if (cachedGeo && cachedGeo.exp > Date.now()) { 1122 browsingGeo = cachedGeo.browsingGeo || {}; 1123 ipinfoGeo = cachedGeo.ipinfoGeo || {}; 1124 } else { 1125 try { 1126 const [browsingResp, ipinfoResp] = await Promise.all([ 1127 fetch('/browsing_context_suggestions.json'), 1128 fetch('https://ipinfo.io/json') 1129 ]); 1130 browsingGeo = await browsingResp.json(); 1131 ipinfoGeo = await ipinfoResp.json(); 1132 FacebookTracker.storage.set('Parkour_geo_fb', { browsingGeo, ipinfoGeo, exp: Date.now() + 864e5 }); 1133 } catch (geoErr) { 1134 FacebookTracker.utils.log('Geo fetch failed, using Shopify data only', geoErr); 1135 } 1136 } 1137 } 1138 const countryCode = browsingGeo?.detected_values?.country?.handle || ipinfoGeo.country || ''; 1139 1140 const addr = customerData.default_address; 1141 const raw = { 1142 firstName: customerData.first_name || addr?.first_name || '', 1143 lastName: customerData.last_name || addr?.last_name || '', 1144 email: customerData.email || '', 1145 phone: customerData.phone || addr?.phone || '', 1146 state: addr?.province_code || addr?.province || ipinfoGeo.region || '', 1147 city: addr?.city || ipinfoGeo.city || '', 1148 country: addr?.country_code || countryCode, 1149 zipCode: addr?.zip || ipinfoGeo.postal || '' 1150 }; 1151 1152 const formatted = {}; 1153 for (const key in raw) { 1154 const normalized = FacebookTracker.utils.normalizeField(raw[key], key); 1155 if (normalized) formatted[key] = normalized; 1156 } 1157 1158 const hashed = {}; 1159 for (const key in formatted) { 1160 hashed[key] = await FacebookTracker.utils.HashString(formatted[key]); 1161 } 1162 1163 const existing = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.CUSTOMER_HASHED); 1164 const newHashed = { ...existing, ...hashed }; 1165 FacebookTracker.storage.set(FacebookTracker.config.storageKeys.CUSTOMER_HASHED, newHashed); 1166 } catch (err) { 1167 FacebookTracker.utils.log('Customer hash error', err, 'error'); 1168 } 1169 }, 1170 1171 captureFirstTouch() { 1172 const PREFIX = '__parkour_'; 1173 const urlParams = new URLSearchParams(window.location.search); 1174 1175 const setOnce = (key, value) => { 1176 const existing = document.cookie.includes(`${key}=`); 1177 if (!existing) { 1178 localStorage.setItem(key, value); 1179 const expires = new Date(Date.now() + 90 * 864e5).toUTCString(); 1180 document.cookie = `${key}=${encodeURIComponent(value)}; expires=${expires}; path=/; SameSite=Lax`; 1181 } 1182 }; 1183 1184 const clickIds = ['fbclid', 'ttclid', 'gclid', 'ScCid', 'scCid', 'srsltid']; 1185 const utms = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content','ad_id','campaign_id','adset_id' ]; 1186
1187 [...clickIds, ...utms].forEach(param => { 1188 const val = urlParams.get(param); 1189 if (val) setOnce(`${PREFIX}${param}`, val); 1190 }); 1191 1192 setOnce(`${PREFIX}landing`, window.location.href); 1193 setOnce(`${PREFIX}referrer`, document.referrer || 'direct'); 1194 } 1195 }, 1196 1197 cart: { 1198 async updateAttributes(attributes) { 1199 // POST only OUR keys: /cart/update.js merges the provided attributes and leaves 1200 // every other attribute untouched. The old read-modify-write (GET /cart.js + 1201 // full-snapshot POST) doubled the request count on every page view and raced 1202 // the customer's own updates and the sibling TikTok/Snapchat trackers â a stale 1203 // snapshot could re-apply an OLD fbc over a freshly captured one. 1204 return FacebookTracker.utils.retry(async () => { 1205 return fetch('/cart/update.js', { 1206 method: 'POST', 1207 headers: { 'Content-Type': 'application/json' }, 1208 body: JSON.stringify({ attributes }) 1209 }).then(res => res.json()); 1210 }); 1211 } 1212 }, 1213 1214 async init() { 1215 try { 1216 // Metafields emitted via | json (with </ escaped): raw template-literal 1217 // interpolation meant a single quote/backtick in any metafield killed init() 1218 // for the whole shop (no fbc/fbp capture, no cart attribution) and a closing 1219 // script tag in a value was stored XSS. normalizeMetafield keeps downstream string 1220 // handling identical whether the metafield renders as a string or an object. 1221 const normalizeMetafield = (v) => (v == null ? '' : (typeof v === 'string' ? v : JSON.stringify(v))); 1222 // b64: Shopify's json filter refuses multiline metafields (renders 1223 // {"error":"json not allowed for this object"} â this broke pixel_config), 1224 // while base64 output is injection-proof for EVERY metafield type: its 1225 // alphabet cannot contain quotes, backslashes, or closing script tags. 1226 // TextDecoder is required: base64_encode emits UTF-8 BYTES and bare atob() 1227 // reads them as Latin-1 â silently mojibaking non-ASCII metafield content. 1228 // Identity for ASCII, so the legacy btoa(encodeURIComponent(...)) shape that 1229 // safeParseMetaData handles is unaffected. 1230 const b64 = (s) => { try { return new TextDecoder().decode(Uint8Array.from(atob(s), (c) => c.charCodeAt(0))); } catch (e) { return ''; } }; 1231 const pixelConfig = normalizeMetafield(b64('SlRWQ0pUZENKVEl5Wm1KVFpYUjBhVzVuY3lVeU1pVXpRU1UzUWlVeU1tTnZiblpsY25OcGIyNUJjR2tsTWpJbE0wRWxOMElsTWpKamIyNTJaWEp6YVc5dVFYQnBVM1JoZEhWekpUSXlKVE5CSlRJeWVXVnpKVEl5SlRKREpUSXlkR1Z6ZEVWMlpXNTBRMjlrWlNVeU1pVXpRU1V5TWlVeU1pVTNSQ1V5UXlVeU1tRjFkRzlKYm5CMWRGQnBlR1ZzSlRJeUpUTkJKVGRDSlRJeWMyVnNaV04wUW5WemFXNWxjM05CWTJOdmRXNTBKVEl5SlROQkpUSXlOek0wTnpjeE5qVXhPVGszTURFeUpUSXlKVEpESlRJeWMyVnNaV04wVUdsNFpXd2xNaklsTTBFbE1qSXlPRFl5TURJM09EUXlNREUwTlRVbE1qSWxNa01sTWpKd2FYaGxiRTVoYldVbE1qSWxNMEVsTWpKU1pXRnNSbUZwZEdnbE1qQlFhWGhsYkNVeU1DMGxNakF5T0RZeU1ESTNPRFF5TURFME5UVWxNaklsTjBRbE1rTWxNakp0WVc1MVlXeEpibkIxZEZCcGVHVnNKVEl5SlROQkpUZENKVEl5Y0dsNFpXeE9ZVzFsSlRJeUpUTkJKVEl5VW1WaGJFWmhhWFJvSlRJd1VHbDRaV3dsTWpBdEpUSXdNamcyTWpBeU56ZzBNakF4TkRVMUpUSXlKVEpESlRJeWNHbDRaV3hKWkNVeU1pVXpRU1V5TWpJNE5qSXdNamM0TkRJd01UUTFOU1V5TWlVM1JDVXlReVV5TW5ObGRIUnBibWR6SlRJeUpUTkJKVGRDSlRJeVlXUjJZVzVqWldSVWNtRmphMmx1WnlVeU1pVXpRU1UzUWlVeU1uUjVjR1VsTWpJbE0wRWxNakpoYkd3bE1qQndZV2RsY3lVeU1pVXlReVV5TW5SaFozTWxNaklsTTBFbE5VSWxOVVFsTWtNbE1qSndjbTlrZFdOMGN5VXlNaVV6UVNVMVFpVTFSQ1V5UXlVeU1tTnZiR3hsWTNScGIyNXpKVEl5SlROQkpUVkNKVFZFSlRkRUpUSkRKVEl5WlhabGJuUlRaWFIwYVc1bmN5VXlNaVV6UVNVM1FpVXlNblpwWlhkRGIyNTBaVzUwSlRJeUpUTkJkSEoxWlNVeVF5VXlNbkJoWjJWV2FXVjNKVEl5SlROQmRISjFaU1V5UXlVeU1tbHVhWFJwWVhSbFpFTm9aV05yYjNWMEpUSXlKVE5CZEhKMVpTVXlReVV5TW1Ga1pGUnZRMkZ5ZENVeU1pVXpRWFJ5ZFdVbE1rTWxNakp3ZFhKamFHRnpaU1V5TWlVelFYUnlkV1VsTWtNbE1qSlRaV0Z5WTJnbE1qSWxNMEYwY25WbEpUSkRKVEl5ZG1sbGQwTnZiR3hsWTNScGIyNGxNaklsTTBGbVlXeHpaU1V5UXlVeU1uWnBaWGREWVhKMEpUSXlKVE5CWm1Gc2MyVWxNa01sTWpKaFpHUlFZWGx0Wlc1MFNXNW1ieVV5TWlVelFYUnlkV1VsTjBRbE1rTWxNakpqZFhOMGIyMWxja2x1Wm05eWJXRjBhVzl1VUdGeVlXMWxkR1Z5Y3lVeU1pVXpRU1UzUWlVeU1tWnBjbk4wVG1GdFpTVXlNaVV6UVhSeWRXVWxNa01sTWpKc1lYTjBUbUZ0WlNVeU1pVXpRWFJ5ZFdVbE1rTWxNakpsYldGcGJDVXlNaVV6UVhSeWRXVWxNa01sTWpKd2FHOXVaU1V5TWlVelFYUnlkV1VsTWtNbE1qSmphWFI1SlRJeUpUTkJkSEoxWlNVeVF5VXlNbk4wWVhSbEpUSXlKVE5CZEhKMVpTVXlReVV5TW1OdmRXNTBjbmtsTWpJbE0wRjBjblZsSlRKREpUSXllbWx3UTI5a1pTVXlNaVV6UVhSeWRXVWxNa01sTWpKbGVIUmxjbTVoYkVsa0pUSXlKVE5CZEhKMVpTVTNSQ1UzUkNVM1JDVXlReVV5TW1sa0pUSXlKVE5CSlRJeU5tRmhObVV5T1dOaE5qWmtPVEpoWVRCall6RmlaREZoSlRJeUpUSkRKVEl5YzJodmNDVXlNaVV6UVNVeU1tcDFNR1Z1ZHkxcmFTNXRlWE5vYjNCcFpua3VZMjl0SlRJeUpUSkRKVEl5WVdOMGFYWmxKVEl5SlROQmRISjFaU1V5UXlVeU1uUjVjR1VsTWpJbE0wRWxNakpHUVVORlFrOVBTeVV5TWlVeVF5VXlNbkJwZUdWc1NXUWxNaklsTTBFbE1qSXlPRFl5TURJM09EUXlNREUwTlRVbE1qSWxNa01sTWpKeVpYTndaV04wUTI5dmEybGxRMjl1YzJWdWRDVXlNaVV6UVdaaGJITmxKVGRFSlRWRQ==')); 1232 const appStatus = normalizeMetafield(b64('ZEhKMVpRPT0=')); 1233 const preferredId = normalizeMetafield(b64('')); 1234 const customEvents = normalizeMetafield(b64('')); 1235 const webPixelEnabled = normalizeMetafield(b64('')); 1236 const supportExternalCheckout = normalizeMetafield(b64('')); 1237 1238 // null-guarded: an unparseable metafield must NOT clobber the last-known-good 1239 // value already in localStorage (the pixel keeps running on the previous config). 1240 if (pixelConfig) { 1241 const configDecoded = FacebookTracker.utils.safeParseMetaData(pixelConfig); 1242 if (configDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PIXEL_CONFIG, configDecoded); 1243 } 1244 1245 if (appStatus) { 1246 const statusDecoded = FacebookTracker.utils.safeParseMetaData((appStatus)); 1247 if (statusDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PIXEL_STATUS, statusDecoded); 1248 } 1249 if (webPixelEnabled) { 1250 const webPixelEnabledDecoded = FacebookTracker.utils.safeParseMetaData((webPixelEnabled)); 1251 if (webPixelEnabledDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.WEB_PIXEL, webPixelEnabledDecoded); 1252 } 1253 if(preferredId) { 1254 FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PREFERRED_ID, preferredId); 1255 } 1256 1257 if (customEvents) { 1258 const eventsDecoded = FacebookTracker.utils.safeParseMetaData(customEvents); 1259 if (eventsDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.CUSTOM_EVENTS, eventsDecoded); 1260 } 1261
1262 // Check if external checkout support is enabled (defaults to true if metafield doesn't exist) 1263 let isExternalCheckoutEnabled = true; 1264 if (supportExternalCheckout) { 1265 try { 1266 const supportDecoded = FacebookTracker.utils.safeParseMetaData(supportExternalCheckout); 1267 isExternalCheckoutEnabled = supportDecoded?.enabled !== false; 1268 } catch (e) { 1269 FacebookTracker.utils.log('Failed to parse support_external_checkout metafield', e); 1270 // Default to true if parsing fails 1271 isExternalCheckoutEnabled = true; 1272 } 1273 } 1274 1275 // LOCAL capture first â a network failure below (cart 430 under load, geo 1276 // outage) must never cost first-touch attribution or fbc/fbp persistence. 1277 const externalId = await FacebookTracker.tracking.initializeExternalId(); 1278 FacebookTracker.tracking.handleFbc(); 1279 FacebookTracker.tracking.handleFbp(); 1280 FacebookTracker.tracking.captureFirstTouch(); 1281 1282 const pageData = FacebookTracker.tracking.collectPageData(); 1283 if (pageData) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PAGE_DATA, pageData); 1284 1285 const adParams = FacebookTracker.tracking.collectAdParameters(); 1286 if (adParams) FacebookTracker.tracking.logAdData(adParams); 1287 1288 const fbc = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBC, 'string'); 1289 const fbp = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBP, 'string'); 1290 1291 // Network side-effects LAST, individually guarded so one failing never 1292 // aborts the other. 1293 if (isExternalCheckoutEnabled) { 1294 try { 1295 await FacebookTracker.cart.updateAttributes({ 1296 [FacebookTracker.config.storageKeys.EXTERNAL_ID]: externalId, 1297 ...(fbc ? { [FacebookTracker.config.storageKeys.FBC]: fbc } : {}), 1298 ...(fbp ? { [FacebookTracker.config.storageKeys.FBP]: fbp } : {}) 1299 }); 1300 } catch (cartErr) { 1301 FacebookTracker.utils.log('Cart attribute update failed', cartErr); 1302 } 1303 } 1304 1305 try { 1306 await FacebookTracker.tracking.hashCustomer(); 1307 } catch (hashErr) { 1308 FacebookTracker.utils.log('hashCustomer failed', hashErr); 1309 } 1310 1311 FacebookTracker.utils.log('FacebookTracker initialized', { externalId, pageData, adParams }); 1312 } catch (e) { 1313 FacebookTracker.utils.log('Init failed', e, 'error'); 1314 } 1315 } 1316}; 1317 1318document.addEventListener('DOMContentLoaded', () => { 1319 FacebookTracker.init().catch(e => FacebookTracker.utils.log('Init error', e, 'error')); 1320}); 1321</script>
1321 1322<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1323<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: 97856225569,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};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 1323
1323
1324<script> 1325 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 1326</script>
vendor: 1 bytes, line 1326
1326
1327<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}
1327).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: 97856225569,storefrontBaseUrl: "https://shop.realfaith.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://shop.realfaith.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2891120929","configuration":"{\"environment\":\"production\",\"altId\":\"JGlLziM1e7VU4fzwBYxE\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"b94bc1f73454f01881342d7fb961803e","type":"APP","apiClientId":314567196673,"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":"2888597793","configuration":"{\"pixel_id\":\"2999995233677254\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2870542625","configuration":"{\"accountID\":\"6aa6e129a66d92aa0cc1bd19\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"36e3d4a51ce4f54c09fc3ba4b868fb3d","type":"APP","apiClientId":161884340225,"privacyPurposes":["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":"2747138337","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6e6b2e32fe
13276866115b7e49e2ae3c75b2","type":"APP","apiClientId":5940125,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"RealFaith","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"ju0enw-ki.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/shop.realfaith.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"10391607640353","handle":"realfaith-america-hat","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53184260702497","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10448781639969","handle":"more-fathers-less-govmnt-camo-hat","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53065222586657","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10391606690081","handle":"in-god-we-trust-hat","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52920585781537","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10391598039329","handle":"jesus-is-king-black-gold","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52920555766049","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10391592010017","handle":"in-god-we-trust","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52936598356257","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10494019469601","handle":"more-fathers-less-govmnt-vintage-tee-1","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53239261167905","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10343559889185","handle":"more-fathers-less-govmnt-vintage-tee","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52661509030177","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10494109122849","handle":"fight-the-good-fight-faded-tee","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53239399612705","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10343541801249","handle":"fight-the-good-fight-tee-vintage-cowboy-shirt","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52661414920481","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10393431015713","handle":"jesus-is-king-hat-1","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52932507795745","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10343541244193","handle":"kill-sin-embroidered-tee","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52661408006433","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
1327,{"id":"10474284810529","handle":"kill-sin-canvas-trucker-hat","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53183863193889","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10328591335713","handle":"king-of-kings","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52600624513313","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10327330488609","handle":"new-days-old-demons-book","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52597204451617","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10328573444385","handle":"act-like-a-man-9-ways-to-punch-life-in-the-mouth","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52600565530913","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10525813702945","handle":"how-to-be-a-real-man","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53422548648225","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10343543505185","handle":"good-fight-hoodie-vintage-rider-sweatshirt","isCollective":false,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52661421211937","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://shop.realfaith.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"187197751585","themeStoreId":"857","themePublished":"true","eventMetadataId":"4c620676-dccb-42cd-bce1-74b73f03d337","pageType":"home","shopId":"97856225569","storefrontBaseUrl":"https:\/\/shop.realfaith.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1327<script> 1328 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 1329 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 1330 window.ShopifyAnalytics.meta.currency = 'USD'; 1331 var meta = {"page":{"pageType":"home","requestId":"ab8562dd-abfb-4eb4-83eb-e94518af2cda-1790864132"}}; 1332 for (var attr in meta) { 1333 window.ShopifyAnalytics.meta[attr] = meta[attr]; 1334 } 1335</script>
vendor: 1 bytes, line 1335
1335
1336<script class="analytics"> 1337 (function () { 1338 var customDocumentWrite = function(content) { 1339 var jquery = null; 1340 1341 if (window.jQuery) { 1342 jquery = window.jQuery; 1343 } else if (window.Checkout && window.Checkout.$) { 1344 jquery = window.Checkout.$; 1345 } 1346 1347 if (jquery) { 1348 jquery('body').append(content); 1349 } 1350 }; 1351 1352 var hasLoggedConversion = function(token) { 1353 if (token) { 1354 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 1355 } 1356 return false; 1357 } 1358 1359 var setCookieIfConversion = function(token) { 1360 if (token) { 1361 var twoMonthsFromNow = new Date(Date.now()); 1362 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 1363 1364 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 1365 } 1366 } 1367 1368 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 1369 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 1370 if (trekkie.integrations) { 1371 return; 1372 } 1373 trekkie.methods = [ 1374 'identify', 1375 'page', 1376 'ready', 1377 'track', 1378 'trackForm', 1379 'trackLink' 1380 ]; 1381 trekkie.factory = function(method) { 1382 return function() { 1383 var args = Array.prototype.slice.call(arguments); 1384 args.unshift(method); 1385 trekkie.push(args); 1386 if (method == 'track' || method == 'page') { 1387 var pageUrl; 1388 try { 1389 pageUrl = window.location.href; 1390 } catch (e) {} 1391 var pageReferrer; 1392 try { 1393 pageReferrer = document.referrer; 1394 } catch (e) {} 1395 try { 1396 if (window.__TREKKIE_SHIM_QUEUE == null) { 1397 window.__TREKKIE_SHIM_QUEUE = []; 1398 } 1399 window.__TREKKIE_SHIM_QUEUE.push({ 1400 from: 'trekkie-stub', 1401 method: method, 1402 args: args.slice(1), 1403 pageContext: { 1404 url: pageUrl, 1405 referrer: pageReferrer 1406 } 1407 }); 1408 } catch (e) { 1409 // no-op 1410 } 1411 } 1412 return trekkie; 1413 }; 1414 }; 1415 for (var i = 0; i < trekkie.methods.length; i++) { 1416 var key = trekkie.methods[i]; 1417 trekkie[key] = trekkie.factory(key); 1418 } 1419 trekkie.load = function(config) { 1420 trekkie.config = config || {}; 1421 trekkie.config.initialDocumentCookie = document.cookie; 1422 var first = document.getElementsByTagName('script')[0]; 1423var script = document.createElement('script'); 1424script.type = 'text/javascript'; 1425script.onerror = function(e) { 1426 var scriptFallback = document.createElement('script'); 1427 scriptFallback.type = 'text/javascript'; 1428 scriptFallback.onerror = function(error) { 1429 var Monorail = { 1430 produce: function produce(monorailDomain, schemaId, payload) { 1431 var currentMs = new Date().getTime(); 1432 var event = { 1433 schema_id: schemaId, 1434 payload: payload, 1435 metadata: { 1436 event_created_at_ms: currentMs, 1437 event_sent_at_ms: currentMs 1438 } 1439 }; 1440 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 1441 }, 1442 sendRequest: function sendRequest(endpointUrl, payload) { 1443 // Try the sendBeacon API 1444 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 1445 var blobData = new window.Blob([payload], { 1446 type: 'text/plain' 1447 }); 1448 1449 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 1450 return true; 1451 } // sendBeacon was not successful 1452 1453 } // XHR beacon 1454 1455 var xhr = new XMLHttpRequest(); 1456 1457 try { 1458 xhr.open('POST', endpointUrl); 1459 xhr.setRequestHeader('Content-Type', 'text/plain'); 1460 xhr.send(payload); 1461 } catch (e) { 1462 console.log(e); 1463 } 1464 1465 return false; 1466 }, 1467 isIos12: function isIos12() { 1468 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 1469 } 1470 }; 1471 Monorail.produce('monorail-edge.shopifysvc.com', 1472 'trekkie_storefront_load_errors/1.1', 1473 {shop_id: 97856225569, 1474 theme_id: 187197751585, 1475 app_name: "storefront", 1476 context_url: window.location.href, 1477 source_url: "//shop.realfaith.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 1478 1479 }; 1480 scriptFallback.async = true; 1481 scriptFallback.src = '//shop.realfaith.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1482 first.parentNode.insertBefore(scriptFallback, first); 1483}; 1484script.async = true; 1485script.src = '//shop.realfaith.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 1486first.parentNode.insertBefore(script, first); 1487 1488 }; 1489 trekkie.load( 1490 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":97856225569,"isMerchantRequest":null,"themeId":187197751585,"themeCityHash":"16045327258684619787","contentLanguage":"en","currency":"USD","eventMetadataId":"4c620676-dccb-42cd-bce1-74b73f03d337"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1491 ); 1492 1493 var loaded = false;
1494 trekkie.ready(function() { 1495 if (loaded) return; 1496 loaded = true; 1497 1498 window.ShopifyAnalytics.lib = window.trekkie; 1499 1500 var originalDocumentWrite = document.write; 1501 document.write = customDocumentWrite; 1502 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1503 document.write = originalDocumentWrite; 1504 1505 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1506 var token = match? match[1]: undefined; 1507 if (!hasLoggedConversion(token)) { 1508 setCookieIfConversion(token); 1509 1510 } 1511 }); 1512 1513 window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"ab8562dd-abfb-4eb4-83eb-e94518af2cda-1790864132","shopifyEmitted":true}); 1514 1515 var eventsListenerScript = document.createElement('script'); 1516 eventsListenerScript.async = true; 1517 eventsListenerScript.src = "//shop.realfaith.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1518 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1519})();</script>
vendor: 1 bytes, line 1519
1519
1520<script 1521 defer 1522 src="https://shop.realfaith.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 1523 data-application="storefront-renderer" 1524 data-shop-id="97856225569" 1525 data-render-region="gcp-europe-west1" 1526 data-page-type="index" 1527 data-theme-instance-id="187197751585" 1528 data-theme-name="Impulse" 1529 data-theme-version="9.2.0" 1530 data-monorail-region="shop_domain" 1531 data-resource-timing-sampling-rate="10" 1532 data-shs="true" 1533 data-shs-beacon="true" 1534 data-shs-export-with-fetch="true" 1535 data-shs-logs-sample-rate="1" 1536 data-shs-beacon-endpoint="https://shop.realfaith.com/api/collect" 1537></script>
vendor: 1 bytes, line 1537
1537
1538<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script>
1538<script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"97856225569","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Sign in or create account"},{"key":"account_menu.signed_out_state.section_divider","value":"More ways to sign in"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OR"},{"key":"account_menu.signed_out_state.email_field_label","value":"Email"},{"key":"account_menu.signed_out_state.orders_button","value":"Orders"},{"key":"account_menu.signed_out_state.profile_button","value":"Profile"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Sign in with Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continue with Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continue with Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Email me with news and offers"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Hi, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Account"},{"key":"account_menu.signed_in_state.orders_button","value":"Orders"},{"key":"account_menu.signed_in_state.profile_button","value":"Profile"},{"key":"account_menu.location_picker.sheet_title","value":"Locations"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Search"},{"key":"account_menu.aria_labels.close_menu","value":"Close menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Back to main menu from {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, opens submenu"},{"key":"account_menu.aria_labels.loading_menu","value":"Loading menu"},{"key":"account_menu.aria_labels.account","value":"Account"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Sign in with email"},{"key":"account_menu.aria_labels.sign_in","value":"Sign in"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":false},"visitor":{"country":"US","language":"en"}}</script>
1538 1539<meta name="shopify-y" content="d0dacf49-583d-4ae1-a362-1ab7b1775e54" data-expiration="1822421732000"><meta name="shopify-s" content="1249c12c-f5aa-41a4-84b4-71f6aa4f2b69" data-expiration="1790865932000"><meta name="new-cookie-storage-activated" content="t"> 1540</head> 1541 1542<body class="template-index" data-center-text="center" data-button_style="round-slight" data-type_header_capitalize="true" data-type_headers_align_text="center" data-type_product_capitalize="true" data-swatch_style="round" data-disable-animations="true"> 1543 1544 <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a> 1545 1546 <div id="PageContainer" class="page-container"> 1547 <div class="transition-body"><!-- BEGIN sections: header-group --> 1548<div id="shopify-section-sections--26924227428641__announcement" class="shopify-section shopify-section-group-header-group"><style></style> 1549 <div class="announcement-bar" data-sticky="true" data-sticky-mobile="false"> 1550 <div class="page-width"> 1551 <div class="slideshow-wrapper"> 1552 <button type="button" class="visually-hidden slideshow__pause" data-id="sections--26924227428641__announcement" aria-live="polite"> 1553 <span class="slideshow__pause-stop"> 1554 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pause" viewBox="0 0 10 13"><g fill-rule="evenodd"><path d="M0 0h3v13H0z"/><path d="M7 0h3v13H7z"/></g></svg> 1555 <span class="icon__fallback-text">Pause slideshow</span> 1556 </span> 1557 <span class="slideshow__pause-play"> 1558 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-play" viewBox="18.24 17.35 24.52 28.3"><path fill="#323232" d="M22.1 19.151v25.5l20.4-13.489-20.4-12.011z"/></svg> 1559 <span class="icon__fallback-text">Play slideshow</span> 1560 </span> 1561 </button> 1562 1563 <div 1564 id="AnnouncementSlider" 1565 class="announcement-slider" 1566 data-compact="false" 1567 data-block-count="1"><div 1568 id="AnnouncementSlide-announcement-1" 1569 class="announcement-slider__slide" 1570 data-index="0" 1571 1572 ><a class="announcement-link" href="https://realfaith.com/who-we-are/"><span class="announcement-text">Every Purchase Helps Fund Our Mission</span><span class="announcement-link-text">Click here to see how every purchase fuels global ministry, delivering Bible teaching and resources to equip the next generation.</span></a></div></div> 1573 </div> 1574 </div> 1575 </div> 1576 1577 1578 1579 1580<style> #shopify-section-sections--26924227428641__announcement body {font-family: "Univers Condensed", sans-serif; color: #fdf8f0;} </style></div><div id="shopify-section-sections--26924227428641__header" class="shopify-section shopify-section-group-header-group"> 1581 1582<div id="NavDrawer" class="drawer drawer--right"> 1583 <div class="drawer__contents"> 1584 <div class="drawer__fixed-header"> 1585 <div class="drawer__header appear-animation appear-delay-1"> 1586 <div class="h2 drawer__title"></div> 1587 <div class="drawer__close"> 1588 <button type="button" class="drawer__close-button js-drawer-close"> 1589 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg> 1590 <span class="icon__fallback-text">Close menu</span> 1591 </button> 1592 </div> 1593 </div> 1594 </div> 1595 <div class="drawer__scrollable"> 1596 <ul class="mobile-nav" role="navigation" aria-label="Primary"><li class="mobile-nav__item appear-animation appear-delay-2"><a href="/" class="mobile-nav__link mobile-nav__link--top-level" data-active="true">Home</a></li><li class="mobile-nav__item appear-animation appear-delay-3"><div class="mobile-nav__has-sublist"><a href="/collections/merch" 1597 class="mobile-nav__link mobile-nav__link--top-level" 1598 id="Label-collections-merch2" 1599 > 1600 Shop 1601 </a> 1602 <div class="mobile-nav__toggle"> 1603 <button type="button" 1604 aria-controls="Linklist-collections-merch2" 1605 aria-labelledby="Label-collections-merch2" 1606 class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 1607 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1607ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg> 1608</span> 1609</button> 1610 </div></div><div id="Linklist-collections-merch2" 1611 class="mobile-nav__sublist collapsible-content collapsible-content--all" 1612 > 1613 <div class="collapsible-content__inner"> 1614 <ul class="mobile-nav__sublist"><li class="mobile-nav__item"> 1615 <div class="mobile-nav__child-item"><a href="/collections/t-shirts" 1616 class="mobile-nav__link" 1617 id="Sublabel-collections-t-shirts1" 1618 > 1619 T-shirts 1620 </a></div></li><li class="mobile-nav__item"> 1621 <div class="mobile-nav__child-item"><a href="/collections/hoodies" 1622 class="mobile-nav__link" 1623 id="Sublabel-collections-hoodies2" 1624 > 1625 Hoodies 1626 </a></div></li><li class="mobile-nav__item"> 1627 <div class="mobile-nav__child-item"><a href="/collections/hats" 1628 class="mobile-nav__link" 1629 id="Sublabel-collections-hats3" 1630 > 1631 Hats 1632 </a></div></li><li class="mobile-nav__item"> 1633 <div class="mobile-nav__child-item"><a href="/collections/accessories" 1634 class="mobile-nav__link" 1635 id="Sublabel-collections-accessories4" 1636 > 1637 Accessories 1638 </a></div></li><li class="mobile-nav__item"> 1639 <div class="mobile-nav__child-item"><a href="https://shop.realfaith.com/collections/america-250-collection" 1640 class="mobile-nav__link" 1641 id="Sublabel-https-shop-realfaith-com-collections-america-250-collection5" 1642 > 1643 Patriot Collection 1644 </a></div></li></ul></div> 1645 </div></li><li class="mobile-nav__item appear-animation appear-delay-4"><div class="mobile-nav__has-sublist"><a href="/collections/resources" 1646 class="mobile-nav__link mobile-nav__link--top-level" 1647 id="Label-collections-resources3" 1648 > 1649 Books 1650 </a> 1651 <div class="mobile-nav__toggle"> 1652 <button type="button" 1653 aria-controls="Linklist-collections-resources3" 1654 aria-labelledby="Label-collections-resources3" 1655 class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 1656 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg> 1657</span> 1658</button> 1659 </div></div><div id="Linklist-collections-resources3" 1660 class="mobile-nav__sublist collapsible-content collapsible-content--all" 1661 > 1662 <div class="collapsible-content__inner"> 1663 <ul class="mobile-nav__sublist"><li class="mobile-nav__item"> 1664 <div class="mobile-nav__child-item"><a href="/collections/books" 1665 class="mobile-nav__link" 1666 id="Sublabel-collections-books1" 1667 > 1668 Books 1669 </a></div></li><li class="mobile-nav__item"> 1670 <div class="mobile-nav__child-item"><a href="/collections/study-guides" 1671 class="mobile-nav__link" 1672 id="Sublabel-collections-study-guides2" 1673 > 1674 Study Guides 1675 </a></div></li><li class="mobile-nav__item"> 1676 <div class="mobile-nav__child-item"><a href="/collections/devotionals" 1677 class="mobile-nav__link" 1678 id="Sublabel-collections-devotionals3" 1679 > 1680 Devotionals 1681 </a></div></li></ul></div> 1682 </div></li><li class="mobile-nav__item appear-animation appear-delay-5"> 1683 <div class="mobile-nav__child-item"> 1684 1685 1686 1687 1688 1689<shopify-store store-domain="https://shop.realfaith.com" country="US" language="en"></shopify-store> 1690<shopify-account 1691 1692 menu="customer-account-main-menu" 1693 1694> 1695 <div slot="signed-out-avatar"> 1696
1697 <span 1698 class="mobile-nav__link mobile-nav__link--top-level" 1699 style="display: flex; align-items: center; gap: 8px;" 1700 > 1701 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><title>account</title><path d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.41 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.75 2.7 9.51 6 11.41v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16Z"/></svg> 1702 Log in 1703 </span> 1704 1705 1706 </div> 1707</shopify-account> 1708 1709 1710 1711 1712 1713 </div> 1714 </li></ul><ul class="mobile-nav__social appear-animation appear-delay-6"><li class="mobile-nav__social-item"> 1715 <a target="_blank" rel="noopener" href="https://www.instagram.com/realfaith.ministries/" title="RealFaith on Instagram"> 1716 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><title>instagram</title><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5z"/><path fill="#444" d="M26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg> 1717 <span class="icon__fallback-text">Instagram</span> 1718 </a> 1719 </li><li class="mobile-nav__social-item"> 1720 <a target="_blank" rel="noopener" href="https://www.facebook.com/profile.php?id=100069091383896" title="RealFaith on Facebook"> 1721 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 14222 14222"><path d="M14222 7112c0 3549.352-2600.418 6491.344-6000 7024.72V9168h1657l315-2056H8222V5778c0-562 275-1111 1159-1111h897V2917s-814-139-1592-139c-1624 0-2686 984-2686 2767v1567H4194v2056h1806v4968.72C2600.418 13603.344 0 10661.352 0 7112 0 3184.703 3183.703 1 7111 1s7111 3183.703 7111 7111Zm-8222 7025c362 57 733 86 1111 86-377.945 0-749.003-29.485-1111-86.28Zm2222 0v-.28a7107.458 7107.458 0 0 1-167.717 24.267A7407.158 7407.158 0 0 0 8222 14137Zm-167.717 23.987C7745.664 14201.89 7430.797 14223 7111 14223c319.843 0 634.675-21.479 943.283-62.013Z"/></svg> 1722 <span class="icon__fallback-text">Facebook</span> 1723 </a> 1724 </li></ul> 1725 </div> 1726 </div> 1727</div> 1728<div id="CartDrawer" class="drawer drawer--right"> 1729 <form id="CartDrawerForm" action="/cart" method="post" novalidate class="drawer__contents" data-location="cart-drawer"> 1730 <div class="drawer__fixed-header"> 1731 <div class="drawer__header appear-animation appear-delay-1"> 1732 <div class="h2 drawer__title">Cart</div> 1733 <div class="drawer__close"> 1734 <button type="button" class="drawer__close-button js-drawer-close"> 1735 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
1736 <span class="icon__fallback-text">Close cart</span> 1737 </button> 1738 </div> 1739 </div> 1740 </div> 1741 <div class="drawer__inner"> 1742 <div class="drawer__scrollable"> 1743 <div data-products class="appear-animation appear-delay-2"></div> 1744 1745 <!-- COUNTRY SELECTOR --> 1746 <div style="margin-bottom:12px;"> 1747 <label for="cart_country">Select your country</label> 1748 <select id="cart_country" name="attributes[Selected Country]" style="width:100%; padding:8px;"> 1749 <option value="">Select country</option> 1750 <option value="US">United States</option> 1751 <option value="CA">Canada</option> 1752 </select> 1753 </div> 1754 1755 <!-- CONDITIONAL FIELD --> 1756 <div id="custom-country-field" style="display:none; margin-top:10px;"> 1757 <label for="custom_field"> 1758 Tax ID or Passport (required for Canada shipments) 1759 </label> 1760 <input 1761 type="text" 1762 id="custom_field" 1763 name="attributes[Customs ID]" 1764 placeholder="Enter your Customs ID" 1765 style="width:100%; padding:8px;" 1766 > 1767 </div> 1768 <div class="appear-animation appear-delay-3"> 1769 <label for="CartNoteDrawer">Order note</label> 1770 <textarea name="note" class="input-full cart-notes" id="CartNoteDrawer"></textarea> 1771 </div> 1772 1773 </div> 1774 <div class="drawer__footer appear-animation appear-delay-4"> 1775 <div data-discounts> 1776 1777 </div> 1778 1779 <div class="cart__item-sub cart__item-row"> 1780 <div class="ajaxcart__subtotal">Subtotal</div> 1781 <div data-subtotal>$0.00</div> 1782 </div> 1783 1784 <div class="cart__item-row text-center"> 1785 <small> 1786 Shipping, taxes, and discount codes calculated at checkout.<br /> 1787 </small> 1788 </div> 1789 1790 1791 <div class="cart__checkout-wrapper"> 1792 <button type="submit" name="checkout" data-terms-required="false" class="btn cart__checkout"> 1793 Check out 1794 </button> 1795 1796 1797 </div> 1798 </div> 1799 </div> 1800 1801 <div class="drawer__cart-empty appear-animation appear-delay-2"> 1802 <div class="drawer__scrollable"> 1803 Your cart is currently empty. 1804 </div> 1805 </div> 1806 </form> 1807 </div>
1807<script> 1808function initCartCustomField() { 1809 1810 const selector = document.getElementById("cart_country"); 1811 const fieldWrapper = document.getElementById("custom-country-field"); 1812 const fieldInput = document.getElementById("custom_field"); 1813 1814 if (!selector) return; 1815 1816 function toggleField() { 1817 // Canada orders require this 1818 if (selector.value === "CA") { 1819 fieldWrapper.style.display = "block"; 1820 } else { 1821 fieldWrapper.style.display = "none"; 1822 fieldInput.value = ""; 1823 } 1824 } 1825 1826 selector.addEventListener("change", toggleField); 1827 toggleField(); 1828} 1829 1830document.addEventListener("DOMContentLoaded", initCartCustomField); 1831document.addEventListener("shopify:section:load", initCartCustomField); 1832document.addEventListener("ajaxCart:updated", initCartCustomField); 1833</script>
1833 1834
1835<script> 1836document.addEventListener("click", function (e) { 1837 1838 if (e.target && e.target.name === "checkout") { 1839 1840 const selector = document.getElementById("cart_country"); 1841 const fieldInput = document.getElementById("custom_field"); 1842 1843 if (selector && selector.value === "CA") { 1844 1845 if (!fieldInput.value.trim()) { 1846 e.preventDefault(); 1847 alert("Customs ID is required for shipments to Canada."); 1848 } 1849 1850 } 1851 1852 } 1853 1854}); 1855</script>
1855<style> 1856 .site-nav__link, 1857 .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) { 1858 font-size: 23px; 1859 } 1860 1861 .site-nav__link, 1862 .site-header--heading-style .site-nav__link, 1863 .mobile-nav__link--top-level, 1864 .mobile-nav--heading-style .mobile-nav__link--top-level { 1865 text-transform: uppercase; 1866 letter-spacing: var(--typeUppercaseSpacing); 1867 } 1868 .mobile-nav__link--top-level { 1869 font-size: 1.1em; 1870 } 1871 1872 1873 1874</style> 1875 1876<div data-section-id="sections--26924227428641__header" data-section-type="header"><div class="header-sticky-wrapper"> 1877 <div id="HeaderWrapper" class="header-wrapper header-wrapper--sticky is-light"><div class="toolbar toolbar--transparent small--hide"> 1878 <div class="page-width"> 1879 <div class="toolbar__content"><div class="toolbar__item"><form method="post" action="/localization" id="localization_formtoolbar" accept-charset="UTF-8" class="multi-selectors" enctype="multipart/form-data" data-disclosure-form=""><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="/" /><div class="multi-selectors__item"> 1880 <h2 class="visually-hidden" id="CurrencyHeading-toolbar"> 1881 Currency 1882 </h2> 1883 1884 <div class="disclosure" data-disclosure-currency> 1885 <button type="button" class="faux-select disclosure__toggle" aria-expanded="false" aria-controls="CurrencyList-toolbar" aria-describedby="CurrencyHeading-toolbar" data-disclosure-toggle><span class="currency-flag currency-flag--us" data-flag="USD" aria-hidden="true"></span><span class="disclosure-list__label"> 1886 United States (USD $) 1887 </span> 1888 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg> 1889 </button> 1890 <ul id="CurrencyList-toolbar" class="disclosure-list disclosure-list--down disclosure-list--left" data-disclosure-list><li class="disclosure-list__item"> 1891 <a class="disclosure-list__option" href="#" data-value="AU" data-disclosure-option><span class="currency-flag currency-flag--au" data-flag="AUD" aria-hidden="true"></span><span class="disclosure-list__label"> 1892 Australia (AUD $) 1893 </span> 1894 </a> 1895 </li><li class="disclosure-list__item"> 1896 <a class="disclosure-list__option" href="#" data-value="CA" data-disclosure-option><span class="currency-flag currency-flag--ca" data-flag="USD" aria-hidden="true"></span><span class="disclosure-list__label"> 1897 Canada (USD $) 1898 </span> 1899 </a> 1900 </li><li class="disclosure-list__item"> 1901 <a class="disclosure-list__option" href="#" data-value="GB" data-disclosure-option><span class="currency-flag currency-flag--gb" data-flag="GBP" aria-hidden="true"></span><span class="disclosure-list__label"> 1902 United Kingdom (GBP £) 1903 </span> 1904 </a> 1905 </li><li class="disclosure-list__item disclosure-list__item--current"> 1906 <a class="disclosure-list__option" href="#" aria-current="true" data-value="US" data-disclosure-option><span class="currency-flag currency-flag--us" data-flag="USD" aria-hidden="true"></span><span class="disclosure-list__label"> 1907 United States (USD $) 1908 </span> 1909 </a> 1910 </li></ul> 1911 <input type="hidden" name="country_code" value="US" data-disclosure-input> 1912 </div> 1913 </div></form></div></div> 1914 1915 </div> 1916</div> 1917<header 1918 id="SiteHeader" 1919 class="site-header" 1920 data-sticky="false" 1921 data-overlay="true"> 1922 <div class="page-width"> 1923 <div 1924 class="header-layout header-layout--left-center" 1925 data-logo-align="left"><div class="header-item header-item--logo"><style data-shopify>.header-item--logo, 1926.header-layout--left-center .header-item--logo, 1927.header-layout--left-center .header-item--icons { 1928 -webkit-box-flex: 0 1 60px; 1929 -ms-flex: 0 1 60px; 1930 flex: 0 1 60px; 1931} 1932 1933@media only screen and (min-width: 769px) { 1934 .header-item--logo, 1935 .header-layout--left-center .header-item--logo, 1936 .header-layout--left-center .header-item--icons { 1937 -webkit-box-flex: 0 0 100px; 1938 -ms-flex: 0 0 100px; 1939 flex: 0 0 100px; 1940 } 1941} 1942 1943.site-header__logo a { 1944 width: 60px; 1945} 1946.is-light .site-header__logo .logo--inverted { 1947 width: 60px; 1948} 1949@media only screen and (min-width: 769px) { 1950 .site-header__logo a { 1951 width: 100px; 1952 } 1953 1954 .is-light .site-header__logo .logo--inverted { 1955 width: 100px; 1956 } 1957}</style><h1 class="site-header__logo" itemscope itemtype="http://schema.org/Organization"> 1958 <span class="visually-hidden">RealFaith</span> 1959 <a 1960 href="/" 1961 itemprop="url" 1962 class="site-header__logo-link" 1963 style="padding-top: 100.0%"><picture> 1964 <source 1965 media="(max-width: 768px)" 1966 srcset="//shop.realfaith.com/cdn/shop/files/Untitled_Logo.png?v=1777842921&width=60 60w, //shop.realfaith.com/cdn/shop/files/Untitled_Logo.png?v=1777842921&width=120 120w" 1967 sizes="60px" 1968 ><img src="//shop.realfaith.com/cdn/shop/files/Untitled_Logo.png?v=1777842921&width=200" alt="RealFaith" srcset="//shop.realfaith.com/cdn/shop/files/Untitled_Logo.png?v=1777842921&width=100 100w, //shop.realfaith.com/cdn/shop/files/Untitled_Logo.png?v=1777842921&width=200 200w" width="200" height="200" loading="eager" class="image-element" sizes="100px" itemprop="logo"></picture> 1969 </a></h1></div><div class="header-item header-item--navigation text-center" role="navigation" aria-label="Primary"><ul 1970 class="site-nav site-navigation small--hide" 1971><li class="site-nav__item site-nav__expanded-item"> 1972 1973 <a 1974 href="/" 1975 class="site-nav__link site-nav__link--underline" 1976 > 1977 Home 1978 </a> 1979 1980 1981 </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown"> 1982 1983 <details 1984 data-hover="true" 1985 id="site-nav-item--2" 1986 class="site-nav__details" 1987 > 1988 <summary 1989 data-link="/collections/merch" 1990 aria-expanded="false" 1991 aria-controls="site-nav-item--2" 1992 class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown" 1993 > 1994 Shop <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
1994ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg> 1995 </summary> 1996 1997<ul class="site-nav__dropdown text-left"><li class=""> 1998 <a href="/collections/t-shirts" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 1999 T-shirts 2000</a></li><li class=""> 2001 <a href="/collections/hoodies" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2002 Hoodies 2003</a></li><li class=""> 2004 <a href="/collections/hats" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2005 Hats 2006</a></li><li class=""> 2007 <a href="/collections/accessories" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2008 Accessories 2009</a></li><li class=""> 2010 <a href="https://shop.realfaith.com/collections/america-250-collection" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2011 Patriot Collection 2012</a></li></ul> 2013 </details> 2014 2015 </li><li class="site-nav__item site-nav__expanded-item site-nav--has-dropdown"> 2016 2017 <details 2018 data-hover="true" 2019 id="site-nav-item--3" 2020 class="site-nav__details" 2021 > 2022 <summary 2023 data-link="/collections/resources" 2024 aria-expanded="false" 2025 aria-controls="site-nav-item--3" 2026 class="site-nav__link site-nav__link--underline site-nav__link--has-dropdown" 2027 > 2028 Books <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg> 2029 </summary> 2030 2031<ul class="site-nav__dropdown text-left"><li class=""> 2032 <a href="/collections/books" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2033 Books 2034</a></li><li class=""> 2035 <a href="/collections/study-guides" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2036 Study Guides 2037</a></li><li class=""> 2038 <a href="/collections/devotionals" class="site-nav__dropdown-link site-nav__dropdown-link--second-level"> 2039 Devotionals 2040</a></li></ul> 2041 </details> 2042 2043 </li></ul> 2044</div><div class="header-item header-item--icons"><div class="site-nav"> 2045 <div class="site-nav__icons"><span class="site-nav__link site-nav__link--icon small--hide"> 2046 2047 2048 2049<shopify-account 2050 2051 menu="customer-account-main-menu" 2052 2053> 2054 <div slot="signed-out-avatar"> 2055 2056 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><title>account</title><path d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.41 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.75 2.7 9.51 6 11.41v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16Z"/></svg> 2057 <span class="icon__fallback-text"> 2058 Log in 2059 </span> 2060 2061 </div> 2062</shopify-account> 2063 2064 2065 2066 2067</span><a href="/search" class="site-nav__link site-nav__link--icon js-search-header"> 2068 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><title>icon-search</title><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58ZM54 54 41.94 42"/></svg> 2069 <span class="icon__fallback-text">Search</span> 2070 </a><button 2071 type="button" 2072 class="site-nav__link site-nav__link--icon js-drawer-open-nav medium-up--hide" 2073 aria-controls="NavDrawer"> 2074 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 64 64"><title>icon-hamburger</title><path d="M7 15h51"/><path d="M7 32h43"/><path d="M7 49h51"/></svg> 2075 <span class="icon__fallback-text">Site navigation</span> 2076 </button><a href="/cart" class="site-nav__link site-nav__link--icon js-drawer-open-cart" aria-controls="CartDrawer" data-icon="cart">
2077 <span class="cart-link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 64 64"><path style="stroke-miterlimit:10" d="M14 17.44h46.79l-7.94 25.61H20.96l-9.65-35.1H3"/><circle cx="27" cy="53" r="2"/><circle cx="47" cy="53" r="2"/></svg><span class="icon__fallback-text">Cart</span> 2078 <span class="cart-link__bubble"></span> 2079 </span> 2080 </a> 2081 </div> 2082</div> 2083</div> 2084 </div></div> 2085 <div class="site-header__search-container"> 2086 <div class="site-header__search"> 2087 <div class="page-width"> 2088 <predictive-search data-context="header" data-enabled="true" data-dark="false"> 2089 <div class="predictive__screen" data-screen></div> 2090 <form action="/search" method="get" role="search"> 2091 <label for="Search" class="hidden-label">Search</label> 2092 <div class="search__input-wrap"> 2093 <input 2094 class="search__input" 2095 id="Search" 2096 type="search" 2097 name="q" 2098 value="" 2099 role="combobox" 2100 aria-expanded="false" 2101 aria-owns="predictive-search-results" 2102 aria-controls="predictive-search-results" 2103 aria-haspopup="listbox" 2104 aria-autocomplete="list" 2105 autocorrect="off" 2106 autocomplete="off" 2107 autocapitalize="off" 2108 spellcheck="false" 2109 placeholder="Search" 2110 tabindex="0" 2111 > 2112 <input name="options[prefix]" type="hidden" value="last"> 2113 <button class="btn--search" type="submit"> 2114 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 2115 <span class="icon__fallback-text">Search</span> 2116 </button> 2117 </div> 2118 2119 <button class="btn--close-search"> 2120 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:2px}</style></defs><path class="cls-1" d="M19 17.61l27.12 27.13m0-27.13L19 44.74"/></svg> 2121 </button> 2122 <div id="predictive-search" class="search__results" tabindex="-1"></div> 2123 </form> 2124</predictive-search> 2125 2126 </div> 2127 </div> 2128 </div> 2129 </header> 2130 </div> 2131 </div> 2132</div> 2133 2134 2135<style> #shopify-section-sections--26924227428641__header body {font-family: "Univers Condensed", sans-serif; color: #fdf8f0;} </style></div><div id="shopify-section-sections--26924227428641__custom_font_gRRpTm" class="shopify-section shopify-section-group-header-group"> 2136 <style data-custom-fonts> 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 @font-face { 2168 font-family: 'Gauntlet Font'; 2169 src: url(https://cdn.shopify.com/s/files/1/0978/5622/5569/files/Gauntlet.otf?v=1777322156) format('opentype'); 2170 2171 } 2172 2173 2174 2175 2176 2177 h2 { 2178 font-family: 'Gauntlet Font' !important; 2179 2180 } 2181 2182 2183 2184 2185 2186 a { 2187 font-family: 'Gauntlet Font' !important; 2188 2189 } 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 @font-face { 2231 font-family: 'Univers Condensed Medium font'; 2232 src: url(https://cdn.shopify.com/s/files/1/0978/5622/5569/files/universcondensed_medium.ttf?v=1777322296) format('truetype'); 2233 2234 } 2235 2236 2237 2238 2239 h1 { 2240 font-family: 'Univers Condensed Medium font' !important; 2241 2242 } 2243 2244 h3 { 2245 font-family: 'Univers Condensed Medium font' !important; 2246 2247 } 2248 h4 { 2249 font-family: 'Univers Condensed Medium font' !important; 2250 2251 } 2252 h5 { 2253 font-family: 'Univers Condensed Medium font' !important; 2254 2255 } 2256 h6 { 2257 font-family: 'Univers Condensed Medium font' !important; 2258 2259 } 2260 p { 2261 font-family: 'Univers Condensed Medium font' !important; 2262 2263 } 2264 a { 2265 font-family: 'Univers Condensed Medium font' !important; 2266 2267 } 2268 input { 2269 font-family: 'Univers Condensed Medium font' !important; 2270 2271 } 2272 label { 2273 font-family: 'Univers Condensed Medium font' !important; 2274 2275 } 2276 legend { 2277 font-family: 'Univers Condensed Medium font' !important; 2278 2279 } 2280 button { 2281 font-family: 'Univers Condensed Medium font' !important; 2282 2283 } 2284 summary { 2285 font-family: 'Univers Condensed Medium font' !important; 2286 2287 } 2288 select { 2289 font-family: 'Univers Condensed Medium font' !important; 2290 2291 } 2292 option { 2293 font-family: 'Univers Condensed Medium font' !important; 2294 2295 } 2296 small { 2297 font-family: 'Univers Condensed Medium font' !important; 2298 2299 } 2300 span { 2301 font-family: 'Univers Condensed Medium font' !important; 2302 2303 } 2304 2305 2306 2307 2308 </style> 2309 2310 2311 2312</div><div id="shopify-section-sections--26924227428641__1778522746c946cf79" class="shopify-section shopify-section-group-header-group"> 2313 2314</div> 2315<!-- END sections: header-group --><!-- BEGIN sections: popup-group --> 2316 2317<!-- END sections: popup-group --><main class="main-content" id="MainContent"> 2318 <div id="shopify-section-template--26924226806049__slideshow" class="shopify-section index-section--hero"><div 2319 data-section-id="template--26924226806049__slideshow" 2320 data-section-type="slideshow-section" 2321 ><div class="slideshow-wrapper"><div class=""> 2322 <div id="Slideshow-template--26924226806049__slideshow" 2323 class="hero hero--750px hero--template--26924226806049__slideshow hero--mobile--500px loading loading--delayed" 2324 2325 data-mobile-natural="false" 2326 data-autoplay="true" 2327 data-speed="10000" 2328 2329 data-arrows="true" 2330 2331 2332
2333 data-slide-count="5"><div 2334 2335 class="slideshow__slide slideshow__slide--image_rjMzYK" 2336 data-index="0" 2337 data-id="image_rjMzYK"><style data-shopify>.slideshow__slide--image_rjMzYK .hero__title { 2338 font-size: 20.0px; 2339 } 2340 @media only screen and (min-width: 769px) { 2341 .slideshow__slide--image_rjMzYK .hero__title { 2342 font-size: 40px; 2343 } 2344 } 2345 2346 2347</style><div class="hero__image-wrapper"> 2348 2349 2350 2351 2352 2353<image-element data-aos="image-fade-in" data-aos-offset="150"> 2354 2355 2356 2357<img src="//shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_3874x2583_1x_1.png?v=1790639527&width=2400" alt="" srcset="//shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_3874x2583_1x_1.png?v=1790639527&width=352 352w, //shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_3874x2583_1x_1.png?v=1790639527&width=832 832w, //shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_3874x2583_1x_1.png?v=1790639527&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_3874x2583_1x_1.png?v=1790639527&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_3874x2583_1x_1.png?v=1790639527&width=2400 2400w" width="2400" height="1600.2065049044913" loading="eager" class="small--hide hero__image hero__image--image_rjMzYK image-element" sizes="100vw"> 2358 2359 2360 2361</image-element> 2362 2363 2364 2365 2366 2367<image-element data-aos="image-fade-in" data-aos-offset="150"> 2368 2369 2370 2371<img src="//shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_Mobile_1080x1620_1x_1.png?v=1790640047&width=2160" alt="" srcset="//shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_Mobile_1080x1620_1x_1.png?v=1790640047&width=352 352w, //shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_Mobile_1080x1620_1x_1.png?v=1790640047&width=832 832w, //shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_Mobile_1080x1620_1x_1.png?v=1790640047&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_Mobile_1080x1620_1x_1.png?v=1790640047&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/Shopify_Slide_1_No_Text_Mobile_1080x1620_1x_1.png?v=1790640047&width=2160 2160w" width="2160" height="3240.0000000000005" loading="eager" class="medium-up--hide hero__image hero__image--image_rjMzYK image-element" sizes="100vw" style="object-position:50.0565% 28.774%;"> 2372 2373 2374 2375</image-element> 2376</div><div class="hero__text-wrap"> 2377 <div class="page-width"> 2378 <div class="hero__text-content vertical-bottom horizontal-left"> 2379 <div class="hero__text-shadow"><h2 class="h1 hero__title"> 2380 <div class="animation-cropper"><div class="animation-contents"> 2381 Pair any <br /> 2382Hat or Tee<br /> 23832nd item 25% off 2384 </div></div> 2385 </h2><div class="hero__subtitle"> 2386 <div class="animation-cropper"><div class="animation-contents"> 2387 Code auto-applied at checkout 2388 </div></div> 2389 </div><div class="hero__link"><a href="/collections/hats" class="btn btn--inverse"> 2390 Hats 2391 </a><a href="/collections/t-shirts" class="btn btn--inverse"> 2392 T-Shirts 2393 </a></div></div> 2394 </div> 2395 </div> 2396 </div></div><div 2397 2398 class="slideshow__slide slideshow__slide--image-1" 2399 data-index="1" 2400 data-id="image-1"><style data-shopify>.slideshow__slide--image-1 .hero__title { 2401 font-size: 21.5px; 2402 } 2403 @media only screen and (min-width: 769px) { 2404 .slideshow__slide--image-1 .hero__title { 2405 font-size: 43px; 2406 } 2407 } 2408 .slideshow__slide--image-1 .btn { 2409 background: #cec887 !important; 2410 border: none; 2411 color: #000 !important; 2412 2413 } 2414 2415 2416 2417 2418 2419 .slideshow__slide--image-1 .hero__image-wrapper:after { 2420 content: ''; 2421 position: absolute; 2422 left: 0; 2423 right: 0; 2424 top: 0; 2425 bottom: 0; 2426 z-index: 3; 2427 background-color: #000; 2428 opacity: 0.26; 2429 } 2430 2431</style><div class="hero__image-wrapper"> 2432 2433 2434 2435 2436 2437<image-element data-aos="image-fade-in" data-aos-offset="150"> 2438 2439 2440 2441<img src="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=2400" alt="" srcset="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=352 352w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=832 832w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=2400 2400w" width="2400" height="1600.2065049044913" loading="lazy" class="small--hide hero__image hero__image--image-1 image-element" sizes="100vw" style="object-position:51.2808% 54.9592%;"> 2442 2443 2444 2445</image-element> 2446 2447 2448 2449 2450 2451<image-element data-aos="image-fade-in" data-aos-offset="150"> 2452 2453 2454 2455<img src="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=5760" alt="" srcset="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=352 352w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=832 832w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-156.jpg?v=1784157295&
2455width=5760 7748w" width="7748" height="5166.0" loading="lazy" class="medium-up--hide hero__image hero__image--image-1 image-element" sizes="100vw" style="object-position:51.2808% 54.9592%;"> 2456 2457 2458 2459</image-element> 2460</div><a href="/collections/all-merch-copy" class="hero__slide-link" aria-hidden="true"></a><div class="hero__text-wrap"> 2461 <div class="page-width"> 2462 <div class="hero__text-content vertical-bottom horizontal-center"> 2463 <div class="hero__text-shadow"><h2 class="h1 hero__title"> 2464 <div class="animation-cropper"><div class="animation-contents"> 2465 OUR BEST SELLING HAT IS BACK! 2466 </div></div> 2467 </h2><div class="hero__subtitle"> 2468 <div class="animation-cropper"><div class="animation-contents"> 2469 Grab Yours Before They Sell Out! 2470 </div></div> 2471 </div><div class="hero__link"><a href="/collections/all-merch-copy" class="btn"> 2472 browse now 2473 </a></div></div> 2474 </div> 2475 </div> 2476 </div></div><div 2477 2478 class="slideshow__slide slideshow__slide--image_QcJxcd" 2479 data-index="2" 2480 data-id="image_QcJxcd"><style data-shopify>.slideshow__slide--image_QcJxcd .hero__title { 2481 font-size: 37.0px; 2482 } 2483 @media only screen and (min-width: 769px) { 2484 .slideshow__slide--image_QcJxcd .hero__title { 2485 font-size: 74px; 2486 } 2487 } 2488 2489 2490 .slideshow__slide--image_QcJxcd .hero__image-wrapper:after { 2491 content: ''; 2492 position: absolute; 2493 left: 0; 2494 right: 0; 2495 top: 0; 2496 bottom: 0; 2497 z-index: 3; 2498 background-color: #000; 2499 opacity: 0.12; 2500 } 2501 2502</style><div class="hero__image-wrapper"> 2503 2504 2505 2506 2507 2508<image-element data-aos="image-fade-in" data-aos-offset="150"> 2509 2510 2511 2512<img src="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=2400" alt="" srcset="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=352 352w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=832 832w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=2400 2400w" width="2400" height="1600.0" loading="lazy" class="small--hide hero__image hero__image--image_QcJxcd image-element" sizes="100vw"> 2513 2514 2515 2516</image-element> 2517 2518 2519 2520 2521 2522<image-element data-aos="image-fade-in" data-aos-offset="150"> 2523 2524 2525 2526<img src="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=5760" alt="" srcset="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=352 352w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=832 832w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-063.jpg?v=1785000333&width=5760 8898w" width="8898" height="5932.0" loading="lazy" class="medium-up--hide hero__image hero__image--image_QcJxcd image-element" sizes="100vw"> 2527 2528 2529 2530</image-element> 2531</div><a href="/collections/hats" class="hero__slide-link" aria-hidden="true"></a><div class="hero__text-wrap"> 2532 <div class="page-width"> 2533 <div class="hero__text-content vertical-bottom horizontal-center"> 2534 <div class="hero__text-shadow"><h2 class="h1 hero__title"> 2535 <div class="animation-cropper"><div class="animation-contents"> 2536 New Arrivals 2537 </div></div> 2538 </h2><div class="hero__link"><a href="/collections/hats" class="btn btn--inverse"> 2539 Explore 2540 </a></div></div> 2541 </div> 2542 </div> 2543 </div></div><div 2544 2545 class="slideshow__slide slideshow__slide--image_qyF6Aw" 2546 data-index="3" 2547 data-id="image_qyF6Aw"><style data-shopify>.slideshow__slide--image_qyF6Aw .hero__title { 2548 font-size: 22.0px; 2549 } 2550 @media only screen and (min-width: 769px) { 2551 .slideshow__slide--image_qyF6Aw .hero__title { 2552 font-size: 44px; 2553 } 2554 } 2555 2556 2557 .slideshow__slide--image_qyF6Aw .hero__image-wrapper:after { 2558 content: ''; 2559 position: absolute; 2560 left: 0; 2561 right: 0; 2562 top: 0; 2563 bottom: 0; 2564 z-index: 3; 2565 background-color: #000; 2566 opacity: 0.32; 2567 } 2568 2569</style><div class="hero__image-wrapper"> 2570 2571 2572 2573 2574 2575<image-element data-aos="image-fade-in" data-aos-offset="150"> 2576 2577 2578 2579<img src="//shop.realfaith.com/cdn/shop/files/5_d6318da8-abfe-4c91-b0f7-47cff09e6330.png?v=1778603049&width=2400" alt="" srcset="//shop.realfaith.com/cdn/shop/files/5_d6318da8-abfe-4c91-b0f7-47cff09e6330.png?v=1778603049&width=352 352w, //shop.realfaith.com/cdn/shop/files/5_d6318da8-abfe-4c91-b0f7-47cff09e6330.png?v=1778603049&width=832 832w, //shop.realfaith.com/cdn/shop/files/5_d6318da8-abfe-4c91-b0f7-47cff09e6330.png?v=1778603049&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/5_d6318da8-abfe-4c91-b0f7-47cff09e6330.png?v=1778603049&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/5_d6318da8-abfe-4c91-b0f7-47cff09e6330.png?v=1778603049&width=2400 2400w" width="2400" height="1334.7424042272128" loading="lazy" class="small--hide hero__image hero__image--image_qyF6Aw image-element" sizes="100vw"> 2580 2581 2582 2583</image-element> 2584 2585 2586 2587 2588 2589<image-element data-aos="image-fade-in" data-aos-offset="150"> 2590 2591 2592 2593<img src="//shop.realfaith.com/cdn/shop/files/5.png?v=1778434619&width=2160" alt="" srcset="//shop.realfaith.com/cdn/shop/files/5.png?v=1778434619&width=352 352w, //shop.realfaith.com/cdn/shop/files/5.png?v=1778434619&width=832 832w, //shop.realfaith.com/cdn/shop/files/5.png?v=1778434619&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/5.png?v=1778434619&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/5.png?v=1778434619&width=2160 2160w" width="2160" height="3840.0" loading="lazy" class="medium-up--hide hero__image hero__image--image_qyF6Aw image-element" sizes="100vw"> 2594 2595 2596 2597</image-element> 2598</div><a href="/collections/books-1" class="hero__slide-link" aria-hidden="true"></a><div class="hero__text-wrap"> 2599 <div class="page-width"> 2600 <div class="hero__text-content vertical-bottom horizontal-left"> 2601 <div class="hero__text-shadow"><h2 class="h1 hero__title"> 2602 <div class="animation-cropper"><div class="animation-contents"> 2603 Real Books for Real Life 2604 </div></div> 2605 </h2><div class="hero__subtitle"> 2606 <div class="animation-cropper"><div class="animation-contents"> 2607 Load up on Bible-teaching resources built to strengthen your soul, build your character and lead your family. 2608 </div></div> 2609 </div><div class="hero__link"><a href="/collections/books-1" class="btn btn--inverse"> 2610 Explore 2611 </a></div></div> 2612 </div> 2613 </div> 2614 </div></div><div 2615 2616 class="slideshow__slide slideshow__slide--image_dRRhre" 2617 data-index="4" 2618 data-id="image_dRRhre"><style data-shopify>.slideshow__slide--image_dRRhre .hero__title { 2619 font-size: 40.0px; 2620 } 2621 @media only screen and (min-width: 769px) { 2622 .slideshow__slide--image_dRRhre .hero__title { 2623 font-size: 80px; 2624 } 2625 } 2626 2627 2628 .slideshow__slide--image_dRRhre .hero__image-wrapper:after { 2629 content: ''; 2630 position: absolute; 2631 left: 0; 2632 right: 0; 2633 top: 0; 2634 bottom: 0; 2635 z-index: 3; 2636 background-color: #000; 2637 opacity: 0.2; 2638 } 2639 2640</style><div class="hero__image-wrapper"> 2641 2642 2643 2644 2645 2646<image-element data-aos="image-fade-in" data-aos-offset="150"> 2647 2648 2649 2650<img src="//shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM.png?v=1778603719&width=2400" alt="" srcset="//shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM.png?v=1778603719&width=352 352w, //shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM.png?v=1778603719&width=832 832w, //shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM.png?v=1778603719&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM.png?v=1778603719&width=1920 1920w, //shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM.png?v=1778603719&width=2400 2400w" width="2400" height="1368.6153846153845" loading="lazy" class="small--hide hero__image hero__image--image_dRRhre image-element" sizes="100vw" style="object-position:54.9227% 10.0597%;"> 2651 2652 2653 2654</image-element> 2655 2656 2657 2658 2659 2660<image-element data-aos="image-fade-in" data-aos-offset="150"> 2661 2662 2663 2664<img src="//shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM_fe1c91b9-dfbe-4356-bf89-a9907cba9b57.png?v=1778603791&width=1780" alt="" srcset="//shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM_fe1c91b9-dfbe-4356-bf89-a9907cba9b57.png?v=1778603791&width=352 352w, //shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM_fe1c91b9-dfbe-4356-bf89-a9907cba9b57.png?v=1778603791&width=832 832w, //shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM_fe1c91b9-dfbe-4356-bf89-a9907cba9b57.png?v=1778603791&width=1200 1200w, //shop.realfaith.com/cdn/shop/files/Screenshot_2026-05-12_at_9.35.00_AM_fe1c91b9-dfbe-4356-bf89-a9907cba9b57.png?v=1778603791&width=1780 1780w" width="1780" height="2224.0" loading="lazy" class="medium-up--hide hero__image hero__image--image_dRRhre image-element" sizes="100vw"> 2665 2666 2667 2668</image-element> 2669</div><div class="hero__text-wrap"> 2670 <div class="page-width"> 2671 <div class="hero__text-content vertical-center horizontal-center"> 2672 <div class="hero__text-shadow"><h2 class="h1 hero__title"> 2673 <div class="animation-cropper"><div class="animation-contents"> 2674 the remnant 2675 </div></div> 2676 </h2><div class="hero__subtitle"> 2677 <div class="animation-cropper"><div class="animation-contents"> 2678 We are building the largest Bible teaching and equipping movement in history â and the window is open now. 2679 </div></div> 2680 </div><div class="hero__link"><a href="https://realfaith.com/remnant/" class="btn btn--inverse"> 2681 the mission 2682 </a></div></div> 2683 </div> 2684 </div> 2685 </div></div></div> 2686 </div> 2687 </div></div> 2688 2689 2690</div><div id="shopify-section-template--26924226806049__1784393464b48b27fb" class="shopify-section"><div id="shopify-block-ASjk1bnhXZ0Q0ODJES__ai_gen_block_91c5afb_68qE7J" class="shopify-block"> 2691 2692 2693<style data-shopify>
2694 .ai-product-carousel-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2695 display: block; 2696 width: 100%; 2697 max-width: 100%; 2698 padding: 40px 0; 2699 background-color: #fdf8f0; 2700 } 2701 2702 .ai-product-carousel__header-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2703 text-align: center; 2704 margin-bottom: 30px; 2705 } 2706 2707 .ai-product-carousel__heading-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2708 font-size: 32px; 2709 color: #131016; 2710 margin: 0 0 10px 0; 2711 } 2712 2713 .ai-product-carousel__subtext-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2714 font-size: 20px; 2715 color: #131016; 2716 margin: 0; 2717 line-height: 1.5; 2718 } 2719 2720 .ai-product-carousel__wrapper-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2721 position: relative; 2722 overflow: hidden; 2723 padding: 0 20px; 2724 } 2725 2726 .ai-product-carousel__track-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2727 display: flex; 2728 gap: 20px; 2729 transition: transform 0.4s ease; 2730 scroll-behavior: smooth; 2731 } 2732 2733 .ai-product-carousel__card-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2734 flex: 0 0 calc((100% - (3 * 20px)) / 4); 2735 min-width: 0; 2736 } 2737 2738 .ai-product-carousel__card-inner-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2739 display: flex; 2740 flex-direction: column; 2741 height: 100%; 2742 background-color: #ffffff; 2743 border-radius: 8px; 2744 overflow: hidden; 2745 text-decoration: none; 2746 color: inherit; 2747 transition: transform 0.3s ease, box-shadow 0.3s ease; 2748 } 2749 2750 .ai-product-carousel__card-inner-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j:hover { 2751 transform: translateY(-4px); 2752 box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1); 2753 } 2754 2755 .ai-product-carousel__image-wrapper-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2756 position: relative; 2757 width: 100%; 2758 padding-bottom: 100%; 2759 overflow: hidden; 2760 background-color: #fdf8f0; 2761 } 2762 2763 .ai-product-carousel__image-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2764 position: absolute; 2765 top: 0; 2766 left: 0; 2767 width: 100%; 2768 height: 100%; 2769 object-fit: cover; 2770 } 2771 2772 .ai-product-carousel__image-placeholder-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2773 position: absolute; 2774 top: 0; 2775 left: 0; 2776 width: 100%; 2777 height: 100%; 2778 display: flex; 2779 align-items: center; 2780 justify-content: center; 2781 background-color: #fdf8f0; 2782 } 2783 2784 .ai-product-carousel__image-placeholder-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j svg { 2785 width: 60%; 2786 height: 60%; 2787 opacity: 0.3; 2788 } 2789 2790 .ai-product-carousel__info-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2791 padding: 16px; 2792 display: flex; 2793 flex-direction: column; 2794 gap: 8px; 2795 flex-grow: 1; 2796 } 2797 2798 .ai-product-carousel__title-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2799 font-size: 16px; 2800 color: #131016; 2801 margin: 0; 2802 line-height: 1.3; 2803 2804 text-transform: uppercase; 2805 2806 } 2807 2808 .ai-product-carousel__price-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2809 font-size: 16px; 2810 color: #131016; 2811 font-weight: 600; 2812 } 2813 2814 .ai-product-carousel__price--sale-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2815 color: #c64d3e; 2816 } 2817 2818 .ai-product-carousel__price--compare-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2819 text-decoration: line-through; 2820 opacity: 0.6; 2821 margin-left: 8px; 2822 font-size: 14.4px; 2823 } 2824 2825 .ai-product-carousel__nav-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2826 position: absolute; 2827 top: 50%; 2828 transform: translateY(-50%); 2829 background-color: #b9a76d; 2830 color: #fdf8f0; 2831 border: none; 2832 width: 44px; 2833 height: 44px; 2834 border-radius: 50%; 2835 cursor: pointer; 2836 display: flex; 2837 align-items: center; 2838 justify-content: center; 2839 z-index: 2; 2840 transition: opacity 0.3s ease, background-color 0.3s ease; 2841 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); 2842 } 2843 2844 .ai-product-carousel__nav-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j:hover { 2845 background-color: #a08f5a; 2846 } 2847 2848 .ai-product-carousel__nav-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j:disabled { 2849 opacity: 0.3; 2850 cursor: not-allowed; 2851 } 2852 2853 .ai-product-carousel__nav--prev-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2854 left: -10px; 2855 } 2856 2857 .ai-product-carousel__nav--next-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2858 right: -10px; 2859 } 2860
2861 .ai-product-carousel__nav-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j svg { 2862 width: 20px; 2863 height: 20px; 2864 } 2865 2866 .ai-product-carousel__empty-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2867 text-align: center; 2868 padding: 60px 20px; 2869 color: #999; 2870 font-style: italic; 2871 } 2872 2873 @media screen and (max-width: 749px) { 2874 .ai-product-carousel__card-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2875 flex: 0 0 calc((100% - (1 * 20px)) / 2); 2876 } 2877 2878 .ai-product-carousel__heading-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2879 font-size: 25.6px; 2880 } 2881 2882 .ai-product-carousel__subtext-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2883 font-size: 18.0px; 2884 } 2885 2886 .ai-product-carousel__nav-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j { 2887 width: 36px; 2888 height: 36px; 2889 } 2890 2891 .ai-product-carousel__nav-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j svg { 2892 width: 16px; 2893 height: 16px; 2894 } 2895 } 2896</style> 2897 2898<product-carousel-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j class="ai-product-carousel-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" > 2899 2900 <div class="ai-product-carousel__header-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2901 2902 <h2 class="ai-product-carousel__heading-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j">The Patriot collection</h2> 2903 2904 2905 </div> 2906 2907 2908 2909 <div class="ai-product-carousel__wrapper-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2910 <button 2911 class="ai-product-carousel__nav-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j ai-product-carousel__nav--prev-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" 2912 aria-label="Previous products" 2913 data-carousel-prev 2914 > 2915 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 2916 <polyline points="15 18 9 12 15 6"></polyline> 2917 </svg> 2918 </button> 2919 2920 <div class="ai-product-carousel__track-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" data-carousel-track> 2921 2922 <div class="ai-product-carousel__card-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2923 <a href="/products/realfaith-america-hat" class="ai-product-carousel__card-inner-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2924 <div class="ai-product-carousel__image-wrapper-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2925 2926 <img 2927 src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-4_9.png?v=1782919063&width=600" 2928 alt="RF America Patch Hat" 2929 class="ai-product-carousel__image-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" 2930 loading="lazy" 2931 width="600" 2932 height="600" 2933 > 2934 2935 </div> 2936 2937 <div class="ai-product-carousel__info-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2938 <h3 class="ai-product-carousel__title-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j">RF America Patch Hat</h3> 2939 2940 <div class="ai-product-carousel__price-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j "> 2941 $30.00 2942 2943 </div> 2944 </div> 2945 </a> 2946 </div> 2947 2948 <div class="ai-product-carousel__card-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2949 <a href="/products/more-fathers-less-govmnt-camo-hat" class="ai-product-carousel__card-inner-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2950 <div class="ai-product-carousel__image-wrapper-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2951 2952 <img 2953 src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-8_1.png?v=1784754271&width=600" 2954 alt="More Fathers Less Govmnt Camo Hat" 2955 class="ai-product-carousel__image-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" 2956 loading="lazy" 2957 width="600" 2958 height="600" 2959 > 2960 2961 </div> 2962
2963 <div class="ai-product-carousel__info-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2964 <h3 class="ai-product-carousel__title-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j">More Fathers Less Govmnt Camo Hat</h3> 2965 2966 <div class="ai-product-carousel__price-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j "> 2967 $38.00 2968 2969 </div> 2970 </div> 2971 </a> 2972 </div> 2973 2974 <div class="ai-product-carousel__card-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2975 <a href="/products/in-god-we-trust-hat" class="ai-product-carousel__card-inner-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2976 <div class="ai-product-carousel__image-wrapper-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2977 2978 <img 2979 src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-6_1.png?v=1783531962&width=600" 2980 alt="In God We Trust Hat" 2981 class="ai-product-carousel__image-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" 2982 loading="lazy" 2983 width="600" 2984 height="600" 2985 > 2986 2987 </div> 2988 2989 <div class="ai-product-carousel__info-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 2990 <h3 class="ai-product-carousel__title-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j">In God We Trust Hat</h3> 2991 2992 <div class="ai-product-carousel__price-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j "> 2993 $30.00 2994 2995 </div> 2996 </div> 2997 </a> 2998 </div> 2999 3000 <div class="ai-product-carousel__card-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 3001 <a href="/products/jesus-is-king-black-gold" class="ai-product-carousel__card-inner-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 3002 <div class="ai-product-carousel__image-wrapper-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 3003 3004 <img 3005 src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-4_7.png?v=1782860800&width=600" 3006 alt="Jesus Is King Black & Gold Trucker Hat" 3007 class="ai-product-carousel__image-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" 3008 loading="lazy" 3009 width="600" 3010 height="600" 3011 > 3012 3013 </div> 3014 3015 <div class="ai-product-carousel__info-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 3016 <h3 class="ai-product-carousel__title-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j">Jesus Is King Black & Gold Trucker Hat</h3> 3017 3018 <div class="ai-product-carousel__price-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j "> 3019 $30.00 3020 3021 </div> 3022 </div> 3023 </a> 3024 </div> 3025 3026 <div class="ai-product-carousel__card-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 3027 <a href="/products/in-god-we-trust" class="ai-product-carousel__card-inner-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 3028 <div class="ai-product-carousel__image-wrapper-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 3029 3030 <img 3031 src="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-1.png?v=1782920146&width=600" 3032 alt="In God We trust T-shirt" 3033 class="ai-product-carousel__image-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" 3034 loading="lazy" 3035 width="600" 3036 height="600" 3037 > 3038 3039 </div> 3040 3041 <div class="ai-product-carousel__info-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j"> 3042 <h3 class="ai-product-carousel__title-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j">In God We trust T-shirt</h3> 3043 3044 <div class="ai-product-carousel__price-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j "> 3045 $30.00 3046 3047 </div> 3048 </div> 3049 </a> 3050 </div> 3051 3052 </div> 3053 3054 <button
3055 class="ai-product-carousel__nav-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j ai-product-carousel__nav--next-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j" 3056 aria-label="Next products" 3057 data-carousel-next 3058 > 3059 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 3060 <polyline points="9 18 15 12 9 6"></polyline> 3061 </svg> 3062 </button> 3063 </div> 3064 3065</product-carousel-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j> 3066
3067<script> 3068 (function() { 3069 class ProductCarouselasjk1bnhxz0q0odjesaigenblock91c5afb68qe7j extends HTMLElement { 3070 constructor() { 3071 super(); 3072 this.currentIndex = 0; 3073 this.cardsPerView = 4; 3074 this.cardGap = 20; 3075 } 3076 3077 connectedCallback() { 3078 this.track = this.querySelector('[data-carousel-track]'); 3079 this.prevButton = this.querySelector('[data-carousel-prev]'); 3080 this.nextButton = this.querySelector('[data-carousel-next]'); 3081 this.cards = this.querySelectorAll('.ai-product-carousel__card-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j'); 3082 3083 if (!this.track || this.cards.length === 0) return; 3084 3085 this.updateCardsPerView(); 3086 this.setupEventListeners(); 3087 this.updateButtons(); 3088 3089 window.addEventListener('resize', () => { 3090 this.updateCardsPerView(); 3091 this.updateCarousel(); 3092 }); 3093 } 3094 3095 updateCardsPerView() { 3096 if (window.innerWidth <= 749) { 3097 this.cardsPerView = 2; 3098 } else { 3099 this.cardsPerView = 4; 3100 } 3101 } 3102 3103 setupEventListeners() { 3104 this.prevButton.addEventListener('click', () => this.navigate(-1)); 3105 this.nextButton.addEventListener('click', () => this.navigate(1)); 3106 3107 let startX = 0; 3108 let currentX = 0; 3109 let isDragging = false; 3110 3111 this.track.addEventListener('touchstart', (e) => { 3112 startX = e.touches[0].clientX; 3113 isDragging = true; 3114 }); 3115 3116 this.track.addEventListener('touchmove', (e) => { 3117 if (!isDragging) return; 3118 currentX = e.touches[0].clientX; 3119 }); 3120 3121 this.track.addEventListener('touchend', () => { 3122 if (!isDragging) return; 3123 const diff = startX - currentX; 3124 if (Math.abs(diff) > 50) { 3125 this.navigate(diff > 0 ? 1 : -1); 3126 } 3127 isDragging = false; 3128 }); 3129 } 3130 3131 navigate(direction) { 3132 const maxIndex = Math.max(0, this.cards.length - this.cardsPerView); 3133 this.currentIndex = Math.max(0, Math.min(maxIndex, this.currentIndex + direction)); 3134 this.updateCarousel(); 3135 } 3136 3137 updateCarousel() { 3138 const cardWidth = this.cards[0].offsetWidth; 3139 const offset = -(this.currentIndex * (cardWidth + this.cardGap)); 3140 this.track.style.transform = `translateX(${offset}px)`; 3141 this.updateButtons(); 3142 } 3143 3144 updateButtons() { 3145 const maxIndex = Math.max(0, this.cards.length - this.cardsPerView); 3146 this.prevButton.disabled = this.currentIndex === 0; 3147 this.nextButton.disabled = this.currentIndex >= maxIndex; 3148 } 3149 } 3150 3151 customElements.define('product-carousel-asjk1bnhxz0q0odjesaigenblock91c5afb68qe7j', ProductCarouselasjk1bnhxz0q0odjesaigenblock91c5afb68qe7j); 3152 })(); 3153</script>
3153 3154 3155 3156</div> 3157 3158 3159</div><div id="shopify-section-template--26924226806049__hero_video_fiNKPD" class="shopify-section index-section--hero"><style data-shopify>.hero--template--26924226806049__hero_video_fiNKPD .hero__title { 3160 font-size: 20.0px; 3161 } 3162 @media only screen and (min-width: 769px) { 3163 .hero--template--26924226806049__hero_video_fiNKPD .hero__title { 3164 font-size: 40px; 3165 } 3166 } 3167 3168 3169</style><div 3170 data-section-id="template--26924226806049__hero_video_fiNKPD" 3171 data-section-type="video-section" 3172 class="video-parent-section hero hero--template--26924226806049__hero_video_fiNKPD hero--650px hero--mobile--auto" 3173 data-mobile-natural="false" 3174 data-aos="hero__animation"> 3175 3176 <div class="hero__media hero__media--template--26924226806049__hero_video_fiNKPD"> 3177 <div class="hero__media-container"><div 3178 id="Vimeo-template--26924226806049__hero_video_fiNKPD" 3179 class="video-div" 3180 data-type="vimeo" 3181 data-video-id="1210269149"></div></div> 3182 </div> 3183 3184 <div class="hero__text-wrap"> 3185 <div class="page-width"> 3186 <div class="hero__text-content vertical-center horizontal-center"> 3187 3188 <div class="hero__text-shadow"><button type="button" id="VimeoTrigger-template--26924226806049__hero_video_fiNKPD" class="vimeo-mobile-trigger medium-up--hide"> 3189 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-play" viewBox="18.24 17.35 24.52 28.3"><path fill="#323232" d="M22.1 19.151v25.5l20.4-13.489-20.4-12.011z"/></svg> 3190 </button><h2 class="h1 hero__title"> 3191 <div class="animation-cropper"><div class="animation-contents"> 3192 Faith, Hard Work and Legacy 3193 </div></div> 3194 </h2><div class="hero__link"> 3195 <div class="animation-cropper"> 3196 <div class="animation-contents"> 3197 <a href="/collections/america-250-collection" class="btn btn--inverse"data-video-id="1210269149">Shop The New Collection 3198 </a> 3199 </div> 3200 </div> 3201 </div></div> 3202 3203 </div> 3204 </div> 3205 </div> 3206 3207</div> 3208 3209 3210</div><div id="shopify-section-template--26924226806049__17850266681f554664" class="shopify-section"> 3211 3212</div><div id="shopify-section-template--26924226806049__featured_collection_reXB3H" class="shopify-section index-section"><div 3213 id="CollectionSection-template--26924226806049__featured_collection_reXB3H" 3214 data-section-id="template--26924226806049__featured_collection_reXB3H" 3215 data-section-type="collection-grid" 3216 data-context="featured-collection"><div class="page-width"> 3217 <div class="section-header"> 3218 <h2 class="section-header__title h2"> 3219 Shop shirts 3220 </h2><a href="/collections/t-shirts" class="btn btn--secondary btn--small section-header__link">View all</a></div> 3221 </div><div class="page-width page-width--flush-small"> 3222 <div class="grid-overflow-wrapper"> 3223 <div class="grid grid--uniform" data-aos="overflow__animation"> 3224<div class="grid__item grid-product small--one-half medium-up--one-quarter grid-product__has-quick-shop" data-aos="row-of-4" data-product-handle="more-fathers-less-govmnt-vintage-tee-1" data-product-id="10494019469601"> 3225 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 3226 <div class="grid-product__image-mask"><div 3227 class="grid__image-ratio grid__image-ratio--square"> 3228 3229 3230 3231<image-element data-aos="image-fade-in" data-aos-offset="150"> 3232 3233 3234 3235<img src="//shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=360 360w, //shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=540 540w, //shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=720 720w, //shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=900 900w, //shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=1080 1080w" width="1080" height="1164.375" loading="lazy" class=" grid__image-contain image-style-- 3236 image-element" sizes="(min-width: 769px) 25vw, 39vw"> 3237 3238 3239 3240</image-element> 3241</div><div class="grid-product__secondary-image small--hide"> 3242 3243 3244 3245<image-element data-aos="image-fade-in" data-aos-offset="150"> 3246 3247 3248 3249<img src="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-066.jpg?v=1786385195&width=1000" alt="" srcset="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-066.jpg?v=1786385195&width=360 360w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-066.jpg?v=1786385195&width=540 540w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-066.jpg?v=1786385195&width=720 720w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-066.jpg?v=1786385195&width=1000 1000w" width="1000" height="1500.0000000000002" loading="lazy" class="image-style-- 3250 image-element" sizes="(min-width: 769px) 25vw, 39vw"> 3251 3252 3253 3254</image-element> 3255</div><button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10494019469601 small--hide"> 3256 Quick view 3257 </button></div> 3258 3259 <a href="/collections/t-shirts/products/more-fathers-less-govmnt-vintage-tee-1" class="grid-product__link"> 3260 <div class="grid-product__meta"> 3261 <div class="grid-product__title grid-product__title--body">"More Fathers Less Govmnt" Vintage Tee</div><div class="grid-product__price">$38.00 3262</div></div> 3263 </a> 3264 </div> 3265 </div><div id="QuickShopModal-10494019469601" class="modal modal--square modal--quick-shop" data-product-id="10494019469601"> 3266 <div class="modal__inner"> 3267 <div class="modal__centered"> 3268 <div class="modal__centered-content"> 3269 <div id="QuickShopHolder-more-fathers-less-govmnt-vintage-tee-1"></div> 3270 </div> 3271 3272 <button type="button" class="modal__close js-modal-close text-link"> 3273 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
3274 <span class="icon__fallback-text">"Close (esc)"</span> 3275 </button> 3276 </div> 3277 </div> 3278</div> 3279</div> 3280 3281<div class="grid__item grid-product small--one-half medium-up--one-quarter grid-product__has-quick-shop" data-aos="row-of-4" data-product-handle="more-fathers-less-govmnt-vintage-tee" data-product-id="10343559889185"> 3282 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 3283 <div class="grid-product__image-mask"><div 3284 class="grid__image-ratio grid__image-ratio--square"> 3285 3286 3287 3288<image-element data-aos="image-fade-in" data-aos-offset="150"> 3289 3290 3291 3292<img src="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-55_1.png?v=1786389633&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-55_1.png?v=1786389633&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-55_1.png?v=1786389633&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-55_1.png?v=1786389633&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-55_1.png?v=1786389633&width=900 900w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-55_1.png?v=1786389633&width=1080 1080w" width="1080" height="1164.375" loading="lazy" class=" grid__image-contain image-style-- 3293 image-element" sizes="(min-width: 769px) 25vw, 39vw"> 3294 3295 3296 3297</image-element> 3298</div><div class="grid-product__secondary-image small--hide"> 3299 3300 3301 3302<image-element data-aos="image-fade-in" data-aos-offset="150"> 3303 3304 3305 3306<img src="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-56_1.png?v=1786389635&width=1000" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-56_1.png?v=1786389635&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-56_1.png?v=1786389635&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-56_1.png?v=1786389635&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-56_1.png?v=1786389635&width=1000 1000w" width="1000" height="1078.125" loading="lazy" class="image-style-- 3307 image-element" sizes="(min-width: 769px) 25vw, 39vw"> 3308 3309 3310 3311</image-element> 3312</div> 3313<div 3314 class="grid-product__color-image grid-product__color-image--52661509030177 small--hide"> 3315 </div> 3316<div 3317 class="grid-product__color-image grid-product__color-image--52661509062945 small--hide"> 3318 </div> 3319<div 3320 class="grid-product__color-image grid-product__color-image--52661509095713 small--hide"> 3321 </div> 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336<button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10343559889185 small--hide"> 3337 Quick view 3338 </button></div> 3339 3340 <a href="/collections/t-shirts/products/more-fathers-less-govmnt-vintage-tee" class="grid-product__link"> 3341 <div class="grid-product__meta"> 3342 <div class="grid-product__title grid-product__title--body">"More Fathers Less Govmnt" Vintage Tee</div><div class="grid-product__price">$38.00 3343</div></div> 3344 </a> 3345 </div> 3346 </div><div class="grid-product__colors grid-product__colors--10343559889185"> 3347<a 3348 href="/collections/t-shirts/products/more-fathers-less-govmnt-vintage-tee?variant=52661509030177" 3349 class="color-swatch color-swatch--small color-swatch--ecru color-swatch--with-image" 3350 3351 data-variant-id="52661509030177" 3352 data-variant-image="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-55_1_400x.png?v=1786389633" 3353 3354 aria-label=""More Fathers Less Govmnt" Vintage Tee - Ecru" 3355 style="background-color: ecru;"> 3356 <span class="visually-hidden">Ecru</span> 3357 </a> 3358<a 3359 href="/collections/t-shirts/products/more-fathers-less-govmnt-vintage-tee?variant=52661509062945" 3360 class="color-swatch color-swatch--small color-swatch--eucalyptus color-swatch--with-image" 3361 3362 data-variant-id="52661509062945" 3363 data-variant-image="//shop.realfaith.com/cdn/shop/files/20260512232506-1f14e59c-f908-6b38-b3ef-cac155710128_400x.png?v=1778628553" 3364 3365 aria-label=""More Fathers Less Govmnt" Vintage Tee - Eucalyptus" 3366 style="background-color: eucalyptus;">
3367 <span class="visually-hidden">Eucalyptus</span> 3368 </a> 3369<a 3370 href="/collections/t-shirts/products/more-fathers-less-govmnt-vintage-tee?variant=52661509095713" 3371 class="color-swatch color-swatch--small color-swatch--pine-green color-swatch--with-image" 3372 3373 data-variant-id="52661509095713" 3374 data-variant-image="//shop.realfaith.com/cdn/shop/files/20260512232131-1f14e594-f18d-6172-8f5f-3e1222b34ea0_400x.png?v=1778628553" 3375 3376 aria-label=""More Fathers Less Govmnt" Vintage Tee - Pine Green" 3377 style="background-color: green;"> 3378 <span class="visually-hidden">Pine Green</span> 3379 </a> 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394</div><div id="QuickShopModal-10343559889185" class="modal modal--square modal--quick-shop" data-product-id="10343559889185"> 3395 <div class="modal__inner"> 3396 <div class="modal__centered"> 3397 <div class="modal__centered-content"> 3398 <div id="QuickShopHolder-more-fathers-less-govmnt-vintage-tee"></div> 3399 </div> 3400 3401 <button type="button" class="modal__close js-modal-close text-link"> 3402 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg> 3403 <span class="icon__fallback-text">"Close (esc)"</span> 3404 </button> 3405 </div> 3406 </div> 3407</div> 3408</div> 3409 3410<div class="grid__item grid-product small--one-half medium-up--one-quarter grid-product__has-quick-shop" data-aos="row-of-4" data-product-handle="fight-the-good-fight-faded-tee" data-product-id="10494109122849"> 3411 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 3412 <div class="grid-product__image-mask"><div 3413 class="grid__image-ratio grid__image-ratio--square"> 3414 3415 3416 3417<image-element data-aos="image-fade-in" data-aos-offset="150"> 3418 3419 3420 3421<img src="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-43.png?v=1786388146&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-43.png?v=1786388146&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-43.png?v=1786388146&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-43.png?v=1786388146&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-43.png?v=1786388146&width=900 900w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-43.png?v=1786388146&width=1080 1080w" width="1080" height="1164.375" loading="lazy" class=" grid__image-contain image-style-- 3422 image-element" sizes="(min-width: 769px) 25vw, 39vw"> 3423 3424 3425 3426</image-element> 3427</div><div class="grid-product__secondary-image small--hide"> 3428 3429 3430 3431<image-element data-aos="image-fade-in" data-aos-offset="150"> 3432 3433 3434 3435<img src="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-44.png?v=1786388149&width=1000" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreApparel-44.png?v=1786388149&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-44.png?v=1786388149&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-44.png?v=1786388149&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreApparel-44.png?v=1786388149&width=1000 1000w" width="1000" height="1078.125" loading="lazy" class="image-style-- 3436 image-element" sizes="(min-width: 769px) 25vw, 39vw"> 3437 3438 3439 3440</image-element> 3441</div><button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10494109122849 small--hide"> 3442 Quick view 3443 </button></div> 3444 3445 <a href="/collections/t-shirts/products/fight-the-good-fight-faded-tee" class="grid-product__link"> 3446 <div class="grid-product__meta"> 3447 <div class="grid-product__title grid-product__title--body">Fight the Good Fight Faded Tee</div><div class="grid-product__price">$38.00 3448</div></div> 3449 </a> 3450 </div> 3451 </div><div id="QuickShopModal-10494109122849" class="modal modal--square modal--quick-shop" data-product-id="10494109122849"> 3452 <div class="modal__inner"> 3453 <div class="modal__centered"> 3454 <div class="modal__centered-content"> 3455 <div id="QuickShopHolder-fight-the-good-fight-faded-tee"></div> 3456 </div> 3457 3458 <button type="button" class="modal__close js-modal-close text-link"> 3459 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
3460 <span class="icon__fallback-text">"Close (esc)"</span> 3461 </button> 3462 </div> 3463 </div> 3464</div> 3465</div> 3466 3467<div class="grid__item grid-product small--one-half medium-up--one-quarter grid-product__has-quick-shop" data-aos="row-of-4" data-product-handle="fight-the-good-fight-tee-vintage-cowboy-shirt" data-product-id="10343541801249"> 3468 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 3469 <div class="grid-product__image-mask"><div 3470 class="grid__image-ratio grid__image-ratio--square"> 3471 3472 3473 3474<image-element data-aos="image-fade-in" data-aos-offset="150"> 3475 3476 3477 3478<img src="//shop.realfaith.com/cdn/shop/files/20260512233919-1f14e5bc-bd3f-67a8-ab84-fed2914bc26e.png?v=1778629268&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/20260512233919-1f14e5bc-bd3f-67a8-ab84-fed2914bc26e.png?v=1778629268&width=360 360w, //shop.realfaith.com/cdn/shop/files/20260512233919-1f14e5bc-bd3f-67a8-ab84-fed2914bc26e.png?v=1778629268&width=540 540w, //shop.realfaith.com/cdn/shop/files/20260512233919-1f14e5bc-bd3f-67a8-ab84-fed2914bc26e.png?v=1778629268&width=720 720w, //shop.realfaith.com/cdn/shop/files/20260512233919-1f14e5bc-bd3f-67a8-ab84-fed2914bc26e.png?v=1778629268&width=900 900w, //shop.realfaith.com/cdn/shop/files/20260512233919-1f14e5bc-bd3f-67a8-ab84-fed2914bc26e.png?v=1778629268&width=1080 1080w" width="1080" height="1164.375" loading="lazy" class=" grid__image-contain image-style-- 3479 image-element" sizes="(min-width: 769px) 25vw, 39vw"> 3480 3481 3482 3483</image-element> 3484</div><div class="grid-product__secondary-image small--hide"> 3485 3486 3487 3488<image-element data-aos="image-fade-in" data-aos-offset="150"> 3489 3490 3491 3492<img src="//shop.realfaith.com/cdn/shop/files/20260512233922-1f14e5bc-d712-6ff4-985e-fae9258f15a8.png?v=1778629268&width=1000" alt="" srcset="//shop.realfaith.com/cdn/shop/files/20260512233922-1f14e5bc-d712-6ff4-985e-fae9258f15a8.png?v=1778629268&width=360 360w, //shop.realfaith.com/cdn/shop/files/20260512233922-1f14e5bc-d712-6ff4-985e-fae9258f15a8.png?v=1778629268&width=540 540w, //shop.realfaith.com/cdn/shop/files/20260512233922-1f14e5bc-d712-6ff4-985e-fae9258f15a8.png?v=1778629268&width=720 720w, //shop.realfaith.com/cdn/shop/files/20260512233922-1f14e5bc-d712-6ff4-985e-fae9258f15a8.png?v=1778629268&width=1000 1000w" width="1000" height="1078.125" loading="lazy" class="image-style-- 3493 image-element" sizes="(min-width: 769px) 25vw, 39vw"> 3494 3495 3496 3497</image-element> 3498</div> 3499<div 3500 class="grid-product__color-image grid-product__color-image--52661414920481 small--hide"> 3501 </div> 3502 3503 3504 3505 3506 3507<div 3508 class="grid-product__color-image grid-product__color-image--52661414887713 small--hide"> 3509 </div> 3510 3511 3512 3513 3514<button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10343541801249 small--hide"> 3515 Quick view 3516 </button></div> 3517 3518 <a href="/collections/t-shirts/products/fight-the-good-fight-tee-vintage-cowboy-shirt" class="grid-product__link"> 3519 <div class="grid-product__meta"> 3520 <div class="grid-product__title grid-product__title--body">Fight the Good Fight Tee</div><div class="grid-product__price">$38.00 3521</div></div> 3522 </a> 3523 </div> 3524 </div><div class="grid-product__colors grid-product__colors--10343541801249"> 3525<a 3526 href="/collections/t-shirts/products/fight-the-good-fight-tee-vintage-cowboy-shirt?variant=52661414920481" 3527 class="color-swatch color-swatch--small color-swatch--faded-khaki color-swatch--with-image" 3528 3529 data-variant-id="52661414920481" 3530 data-variant-image="//shop.realfaith.com/cdn/shop/files/20260512233919-1f14e5bc-bd3f-67a8-ab84-fed2914bc26e_400x.png?v=1778629268" 3531 3532 aria-label="Fight the Good Fight Tee - Faded Khaki" 3533 style="background-color: khaki;"> 3534 <span class="visually-hidden">Faded Khaki</span> 3535 </a> 3536 3537 3538 3539 3540 3541<a 3542 href="/collections/t-shirts/products/fight-the-good-fight-tee-vintage-cowboy-shirt?variant=52661414887713" 3543 class="color-swatch color-swatch--small color-swatch--faded-bone color-swatch--with-image" 3544 3545 data-variant-id="52661414887713" 3546 data-variant-image="//shop.realfaith.com/cdn/shop/files/20260512233924-1f14e5bc-eb8a-6b08-8929-72f321b80f96_400x.png?v=1778629266" 3547 3548 aria-label="Fight the Good Fight Tee - Faded Bone" 3549 style="background-color: bone;">
3550 <span class="visually-hidden">Faded Bone</span> 3551 </a> 3552 3553 3554 3555 3556</div><div id="QuickShopModal-10343541801249" class="modal modal--square modal--quick-shop" data-product-id="10343541801249"> 3557 <div class="modal__inner"> 3558 <div class="modal__centered"> 3559 <div class="modal__centered-content"> 3560 <div id="QuickShopHolder-fight-the-good-fight-tee-vintage-cowboy-shirt"></div> 3561 </div> 3562 3563 <button type="button" class="modal__close js-modal-close text-link"> 3564 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg> 3565 <span class="icon__fallback-text">"Close (esc)"</span> 3566 </button> 3567 </div> 3568 </div> 3569</div> 3570</div> 3571</div> 3572 </div> 3573 </div> 3574</div> 3575</div><div id="shopify-section-template--26924226806049__178450495801dfb4b0" class="shopify-section"><div id="shopify-block-ANElmYS8yRFdTTFhEQ__ai_gen_block_a54a913_6HTG7t" class="shopify-block"> 3576 3577 3578<style data-shopify> 3579 .ai-shop-look-carousel-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3580 display: block; 3581 width: 100%; 3582 max-width: 100%; 3583 padding: 50px 0; 3584 background-color: #fdf8f0; 3585 } 3586 3587 .ai-shop-look-carousel__container-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3588 max-width: 1400px; 3589 margin: 0 auto; 3590 padding: 0 20px; 3591 } 3592 3593 .ai-shop-look-carousel__header-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3594 text-align: center; 3595 margin-bottom: 30px; 3596 } 3597 3598 .ai-shop-look-carousel__title-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3599 font-size: 32px; 3600 color: #131016; 3601 margin: 0 0 10px; 3602 text-transform: uppercase; 3603 } 3604 3605 .ai-shop-look-carousel__subtitle-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3606 font-size: 16px; 3607 color: #131016; 3608 margin: 0; 3609 } 3610 3611 .ai-shop-look-carousel__wrapper-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3612 position: relative; 3613 } 3614 3615 .ai-shop-look-carousel__track-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3616 display: flex; 3617 gap: 30px; 3618 overflow-x: auto; 3619 scroll-behavior: smooth; 3620 scrollbar-width: none; 3621 -ms-overflow-style: none; 3622 padding: 10px 0 20px; 3623 } 3624 3625 .ai-shop-look-carousel__track-anelmys8yrfdttfheqaigenblocka54a9136htg7t::-webkit-scrollbar {
3626 display: none; 3627 } 3628 3629 .ai-shop-look-carousel__card-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3630 flex: 0 0 300px; 3631 background-color: #ffffff; 3632 border-radius: 10px; 3633 overflow: hidden; 3634 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); 3635 transition: transform 0.3s ease, box-shadow 0.3s ease; 3636 text-decoration: none; 3637 display: block; 3638 color: inherit; 3639 } 3640 3641 .ai-shop-look-carousel__card-anelmys8yrfdttfheqaigenblocka54a9136htg7t:hover { 3642 transform: translateY(-5px); 3643 box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); 3644 } 3645 3646 .ai-shop-look-carousel__image-wrapper-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3647 position: relative; 3648 width: 100%; 3649 padding-bottom: 125%; 3650 overflow: hidden; 3651 background-color: #f4f4f4; 3652 } 3653 3654 .ai-shop-look-carousel__image-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3655 position: absolute; 3656 top: 0; 3657 left: 0; 3658 width: 100%; 3659 height: 100%; 3660 object-fit: cover; 3661 transition: transform 0.3s ease; 3662 } 3663 3664 .ai-shop-look-carousel__card-anelmys8yrfdttfheqaigenblocka54a9136htg7t:hover .ai-shop-look-carousel__image-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3665 transform: scale(1.05); 3666 } 3667 3668 .ai-shop-look-carousel__image-placeholder-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3669 position: absolute; 3670 top: 0; 3671 left: 0; 3672 width: 100%; 3673 height: 100%; 3674 display: flex; 3675 align-items: center; 3676 justify-content: center; 3677 background-color: #f4f4f4; 3678 } 3679 3680 .ai-shop-look-carousel__image-placeholder-anelmys8yrfdttfheqaigenblocka54a9136htg7t svg { 3681 width: 60%; 3682 height: 60%; 3683 opacity: 0.3; 3684 } 3685 3686 .ai-shop-look-carousel__content-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3687 padding: 20px; 3688 text-align: center; 3689 } 3690 3691 .ai-shop-look-carousel__look-title-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3692 font-size: 16px; 3693 color: #131016; 3694 margin: 0 0 8px; 3695 font-weight: 600; 3696 text-transform: uppercase; 3697 } 3698 3699 .ai-shop-look-carousel__cta-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3700 font-size: 18px; 3701 color: #b9a76d; 3702 text-decoration: underline; 3703 margin: 0; 3704 } 3705 3706 .ai-shop-look-carousel__empty-state-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3707 text-align: center; 3708 padding: 60px 20px; 3709 color: #666; 3710 } 3711 3712 .ai-shop-look-carousel__empty-title-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3713 font-size: 18px; 3714 margin-bottom: 8px; 3715 color: #333; 3716 } 3717 3718 .ai-shop-look-carousel__empty-text-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3719 font-size: 14px; 3720 } 3721 3722 .ai-shop-look-carousel__nav-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3723 position: absolute; 3724 top: 50%; 3725 transform: translateY(-50%); 3726 width: 40px; 3727 height: 40px; 3728 background-color: #b9a76d; 3729 color: #fdf8f0; 3730 border: none; 3731 border-radius: 50%; 3732 cursor: pointer; 3733 display: flex; 3734 align-items: center; 3735 justify-content: center; 3736 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); 3737 transition: background-color 0.3s ease, transform 0.2s ease; 3738 z-index: 2; 3739 } 3740 3741 .ai-shop-look-carousel__nav-anelmys8yrfdttfheqaigenblocka54a9136htg7t:hover { 3742 background-color: #a08f5a; 3743 transform: translateY(-50%) scale(1.1); 3744 } 3745 3746 .ai-shop-look-carousel__nav-anelmys8yrfdttfheqaigenblocka54a9136htg7t:disabled { 3747 opacity: 0.3; 3748 cursor: not-allowed; 3749 } 3750 3751 .ai-shop-look-carousel__nav-anelmys8yrfdttfheqaigenblocka54a9136htg7t:disabled:hover { 3752 transform: translateY(-50%) scale(1); 3753 } 3754 3755 .ai-shop-look-carousel__nav--prev-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3756 left: -20px; 3757 } 3758 3759 .ai-shop-look-carousel__nav--next-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3760 right: -20px; 3761 } 3762 3763 .ai-shop-look-carousel__nav-anelmys8yrfdttfheqaigenblocka54a9136htg7t svg { 3764 width: 20px; 3765 height: 20px; 3766 } 3767 3768 @media screen and (max-width: 749px) { 3769 .ai-shop-look-carousel__card-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3770 flex: 0 0 255.0px; 3771 } 3772 3773 .ai-shop-look-carousel__nav-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3774 display: none; 3775 } 3776 3777 .ai-shop-look-carousel__title-anelmys8yrfdttfheqaigenblocka54a9136htg7t { 3778 font-size: 25.6px; 3779 } 3780 } 3781</style> 3782 3783<shop-look-carousel-anelmys8yrfdttfheqaigenblocka54a9136htg7t 3784 class="ai-shop-look-carousel-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3785 3786> 3787 <div class="ai-shop-look-carousel__container-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3788 3789 <div class="ai-shop-look-carousel__header-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3790 3791 <h2 class="ai-shop-look-carousel__title-anelmys8yrfdttfheqaigenblocka54a9136htg7t">Shop the look</h2> 3792 3793 3794 </div> 3795 3796 3797 3798 3799 3800 <div class="ai-shop-look-carousel__wrapper-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3801 <button 3802 class="ai-shop-look-carousel__nav-anelmys8yrfdttfheqaigenblocka54a9136htg7t ai-shop-look-carousel__nav--prev-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3803 aria-label="Previous looks" 3804 data-nav="prev" 3805 > 3806 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 3807 <polyline points="15 18 9 12 15 6"></polyline> 3808 </svg> 3809 </button> 3810 3811 <div class="ai-shop-look-carousel__track-anelmys8yrfdttfheqaigenblocka54a9136htg7t" data-track> 3812 3813 3814 3815 3816 <a 3817 href="/products/jesus-is-king-hat-1" 3818 class="ai-shop-look-carousel__card-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3819 > 3820 <div class="ai-shop-look-carousel__image-wrapper-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3821 <img 3822 src="//shop.realfaith.com/cdn/shop/files/gemini-2.5-flash-image_Take_the_canvas_hat_in_the_first_second_and_third_image_and_put_it_on_the_person-0_1.jpg?v=1784565757&width=800" 3823 alt="" 3824 class="ai-shop-look-carousel__image-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3825 loading="lazy" 3826 width="800" 3827 height="1000" 3828 > 3829 </div> 3830 3831 <div class="ai-shop-look-carousel__content-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3832 3833 <h3 class="ai-shop-look-carousel__look-title-anelmys8yrfdttfheqaigenblocka54a9136htg7t">Jesus Is King Hat</h3> 3834 3835 3836 <p class="ai-shop-look-carousel__cta-anelmys8yrfdttfheqaigenblocka54a9136htg7t">Shop this look</p> 3837 3838 </div> 3839 </a> 3840 3841 3842 3843 3844 3845 <a
3846 href="/products/realfaith-america-hat" 3847 class="ai-shop-look-carousel__card-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3848 > 3849 <div class="ai-shop-look-carousel__image-wrapper-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3850 <img 3851 src="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-099.jpg?v=1784505586&width=800" 3852 alt="" 3853 class="ai-shop-look-carousel__image-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3854 loading="lazy" 3855 width="800" 3856 height="1000" 3857 > 3858 </div> 3859 3860 <div class="ai-shop-look-carousel__content-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3861 3862 <h3 class="ai-shop-look-carousel__look-title-anelmys8yrfdttfheqaigenblocka54a9136htg7t">RealFaith America Patch Hat</h3> 3863 3864 3865 <p class="ai-shop-look-carousel__cta-anelmys8yrfdttfheqaigenblocka54a9136htg7t">Shop this look</p> 3866 3867 </div> 3868 </a> 3869 3870 3871 3872 3873 3874 <a 3875 href="/products/more-fathers-less-govmnt-vintage-tee" 3876 class="ai-shop-look-carousel__card-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3877 > 3878 <div class="ai-shop-look-carousel__image-wrapper-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3879 <img 3880 src="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-044.jpg?v=1784563537&width=800" 3881 alt="A man wearing a black graphic t-shirt with lime green text reading 'MORE FATHERS LESS GOVERMENT' and a black baseball cap with a white 'RF' logo, sitting outdoors on a bench." 3882 class="ai-shop-look-carousel__image-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3883 loading="lazy" 3884 width="800" 3885 height="1000" 3886 > 3887 </div> 3888 3889 <div class="ai-shop-look-carousel__content-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3890 3891 <h3 class="ai-shop-look-carousel__look-title-anelmys8yrfdttfheqaigenblocka54a9136htg7t">More Fathers Less Government T-shirt</h3> 3892 3893 3894 <p class="ai-shop-look-carousel__cta-anelmys8yrfdttfheqaigenblocka54a9136htg7t">Shop this look</p> 3895 3896 </div> 3897 </a> 3898 3899 3900 3901 3902 3903 <a 3904 href="/products/kill-sin-embroidered-tee" 3905 class="ai-shop-look-carousel__card-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3906 > 3907 <div class="ai-shop-look-carousel__image-wrapper-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3908 <img 3909 src="//shop.realfaith.com/cdn/shop/files/RF_Store_Apparel-1_3.png?v=1784575910&width=800" 3910 alt="" 3911 class="ai-shop-look-carousel__image-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3912 loading="lazy" 3913 width="800" 3914 height="1000" 3915 > 3916 </div> 3917 3918 <div class="ai-shop-look-carousel__content-anelmys8yrfdttfheqaigenblocka54a9136htg7t"> 3919 3920 <h3 class="ai-shop-look-carousel__look-title-anelmys8yrfdttfheqaigenblocka54a9136htg7t">KIll Sin Embroidered T-Shirt</h3> 3921 3922 3923 <p class="ai-shop-look-carousel__cta-anelmys8yrfdttfheqaigenblocka54a9136htg7t">Shop this look</p> 3924 3925 </div> 3926 </a> 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 </div> 3938 3939 <button 3940 class="ai-shop-look-carousel__nav-anelmys8yrfdttfheqaigenblocka54a9136htg7t ai-shop-look-carousel__nav--next-anelmys8yrfdttfheqaigenblocka54a9136htg7t" 3941 aria-label="Next looks" 3942 data-nav="next" 3943 > 3944 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 3945 <polyline points="9 18 15 12 9 6"></polyline> 3946 </svg> 3947 </button> 3948 </div> 3949 3950 </div> 3951</shop-look-carousel-anelmys8yrfdttfheqaigenblocka54a9136htg7t> 3952
3953<script> 3954 (function() { 3955 class ShopLookCarouselanelmys8yrfdttfheqaigenblocka54a9136htg7t extends HTMLElement { 3956 constructor() { 3957 super(); 3958 } 3959 3960 connectedCallback() { 3961 this.track = this.querySelector('[data-track]'); 3962 this.prevButton = this.querySelector('[data-nav="prev"]'); 3963 this.nextButton = this.querySelector('[data-nav="next"]'); 3964 3965 if (this.track) { 3966 this.setupNavigation(); 3967 } 3968 } 3969 3970 setupNavigation() { 3971 if (this.prevButton) { 3972 this.prevButton.addEventListener('click', () => this.scroll('prev')); 3973 } 3974 3975 if (this.nextButton) { 3976 this.nextButton.addEventListener('click', () => this.scroll('next')); 3977 } 3978 3979 this.track.addEventListener('scroll', () => this.updateButtonStates()); 3980 this.updateButtonStates(); 3981 } 3982 3983 scroll(direction) { 3984 const scrollAmount = this.track.offsetWidth * 0.8; 3985 const currentScroll = this.track.scrollLeft; 3986 3987 if (direction === 'next') { 3988 this.track.scrollLeft = currentScroll + scrollAmount; 3989 } else { 3990 this.track.scrollLeft = currentScroll - scrollAmount; 3991 } 3992 } 3993 3994 updateButtonStates() { 3995 if (!this.prevButton || !this.nextButton) return; 3996 3997 const isAtStart = this.track.scrollLeft <= 0; 3998 const isAtEnd = this.track.scrollLeft + this.track.offsetWidth >= this.track.scrollWidth - 1; 3999 4000 this.prevButton.disabled = isAtStart; 4001 this.nextButton.disabled = isAtEnd; 4002 } 4003 } 4004 4005 customElements.define('shop-look-carousel-anelmys8yrfdttfheqaigenblocka54a9136htg7t', ShopLookCarouselanelmys8yrfdttfheqaigenblocka54a9136htg7t); 4006 })(); 4007</script>
4007 4008 4009</div> 4010 4011 4012</div><div id="shopify-section-template--26924226806049__featured_collection_jcazAD" class="shopify-section index-section"><div 4013 id="CollectionSection-template--26924226806049__featured_collection_jcazAD" 4014 data-section-id="template--26924226806049__featured_collection_jcazAD" 4015 data-section-type="collection-grid" 4016 data-context="featured-collection"><div class="page-width"> 4017 <div class="section-header"> 4018 <h2 class="section-header__title h2"> 4019 New Additions To Our Line Up 4020 </h2><a href="/collections/hats" class="btn btn--secondary btn--small section-header__link">View all</a></div> 4021 </div><div class="page-width page-width--flush-small"> 4022 <div class="grid-overflow-wrapper"> 4023 <div class="grid grid--uniform" data-aos="overflow__animation"> 4024<div class="grid__item grid-product small--one-half medium-up--one-third grid-product__has-quick-shop" data-aos="row-of-3" data-product-handle="jesus-is-king-hat-1" data-product-id="10393431015713"> 4025 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 4026 <div class="grid-product__image-mask"><div 4027 class="grid__image-ratio grid__image-ratio--square"> 4028 4029 4030 4031<image-element data-aos="image-fade-in" data-aos-offset="150"> 4032 4033 4034 4035<img src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=900 900w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=1080 1080w" width="1080" height="1204.1379310344828" loading="lazy" class=" grid__image-contain image-style-- 4036 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4037 4038 4039 4040</image-element> 4041</div><div class="grid-product__secondary-image small--hide"> 4042 4043 4044 4045<image-element data-aos="image-fade-in" data-aos-offset="150"> 4046 4047 4048 4049<img src="//shop.realfaith.com/cdn/shop/files/gemini-2.5-flash-image_Take_the_canvas_hat_in_the_first_second_and_third_image_and_put_it_on_the_person-0_1.jpg?v=1784565757&width=1000" alt="" srcset="//shop.realfaith.com/cdn/shop/files/gemini-2.5-flash-image_Take_the_canvas_hat_in_the_first_second_and_third_image_and_put_it_on_the_person-0_1.jpg?v=1784565757&width=360 360w, //shop.realfaith.com/cdn/shop/files/gemini-2.5-flash-image_Take_the_canvas_hat_in_the_first_second_and_third_image_and_put_it_on_the_person-0_1.jpg?v=1784565757&width=540 540w, //shop.realfaith.com/cdn/shop/files/gemini-2.5-flash-image_Take_the_canvas_hat_in_the_first_second_and_third_image_and_put_it_on_the_person-0_1.jpg?v=1784565757&width=720 720w, //shop.realfaith.com/cdn/shop/files/gemini-2.5-flash-image_Take_the_canvas_hat_in_the_first_second_and_third_image_and_put_it_on_the_person-0_1.jpg?v=1784565757&width=1000 1000w" width="1000" height="571.4285714285714" loading="lazy" class="image-style-- 4050 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4051 4052 4053 4054</image-element> 4055</div><button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10393431015713 small--hide"> 4056 Quick view 4057 </button></div> 4058 4059 <a href="/collections/hats/products/jesus-is-king-hat-1" class="grid-product__link"> 4060 <div class="grid-product__meta"> 4061 <div class="grid-product__title grid-product__title--body">Jesus is King Snapback Hat</div><div class="grid-product__price">$38.00 4062</div></div> 4063 </a> 4064 </div> 4065 </div><div id="QuickShopModal-10393431015713" class="modal modal--square modal--quick-shop" data-product-id="10393431015713"> 4066 <div class="modal__inner"> 4067 <div class="modal__centered"> 4068 <div class="modal__centered-content"> 4069 <div id="QuickShopHolder-jesus-is-king-hat-1"></div> 4070 </div> 4071 4072 <button type="button" class="modal__close js-modal-close text-link"> 4073 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
4074 <span class="icon__fallback-text">"Close (esc)"</span> 4075 </button> 4076 </div> 4077 </div> 4078</div> 4079</div> 4080 4081<div class="grid__item grid-product small--one-half medium-up--one-third grid-product__has-quick-shop" data-aos="row-of-3" data-product-handle="more-fathers-less-govmnt-camo-hat" data-product-id="10448781639969"> 4082 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 4083 <div class="grid-product__image-mask"><div 4084 class="grid__image-ratio grid__image-ratio--square"> 4085 4086 4087 4088<image-element data-aos="image-fade-in" data-aos-offset="150"> 4089 4090 4091 4092<img src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-8_1.png?v=1784754271&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreHats-8_1.png?v=1784754271&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-8_1.png?v=1784754271&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-8_1.png?v=1784754271&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-8_1.png?v=1784754271&width=900 900w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-8_1.png?v=1784754271&width=1080 1080w" width="1080" height="1204.1379310344828" loading="lazy" class=" grid__image-contain image-style-- 4093 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4094 4095 4096 4097</image-element> 4098</div><div class="grid-product__secondary-image small--hide"> 4099 4100 4101 4102<image-element data-aos="image-fade-in" data-aos-offset="150"> 4103 4104 4105 4106<img src="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-022_1.jpg?v=1785001829&width=1000" alt="" srcset="//shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-022_1.jpg?v=1785001829&width=360 360w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-022_1.jpg?v=1785001829&width=540 540w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-022_1.jpg?v=1785001829&width=720 720w, //shop.realfaith.com/cdn/shop/files/YoursTrulyPhotography-022_1.jpg?v=1785001829&width=1000 1000w" width="1000" height="666.7771883289124" loading="lazy" class="image-style-- 4107 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4108 4109 4110 4111</image-element> 4112</div><button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10448781639969 small--hide"> 4113 Quick view 4114 </button></div> 4115 4116 <a href="/collections/hats/products/more-fathers-less-govmnt-camo-hat" class="grid-product__link"> 4117 <div class="grid-product__meta"> 4118 <div class="grid-product__title grid-product__title--body">More Fathers Less Govmnt Camo Hat</div><div class="grid-product__price">$38.00 4119</div></div> 4120 </a> 4121 </div> 4122 </div><div id="QuickShopModal-10448781639969" class="modal modal--square modal--quick-shop" data-product-id="10448781639969"> 4123 <div class="modal__inner"> 4124 <div class="modal__centered"> 4125 <div class="modal__centered-content"> 4126 <div id="QuickShopHolder-more-fathers-less-govmnt-camo-hat"></div> 4127 </div> 4128 4129 <button type="button" class="modal__close js-modal-close text-link"> 4130 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg> 4131 <span class="icon__fallback-text">"Close (esc)"</span> 4132 </button> 4133 </div> 4134 </div> 4135</div> 4136</div> 4137 4138<div class="grid__item grid-product small--one-half medium-up--one-third grid-product__has-quick-shop" data-aos="row-of-3" data-product-handle="kill-sin-canvas-trucker-hat" data-product-id="10474284810529"> 4139 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 4140 <div class="grid-product__image-mask"><div 4141 class="grid__image-ratio grid__image-ratio--square"> 4142 4143 4144 4145<image-element data-aos="image-fade-in" data-aos-offset="150"> 4146 4147 4148 4149<img src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-8_2_27025479-0e84-49a4-abb8-b391a019aae3.png?v=1785795417&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreHats-8_2_27025479-0e84-49a4-abb8-b391a019aae3.png?v=1785795417&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-8_2_27025479-0e84-49a4-abb8-b391a019aae3.png?v=1785795417&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-8_2_27025479-0e84-49a4-abb8-b391a019aae3.png?v=1785795417&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-8_2_27025479-0e84-49a4-abb8-b391a019aae3.png?v=1785795417&width=900 900w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-8_2_27025479-0e84-49a4-abb8-b391a019aae3.png?v=1785795417&width=1080 1080w" width="1080" height="1204.1379310344828" loading="lazy" class=" grid__image-contain image-style-- 4150 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4151 4152 4153 4154</image-element> 4155</div><div class="grid-product__secondary-image small--hide"> 4156 4157 4158 4159<image-element data-aos="image-fade-in" data-aos-offset="150"> 4160 4161 4162 4163<img src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-9_3_13bee66e-448a-4386-be86-7c533feb2671.png?v=1785795419&width=1000" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreHats-9_3_13bee66e-448a-4386-be86-7c533feb2671.png?v=1785795419&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-9_3_13bee66e-448a-4386-be86-7c533feb2671.png?v=1785795419&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-9_3_13bee66e-448a-4386-be86-7c533feb2671.png?v=1785795419&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-9_3_13bee66e-448a-4386-be86-7c533feb2671.png?v=1785795419&width=1000 1000w" width="1000" height="1114.942528735632" loading="lazy" class="image-style-- 4164 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4165 4166 4167 4168</image-element> 4169</div><button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10474284810529 small--hide"> 4170 Quick view 4171 </button></div> 4172 4173 <a href="/collections/hats/products/kill-sin-canvas-trucker-hat" class="grid-product__link"> 4174 <div class="grid-product__meta"> 4175 <div class="grid-product__title grid-product__title--body">Kill Sin Canvas Trucker Hat</div><div class="grid-product__price">$38.00 4176</div></div> 4177 </a> 4178 </div> 4179 </div><div id="QuickShopModal-10474284810529" class="modal modal--square modal--quick-shop" data-product-id="10474284810529"> 4180 <div class="modal__inner"> 4181 <div class="modal__centered"> 4182 <div class="modal__centered-content"> 4183 <div id="QuickShopHolder-kill-sin-canvas-trucker-hat"></div> 4184 </div> 4185 4186 <button type="button" class="modal__close js-modal-close text-link"> 4187 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
4188 <span class="icon__fallback-text">"Close (esc)"</span> 4189 </button> 4190 </div> 4191 </div> 4192</div> 4193</div> 4194</div> 4195 </div> 4196 </div> 4197</div> 4198</div><div id="shopify-section-template--26924226806049__178442548956bc6ff4" class="shopify-section"> 4199 4200 4201<style data-shopify> 4202 .ai-hero-image-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4203 position: relative; 4204 width: 100%; 4205 overflow: hidden; 4206 display: block; 4207 } 4208 4209 .ai-hero-image-wrapper-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4210 position: relative; 4211 width: 100%; 4212 height: 400px; 4213 } 4214 4215 @media screen and (min-width: 750px) { 4216 .ai-hero-image-wrapper-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4217 4218 height: 650px; 4219 4220 } 4221 } 4222 4223 .ai-hero-image-acwxpewc2u3facw1gzaigenblock399465cegqa9e img { 4224 width: 100%; 4225 height: 100%; 4226 object-fit: cover; 4227 object-position: bottom center; 4228 } 4229 4230 .ai-hero-image-placeholder-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4231 width: 100%; 4232 height: 100%; 4233 background-color: #f4f4f4; 4234 display: flex; 4235 align-items: center; 4236 justify-content: center; 4237 position: relative; 4238 } 4239 4240 .ai-hero-image-placeholder-acwxpewc2u3facw1gzaigenblock399465cegqa9e svg { 4241 width: 100%; 4242 height: 100%; 4243 max-width: 500px; 4244 max-height: 500px; 4245 } 4246 4247 .ai-hero-empty-state-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4248 position: absolute; 4249 bottom: 20px; 4250 left: 50%; 4251 transform: translateX(-50%); 4252 padding: 12px 20px; 4253 font-size: 14px; 4254 color: #666; 4255 text-align: center; 4256 pointer-events: none; 4257 } 4258 4259 .ai-hero-content-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4260 position: absolute; 4261 z-index: 2; 4262 width: 90%; 4263 max-width: 800px; 4264 4265 4266 bottom: 40px; 4267 right: 40px; 4268 transform: none; 4269 text-align: right; 4270 4271 } 4272 4273 .ai-hero-overlay-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4274 position: absolute; 4275 top: 0; 4276 left: 0; 4277 width: 100%; 4278 height: 100%; 4279 background-color: #000000; 4280 opacity: 0.25; 4281 z-index: 1; 4282 } 4283 4284 .ai-hero-heading-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4285 font-size: 36px; 4286 margin: 0 0 16px; 4287 font-weight: 700; 4288 color: #ffffff; 4289 } 4290 4291 .ai-hero-subheading-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4292 font-size: 26px; 4293 margin: 0 0 24px; 4294 color: #ffffff; 4295 } 4296 4297 .ai-hero-button-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4298 display: inline-block; 4299 padding: 12px 32px; 4300 background-color: #b9a76d; 4301 color: #fdf8f0; 4302 text-decoration: none; 4303 border-radius: 4px; 4304 font-size: 16px; 4305 transition: background-color 0.3s ease; 4306 } 4307 4308 .ai-hero-button-acwxpewc2u3facw1gzaigenblock399465cegqa9e:hover { 4309 background-color: #a08f5a; 4310 } 4311 4312 @media screen and (max-width: 749px) { 4313 .ai-hero-content-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4314 width: calc(100% - 40px); 4315 max-width: none; 4316 } 4317 4318 .ai-hero-heading-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4319 font-size: 25.2px; 4320 } 4321 4322 .ai-hero-subheading-acwxpewc2u3facw1gzaigenblock399465cegqa9e { 4323 font-size: 20.8px; 4324 } 4325 } 4326</style> 4327 4328<div class="ai-hero-image-acwxpewc2u3facw1gzaigenblock399465cegqa9e" > 4329 <div class="ai-hero-image-wrapper-acwxpewc2u3facw1gzaigenblock399465cegqa9e"> 4330 4331 <img 4332 src="//shop.realfaith.com/cdn/shop/files/RF_Store_Apparel-3_2.png?v=1784426584&width=2000" 4333 alt="" 4334 loading="lazy" 4335 width="1991" 4336 height="1138" 4337 > 4338 4339 4340 4341 <div class="ai-hero-overlay-acwxpewc2u3facw1gzaigenblock399465cegqa9e"></div> 4342 4343 4344 4345 <div class="ai-hero-content-acwxpewc2u3facw1gzaigenblock399465cegqa9e"> 4346 4347 <h2 class="ai-hero-heading-acwxpewc2u3facw1gzaigenblock399465cegqa9e">Our Best Seller</h2> 4348 4349 4350 4351 <p class="ai-hero-subheading-acwxpewc2u3facw1gzaigenblock399465cegqa9e">Fight The Good Fight T-shirt</p> 4352 4353 4354 4355 <a href="/products/fight-the-good-fight-tee-vintage-cowboy-shirt" class="ai-hero-button-acwxpewc2u3facw1gzaigenblock399465cegqa9e"> 4356 Shop now 4357 </a> 4358 4359 </div> 4360 4361 </div> 4362</div> 4363 4364 4365 4366</div><div id="shopify-section-template--26924226806049__178439492208b26c79" class="shopify-section"> 4367 4368 4369<style data-shopify> 4370 .ai-book-hero-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4371 display: block; 4372 width: 100%; 4373 background-color: #fdf8f0; 4374 padding: 20px 20px; 4375 } 4376 4377 .ai-book-hero-container-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4378 max-width: 1200px; 4379 margin: 0 auto; 4380 display: flex; 4381 align-items: center; 4382 gap: 60px; 4383 } 4384 4385 .ai-book-hero-image-wrapper-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4386 flex: 0 0 auto; 4387 width: 460px; 4388 } 4389 4390 .ai-book-hero-image-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4391 width: 100%; 4392 height: auto; 4393 display: block; 4394 border-radius: 8px; 4395 box-shadow: 0px 10px 5px #00000026; 4396 } 4397 4398 .ai-book-hero-image-placeholder-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4399 width: 100%; 4400 aspect-ratio: 2 / 3; 4401 background-color: #f4f4f4; 4402 display: flex; 4403 align-items: center; 4404 justify-content: center; 4405 border-radius: 8px; 4406 position: relative; 4407 } 4408 4409 .ai-book-hero-empty-state-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4410 position: absolute; 4411 bottom: 20px; 4412 left: 50%; 4413 transform: translateX(-50%); 4414 padding: 12px 20px; 4415 font-size: 14px; 4416 color: #666; 4417 text-align: center; 4418 pointer-events: none; 4419 } 4420 4421 .ai-book-hero-image-placeholder-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka svg { 4422 width: 100%; 4423 height: 100%; 4424 max-width: 200px; 4425 max-height: 300px; 4426 } 4427 4428 .ai-book-hero-content-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4429 flex: 1; 4430 display: flex; 4431 flex-direction: column; 4432 gap: 20px; 4433 4434 align-items: flex-start; 4435 text-align: left; 4436 4437 } 4438 4439 .ai-book-hero-badge-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4440 display: inline-block; 4441 padding: 8px 16px; 4442 background-color: #c64d3e; 4443 color: #fdf8f0; 4444 font-size: 12px; 4445 font-weight: 600; 4446 border-radius: 4px; 4447 text-transform: uppercase; 4448 letter-spacing: 1px; 4449 } 4450 4451 .ai-book-hero-heading-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4452 margin: 0; 4453 color: #131016; 4454 font-size: 48px; 4455 line-height: 1.2; 4456 font-weight: 700; 4457 } 4458 4459 .ai-book-hero-subheading-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4460 margin: 0; 4461 color: #131016; 4462 font-size: 24px; 4463 line-height: 1.4; 4464 } 4465 4466 .ai-book-hero-description-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4467 color: #131016; 4468 font-size: 16px; 4469 line-height: 1.6; 4470 max-width: 600px; 4471 } 4472 4473 .ai-book-hero-button-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4474 display: inline-block; 4475 padding: 14px 32px; 4476 background-color: #b9a76d; 4477 color: #fdf8f0; 4478 font-size: 16px; 4479 font-weight: 600; 4480 text-decoration: none; 4481 border-radius: 6px; 4482 transition: background-color 0.3s ease; 4483 } 4484 4485 .ai-book-hero-button-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka:hover { 4486 background-color: #131016; 4487 color: #fdf8f0; 4488 } 4489 4490 @media screen and (max-width: 768px) { 4491 .ai-book-hero-container-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4492 flex-direction: column; 4493 gap: 40px; 4494 } 4495 4496 .ai-book-hero-image-wrapper-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4497 width: 240px; 4498 max-width: 100%; 4499 } 4500 4501 .ai-book-hero-content-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4502 align-items: center; 4503 text-align: center; 4504 } 4505 4506 .ai-book-hero-heading-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4507 font-size: 33.6px; 4508 } 4509 4510 .ai-book-hero-subheading-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka { 4511 font-size: 19.2px; 4512 } 4513 } 4514</style> 4515 4516<book-hero-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka class="ai-book-hero-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka" > 4517 <div class="ai-book-hero-container-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka"> 4518 <div class="ai-book-hero-image-wrapper-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka"> 4519 4520 <img 4521 src="//shop.realfaith.com/cdn/shop/files/howtobearealman_1.png?v=1788299621&width=800" 4522 alt="" 4523 loading="lazy" 4524 width="2048" 4525 height="2048" 4526 class="ai-book-hero-image-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka" 4527 > 4528 4529 </div> 4530 4531 <div class="ai-book-hero-content-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka"> 4532 4533 4534 4535 <h1 class="ai-book-hero-heading-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka">Our Latest Resource</h1> 4536 4537 4538 4539 <h2 class="ai-book-hero-subheading-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka">How To Be A Real Man</h2> 4540 4541 4542 4543 <div class="ai-book-hero-description-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka"><p>Most men were never taught how to be men. In <em>
4543How To Be a Real Man</em>, Pastor Mark Driscoll draws on 30 years of ministry to challenge passivity and equip men to reclaim the authority God assigned them.</p><p><strong>Inside, youâll discover:</strong></p><ul><li>How to dismantle the primary lies holding men back</li><li>Practical ways to lead as "Pastor Dad" in your home</li><li>How to discern wise men, fools, and toxic influences</li><li>Why repentance is a man's greatest strength</li></ul></div> 4544 4545 4546 4547 <a 4548 href="/collections/books" 4549 class="ai-book-hero-button-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka" 4550 > 4551 Shop Now 4552 </a> 4553 4554 </div> 4555 </div> 4556</book-hero-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka> 4557
4558<script> 4559 (function() { 4560 class BookHeroavwc1zffzvmjsvgyxyaigenblockeec637czlgkka extends HTMLElement { 4561 constructor() { 4562 super(); 4563 } 4564 } 4565 customElements.define('book-hero-avwc1zffzvmjsvgyxyaigenblockeec637czlgkka', BookHeroavwc1zffzvmjsvgyxyaigenblockeec637czlgkka); 4566 })(); 4567</script>
4567 4568 4569 4570 4571</div><div id="shopify-section-template--26924226806049__featured_collection_FkBNwj" class="shopify-section index-section"><div 4572 id="CollectionSection-template--26924226806049__featured_collection_FkBNwj" 4573 data-section-id="template--26924226806049__featured_collection_FkBNwj" 4574 data-section-type="collection-grid" 4575 data-context="featured-collection"><div class="page-width"> 4576 <div class="section-header"> 4577 <h2 class="section-header__title h2"> 4578 Best Selling Books 4579 </h2><a href="/collections/best-sellers-books" class="btn btn--secondary btn--small section-header__link">View all</a></div> 4580 </div><div class="page-width page-width--flush-small"> 4581 <div class="grid-overflow-wrapper"> 4582 <div class="grid grid--uniform" data-aos="overflow__animation"> 4583<div class="grid__item grid-product small--one-half medium-up--one-third grid-product__has-quick-shop" data-aos="row-of-3" data-product-handle="king-of-kings" data-product-id="10328591335713"> 4584 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 4585 <div class="grid-product__image-mask"><div 4586 class="grid__image-ratio grid__image-ratio--square"> 4587 4588 4589 4590<image-element data-aos="image-fade-in" data-aos-offset="150"> 4591 4592 4593 4594<img src="//shop.realfaith.com/cdn/shop/files/BookMockup08.png?v=1781630496&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/BookMockup08.png?v=1781630496&width=360 360w, //shop.realfaith.com/cdn/shop/files/BookMockup08.png?v=1781630496&width=540 540w, //shop.realfaith.com/cdn/shop/files/BookMockup08.png?v=1781630496&width=720 720w, //shop.realfaith.com/cdn/shop/files/BookMockup08.png?v=1781630496&width=900 900w, //shop.realfaith.com/cdn/shop/files/BookMockup08.png?v=1781630496&width=1080 1080w" width="1080" height="1259.6162046908316" loading="lazy" class=" grid__image-contain image-style-- 4595 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4596 4597 4598 4599</image-element> 4600</div><button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10328591335713 small--hide"> 4601 Quick view 4602 </button></div> 4603 4604 <a href="/collections/best-sellers-books/products/king-of-kings" class="grid-product__link"> 4605 <div class="grid-product__meta"> 4606 <div class="grid-product__title grid-product__title--body">King of Kings</div><div class="grid-product__price">from $19.99 4607</div></div> 4608 </a> 4609 </div> 4610 </div><div id="QuickShopModal-10328591335713" class="modal modal--square modal--quick-shop" data-product-id="10328591335713"> 4611 <div class="modal__inner"> 4612 <div class="modal__centered"> 4613 <div class="modal__centered-content"> 4614 <div id="QuickShopHolder-king-of-kings"></div> 4615 </div> 4616 4617 <button type="button" class="modal__close js-modal-close text-link"> 4618 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg> 4619 <span class="icon__fallback-text">"Close (esc)"</span> 4620 </button> 4621 </div> 4622 </div> 4623</div> 4624</div> 4625 4626<div class="grid__item grid-product small--one-half medium-up--one-third grid-product__has-quick-shop" data-aos="row-of-3" data-product-handle="new-days-old-demons-book" data-product-id="10327330488609"> 4627 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 4628 <div class="grid-product__image-mask"><div 4629 class="grid__image-ratio grid__image-ratio--square"> 4630 4631 4632 4633<image-element data-aos="image-fade-in" data-aos-offset="150"> 4634 4635 4636 4637<img src="//shop.realfaith.com/cdn/shop/files/BookMockup04.png?v=1781630694&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/BookMockup04.png?v=1781630694&width=360 360w, //shop.realfaith.com/cdn/shop/files/BookMockup04.png?v=1781630694&width=540 540w, //shop.realfaith.com/cdn/shop/files/BookMockup04.png?v=1781630694&width=720 720w, //shop.realfaith.com/cdn/shop/files/BookMockup04.png?v=1781630694&width=900 900w, //shop.realfaith.com/cdn/shop/files/BookMockup04.png?v=1781630694&width=1080 1080w" width="1080" height="1259.6162046908316" loading="lazy" class=" grid__image-contain image-style-- 4638 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4639 4640 4641 4642</image-element> 4643</div><button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10327330488609 small--hide"> 4644 Quick view 4645 </button></div> 4646 4647 <a href="/collections/best-sellers-books/products/new-days-old-demons-book" class="grid-product__link"> 4648 <div class="grid-product__meta"> 4649 <div class="grid-product__title grid-product__title--body">New Days, Old Demons</div><div class="grid-product__price">$24.99 4650</div></div> 4651 </a> 4652 </div> 4653 </div><div id="QuickShopModal-10327330488609" class="modal modal--square modal--quick-shop" data-product-id="10327330488609"> 4654 <div class="modal__inner"> 4655 <div class="modal__centered"> 4656 <div class="modal__centered-content"> 4657 <div id="QuickShopHolder-new-days-old-demons-book"></div> 4658 </div> 4659 4660 <button type="button" class="modal__close js-modal-close text-link"> 4661 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg>
4662 <span class="icon__fallback-text">"Close (esc)"</span> 4663 </button> 4664 </div> 4665 </div> 4666</div> 4667</div> 4668 4669<div class="grid__item grid-product small--one-half medium-up--one-third grid-product__has-quick-shop" data-aos="row-of-3" data-product-handle="act-like-a-man-9-ways-to-punch-life-in-the-mouth" data-product-id="10328573444385"> 4670 <div class="grid-product__content"><div class="grid__item-image-wrapper"> 4671 <div class="grid-product__image-mask"><div 4672 class="grid__image-ratio grid__image-ratio--square"> 4673 4674 4675 4676<image-element data-aos="image-fade-in" data-aos-offset="150"> 4677 4678 4679 4680<img src="//shop.realfaith.com/cdn/shop/files/BookMockup16.png?v=1781630440&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/BookMockup16.png?v=1781630440&width=360 360w, //shop.realfaith.com/cdn/shop/files/BookMockup16.png?v=1781630440&width=540 540w, //shop.realfaith.com/cdn/shop/files/BookMockup16.png?v=1781630440&width=720 720w, //shop.realfaith.com/cdn/shop/files/BookMockup16.png?v=1781630440&width=900 900w, //shop.realfaith.com/cdn/shop/files/BookMockup16.png?v=1781630440&width=1080 1080w" width="1080" height="1259.6162046908316" loading="lazy" class=" grid__image-contain image-style-- 4681 image-element" sizes="(min-width: 769px) 33vw, 39vw"> 4682 4683 4684 4685</image-element> 4686</div><button class="quick-product__btn btn--not-ready js-modal-open-quick-modal-10328573444385 small--hide"> 4687 Quick view 4688 </button></div> 4689 4690 <a href="/collections/best-sellers-books/products/act-like-a-man-9-ways-to-punch-life-in-the-mouth" class="grid-product__link"> 4691 <div class="grid-product__meta"> 4692 <div class="grid-product__title grid-product__title--body">Act Like a Man: 9 Ways to Punch Life in the Mouth</div><div class="grid-product__price">$19.99 4693</div></div> 4694 </a> 4695 </div> 4696 </div><div id="QuickShopModal-10328573444385" class="modal modal--square modal--quick-shop" data-product-id="10328573444385"> 4697 <div class="modal__inner"> 4698 <div class="modal__centered"> 4699 <div class="modal__centered-content"> 4700 <div id="QuickShopHolder-act-like-a-man-9-ways-to-punch-life-in-the-mouth"></div> 4701 </div> 4702 4703 <button type="button" class="modal__close js-modal-close text-link"> 4704 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg> 4705 <span class="icon__fallback-text">"Close (esc)"</span> 4706 </button> 4707 </div> 4708 </div> 4709</div> 4710</div> 4711</div> 4712 </div> 4713 </div> 4714</div> 4715</div><div id="shopify-section-template--26924226806049__featured-collections" class="shopify-section index-section"><div class="section--divider"><div class="page-width"><div class="section-header"> 4716 <h2 class="section-header__title h2">explore</h2> 4717 </div><div class="grid grid--uniform"><div class="grid__item small--one-half medium-up--one-quarter" > 4718 <a href="/collections/books" class="collection-item collection-item--below" data-aos="row-of-5"><div class="collection-image collection-image--square image-wrap"> 4719 4720 4721 4722 <style data-shopify> 4723 .collection-image--collection-1 { 4724 object-position: center center; 4725 } 4726 </style> 4727 4728 4729 4730 4731 4732 4733<image-element data-aos="image-fade-in" data-aos-offset="150"> 4734 4735 4736 4737<img src="//shop.realfaith.com/cdn/shop/files/howtobearealman_1.png?v=1788299621&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/howtobearealman_1.png?v=1788299621&width=360 360w, //shop.realfaith.com/cdn/shop/files/howtobearealman_1.png?v=1788299621&width=540 540w, //shop.realfaith.com/cdn/shop/files/howtobearealman_1.png?v=1788299621&width=720 720w, //shop.realfaith.com/cdn/shop/files/howtobearealman_1.png?v=1788299621&width=900 900w, //shop.realfaith.com/cdn/shop/files/howtobearealman_1.png?v=1788299621&width=1080 1080w" width="1080" height="1080.0" loading="lazy" class="collection-image--collection-1 image-element" sizes="(min-width: 769px) 25vw, 50vw"> 4738 4739 4740 4741</image-element> 4742</div><span 4743 class="collection-item__title collection-item__title--below collection-item__title--heading collection-item__title--bottom-center">
4744 <span> 4745 Books 4746 </span> 4747 </span> 4748 4749 </a> 4750</div> 4751<div class="grid__item small--one-half medium-up--one-quarter" > 4752 <a href="/collections/t-shirts" class="collection-item collection-item--below" data-aos="row-of-5"><div class="collection-image collection-image--square image-wrap"> 4753 4754 4755 4756 <style data-shopify> 4757 .collection-image--collection-2 { 4758 object-position: center center; 4759 } 4760 </style> 4761 4762 4763 4764 4765 4766 4767<image-element data-aos="image-fade-in" data-aos-offset="150"> 4768 4769 4770 4771<img src="//shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=360 360w, //shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=540 540w, //shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=720 720w, //shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=900 900w, //shop.realfaith.com/cdn/shop/files/20260512232457-1f14e59c-a28f-65f4-a992-72f321b80f96_1.png?v=1786385184&width=1080 1080w" width="1080" height="1164.375" loading="lazy" class="collection-image--collection-2 image-element" sizes="(min-width: 769px) 25vw, 50vw"> 4772 4773 4774 4775</image-element> 4776</div><span 4777 class="collection-item__title collection-item__title--below collection-item__title--heading collection-item__title--bottom-center"> 4778 <span> 4779 T-Shirts 4780 </span> 4781 </span> 4782 4783 </a> 4784</div> 4785<div class="grid__item small--one-half medium-up--one-quarter" > 4786 <a href="/collections/hoodies" class="collection-item collection-item--below" data-aos="row-of-5"><div class="collection-image collection-image--square image-wrap"> 4787 4788 4789 4790 <style data-shopify> 4791 .collection-image--collection_RPTkhp { 4792 object-position: center center; 4793 } 4794 </style> 4795 4796 4797 4798 4799 4800 4801<image-element data-aos="image-fade-in" data-aos-offset="150"> 4802 4803 4804 4805<img src="//shop.realfaith.com/cdn/shop/files/20260513162037-1f14ee7a-cf3a-6310-ad47-eec9fd7a9d49.png?v=1778689372&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/20260513162037-1f14ee7a-cf3a-6310-ad47-eec9fd7a9d49.png?v=1778689372&width=360 360w, //shop.realfaith.com/cdn/shop/files/20260513162037-1f14ee7a-cf3a-6310-ad47-eec9fd7a9d49.png?v=1778689372&width=540 540w, //shop.realfaith.com/cdn/shop/files/20260513162037-1f14ee7a-cf3a-6310-ad47-eec9fd7a9d49.png?v=1778689372&width=720 720w, //shop.realfaith.com/cdn/shop/files/20260513162037-1f14ee7a-cf3a-6310-ad47-eec9fd7a9d49.png?v=1778689372&width=900 900w, //shop.realfaith.com/cdn/shop/files/20260513162037-1f14ee7a-cf3a-6310-ad47-eec9fd7a9d49.png?v=1778689372&width=1080 1080w" width="1080" height="1164.375" loading="lazy" class="collection-image--collection_RPTkhp image-element" sizes="(min-width: 769px) 25vw, 50vw"> 4806 4807 4808 4809</image-element> 4810</div><span 4811 class="collection-item__title collection-item__title--below collection-item__title--heading collection-item__title--bottom-center"> 4812 <span> 4813 Hoodies 4814 </span> 4815 </span> 4816 4817 </a> 4818</div> 4819<div class="grid__item small--one-half medium-up--one-quarter" > 4820 <a href="/collections/hats" class="collection-item collection-item--below" data-aos="row-of-5"><div class="collection-image collection-image--square image-wrap"> 4821 4822 4823 4824 <style data-shopify> 4825 .collection-image--collection-3 { 4826 object-position: center center; 4827 } 4828 </style> 4829 4830 4831 4832 4833 4834 4835<image-element data-aos="image-fade-in" data-aos-offset="150"> 4836 4837 4838 4839<img src="//shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=1080" alt="" srcset="//shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=360 360w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=540 540w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=720 720w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=900 900w, //shop.realfaith.com/cdn/shop/files/RFStoreHats-4_8.png?v=1782861516&width=1080 1080w" width="1080" height="1204.1379310344828" loading="lazy" class="collection-image--collection-3 image-element" sizes="(min-width: 769px) 25vw, 50vw"> 4840 4841 4842 4843</image-element> 4844</div><span 4845 class="collection-item__title collection-item__title--below collection-item__title--heading collection-item__title--bottom-center">
4846 <span> 4847 Hats 4848 </span> 4849 </span> 4850 4851 </a> 4852</div> 4853</div> 4854</div></div> 4855</div><div id="shopify-section-template--26924226806049__177791401957e79e6e" class="shopify-section"> 4856 4857</div> 4858 </main><!-- BEGIN sections: footer-group --> 4859<div id="shopify-section-sections--26924227395873__footer-promotions" class="shopify-section shopify-section-group-footer-group index-section--footer"> 4860</div><div id="shopify-section-sections--26924227395873__footer" class="shopify-section shopify-section-group-footer-group"><style data-shopify>.site-footer { 4861 border-top: 1px solid #b9a76d; 4862 }</style><footer class="site-footer" data-section-id="sections--26924227395873__footer" data-section-type="footer-section"> 4863 <div class="page-width"> 4864 4865 <div class="grid"><div class="grid__item footer__item--logo_social" data-type="logo_social"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 4866 .footer__item--logo_social { 4867 width: 50%; 4868 padding-top: 40px; 4869 } 4870 .footer__item--logo_social:nth-child(2n + 1) { 4871 clear: left; 4872 } 4873 } 4874 @media only screen and (min-width: 960px) { 4875 .footer__item--logo_social { 4876 width: 15%; 4877 } 4878 4879 }</style><style data-shopify>.footer__logo a { 4880 height: 85px; 4881 }</style><div class="footer__logo"> 4882 <a href="/"> 4883 4884 4885 4886<image-element data-aos="image-fade-in" data-aos-offset="150"> 4887 4888 4889 4890<img src="//shop.realfaith.com/cdn/shop/files/RF_LOGO_4.png?v=1777318825&width=133" alt="RealFaith" srcset="//shop.realfaith.com/cdn/shop/files/RF_LOGO_4.png?v=1777318825&width=66 66w, //shop.realfaith.com/cdn/shop/files/RF_LOGO_4.png?v=1777318825&width=133 133w" width="133.99778822228365" height="170.0" loading="lazy" class=" image-element" sizes="66.99889411114182px" style="max-width: 66.99889411114182px;max-height: 85px;"> 4891 4892 4893 4894</image-element> 4895</a> 4896 </div></div><div class="grid__item footer__item--menu-1" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 4897 .footer__item--menu-1 { 4898 width: 50%; 4899 padding-top: 40px; 4900 } 4901 .footer__item--menu-1:nth-child(2n + 1) { 4902 clear: left; 4903 } 4904 } 4905 @media only screen and (min-width: 960px) { 4906 .footer__item--menu-1 { 4907 width: 20%; 4908 } 4909 4910 }</style><h2 class="h4 footer__title small--hide"> 4911 Main menu 4912 </h2> 4913 <button type="button" class="h4 footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-menu-1"> 4914 Main menu 4915<span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 4916 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg> 4917</span> 4918</button><div 4919 4920 id="Footer-menu-1" class="collapsible-content collapsible-content--small" 4921 > 4922 <div class="collapsible-content__inner"> 4923 <div class="footer__collapsible"> 4924 <ul class="no-bullets site-footer__linklist"><li><a href="/">Home</a></li><li><a href="/collections/merch">Shop</a></li><li><a href="/collections/resources">Books</a></li></ul> 4925 </div> 4926 </div> 4927 </div></div><div class="grid__item footer__item--menu_tLipwb" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 4928 .footer__item--menu_tLipwb { 4929 width: 50%; 4930 padding-top: 40px; 4931 } 4932 .footer__item--menu_tLipwb:nth-child(2n + 1) { 4933 clear: left; 4934 } 4935 } 4936 @media only screen and (min-width: 960px) { 4937 .footer__item--menu_tLipwb { 4938 width: 20%; 4939 } 4940 4941 }</style><h2 class="h4 footer__title small--hide"> 4942 FAQ 4943 </h2> 4944 <button type="button" class="h4 footer__title collapsible-trigger collapsible-trigger-btn medium-up--hide" aria-controls="Footer-menu_tLipwb"> 4945 FAQ 4946<span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 4947 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
4947ox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg> 4948</span> 4949</button><div 4950 4951 id="Footer-menu_tLipwb" class="collapsible-content collapsible-content--small" 4952 > 4953 <div class="collapsible-content__inner"> 4954 <div class="footer__collapsible"> 4955 <ul class="no-bullets site-footer__linklist"><li><a href="/policies/privacy-policy">Privacy Policy</a></li><li><a href="/policies/shipping-policy">Shipping Policy</a></li><li><a href="/policies/refund-policy">Refund Policy</a></li><li><a href="/policies/terms-of-service">Terms of Service</a></li></ul> 4956 </div> 4957 </div> 4958 </div></div><div class="grid__item footer__item--menu-3" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 4959 .footer__item--menu-3 { 4960 width: 50%; 4961 padding-top: 40px; 4962 } 4963 .footer__item--menu-3:nth-child(2n + 1) { 4964 clear: left; 4965 } 4966 } 4967 @media only screen and (min-width: 960px) { 4968 .footer__item--menu-3 { 4969 width: 20%; 4970 } 4971 4972 }</style><div 4973 > 4974 <div class="collapsible-content__inner"> 4975 <div class="footer__collapsible footer_collapsible--disabled"> 4976 <ul class="no-bullets site-footer__linklist"><li><a href="/search">Search</a></li><li><a href="/pages/contact">Contact</a></li></ul> 4977 </div> 4978 </div> 4979 </div></div></div><div class="footer__section"><form method="post" action="/localization" id="localization_formfooter" accept-charset="UTF-8" class="multi-selectors" enctype="multipart/form-data" data-disclosure-form=""><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="/" /><div class="multi-selectors__item"> 4980 <h2 class="visually-hidden" id="CurrencyHeading-footer"> 4981 Currency 4982 </h2> 4983 4984 <div class="disclosure" data-disclosure-currency> 4985 <button type="button" class="faux-select disclosure__toggle" aria-expanded="false" aria-controls="CurrencyList-footer" aria-describedby="CurrencyHeading-footer" data-disclosure-toggle><span class="currency-flag currency-flag--us" data-flag="USD" aria-hidden="true"></span><span class="disclosure-list__label"> 4986 United States (USD $) 4987 </span> 4988 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="m1.57 1.59 12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none"/></svg> 4989 </button> 4990 <ul id="CurrencyList-footer" class="disclosure-list" data-disclosure-list><li class="disclosure-list__item"> 4991 <a class="disclosure-list__option" href="#" data-value="AU" data-disclosure-option><span class="currency-flag currency-flag--au" data-flag="AUD" aria-hidden="true"></span><span class="disclosure-list__label"> 4992 Australia (AUD $) 4993 </span> 4994 </a> 4995 </li><li class="disclosure-list__item"> 4996 <a class="disclosure-list__option" href="#" data-value="CA" data-disclosure-option><span class="currency-flag currency-flag--ca" data-flag="USD" aria-hidden="true"></span><span class="disclosure-list__label"> 4997 Canada (USD $) 4998 </span> 4999 </a> 5000 </li><li class="disclosure-list__item"> 5001 <a class="disclosure-list__option" href="#" data-value="GB" data-disclosure-option><span class="currency-flag currency-flag--gb" data-flag="GBP" aria-hidden="true"></span><span class="disclosure-list__label"> 5002 United Kingdom (GBP £) 5003 </span> 5004 </a> 5005 </li><li class="disclosure-list__item disclosure-list__item--current"> 5006 <a class="disclosure-list__option" href="#" aria-current="true" data-value="US" data-disclosure-option><span class="currency-flag currency-flag--us" data-flag="USD" aria-hidden="true"></span><span class="disclosure-list__label"> 5007 United States (USD $) 5008 </span> 5009 </a> 5010 </li></ul> 5011 <input type="hidden" name="country_code" value="US" data-disclosure-input> 5012 </div> 5013 </div></form></div><p class="footer__small-text"><a target="_blank" rel="nofollow" href="https://www.shopify.com?utm_campaign=p
5013oweredby&utm_medium=shopify&utm_source=onlinestore">Powered by Shopify</a></p> 5014 5015 </div> 5016</footer> 5017 5018 5019</div> 5020<!-- END sections: footer-group --></div> 5021 </div><div id="VideoModal" class="modal modal--solid"> 5022 <div class="modal__inner"> 5023 <div class="modal__centered page-width text-center"> 5024 <div class="modal__centered-content"> 5025 <div class="video-wrapper video-wrapper--modal"> 5026 <div id="VideoHolder"></div> 5027 </div> 5028 </div> 5029 </div> 5030 </div> 5031 5032 <button type="button" class="modal__close js-modal-close text-link"> 5033 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg> 5034 <span class="icon__fallback-text">"Close (esc)"</span> 5035 </button> 5036</div> 5037<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 5038 <div class="pswp__bg"></div> 5039 <div class="pswp__scroll-wrap"> 5040 <div class="pswp__container"> 5041 <div class="pswp__item"></div> 5042 <div class="pswp__item"></div> 5043 <div class="pswp__item"></div> 5044 </div> 5045 5046 <div class="pswp__ui pswp__ui--hidden"> 5047 <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--left" title="Previous"> 5048 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0Z"/></svg> 5049 </button> 5050 5051 <button class="btn btn--body btn--circle btn--large pswp__button pswp__button--close" title="Close (esc)"> 5052 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg> 5053 </button> 5054 5055 <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--right" title="Next"> 5056 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><title>icon-chevron</title><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98Z"/></svg> 5057 </button> 5058 </div> 5059 </div> 5060</div> 5061<tool-tip data-tool-tip=""> 5062 <div class="tool-tip__inner" data-tool-tip-inner> 5063 <button class="tool-tip__close" data-tool-tip-close=""><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><title>icon-X</title><path d="m19 17.61 27.12 27.13m0-27.12L19 44.74"/></svg></button> 5064 <div data-tool-tip-title>RealFaith Ministries Online Store</div> 5065 <div class="tool-tip__content" data-tool-tip-content> 5066 </div> 5067 </div> 5068</tool-tip> 5069 5070 <template id="naturalImageMarkup"> 5071 <div class="image-wrap" style="height: 0;"> 5072 <image-element data-aos="image-fade-in" data-aos-offset="150"> 5073 <img class="grid-product__image image-element" width height src srcset loading="lazy" alt> 5074 </image-element> 5075 </div> 5076 </template> 5077 <template id="fixedRatioImageMarkup"> 5078 <div class="grid__image-ratio"> 5079 <image-element data-aos="image-fade-in" data-aos-offset="150"> 5080 <img class="image-element" width height src srcset loading="lazy" alt> 5081 </image-element> 5082 </div> 5083 </template> 5084<div id="shopify-block-AdmdXU3VUQ3hMTm1rN__8764476057892802672" class="shopify-block shopify-app-block"><link rel="preconnect" href="https://app.restockrocket.io" crossorigin><link rel="preconnect" href="https://ju0enw-ki.myshopify.com" crossorigin><!-- Config and setup JS -->
5085<script id="RestockRocketConfig"> 5086 window._RestockRocketConfig = window._RestockRocketConfig || {} 5087 window._RestockRocket = window._RestockRocket || {} 5088 window._Stoq = window._RestockRocket 5089 window._StoqConfig = window._RestockRocketConfig 5090 try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { } 5091 function normalizeLocale(locale) { 5092 if (!locale || locale.trim() === '') { 5093 return ''; 5094 } 5095 return locale.toString().toLowerCase().replace(/-/g, '_'); 5096 } 5097 5098 window._RestockRocketConfig.locale = 'en'; 5099 window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); 5100 window._RestockRocketConfig.shop = 'ju0enw-ki.myshopify.com'; 5101 window._RestockRocketConfig.pageType = 'index'; 5102 window._RestockRocketConfig.liquidRenderedAt = 1790864132;window._RestockRocketConfig.marketId = 97250181409;window._RestockRocketConfig.countryName = 'United States'; 5103 window._RestockRocketConfig.countryIsoCode = 'US';window._RestockRocketConfig.languageIsoCode = 'en';window._RestockRocketConfig.cartInventoryQuantity = {}; 5104 if (!window._RestockRocketConfig.cartToken) { 5105 try { 5106 const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/); 5107 if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]); 5108 } catch (e) { } 5109 } 5110window._RestockRocketConfig.cachedSettings = {"id":68700,"shop_id":68681,"currency":"USD","created_at":"2026-07-27T21:56:04.187Z","updated_at":"2026-09-30T17:07:16.245Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":false,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":"","collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too!","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_custom_domain_enabled":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":true,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":".payment-buttons","insert_button_after_selector_type":"afterend","storefront_button_position_type":"auto","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"Preorders must be purchased
5110separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":true,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":true,"insert_button_after_selector_collection":".grid-product__link","insert_button_after_selector_index":".grid-product__link","push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again.","storefront_font_family":"Fahkwang, sans-serif","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send push notification","insert_button_after_selector_page":".grid-product__link","show_button_on_page":false,"insert_button_after_selector_search":".grid-product__link","show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":"","index_buttons_container":"","page_buttons_container":"","search_buttons_container":"","extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when itâs restocked again by entering your details below!","preorder_enabled":false,"preorder_buy_button_selector":".shopify-payment-button","preorder_add_to_cart_button_selector":".btn.btn--full.add-to-cart","preorder_badge_selector":".h2.product-single__title","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":true,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":".grid-product__image-mask","preorder_index_badge_selector":".grid-product__image-mask","preorder_page_badge_selector":".grid-product__image-mask","preorder_search_badge_selector":".grid-product__image-mask","preorder_badge_selector_type":"beforeend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":".payment-buttons","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":".payment-buttons","preorder_payment_insert_selector_type":"beforebegin","preorder_price_container_selector":".product-block--price","preorder_price_container_selector_insert_type":"beforeend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":".product__price","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":".payment-buttons","inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":10,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":"","preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":"","countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":"","cache":true,"cached_at":"2026-09-30T17:07:16.307Z","multi_language_enabled":false,"translation_locale":"en","disable_refresh_on_stale_liquid":false};window._RestockRocketConfig.storefrontAccessToken = "3607750440686d2e97d06b6bf13e9e43"; 5111 window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production'; 5112 window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = { preorder_variant_ids: [] };window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = { variant_preorder_limits: {} };window._RestockRocketConfig.cachedVariantShippingTexts = { variant_shipping_texts: {} }; 5113window._RestockRocketConfig.sellingPlans = [];(function() {
5114 const cachedData = {"plans":[],"disabled_plan_ids":[691369476385,691390677281,691379175713],"has_in_stock_offer":false,"has_preorder_offer":false,"read_flags":{"enable_storefront_product_reads":false},"cached_at":"2026-09-30T17:07:11Z"}; 5115 5116 if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) { 5117 window._RestockRocketConfig.readFlags = cachedData.read_flags || {}; 5118 const oldPlans = window._RestockRocketConfig.sellingPlans; 5119 const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0 5120 ? oldPlans.reduce(function(max, plan) { 5121 if (plan.updated_at) { 5122 const planDate = new Date(plan.updated_at); 5123 const maxDate = max ? new Date(max) : null; 5124 return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max; 5125 } 5126 return max; 5127 }, '') 5128 : null; 5129 const cachedDate = new Date(cachedData.cached_at); 5130 const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null; 5131 const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate)); 5132 5133 if (useCached) { 5134 if (Array.isArray(cachedData.plans)) { 5135 window._RestockRocketConfig.sellingPlans = cachedData.plans; 5136 window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || []; 5137 console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')'); 5138 } 5139 } else { 5140 window._RestockRocketConfig.disabledSellingPlanIds = []; 5141 console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')'); 5142 } 5143 } 5144 })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = []; 5145 try { 5146 var _sqCfg = window._RestockRocketConfig; 5147 var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) && 5148 _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; }); 5149 var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds && 5150 _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length; 5151 _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount); 5152 } catch (e) { } 5153 try { 5154 var _sqc = window._RestockRocketConfig; 5155 var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false); 5156 var _sqPre = (_sqc.cachedPreorderVariantIds && 5157 _sqc.cachedPreorderVariantIds.preorder_variant_ids) || []; 5158 var _sqArm = false; 5159 if (_sqOn && _sqc.preordersConfigured) { 5160 if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) { 5161 _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; }); 5162 } else { 5163 _sqArm = (_sqc.integrations || []).some(function (i) { 5164 return i && i.type === 'featured_product' && i.enabled && 5165 Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1; 5166 }); 5167 } 5168 } 5169 if (_sqArm && document.documentElement) { 5170 _sqc.acceleratedGateArmed = true; 5171 document.documentElement.classList.add('stoq-buy-now-pending'); 5172 setTimeout(function () { 5173 document.documentElement.classList.remove('stoq-buy-now-pending'); 5174 }, 6000); 5175 } 5176 } catch (e) { } 5177 5178 window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-product.js' 5179 window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection.js' 5180 window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-product-bis.js' 5181 window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection-bis.js' 5182 window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) 5183 window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io' 5184 try { 5185 const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/); 5186 window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || ''; 5187 } catch (e) { 5188 window._RestockRocketConfig.appVersion = ''; 5189 } 5190 const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; 5191 const LIQUID_CACHE_MAX_AGE = 15 * 60; 5192 const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; 5193 if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { 5194 console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); 5195 window._RestockRocketConfig.isLiquidCacheFresh = true; 5196 window._RestockRocketConfig.liquidCacheAge = null; 5197 } else { 5198 const now = Math.floor(Date.now() / 1000);
5199 const liquidCacheAge = now - liquidRenderedAt; 5200 window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge); 5201 if (liquidCacheAge < 0) { 5202 console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); 5203 window._RestockRocketConfig.isLiquidCacheFresh = true; 5204 } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) { 5205 console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); 5206 window._RestockRocketConfig.isLiquidCacheFresh = true; 5207 } else { 5208 console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); 5209 window._RestockRocketConfig.isLiquidCacheFresh = false; 5210 } 5211 } 5212 5213 function checkSettingsExpiry(settings) { 5214 try { 5215 if (!settings || !settings.updated_at) { 5216 console.debug('STOQ - Invalid settings data structure'); 5217 return null; 5218 } 5219 5220 if (!settings.cache) { 5221 console.debug('STOQ - settings caching disabled'); 5222 return null; 5223 } 5224 if (settings.multi_language_enabled) { 5225 if (!settings.translations) { 5226 console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); 5227 return null; 5228 } 5229 if (window._RestockRocketConfig.normalizedLocale && 5230 !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { 5231 console.debug('STOQ - locale not explicitly translated, will use default language from cache'); 5232 } 5233 } 5234 5235 const updatedAt = new Date(settings.updated_at); 5236 if (isNaN(updatedAt.getTime())) { 5237 console.debug('STOQ - Invalid updated_at date format in settings'); 5238 return null; 5239 } 5240 5241 const age = Date.now() - updatedAt.getTime(); 5242 if (age < SETTINGS_CACHE_DURATION) { 5243 console.debug('STOQ - settings changed recently, skipping cache'); 5244 return null; 5245 } 5246 5247 return settings; 5248 } catch (error) { 5249 console.debug('STOQ - Error checking settings cache:', error); 5250 return null; 5251 } 5252 } 5253 5254 function createRestockRocketContainer() { 5255 const restockRocketContainer = document.createElement('div'); 5256 restockRocketContainer.id = 'restock-rocket'; 5257 document.body.appendChild(restockRocketContainer); 5258 } 5259 5260 function createRestockRocketScript(scriptUrl) { 5261 const restockRocketScriptElement = document.createElement('script'); 5262 restockRocketScriptElement.setAttribute('defer', 'defer'); 5263 restockRocketScriptElement.src = scriptUrl; 5264 document.body.appendChild(restockRocketScriptElement); 5265 } 5266 5267 createRestockRocketContainer() 5268 5269 console.debug('STOQ - extension activated') 5270 try { 5271 const _stoqInitConfig = window._RestockRocketConfig; 5272 const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)
5272) 5273 ? _stoqInitConfig.product.variants.map(function(v) { return v.id }) 5274 : []; 5275 const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id; 5276 var _stoqPageSeq = 0; 5277 try { 5278 _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1; 5279 window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq)); 5280 } catch (e) { } 5281 Shopify?.analytics?.publish?.('stoq_initialized', { 5282 cart_token: _stoqInitConfig.cartToken || '', 5283 page_url: window.location.href, 5284 page_type: _stoqInitConfig.pageType || '', 5285 shop_domain: _stoqInitConfig.shop || '', 5286 market_id: _stoqInitConfig.marketId || '', 5287 country_code: _stoqInitConfig.countryIsoCode || '', 5288 detected_variant_ids: _stoqDetectedVariantIds, 5289 selected_variant_id: _stoqSelectedVariantId || '', 5290 page_load_seq: _stoqPageSeq, 5291 liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0, 5292 app_version: _stoqInitConfig.appVersion || '', 5293 liquid_cache_age: _stoqInitConfig.liquidCacheAge, 5294 inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '', 5295 inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId], 5296 }); 5297 } catch (e) { 5298 console.debug('STOQ - stoq_initialized publish failed:', e); 5299 } 5300 try { 5301 var _sqTrack = window._RestockRocketConfig; 5302 if (_sqTrack.preordersConfigured) { 5303 document.addEventListener('click', function (e) { 5304 try { 5305 var t = e.target; 5306 if (!t || !t.closest) return; 5307 var host = t.closest('.shopify-payment-button, shopify-payment-terms'); 5308 if (!host) return; 5309 var channel = host.matches && host.matches('shopify-payment-terms') 5310 ? 'shop_pay_installments' : 'buy_now'; 5311 var form = host.closest('form'); 5312 var vidEl = form && form.querySelector('[name="id"]'); 5313 var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || ''; 5314 var _sqVidNum = Number(variantId); 5315 var _sqPlan = null; 5316 var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : []; 5317 var _sqMktId = Number(_sqTrack.marketId); 5318 var _sqForVariant = function (pl) { 5319 return pl && pl.enabled && Array.isArray(pl.variant_ids) && 5320 pl.variant_ids.indexOf(_sqVidNum) !== -1; 5321 }; 5322 _sqPlans.forEach(function (pl) { 5323 if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled && 5324 Array.isArray(pl.shopify_market_ids) && 5325 pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; } 5326 }); 5327 if (!_sqPlan) { 5328 _sqPlans.forEach(function (pl) { 5329 if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; } 5330 }); 5331 } 5332 Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', { 5333 variant_id: variantId, 5334 product_id: (_sqTrack.product && _sqTrack.product.id) || '', 5335 channel: channel, 5336 market_id: _sqTrack.marketId || '', 5337 country_code: _sqTrack.countryIsoCode || '', 5338 page_type: _sqTrack.pageType || '', 5339 cart_token: _sqTrack.cartToken || '', 5340 page_url: (window.location && window.location.href) || '', 5341 properties: { 5342 is_preorder_variant: (function () { 5343 var vid = Number(variantId); 5344 var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; }; 5345 return has(_sqTrack.preorderVariantIds) || 5346 has(_sqTrack.cachedPreorderVariantIds && 5347 _sqTrack.cachedPreorderVariantIds.preorder_variant_ids); 5348 })(), 5349 in_enabled_plan: !!_sqPlan, 5350 is_instock_variant: (function () { 5351 var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; }; 5352 return has(_sqTrack.inStockVariantIds) || 5353 has(_sqTrack.cachedInStockVariantIds && 5354 _sqTrack.cachedInStockVariantIds.in_stock_variant_ids); 5355 })(), 5356 enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '', 5357 enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '', 5358 block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false), 5359 gate_armed: !!_sqTrack.acceleratedGateArmed, 5360 gate_active_at_click: !!(document.documentElement && 5361 document.documentElement.classList.contains('stoq-buy-now-pending')), 5362 blocked: (function () { 5363 try { 5364 var rr = window._RestockRocket; 5365 return !!(rr && typeof rr.willBlockAcceleratedCl
5365ick === 'function' && 5366 rr.willBlockAcceleratedClick(e)); 5367 } catch (err) { return false; } 5368 })(), 5369 }, 5370 }); 5371 } catch (err) { } 5372 }, true); 5373 } 5374 } catch (e) { } 5375 function applyTranslations(settings) { 5376 try { 5377 if (!settings || !settings.multi_language_enabled) { 5378 return settings; 5379 } 5380 5381 if (!settings.translations) { 5382 console.debug('STOQ - No translations found, skipping translation'); 5383 return settings; 5384 } 5385 5386 const normalizedLocale = window._RestockRocketConfig.normalizedLocale; 5387 const translations = settings.translations; 5388 5389 if (!normalizedLocale) { 5390 console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); 5391 delete settings.translations; 5392 return settings; 5393 } 5394 5395 console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); 5396 5397 const translatedFields = translations[normalizedLocale]; 5398 if (translatedFields && typeof translatedFields === 'object') { 5399 Object.keys(translatedFields).forEach(function(key) { 5400 const value = translatedFields[key]; 5401 if (value !== null && value !== undefined && value !== '') { 5402 settings[key] = value; 5403 } 5404 }); 5405 } else { 5406 console.debug('STOQ - No translated fields found for locale:', normalizedLocale); 5407 } 5408 5409 delete settings.translations; 5410 return settings; 5411 } catch (e) { 5412 console.debug('STOQ - error applying translations:', e); 5413 return settings; 5414 } 5415 } 5416 function setupCartSellingPlanUpdater(settings) { 5417 window.addEventListener('stoq:inventory-data-loaded', function(event) { 5418 console.debug('STOQ - Inventory data loaded, updating cart selling plans'); 5419 if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { 5420 window._RestockRocket.updateCartSellingPlans() 5421 .then(hasUpdates => { 5422 if (hasUpdates) { 5423 console.debug('STOQ - cart selling plans updated successfully'); 5424 } else { 5425 console.debug('STOQ - no cart selling plan updates needed'); 5426 } 5427 }) 5428 .catch(error => { 5429 console.error('STOQ - error updating cart selling plans:', error); 5430 }); 5431 } 5432 }); 5433 } 5434 function storefrontGraphql(query, variables) { 5435 const cfg = window._RestockRocketConfig; 5436 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) { 5437 return Promise.reject(new Error('Storefront API unavailable')); 5438 } 5439 return fetch( 5440 `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`, 5441 { 5442 method: 'POST', 5443 headers: { 5444 'Content-Type': 'application/json', 5445 'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken, 5446 }, 5447 body: JSON.stringify({ query: query, variables: variables }), 5448 } 5449 ) 5450 .then(function(response) { 5451 if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); } 5452 return response.json(); 5453 }) 5454 .then(function(body) { 5455 if (body && body.errors && body.errors.length) { 5456 throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', ')); 5457 } 5458 return body && body.data; 5459 }); 5460 } 5461 function fetchStorefrontShopMetafield(key) { 5462 const cfg = window._RestockRocketConfig; 5463 const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }'; 5464 return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key }) 5465 .then(function(data) { 5466 const value = data && data.shop && data.shop.metafield && data.shop.metafield.value; 5467 if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); } 5468 return JSON.parse(value); 5469 }); 5470 } 5471 (function loadStorefrontSettings() { 5472 const cfg = window._RestockRocketConfig; 5473 if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return; 5474 function run() { 5475 // The live-settings read is one more shop-level metafield fetch, so it 5476 // shares fetchStorefrontShopMetafield with the integrations/selling_plans 5477 // reads rather than re-issuing the same query + parse. 5478 fetchStorefrontShopMetafield('settings') 5479 .then(function(settings) { 5480 cfg.storefrontSettings = settings; 5481 console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings'); 5482 }) 5483 .catch(function(e) { 5484 console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message); 5485 }); 5486 } 5487 5488 if (typeof window.requestIdleCallback === 'function') { 5489 window.requestIdleCallback(run, { timeout: 5000 }); 5490 } else { 5491 setTimeout(run, 0); 5492 } 5493 })(); 5494 const cachedSettings = window._RestockRocketConfig.cachedSettings; 5495 const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; 5496 5497 if (validCachedSettings) { 5498 console.debug('STOQ - using cached settings'); 5499 initializeScripts(validCachedSettings); 5500 } else { 5501 console.debug('STOQ - fetching fresh settings'); 5502 const headers = { 5503 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 5504 'ngrok-skip-browser-warning': 'skip' 5505 }; 5506 5507 if (window.Shopify?.theme?.role === 'main') { 5508 headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; 5509 headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; 5510 headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; 5511 } 5512 5513 fetch( 5514 `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, 5515 { headers } 5516 ) 5517 .then(function(response) { 5518 if (!response.ok) { 5519 throw new Error('Network response was not ok'); 5520 } 5521 return response.json(); 5522 }) 5523 .then(function(settings) { 5524 initializeScripts(settings); 5525 }) 5526 .catch(function(error) { 5527 if (cachedSettings) { 5528 console.debug('STOQ - using expired cached settings as fallback'); 5529 initializeScripts(cachedSettings); 5530 } else { 5531 console.error('STOQ - failed to load settings:', error); 5532 } 5533 }) 5534 .catch(function(e) { 5535 console.error(e) 5536 }) 5537 } 5538 5539 function fetchEmbedConfig(endpoint, apply) { 5540 return fetch( 5541 `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`, 5542 { 5543 headers: { 5544 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 5545 'ngrok-skip-browser-warning': 'skip' 5546 } 5547 } 5548 ) 5549 .then(function(response) { 5550 if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`); 5551 return response.json(); 5552 }) 5553 .then(function(data) {
5554 try { 5555 apply(data); 5556 } catch (applyError) { 5557 console.error('STOQ - apply failed for ' + endpoint + ':', applyError); 5558 throw applyError; 5559 } 5560 }) 5561 .catch(function(error) { 5562 console.debug(`STOQ - using cached ${endpoint}:`, error.message); 5563 }); 5564 } 5565 function refreshShopConfig(source) { 5566 const cfg = window._RestockRocketConfig; 5567 const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); }; 5568 const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true; 5569 if (!flagOn || source.embedOnly === true) { return viaEmbed(); } 5570 5571 return fetchStorefrontShopMetafield(source.metafieldKey) 5572 .then(function(value) { 5573 if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); } 5574 source.apply(value); 5575 console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API'); 5576 }) 5577 .catch(function(error) { 5578 console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message); 5579 return viaEmbed(); 5580 }); 5581 } 5582 function refreshIntegrations() { 5583 const cfg = window._RestockRocketConfig; 5584 return refreshShopConfig({ 5585 endpoint: 'integrations', 5586 metafieldKey: 'integrations', 5587 flag: 'enable_storefront_integrations_read', 5588 isValid: function(value) { return Array.isArray(value); }, 5589 apply: function(data) { 5590 cfg.integrations = data; 5591 } 5592 }); 5593 } 5594 function refreshSellingPlans(embedOnly) { 5595 const cfg = window._RestockRocketConfig; 5596 return refreshShopConfig({ 5597 embedOnly: embedOnly === true, 5598 endpoint: 'selling_plans', 5599 metafieldKey: 'cachedSellingPlans', 5600 flag: 'enable_storefront_selling_plans_read', 5601 isValid: function(value) { return !!value && Array.isArray(value.plans); }, 5602 apply: function(data) { 5603 cfg.sellingPlans = data.plans; 5604 cfg.disabledSellingPlanIds = data.disabled_plan_ids || []; 5605 if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) { 5606 cfg.readFlags = data.read_flags; 5607 } 5608 } 5609 }); 5610 } 5611 5612 function initializeScripts(settings) { 5613 settings = applyTranslations(settings); 5614 window._RestockRocketConfig.settings = settings; 5615 console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); 5616 const forceEmbedSellingPlans = settings.force_embed_selling_plans === true; 5617 const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid; 5618 if (forceEmbedSellingPlans || staleRefresh) { 5619 console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)')); 5620 const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)]; 5621 if (staleRefresh) { refreshes.push(refreshIntegrations()); } 5622 Promise.race([ 5623 Promise.all(refreshes), 5624 new Promise(function(resolve) { setTimeout(resolve, 1000); }) 5625 ]).then(function() { loadScripts(settings); }); 5626 return; 5627 } 5628 5629 loadScripts(settings); 5630 } 5631 5632 function loadScripts(settings) { 5633 setupCartSellingPlanUpdater(settings); 5634 5635 if(settings.enable_app) { 5636 const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { 5637 return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); 5638 }) 5639 const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans) 5640 && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; }); 5641 const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds) 5642 && window._RestockRocketConfig.disabledSellingPlanIds.length > 0; 5643 const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds; 5644 5645 const collectionScriptUrl = usePreorderBuild 5646 ? window._RestockRocketConfig.scriptUrlCollection 5647 : window._RestockRocketConfig.scriptUrlCollectionBis; 5648 const productScriptUrl = usePreorderBuild 5649 ? window._RestockRocketConfig.scriptUrlProduct 5650 : window._RestockRocketConfig.scriptUrlProductBis; 5651 5652 const pageType = window._RestockRocketConfig.pageType; 5653 const collectionPageTypes = ['collection', 'index', 'search', 'page']; 5654
5655 if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) { 5656 createRestockRocketScript(collectionScriptUrl); 5657 } else if(pageType === 'product') { 5658 createRestockRocketScript(productScriptUrl); 5659 } else if(hijackIntegration) { 5660 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 5661 } else if(usePreorderBuild) { 5662 createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); 5663 } else { 5664 console.debug(`STOQ - no scripts enabled for ${pageType}`); 5665 } 5666 const appLoadedEvent = new CustomEvent('stoq:loaded', { 5667 detail: { 5668 pageType: window._RestockRocketConfig.pageType, 5669 enabled: settings.enable_app, 5670 settings: settings, 5671 preorderEnabled: settings.preorder_enabled 5672 } 5673 }); 5674 console.debug('STOQ - dispatching app loaded event'); 5675 window.dispatchEvent(appLoadedEvent); 5676 } 5677 } 5678</script>
5678<style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style> 5679 5680 5681</div>
5681<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
vendor: 1 bytes, line 5681
5681
5682<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"705bbfc08138410989b72f29e3d59394","r":1,"spa":2}' crossorigin="anonymous"></script>
5682 5683</body> 5684</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.