{"title":"Englander Outdoor Fireplaces","description":"","products":[{"product_id":"tranquility","title":"TRANQUILITY","description":"\u003cstyle\u003e\n  \/* Accordion styling *\/\n  .accordion { border: 1px solid #ddd; border-radius: 5px; margin-bottom: 20px; background: #f9f9f9; }\n  .accordion-header { padding: 12px; font-weight: bold; cursor: pointer; background: #eee; }\n  .accordion-header:hover { background: #ddd; }\n  .accordion-content { display: none; padding: 15px; border-top: 1px solid #ddd; background: #fff; }\n  .accordion-content.open { display: block; }\n\n  \/* Unified link styling *\/\n  .see-link { color: #f37021; text-decoration: none; font-weight: bold; cursor: pointer; }\n  .see-link:hover { text-decoration: underline; }\n\n  \/* ---------------------------\n     Quick specs (stacked layout)\n     --------------------------- *\/\n  #quick-specs { border: 1px solid #ddd; border-radius: 8px; padding: 16px; background: #fff; margin: 20px 0; font-size: 14px; color: #222; }\n\n  .qs-row { margin: 12px 0; padding: 0; }\n  .qs-label { display: block; font-weight: 700; margin: 0 0 6px 0; font-size: 13px; color: #333; line-height: 1.2; }\n  .qs-value { display: block; margin: 0; line-height: 1.25; color: #555; font-size: 14px; }\n\n  .qs-link { display: inline-block; margin-top: 4px; color: #f37021; font-size: 13px; font-weight: 600; text-decoration: none; }\n  .qs-link:hover { text-decoration: underline; }\n\n  \/* Flags *\/\n  .flags-inline { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; vertical-align: middle; }\n  .flag-pair { display: inline-flex; align-items: center; gap: 6px; }\n  .flag-image { width: 18px; height: auto; display: inline-block; vertical-align: middle; margin: 0; padding: 0; line-height: 1; max-height: 20px; }\n\n  \/* ensure no stray margins inside quick-specs rows *\/\n  #quick-specs .qs-row *, #quick-specs .qs-row *::before, #quick-specs .qs-row *::after { margin: 0; padding: 0; line-height: inherit; }\n\n  .qs-fullspecs { margin-top: 8px; margin-bottom: 0; }\n\n  @media (max-width: 480px) {\n    #quick-specs { padding: 12px; font-size: 13px; }\n    .qs-row { margin: 10px 0; }\n    .qs-label { margin-bottom: 4px; }\n  }\n\u003c\/style\u003e\n\n\u003c!-- QUICK SPECIFICATIONS BOX (stacked, equal spacing) --\u003e\n\u003cdiv id=\"quick-specs\"\u003e\n  \u003cdiv class=\"qs-row\"\u003e\n    \u003cspan class=\"qs-label\"\u003eMade in\u003c\/span\u003e\n    \u003cspan class=\"qs-value\"\u003e\n      \u003cspan class=\"flags-inline\"\u003e\n        \u003cspan class=\"flag-pair\"\u003e\n          \u003cimg class=\"flag-image\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0665\/6871\/6339\/files\/usa-5bd2139a62f1d18a7eb84549b9847120.png?v=1758991655\" alt=\"USA Flag\"\u003e\n          \u003cspan\u003eUnited States\u003c\/span\u003e\n        \u003c\/span\u003e\n      \u003c\/span\u003e\n    \u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"qs-row qs-fullspecs\"\u003e\n    \u003cspan id=\"seeFullSpecs\" class=\"see-link\"\u003eFull Specifications\u003c\/span\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- PRODUCT DESCRIPTION (SENTENCE TEASER) --\u003e\n\u003cdiv\u003e\n  \u003cp id=\"desc-teaser\"\u003e\u003c\/p\u003e\n  \u003cspan id=\"desc-more\" style=\"display:none;\"\u003e\n    \u003cp\u003e\n      Constructed of 16-gauge steel for durability, this portable tabletop-style fire pit is versatile. It's ideal for camping, parties, tailgating or any outdoor activities that could use a little extra warmth and ambiance.\n    \u003c\/p\u003e\n    \u003cp\u003e\n      Minimal assembly is required (no tools!), and the stainless steel burn tray is sized just right for your favorite manufactured firelog. Strategically placed fresh air ports in the body and burn tray provide beautiful flame patterns and extended burn time. The elegantly designed side panels help disburse the heat while providing protection from any errant sparks. Perfect for any non-combustible surface.\n    \u003c\/p\u003e\n    \u003cul\u003e\n      \u003cli\u003eMade in USA\u003c\/li\u003e\n      \u003cli\u003eMinimal assembly – No tools needed!\u003c\/li\u003e\n      \u003cli\u003eBurn tray is made of 16-gauge stainless steel, sized just right for a manufactured log and easily removed for cleanup\u003c\/li\u003e\n      \u003cli\u003ePerfect for any non-combustible surface\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cspan id=\"seeMoreDesc\" class=\"see-link\" style=\"margin-bottom:20px; display:inline-block;\"\u003e\n  Full Description\n\u003c\/span\u003e\n\n\u003c!-- SPECIFICATIONS COLLAPSIBLE --\u003e\n\u003cdiv id=\"specs-accordion\" class=\"accordion\"\u003e\n  \u003cdiv class=\"accordion-header\"\u003eSpecifications\u003c\/div\u003e\n  \u003cdiv class=\"accordion-content\"\u003e\n    \u003c!-- Appliance Performance Subheader --\u003e\n    \u003ch3 style=\"font-size: 16px; font-weight: bold; margin: 20px 0 10px; border-bottom: 2px solid #ddd; padding-bottom: 5px;\"\u003eAppliance Performance\u003c\/h3\u003e\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 30px;\"\u003e\n      \u003ctbody\u003e\n       \u003ctr style=\"background-color: #ffffff;\"\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003cstrong\u003eFuel type\u003c\/strong\u003e\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003eManufactured firelogs only\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003c\/td\u003e\n       \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003c!-- General Features Subheader --\u003e\n    \u003ch3 style=\"font-size: 16px; font-weight: bold; margin: 20px 0 10px; border-bottom: 2px solid #ddd; padding-bottom: 5px;\"\u003eGeneral Features\u003c\/h3\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 30px;\"\u003e\n      \u003ctbody\u003e\n         \u003ctr style=\"background-color: #ffffff;\"\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003cstrong\u003eOverall dimension (Height)\u003c\/strong\u003e\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e6\"\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003cstrong\u003eWarranty\u003c\/strong\u003e\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003eLimited one (1) year against manufacturing defects only\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr style=\"background-color: #f7f7f7;\"\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003cstrong\u003eOverall dimension (Width)\u003c\/strong\u003e\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e20\"\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003cstrong\u003eShipping weight\u003c\/strong\u003e\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e18 lb (8.2 kg)\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr style=\"background-color: #ffffff;\"\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003cstrong\u003eOverall dimension (Depth)\u003c\/strong\u003e\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e14\"\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/td\u003e\n          \u003ctd style=\"padding: 8px;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003c!-- Clearances Subheader --\u003e\n\u003ch3 style=\"font-size: 16px; font-weight: bold; margin: 20px 0 10px; border-bottom: 2px solid #ddd; padding-bottom: 5px;\"\u003e\n  Clearances\n\u003c\/h3\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 14px; border-radius: 6px; overflow: hidden;\"\u003e\n\u003c\/table\u003e\n\n    \u003c!-- See Less link inside accordion --\u003e\n    \u003cdiv style=\"text-align:center; margin-top: 15px;\"\u003e\n      \u003cspan id=\"seeLessSpecs\" class=\"see-link\" style=\"display:none;\"\u003eSee Less\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- MANUALS COLLAPSIBLE --\u003e\n\u003cdiv id=\"manuals-accordion\" class=\"accordion\"\u003e\n  \u003cdiv class=\"accordion-header\"\u003eManuals \u0026amp; Instructions\u003c\/div\u003e\n  \u003cdiv class=\"accordion-content\"\u003e\n    \u003cul\u003e\n      \u003cp style=\"font-size: 14px; margin: 0 0 15px;\"\u003eConsult the available manuals and leaflets for more information on performance, installation and use requirements, etc.\u003c\/p\u003e\n      \u003c!-- PDF Links Styled as Buttons --\u003e\n      \u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px;\"\u003e\n        \u003c!-- Installation \u0026 User Manual --\u003e\n        \u003ca style=\"flex: 1; min-width: 250px; text-decoration: none; background: #f7f7f7; padding: 12px 15px; border-radius: 6px; display: flex; align-items: center; font-size: 14px; color: #000; border: 1px solid #e0e0e0;\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0665\/6871\/6339\/files\/46235_UA_2024-03-04.pdf?v=1759798717\" target=\"_blank\"\u003e\n          📄 Installation \u0026amp; User Manual \u003cspan style=\"margin-left: auto;\"\u003e🔗\u003c\/span\u003e\n        \u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n  document.addEventListener('DOMContentLoaded', function () {\n    \/\/ TEASER: compute first sentence from the full description content (desc-more)\n    const descTeaserP = document.getElementById('desc-teaser');\n    const descMoreDiv = document.getElementById('desc-more');\n    const descToggle = document.getElementById('seeMoreDesc');\n\n    const fullText = descMoreDiv ? descMoreDiv.innerText.trim() : '';\n    let firstPeriod = fullText.indexOf('.');\n    if (firstPeriod === -1) firstPeriod = fullText.length;\n    if (descTeaserP) descTeaserP.textContent = fullText.substring(0, firstPeriod + (firstPeriod \u003c fullText.length ? 1 : 0)).trim();\n\n    \/\/ Initially ensure full description hidden and teaser visible\n    if (descMoreDiv) descMoreDiv.style.display = 'none';\n    if (descTeaserP) descTeaserP.style.display = 'block';\n    if (descToggle) descToggle.textContent = 'Full Description';\n\n    if (descToggle) {\n      descToggle.addEventListener('click', function () {\n        const teaser = descTeaserP;\n        const more = descMoreDiv;\n\n        if (!more) return;\n        if (more.style.display === 'none') {\n          if (teaser) teaser.style.display = 'none';\n          more.style.display = 'block';\n          this.textContent = 'See Less';\n          this.setAttribute('aria-expanded', 'true');\n          this.scrollIntoView({ behavior: 'smooth', block: 'center' });\n        } else {\n          more.style.display = 'none';\n          if (teaser) teaser.style.display = 'block';\n          this.textContent = 'Full Description';\n          this.setAttribute('aria-expanded', 'false');\n        }\n      });\n    }\n\n    \/* --- Accordion logic (accessibility + single-open) --- *\/\n    const accordions = document.querySelectorAll('.accordion');\n    const quickSpecs = document.getElementById('quick-specs');\n    const specsAccordion = document.getElementById('specs-accordion');\n    const specsContent = specsAccordion ? specsAccordion.querySelector('.accordion-content') : null;\n    const seeLessSpecs = document.getElementById('seeLessSpecs');\n    const seeFullSpecs = document.getElementById('seeFullSpecs');\n\n    function closeAllAccordions(exceptAccordion) {\n      accordions.forEach(acc =\u003e {\n        const c = acc.querySelector('.accordion-content');\n        if (c \u0026\u0026 acc !== exceptAccordion) c.classList.remove('open');\n        const hdr = acc.querySelector('.accordion-header');\n        if (hdr) hdr.setAttribute('aria-expanded', 'false');\n      });\n    }\n\n    function refreshUIState() {\n      if (specsContent \u0026\u0026 specsContent.classList.contains('open')) {\n        if (quickSpecs) quickSpecs.style.display = 'none';\n        if (seeLessSpecs) seeLessSpecs.style.display = 'inline-block';\n      } else {\n        if (quickSpecs) quickSpecs.style.display = 'block';\n        if (seeLessSpecs) seeLessSpecs.style.display = 'none';\n      }\n    }\n\n    \/\/ set up header props and toggles\n    document.querySelectorAll('.accordion').forEach(acc =\u003e {\n      const header = acc.querySelector('.accordion-header');\n      const content = acc.querySelector('.accordion-content');\n      if (!header || !content) return;\n      header.setAttribute('role', 'button');\n      header.setAttribute('tabindex', '0');\n      header.setAttribute('aria-expanded', 'false');\n\n      header.addEventListener('click', function () {\n        if (content.classList.contains('open')) {\n          content.classList.remove('open');\n          header.setAttribute('aria-expanded', 'false');\n        } else {\n          closeAllAccordions(acc);\n          content.classList.add('open');\n          header.setAttribute('aria-expanded', 'true');\n        }\n        refreshUIState();\n      });\n\n      header.addEventListener('keydown', function (e) {\n        if (e.key === 'Enter' || e.key === ' ') {\n          e.preventDefault();\n          header.click();\n        }\n      });\n    });\n\n    \/\/ Full Specs link behaviour\n    if (seeFullSpecs \u0026\u0026 specsContent) {\n      seeFullSpecs.addEventListener('click', function () {\n        if (!specsContent.classList.contains('open')) {\n          closeAllAccordions(specsAccordion);\n          specsContent.classList.add('open');\n          const hdr = specsAccordion.querySelector('.accordion-header');\n          if (hdr) hdr.setAttribute('aria-expanded', 'true');\n        } else {\n          specsContent.classList.remove('open');\n          const hdr = specsAccordion.querySelector('.accordion-header');\n          if (hdr) hdr.setAttribute('aria-expanded', 'false');\n        }\n        refreshUIState();\n        if (specsContent.classList.contains('open')) specsAccordion.scrollIntoView({ behavior: 'smooth', block: 'start' });\n      });\n    }\n\n    if (seeLessSpecs) {\n      seeLessSpecs.addEventListener('click', function () {\n        if (specsContent \u0026\u0026 specsContent.classList.contains('open')) {\n          specsContent.classList.remove('open');\n          refreshUIState();\n          if (document.getElementById('quick-specs')) document.getElementById('quick-specs').scrollIntoView({ behavior: 'smooth', block: 'center' });\n        }\n      });\n    }\n\n    \/\/ Initial UI state\n    refreshUIState();\n  });\n\u003c\/script\u003e\n","brand":"Englander","offers":[{"title":"Default Title","offer_id":43671849009203,"sku":"ESW0036","price":119.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0665\/6871\/6339\/files\/ESW0036_12-TTFP_Tranquillity_Angled_Setup.webp?v=1762361463"}],"url":"https:\/\/thenorthflame.com\/collections\/englander-cookstoves.oembed","provider":"The North Flame","version":"1.0","type":"link"}