{"product_id":"journey-of-jesus","title":"✝️✨ The Journey of Jesus™ – Lighted 3D Biblical Story Centerpiece | Six Sacred Moments of Faith","description":"\n\u003cstyle\u003e\n\/* =========================================\n   ALASJOY — JOURNEY OF JESUS\n   FIXED VERSION: NO LIQUID SYNTAX\n   For Shopify Custom Liquid section\n========================================= *\/\n\n#aj-jesus-fixed {\n  --paper:#fcf9f3;\n  --white:#fffefa;\n  --sand:#f0e8da;\n  --navy:#253b51;\n  --deep:#192c3e;\n  --gold:#c5a06a;\n  --brown:#5a4a3a;\n  --ink:#383936;\n  --muted:#756f67;\n  --line:#e7dccb;\n\n  display:block;\n  width:100%;\n  max-width:1180px;\n  margin:20px auto;\n  overflow:hidden;\n  isolation:isolate;\n  container-type:inline-size;\n  border-radius:15px;\n  background:var(--paper);\n  color:var(--ink);\n  font:16px\/1.7 Arial,Helvetica,sans-serif;\n}\n\n#aj-jesus-fixed,\n#aj-jesus-fixed *,\n#aj-jesus-fixed *::before,\n#aj-jesus-fixed *::after {\n  box-sizing:border-box;\n}\n\n#aj-jesus-fixed h2,\n#aj-jesus-fixed h3,\n#aj-jesus-fixed p {\n  margin:0;\n  padding:0;\n  text-transform:none;\n  letter-spacing:normal;\n  overflow-wrap:break-word;\n}\n\n#aj-jesus-fixed h2 {\n  color:var(--navy);\n  font:700 clamp(28px,3.6vw,42px)\/1.2 Georgia,serif;\n}\n\n#aj-jesus-fixed h3 {\n  color:var(--navy);\n  font:700 21px\/1.35 Georgia,serif;\n}\n\n#aj-jesus-fixed p {\n  color:var(--muted);\n  font-size:15px;\n  line-height:1.78;\n}\n\n#aj-jesus-fixed img {\n  display:block;\n  width:100%;\n  max-width:100%;\n  border:0;\n}\n\n#aj-jesus-fixed .jf-section {\n  padding:44px 19px;\n}\n\n#aj-jesus-fixed .jf-center {\n  text-align:center;\n}\n\n#aj-jesus-fixed .jf-eyebrow {\n  display:block;\n  margin-bottom:13px;\n  color:#a48050;\n  font-size:11px;\n  font-weight:800;\n  letter-spacing:1.7px;\n  line-height:1.5;\n  text-transform:uppercase;\n}\n\n#aj-jesus-fixed .jf-intro {\n  max-width:680px;\n  margin:15px auto 0;\n}\n\n\/* GOLD DECORATION *\/\n\n#aj-jesus-fixed .jf-star-rule {\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:13px;\n  margin:19px auto;\n  color:var(--gold);\n  font-size:22px;\n}\n\n#aj-jesus-fixed .jf-star-rule::before,\n#aj-jesus-fixed .jf-star-rule::after {\n  content:\"\";\n  width:67px;\n  height:1px;\n  background:var(--gold);\n}\n\n\/* NIGHT SKY STARS *\/\n\n#aj-jesus-fixed .jf-stars {\n  position:relative;\n  isolation:isolate;\n  overflow:hidden;\n}\n\n#aj-jesus-fixed .jf-stars::before {\n  content:\"\";\n  position:absolute;\n  inset:0;\n  z-index:0;\n  pointer-events:none;\n  background-image:\n    radial-gradient(\n      circle,\n      rgba(255,227,168,.85) 1px,\n      transparent 2px\n    ),\n    radial-gradient(\n      circle,\n      rgba(255,255,255,.65) 1px,\n      transparent 2px\n    );\n  background-size:137px 171px,193px 233px;\n  opacity:.38;\n  animation:jfTwinkle 7s ease-in-out infinite;\n}\n\n#aj-jesus-fixed .jf-stars \u003e * {\n  position:relative;\n  z-index:1;\n}\n\n@keyframes jfTwinkle {\n  0%,100% {opacity:.25;}\n  50% {opacity:.65;}\n}\n\n\/* HERO *\/\n\n#aj-jesus-fixed .jf-hero {\n  display:grid;\n  grid-template-columns:minmax(0,1fr);\n  gap:29px;\n  align-items:center;\n  padding:22px 17px 37px;\n  background:\n    radial-gradient(\n      ellipse at 95% 0%,\n      rgba(232,214,175,.35),\n      transparent 59%\n    ),\n    #faf7f0;\n}\n\n\/* Images only appear after successful loading.\n   No empty image frame or broken-image icon. *\/\n\n#aj-jesus-fixed .jf-image-zone {\n  display:none;\n  min-width:0;\n}\n\n#aj-jesus-fixed .jf-image-zone.jf-ready {\n  display:block;\n}\n\n\/* HERO GALLERY *\/\n\n#aj-jesus-fixed .jf-gallery-frame {\n  position:relative;\n  width:100%;\n  aspect-ratio:1\/1;\n  overflow:hidden;\n  background:#eee7db;\n  border:2px solid #ddc9aa;\n  border-radius:13px;\n  box-shadow:0 12px 28px rgba(30,30,30,.1);\n}\n\n#aj-jesus-fixed .jf-rail {\n  display:flex;\n  width:100%;\n  height:100%;\n  overflow-x:auto;\n  overflow-y:hidden;\n  scroll-snap-type:x mandatory;\n  scroll-behavior:smooth;\n  scrollbar-width:none;\n  -webkit-overflow-scrolling:touch;\n}\n\n#aj-jesus-fixed .jf-rail::-webkit-scrollbar {\n  display:none;\n}\n\n#aj-jesus-fixed .jf-slide {\n  flex:0 0 100%;\n  width:100%;\n  height:100%;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  scroll-snap-align:start;\n}\n\n#aj-jesus-fixed .jf-slide img {\n  width:100%;\n  height:100%;\n  object-fit:contain;\n  object-position:center;\n}\n\n#aj-jesus-fixed .jf-gallery-arrow {\n  position:absolute;\n  top:50%;\n  z-index:3;\n  transform:translateY(-50%);\n  display:flex;\n  justify-content:center;\n  align-items:center;\n  width:36px;\n  height:36px;\n  padding:0;\n  border:0;\n  border-radius:50%;\n  background:rgba(255,255,255,.95);\n  color:#33465a;\n  font-size:25px;\n  cursor:pointer;\n}\n\n#aj-jesus-fixed .jf-gallery-arrow[hidden] {\n  display:none;\n}\n\n#aj-jesus-fixed .jf-prev {\n  left:9px;\n}\n\n#aj-jesus-fixed .jf-next {\n  right:9px;\n}\n\n#aj-jesus-fixed .jf-dots {\n  display:flex;\n  justify-content:center;\n  gap:8px;\n  margin-top:12px;\n}\n\n#aj-jesus-fixed .jf-dot {\n  display:block;\n  width:7px;\n  height:7px;\n  border-radius:10px;\n  background:#c8c0b7;\n}\n\n#aj-jesus-fixed .jf-dot.active {\n  width:21px;\n  background:#bd945d;\n}\n\n#aj-jesus-fixed .jf-gallery-note {\n  margin-top:8px;\n  text-align:center;\n  font-size:12px;\n}\n\n\/* HERO TEXT *\/\n\n#aj-jesus-fixed .jf-hero-copy {\n  min-width:0;\n}\n\n#aj-jesus-fixed .jf-hero-copy h2 {\n  font-size:clamp(30px,3.8vw,45px);\n}\n\n#aj-jesus-fixed .jf-lead {\n  margin-top:17px;\n  font-size:16px;\n}\n\n#aj-jesus-fixed .jf-benefits {\n  display:grid;\n  gap:17px;\n  margin-top:24px;\n}\n\n#aj-jesus-fixed .jf-benefit {\n  display:flex;\n  gap:12px;\n  align-items:flex-start;\n}\n\n#aj-jesus-fixed .jf-symbol {\n  flex:0 0 29px;\n  color:#a6804c;\n  font:700 25px\/1.4 Georgia,serif;\n  text-align:center;\n}\n\n#aj-jesus-fixed .jf-benefit strong {\n  color:#584a3b;\n  font-size:15px;\n}\n\n#aj-jesus-fixed .jf-benefit p {\n  font-size:14px;\n}\n\n\/* TRANSITION *\/\n\n#aj-jesus-fixed .jf-ribbon {\n  padding:19px 16px;\n  text-align:center;\n  color:#8c6c45;\n  background:linear-gradient(\n    90deg,#ece0cd,#fff9ed,#ece0cd\n  );\n  border-top:1px solid #dcc8a5;\n  border-bottom:1px solid #dcc8a5;\n  font:italic 19px\/1.5 Georgia,serif;\n}\n\n\/* BETHLEHEM STORY *\/\n\n#aj-jesus-fixed .jf-night {\n  padding:55px 21px;\n  text-align:center;\n  background:\n    radial-gradient(\n      ellipse at 50% 100%,\n      rgba(225,174,95,.22),\n      transparent 65%\n    ),\n    linear-gradient(\n      150deg,#37516d,#1a3045\n    );\n}\n\n#aj-jesus-fixed .jf-night-inner {\n  max-width:800px;\n  margin:0 auto;\n}\n\n#aj-jesus-fixed .jf-night h2 {\n  color:#fff8ed;\n}\n\n#aj-jesus-fixed .jf-night .jf-eyebrow {\n  color:#efd5a8;\n}\n\n#aj-jesus-fixed .jf-night p {\n  max-width:660px;\n  margin:17px auto 0;\n  color:#eef0f1;\n}\n\n#aj-jesus-fixed .jf-scripture {\n  display:block;\n  margin-top:24px;\n  color:#f1d6a7;\n  font:italic 23px\/1.5 Georgia,serif;\n}\n\n\/* STORY SPLIT *\/\n\n#aj-jesus-fixed .jf-story {\n  display:grid;\n  grid-template-columns:minmax(0,1fr);\n  align-items:center;\n  background:#fffdf9;\n}\n\n#aj-jesus-fixed .jf-story-image {\n  padding:14px;\n  background:#f2ebdf;\n}\n\n#aj-jesus-fixed .jf-story-image img {\n  aspect-ratio:1\/1;\n  object-fit:contain;\n  border-radius:9px;\n  background:#f5efe7;\n}\n\n#aj-jesus-fixed .jf-story-copy {\n  min-width:0;\n  padding:33px 23px;\n}\n\n#aj-jesus-fixed .jf-story-copy p {\n  margin-top:15px;\n}\n\n#aj-jesus-fixed .jf-quote {\n  margin-top:21px;\n  padding:17px;\n  border-left:3px solid var(--gold);\n  background:#f7f0e5;\n  color:#806448;\n  font:italic 19px\/1.5 Georgia,serif;\n}\n\n\/* FEATURES *\/\n\n#aj-jesus-fixed .jf-cards {\n  display:grid;\n  grid-template-columns:1fr;\n  gap:14px;\n  margin-top:27px;\n}\n\n#aj-jesus-fixed .jf-card {\n  padding:24px 21px;\n  background:white;\n  border:1px solid var(--line);\n  border-top:3px solid var(--gold);\n  border-radius:11px;\n}\n\n#aj-jesus-fixed .jf-card-number {\n  display:block;\n  margin-bottom:12px;\n  color:#b18b59;\n  font:700 27px\/1 Georgia,serif;\n}\n\n#aj-jesus-fixed .jf-card p {\n  margin-top:10px;\n  font-size:14px;\n}\n\n\/* STATIC PHOTO GRID *\/\n\n#aj-jesus-fixed .jf-photo-section {\n  display:none;\n  background:#eeeae2;\n}\n\n#aj-jesus-fixed .jf-photo-section.jf-ready {\n  display:block;\n}\n\n#aj-jesus-fixed .jf-photo-grid {\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:11px;\n  margin-top:26px;\n}\n\n#aj-jesus-fixed .jf-photo-card {\n  min-width:0;\n  display:none;\n  padding:7px;\n  background:white;\n  border:1px solid #e5dccf;\n  border-radius:10px;\n}\n\n#aj-jesus-fixed .jf-photo-card.jf-ready {\n  display:block;\n}\n\n#aj-jesus-fixed .jf-photo-card img {\n  aspect-ratio:1\/1;\n  object-fit:contain;\n  border-radius:7px;\n}\n\n#aj-jesus-fixed .jf-photo-card span {\n  display:block;\n  padding:10px 4px 4px;\n  color:#786752;\n  font-size:12px;\n  font-weight:700;\n  text-align:center;\n}\n\n\/* MESSAGE OF FAITH *\/\n\n#aj-jesus-fixed .jf-message {\n  background:#f7f1e7;\n}\n\n#aj-jesus-fixed .jf-message-grid {\n  display:grid;\n  grid-template-columns:1fr;\n  gap:13px;\n  margin-top:25px;\n}\n\n#aj-jesus-fixed .jf-message-card {\n  padding:20px;\n  background:#fffdf9;\n  border:1px solid var(--line);\n  border-radius:11px;\n}\n\n#aj-jesus-fixed .jf-message-card p {\n  margin-top:9px;\n  font-size:14px;\n}\n\n\/* GIFT *\/\n\n#aj-jesus-fixed .jf-gift {\n  padding:54px 21px;\n  text-align:center;\n  background:\n    radial-gradient(\n      ellipse at 50% 0%,\n      #f1ddba,\n      transparent 67%\n    ),\n    #faf6ef;\n}\n\n#aj-jesus-fixed .jf-gift p {\n  max-width:680px;\n  margin:17px auto 0;\n}\n\n#aj-jesus-fixed .jf-gift-quote {\n  display:block;\n  margin-top:22px;\n  color:#957149;\n  font:italic 22px\/1.5 Georgia,serif;\n}\n\n\/* FAQ *\/\n\n#aj-jesus-fixed .jf-faq-section {\n  background:white;\n}\n\n#aj-jesus-fixed .jf-faq {\n  max-width:780px;\n  margin:25px auto 0;\n}\n\n#aj-jesus-fixed .jf-faq details {\n  border-bottom:1px solid var(--line);\n}\n\n#aj-jesus-fixed .jf-faq summary {\n  display:list-item;\n  padding:17px 4px;\n  color:#4d463f;\n  font-size:15px;\n  font-weight:700;\n  cursor:pointer;\n}\n\n#aj-jesus-fixed .jf-faq details p {\n  padding:0 4px 17px;\n  font-size:14px;\n}\n\n\/* FINAL CTA *\/\n\n#aj-jesus-fixed .jf-final {\n  padding:57px 21px;\n  text-align:center;\n  background:\n    radial-gradient(\n      ellipse at 50% 100%,\n      rgba(227,170,94,.24),\n      transparent 65%\n    ),\n    linear-gradient(\n      150deg,#314960,#192d40\n    );\n}\n\n#aj-jesus-fixed .jf-final h2 {\n  color:#fff8ec;\n}\n\n#aj-jesus-fixed .jf-final .jf-eyebrow {\n  color:#f0d5a9;\n}\n\n#aj-jesus-fixed .jf-final p {\n  max-width:650px;\n  margin:17px auto 0;\n  color:#edf1f0;\n}\n\n#aj-jesus-fixed .jf-button {\n  display:inline-block;\n  width:100%;\n  max-width:370px;\n  margin-top:27px;\n  padding:17px 22px;\n  border:1px solid #f2dfbd;\n  border-radius:8px;\n  background:linear-gradient(\n    120deg,#e2bd85,#fff0d1,#d1a36b\n  );\n  color:#324053;\n  text-align:center;\n  text-decoration:none;\n  font:800 15px\/1.5 Arial,sans-serif;\n}\n\n#aj-jesus-fixed .jf-button:hover {\n  background:#fff7e6;\n  color:#324053;\n}\n\n#aj-jesus-fixed .jf-note {\n  margin-top:12px;\n  font-size:12px;\n}\n\n\/* RESPONSIVE *\/\n\n@container (min-width:790px) {\n\n  #aj-jesus-fixed .jf-hero:has(\n    .jf-gallery.jf-ready\n  ) {\n    grid-template-columns:\n      minmax(0,1fr) minmax(0,1fr);\n    gap:39px;\n    padding:39px;\n  }\n\n  #aj-jesus-fixed .jf-hero {\n    padding:40px;\n  }\n\n  #aj-jesus-fixed .jf-story:has(\n    .jf-story-image.jf-ready\n  ) {\n    grid-template-columns:\n      minmax(0,1fr) minmax(0,1fr);\n  }\n\n  #aj-jesus-fixed .jf-story-copy {\n    padding:43px;\n  }\n\n  #aj-jesus-fixed .jf-section {\n    padding:50px 40px;\n  }\n\n  #aj-jesus-fixed .jf-cards {\n    grid-template-columns:\n      repeat(3,minmax(0,1fr));\n  }\n\n  #aj-jesus-fixed .jf-message-grid {\n    grid-template-columns:\n      repeat(2,minmax(0,1fr));\n  }\n\n  #aj-jesus-fixed .jf-photo-grid {\n    grid-template-columns:\n      repeat(3,minmax(0,1fr));\n  }\n}\n\n@container (max-width:460px) {\n\n  #aj-jesus-fixed .jf-hero {\n    padding:16px 14px 30px;\n  }\n\n  #aj-jesus-fixed .jf-section {\n    padding:36px 16px;\n  }\n\n  #aj-jesus-fixed .jf-night {\n    padding:43px 17px;\n  }\n\n  #aj-jesus-fixed .jf-photo-grid {\n    gap:8px;\n  }\n}\n\n@media (prefers-reduced-motion:reduce) {\n\n  #aj-jesus-fixed *,\n  #aj-jesus-fixed *::before,\n  #aj-jesus-fixed *::after {\n    animation:none!important;\n    transition:none!important;\n  }\n\n  #aj-jesus-fixed .jf-rail {\n    scroll-behavior:auto;\n  }\n}\n\u003c\/style\u003e\n\n\u003cdiv id=\"aj-jesus-fixed\"\u003e\n\n  \u003c!-- HERO --\u003e\n\n  \u003csection class=\"jf-hero\"\u003e\n\n    \u003c!-- LEFT AUTO CAROUSEL --\u003e\n\n    \u003cdiv class=\"jf-gallery jf-image-zone\"\u003e\n\n      \u003cdiv class=\"jf-gallery-frame\"\u003e\n\n        \u003cdiv class=\"jf-rail\" data-jf-rail\u003e\u003c\/div\u003e\n\n        \u003cbutton type=\"button\" class=\"jf-gallery-arrow jf-prev\" data-jf-prev aria-label=\"Previous photo\" hidden\u003e‹\u003c\/button\u003e\n\n        \u003cbutton type=\"button\" class=\"jf-gallery-arrow jf-next\" data-jf-next aria-label=\"Next photo\" hidden\u003e›\u003c\/button\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-dots\" data-jf-dots\u003e\u003c\/div\u003e\n\n      \u003cp class=\"jf-gallery-note\"\u003e\n        Swipe to explore the details.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003c!-- HERO STORY --\u003e\n\n    \u003cdiv class=\"jf-hero-copy\"\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        FAITH · LOVE · ETERNAL HOPE\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        His Story.\n        Our Hope.\n        A Light That Never Fades.\n      \u003c\/h2\u003e\n\n      \u003cp class=\"jf-lead\"\u003e\n        Christmas is more than\n        lights and presents.\n      \u003c\/p\u003e\n\n      \u003cp class=\"jf-lead\"\u003e\n        It is a season of\n        love, gratitude,\n        and remembering the\n        extraordinary story\n        of Jesus.\n      \u003c\/p\u003e\n\n      \u003cp class=\"jf-lead\"\u003e\n        A meaningful reminder\n        to keep faith close,\n        cherish the people\n        we love, and celebrate\n        the hope that\n        lives in our hearts.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"jf-benefits\"\u003e\n\n        \u003cdiv class=\"jf-benefit\"\u003e\n\n          \u003cspan class=\"jf-symbol\"\u003e✝\u003c\/span\u003e\n\n          \u003cdiv\u003e\n            \u003cstrong\u003eA Meaningful Reminder of Faith\u003c\/strong\u003e\n            \u003cp\u003e\n              Celebrate the story\n              that continues to\n              inspire generations.\n            \u003c\/p\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"jf-benefit\"\u003e\n\n          \u003cspan class=\"jf-symbol\"\u003e✦\u003c\/span\u003e\n\n          \u003cdiv\u003e\n            \u003cstrong\u003eInspired by Hope and Love\u003c\/strong\u003e\n            \u003cp\u003e\n              Bring a message of\n              compassion and faith\n              into your home.\n            \u003c\/p\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"jf-benefit\"\u003e\n\n          \u003cspan class=\"jf-symbol\"\u003e♡\u003c\/span\u003e\n\n          \u003cdiv\u003e\n            \u003cstrong\u003eA Family Christmas Tradition\u003c\/strong\u003e\n            \u003cp\u003e\n              Create moments of\n              reflection and gratitude\n              together.\n            \u003c\/p\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"jf-benefit\"\u003e\n\n          \u003cspan class=\"jf-symbol\"\u003e✧\u003c\/span\u003e\n\n          \u003cdiv\u003e\n            \u003cstrong\u003eA Gift with Heart\u003c\/strong\u003e\n            \u003cp\u003e\n              A thoughtful idea\n              for loved ones\n              who treasure their faith.\n            \u003c\/p\u003e\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- TRANSITION --\u003e\n\n  \u003cdiv class=\"jf-ribbon\"\u003e\n    ✦ Let the Meaning of Christmas Shine.\n  \u003c\/div\u003e\n\n  \u003c!-- BETHLEHEM STORY --\u003e\n\n  \u003csection class=\"jf-night jf-stars\"\u003e\n\n    \u003cdiv class=\"jf-night-inner\"\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        A STORY OF FAITH AND HOPE\n      \u003c\/span\u003e\n\n      \u003cdiv class=\"jf-star-rule\"\u003e✦\u003c\/div\u003e\n\n      \u003ch2\u003e\n        The Greatest Story\n        Begins with Love.\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        From a humble beginning\n        in Bethlehem came a\n        story that would\n        change the world.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        A message of compassion,\n        sacrifice, forgiveness,\n        and everlasting hope.\n      \u003c\/p\u003e\n\n      \u003cspan class=\"jf-scripture\"\u003e\n        \"I am the light of the world.\"\n      \u003c\/span\u003e\n\n      \u003cp\u003eJohn 8:12\u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- STORY ONE --\u003e\n\n  \u003csection class=\"jf-story\"\u003e\n\n    \u003cdiv class=\"jf-story-image jf-image-zone\" data-jf-story-photo=\"1\"\u003e\u003c\/div\u003e\n\n    \u003cdiv class=\"jf-story-copy\"\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        CHAPTER ONE · A QUIET CHRISTMAS MOMENT\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        A Beautiful Reminder\n        of What Truly Matters.\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Imagine a peaceful\n        Christmas evening.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        The family is together.\n        The tree lights are glowing.\n        The room feels warm\n        and welcoming.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        Among these moments,\n        we remember the\n        deeper meaning of\n        the season:\n        faith, hope, and love.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"jf-quote\"\u003e\n        Sometimes the smallest\n        reminders carry\n        the greatest meaning.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- THREE REASONS --\u003e\n\n  \u003csection class=\"jf-section jf-center\"\u003e\n\n    \u003cspan class=\"jf-eyebrow\"\u003e\n      A STORY THAT STAYS WITH US\n    \u003c\/span\u003e\n\n    \u003ch2\u003e\n      More Than Decoration.\n      A Reminder of Faith.\n    \u003c\/h2\u003e\n\n    \u003cp class=\"jf-intro\"\u003e\n      Create a holiday space\n      filled with meaning,\n      peaceful reflection,\n      and the traditions\n      that matter most.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"jf-cards\"\u003e\n\n      \u003cdiv class=\"jf-card\"\u003e\n\n        \u003cspan class=\"jf-card-number\"\u003e01\u003c\/span\u003e\n\n        \u003ch3\u003eCelebrate Faith\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Keep the message\n          of Jesus close\n          during Christmas\n          and beyond.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-card\"\u003e\n\n        \u003cspan class=\"jf-card-number\"\u003e02\u003c\/span\u003e\n\n        \u003ch3\u003eRemember His Story\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Reflect on the love,\n          compassion, and hope\n          found in His life.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-card\"\u003e\n\n        \u003cspan class=\"jf-card-number\"\u003e03\u003c\/span\u003e\n\n        \u003ch3\u003eShare Something Meaningful\u003c\/h3\u003e\n\n        \u003cp\u003e\n          Give a thoughtful\n          reminder of faith\n          to someone\n          you love.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- STATIC PRODUCT PHOTOS --\u003e\n\n  \u003csection class=\"jf-section jf-photo-section\" data-jf-photo-section\u003e\n\n    \u003cdiv class=\"jf-center\"\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        EXPLORE THE DETAILS\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        A Closer Look at\n        Every Beautiful Detail.\n      \u003c\/h2\u003e\n\n      \u003cp class=\"jf-intro\"\u003e\n        Discover the product\n        from different angles\n        and take a closer look\n        at its design.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"jf-photo-grid\"\u003e\n\n      \u003cdiv class=\"jf-photo-card\" data-jf-extra=\"2\"\u003e\n        \u003cspan\u003eThe Beautiful Details\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-photo-card\" data-jf-extra=\"3\"\u003e\n        \u003cspan\u003eA Closer View\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-photo-card\" data-jf-extra=\"4\"\u003e\n        \u003cspan\u003eFaith-Inspired Design\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-photo-card\" data-jf-extra=\"5\"\u003e\n        \u003cspan\u003eAnother Perspective\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-photo-card\" data-jf-extra=\"6\"\u003e\n        \u003cspan\u003eMeaningful Details\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-photo-card\" data-jf-extra=\"7\"\u003e\n        \u003cspan\u003eA Special Keepsake\u003c\/span\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- FAITH STORY --\u003e\n\n  \u003csection class=\"jf-section jf-message\"\u003e\n\n    \u003cdiv class=\"jf-center\"\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        THE MESSAGE THAT INSPIRES US\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        One Extraordinary Life.\n        A Timeless Message.\n      \u003c\/h2\u003e\n\n      \u003cp class=\"jf-intro\"\u003e\n        From Bethlehem\n        to the Resurrection,\n        the story of Jesus\n        reminds us of\n        love, mercy, and hope.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"jf-message-grid\"\u003e\n\n      \u003cdiv class=\"jf-message-card\"\u003e\n\n        \u003ch3\u003e✦ The Gift of Hope\u003c\/h3\u003e\n\n        \u003cp\u003e\n          The Nativity reminds us\n          that great hope\n          can begin in\n          humble places.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-message-card\"\u003e\n\n        \u003ch3\u003e♡ The Power of Love\u003c\/h3\u003e\n\n        \u003cp\u003e\n          His teachings\n          remind us to show\n          kindness, compassion,\n          and forgiveness.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-message-card\"\u003e\n\n        \u003ch3\u003e✝ The Meaning of Sacrifice\u003c\/h3\u003e\n\n        \u003cp\u003e\n          The Cross remains\n          a profound symbol\n          of selfless love\n          and redemption.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"jf-message-card\"\u003e\n\n        \u003ch3\u003e✧ The Promise of Hope\u003c\/h3\u003e\n\n        \u003cp\u003e\n          The Resurrection\n          brings a message\n          of hope and\n          renewed life.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- STORY TWO --\u003e\n\n  \u003csection class=\"jf-story\"\u003e\n\n    \u003cdiv class=\"jf-story-copy\"\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        CHAPTER TWO · FAITH AT HOME\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Make Space for\n        the Moments That Matter.\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        The most meaningful\n        traditions often begin\n        with something small.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        A family prayer.\n        A quiet moment\n        of gratitude.\n        A story shared\n        at Christmas.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        These simple moments\n        remind us that the\n        season is about\n        more than gifts.\n      \u003c\/p\u003e\n\n      \u003cdiv class=\"jf-quote\"\u003e\n        A little reminder of faith.\n        A meaningful part of home.\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"jf-story-image jf-image-zone\" data-jf-story-photo=\"8\"\u003e\u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- GIFT SECTION --\u003e\n\n  \u003csection class=\"jf-gift\"\u003e\n\n    \u003cdiv\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        GIVE A GIFT WITH MEANING\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        Some Gifts Are Beautiful.\n        Others Touch the Heart.\n      \u003c\/h2\u003e\n\n      \u003cdiv class=\"jf-star-rule\"\u003e✦\u003c\/div\u003e\n\n      \u003cp\u003e\n        For a mother who\n        treasures her faith.\n        For grandparents\n        who share the\n        Christmas story.\n      \u003c\/p\u003e\n\n      \u003cp\u003e\n        For a friend who\n        finds comfort in prayer\n        and strength in hope.\n      \u003c\/p\u003e\n\n      \u003cspan class=\"jf-gift-quote\"\u003e\n        \"I saw this and thought\n        of your beautiful faith.\"\n      \u003c\/span\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- FAQ --\u003e\n\n  \u003csection class=\"jf-section jf-faq-section\"\u003e\n\n    \u003cdiv class=\"jf-center\"\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        GOOD TO KNOW\n      \u003c\/span\u003e\n\n      \u003ch2\u003e\n        A Few Things\n        Before You Choose.\n      \u003c\/h2\u003e\n\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"jf-faq\"\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          What makes this meaningful?\n        \u003c\/summary\u003e\n        \u003cp\u003e\n          It celebrates the story\n          and message of Jesus,\n          offering a reminder\n          of faith, love, and hope.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          Is it suitable as a Christmas gift?\n        \u003c\/summary\u003e\n        \u003cp\u003e\n          It can be a thoughtful\n          gift for someone\n          who appreciates\n          Christian artwork\n          and faith-inspired decor.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          What materials and dimensions does it have?\n        \u003c\/summary\u003e\n        \u003cp\u003e\n          Please check the\n          current product specifications\n          and selected option\n          for confirmed materials\n          and dimensions.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          Does it include lighting or music?\n        \u003c\/summary\u003e\n        \u003cp\u003e\n          Please refer to the\n          product specifications\n          for any included\n          electronic features.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003e\n          Can it be enjoyed beyond Christmas?\n        \u003c\/summary\u003e\n        \u003cp\u003e\n          The message of faith\n          remains meaningful\n          throughout the year.\n          Please review the\n          actual design to decide\n          where you would display it.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n  \u003c!-- ONLY BOTTOM CTA --\u003e\n\n  \u003csection class=\"jf-final jf-stars\"\u003e\n\n    \u003cdiv\u003e\n\n      \u003cspan class=\"jf-eyebrow\"\u003e\n        FAITH · HOPE · LOVE\n      \u003c\/span\u003e\n\n      \u003cdiv class=\"jf-star-rule\"\u003e✦\u003c\/div\u003e\n\n      \u003ch2\u003e\n        Keep His Story Close.\n        Let His Message Shine.\n      \u003c\/h2\u003e\n\n      \u003cp\u003e\n        Celebrate the faith,\n        love, and hope\n        that make this story\n        so meaningful.\n      \u003c\/p\u003e\n\n      \u003ca href=\"#\" class=\"jf-button\" data-jf-top\u003e\n        Explore the Details ↑\n      \u003c\/a\u003e\n\n      \u003cp class=\"jf-note\"\u003e\n        Return to the top\n        to view product options.\n      \u003c\/p\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n\n  function initJesusFixed(){\n\n    var root=document.getElementById(\n      'aj-jesus-fixed'\n    );\n\n    if(!root || root.dataset.initialized==='1'){\n      return;\n    }\n\n    root.dataset.initialized='1';\n\n    var handle='journey-of-jesus';\n\n    var gallery=root.querySelector('.jf-gallery');\n    var rail=root.querySelector('[data-jf-rail]');\n    var dots=root.querySelector('[data-jf-dots]');\n    var previous=root.querySelector('[data-jf-prev]');\n    var next=root.querySelector('[data-jf-next]');\n    var topLink=root.querySelector('[data-jf-top]');\n\n    var slides=[];\n    var current=0;\n    var timer=null;\n    var loadedPriority=0;\n\n    \/* NORMALIZE URLS *\/\n\n    function normalize(item){\n\n      var src='';\n\n      if(typeof item==='string'){\n        src=item;\n      }else if(item \u0026\u0026 typeof item==='object'){\n        src=item.src || item.url || '';\n      }\n\n      if(!src){\n        return '';\n      }\n\n      try{\n        return new URL(\n          src,\n          window.location.origin\n        ).href;\n      }catch(error){\n        return '';\n      }\n    }\n\n    function uniqueImages(items){\n\n      var seen={};\n\n      return items.filter(function(src){\n\n        if(!src) return false;\n\n        var key=src.split('?')[0];\n\n        if(seen[key]){\n          return false;\n        }\n\n        seen[key]=true;\n        return true;\n      });\n    }\n\n    \/* VERIFY PHOTO BEFORE SHOWING IT *\/\n\n    function verifyPhoto(src){\n\n      return new Promise(function(resolve){\n\n        var image=new Image();\n\n        image.onload=function(){\n\n          if(image.naturalWidth\u003e0){\n            resolve(src);\n          }else{\n            resolve(null);\n          }\n\n        };\n\n        image.onerror=function(){\n          resolve(null);\n        };\n\n        image.src=src;\n      });\n    }\n\n    \/* AUTOPLAY SLIDESHOW *\/\n\n    function stopAutoplay(){\n\n      if(timer!==null){\n        clearInterval(timer);\n        timer=null;\n      }\n    }\n\n    function updateDots(){\n\n      dots.querySelectorAll('.jf-dot')\n        .forEach(function(dot,index){\n\n          dot.classList.toggle(\n            'active',\n            index===current\n          );\n\n        });\n    }\n\n    function goTo(index){\n\n      if(!slides.length){\n        return;\n      }\n\n      current=(\n        index+slides.length\n      )%slides.length;\n\n      rail.scrollTo({\n        left:current*rail.clientWidth,\n        behavior:'smooth'\n      });\n\n      updateDots();\n    }\n\n    function startAutoplay(){\n\n      stopAutoplay();\n\n      if(slides.length\u003c2){\n        return;\n      }\n\n      if(window.matchMedia(\n        '(prefers-reduced-motion: reduce)'\n      ).matches){\n        return;\n      }\n\n      timer=setInterval(function(){\n\n        if(!document.hidden){\n          goTo(current+1);\n        }\n\n      },4200);\n    }\n\n    \/* BUILD REAL PRODUCT IMAGE GALLERY *\/\n\n    function buildGallery(images){\n\n      stopAutoplay();\n\n      rail.innerHTML='';\n      dots.innerHTML='';\n      slides=[];\n      current=0;\n\n      images.slice(0,8).forEach(function(src,index){\n\n        var slide=document.createElement('div');\n        slide.className='jf-slide jf-gallery-slide';\n\n        var img=document.createElement('img');\n\n        img.src=src;\n        img.alt='Journey of Jesus product view '+(index+1);\n        img.loading=index===0?'eager':'lazy';\n\n        slide.appendChild(img);\n        rail.appendChild(slide);\n        slides.push(slide);\n\n        var dot=document.createElement('span');\n        dot.className='jf-dot';\n\n        dots.appendChild(dot);\n      });\n\n      gallery.classList.add('jf-ready');\n\n      previous.hidden=slides.length\u003c2;\n      next.hidden=slides.length\u003c2;\n\n      goTo(0);\n      startAutoplay();\n    }\n\n    \/* STATIC IMAGE HELPER *\/\n\n    function setImage(holder,src,alt){\n\n      if(!holder || !src){\n        return;\n      }\n\n      holder.querySelectorAll('img')\n        .forEach(function(img){\n          img.remove();\n        });\n\n      var img=document.createElement('img');\n\n      img.src=src;\n      img.alt=alt;\n      img.loading='lazy';\n\n      holder.insertBefore(img,holder.firstChild);\n\n      holder.classList.add('jf-ready');\n    }\n\n    function buildStaticImages(images){\n\n      root.querySelectorAll(\n        '[data-jf-story-photo]'\n      ).forEach(function(holder){\n\n        var index=Number(\n          holder.getAttribute('data-jf-story-photo')\n        );\n\n        if(images[index]){\n          setImage(\n            holder,\n            images[index],\n            'Faith-inspired product detail'\n          );\n        }\n      });\n\n      var count=0;\n\n      root.querySelectorAll(\n        '[data-jf-extra]'\n      ).forEach(function(holder){\n\n        var index=Number(\n          holder.getAttribute('data-jf-extra')\n        );\n\n        if(!images[index]){\n          return;\n        }\n\n        setImage(\n          holder,\n          images[index],\n          'Product detail photo'\n        );\n\n        count++;\n      });\n\n      var section=root.querySelector(\n        '[data-jf-photo-section]'\n      );\n\n      if(count\u003e0 \u0026\u0026 section){\n        section.classList.add('jf-ready');\n      }\n    }\n\n    \/* APPLY VERIFIED IMAGES *\/\n\n    function applyImages(items,priority){\n\n      var urls=uniqueImages(\n        items.map(normalize)\n      ).slice(0,12);\n\n      if(!urls.length){\n        return;\n      }\n\n      Promise.all(\n        urls.map(verifyPhoto)\n      ).then(function(results){\n\n        var valid=results.filter(Boolean);\n\n        if(!valid.length){\n          return;\n        }\n\n        if(priority\u003cloadedPriority){\n          return;\n        }\n\n        loadedPriority=priority;\n\n        buildGallery(valid);\n        buildStaticImages(valid);\n      });\n    }\n\n    \/* FALLBACK: READ THE PRODUCT GALLERY\n       THAT SHOPIFY ALREADY RENDERED *\/\n\n    function findPageImages(){\n\n      var items=[];\n\n      var selectors=[\n        'main .product__media img',\n        'main .product__media-list img',\n        'main .product-media-container img',\n        'main .product-gallery img',\n        'main .product-single__photos img',\n        'main [data-product-gallery] img',\n        '[id*=\"MainProduct\"] img'\n      ];\n\n      document.querySelectorAll(\n        selectors.join(',')\n      ).forEach(function(img){\n\n        if(root.contains(img)){\n          return;\n        }\n\n        var src=\n          img.getAttribute('data-zoom-image') ||\n          img.getAttribute('data-src') ||\n          img.currentSrc ||\n          img.getAttribute('src');\n\n        var url=normalize(src);\n\n        if(\n          url \u0026\u0026\n          (\n            url.indexOf('\/cdn\/shop\/')!==-1 ||\n            url.indexOf('cdn.shopify.com')!==-1\n          )\n        ){\n          items.push(url);\n        }\n\n      });\n\n      return uniqueImages(items);\n    }\n\n    \/* FETCH THE ACTUAL ALASJOY PRODUCT IMAGES *\/\n\n    function loadProductImages(){\n\n      var pageImages=findPageImages();\n\n      if(pageImages.length){\n        applyImages(pageImages,1);\n      }\n\n      fetch(\n        '\/products\/'+handle+'.js',\n        {credentials:'same-origin'}\n      )\n      .then(function(response){\n\n        if(!response.ok){\n          throw new Error('Product unavailable');\n        }\n\n        return response.json();\n      })\n      .then(function(product){\n\n        if(\n          !product ||\n          !Array.isArray(product.images) ||\n          !product.images.length\n        ){\n          return;\n        }\n\n        applyImages(product.images,2);\n      })\n      .catch(function(){\n\n        \/* Keep photos from page gallery.\n           If unavailable, hide image zones.\n           No invalid image links are shown. *\/\n\n      });\n    }\n\n    \/* GALLERY EVENTS *\/\n\n    previous.addEventListener('click',function(){\n      goTo(current-1);\n      startAutoplay();\n    });\n\n    next.addEventListener('click',function(){\n      goTo(current+1);\n      startAutoplay();\n    });\n\n    rail.addEventListener('mouseenter',stopAutoplay);\n    rail.addEventListener('mouseleave',startAutoplay);\n    rail.addEventListener('focusin',stopAutoplay);\n    rail.addEventListener('focusout',startAutoplay);\n\n    rail.addEventListener(\n      'touchstart',\n      stopAutoplay,\n      {passive:true}\n    );\n\n    rail.addEventListener(\n      'touchend',\n      startAutoplay,\n      {passive:true}\n    );\n\n    rail.addEventListener(\n      'scroll',\n      function(){\n\n        if(!rail.clientWidth || !slides.length){\n          return;\n        }\n\n        current=Math.max(\n          0,\n          Math.min(\n            slides.length-1,\n            Math.round(\n              rail.scrollLeft\/rail.clientWidth\n            )\n          )\n        );\n\n        updateDots();\n      },\n      {passive:true}\n    );\n\n    \/* ONLY BOTTOM BUTTON *\/\n\n    if(topLink){\n\n      topLink.addEventListener('click',function(event){\n\n        event.preventDefault();\n\n        window.scrollTo({\n          top:0,\n          left:0,\n          behavior:'smooth'\n        });\n      });\n    }\n\n    \/* INITIALIZE *\/\n\n    loadProductImages();\n  }\n\n  if(document.readyState==='loading'){\n\n    document.addEventListener(\n      'DOMContentLoaded',\n      initJesusFixed\n    );\n\n  }else{\n\n    initJesusFixed();\n  }\n\n  document.addEventListener(\n    'shopify:section:load',\n    initJesusFixed\n  );\n\n})();\n\u003c\/script\u003e\n","brand":"zhidou","offers":[{"title":"Default Title","offer_id":68140030394605,"sku":"RR3723828-耶稣之旅装饰","price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0841\/9354\/2381\/files\/95eb4770103c2729ca39a2b292090783eba5e09e.jpg?v=1793599976","url":"https:\/\/alasjoy.com\/products\/journey-of-jesus","provider":"alasjoy","version":"1.0","type":"link"}