{"product_id":"wide-frame-aluminum-exterior-louver-vent-for-walls-crawlspace-weather-resistant-with-screen-mesh","title":"2\" Drainable Outdoor Louver Gable Vent (Wide Frame) - Customizable","description":"\u003cstyle\u003e\n  .custom-features-box {\n    margin: 0;\n    max-width: 1200px;\n    width: 100%;\n    box-sizing: border-box;\n    font-family: Arial, sans-serif;\n    color: #111;\n    overflow-x: hidden;\n  }\n\n  .custom-features-box p {\n    margin: 0 0 28px;\n    font-size: 15px;\n    line-height: 1.6;\n    color: #111;\n  }\n\n  .custom-features-details {\n    margin-top: 8px;\n    width: 100%;\n    box-sizing: border-box;\n  }\n\n  .custom-features-details summary {\n    list-style: none;\n    cursor: pointer;\n    margin: 0 0 18px;\n    padding: 0 4px 10px 0;\n    border-bottom: 2px solid #5296dd;\n    color: #5296dd;\n    font-size: 15px;\n    line-height: 1.2;\n    font-weight: 700;\n    text-transform: uppercase;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    max-width: 100%;\n    box-sizing: border-box;\n    overflow: hidden;\n  }\n\n  .custom-features-details summary::-webkit-details-marker {\n    display: none;\n  }\n\n  .custom-features-details summary::after {\n    content: \"\";\n    width: 10px;\n    height: 10px;\n    border-right: 2px solid #5296dd;\n    border-bottom: 2px solid #5296dd;\n    transform: rotate(45deg);\n    transition: transform 0.25s ease;\n    margin-left: 12px;\n    margin-right: 2px;\n    flex-shrink: 0;\n  }\n\n  .custom-features-details[open] summary::after {\n    transform: rotate(225deg);\n  }\n\n  .custom-features-box ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    column-gap: 35px;\n    row-gap: 16px;\n    font-size: 15px;\n    line-height: 1.6;\n  }\n\n  .custom-features-box li {\n    display: flex;\n    align-items: flex-start;\n    gap: 12px;\n    margin: 0;\n  }\n\n  .feature-bullet {\n    width: 14px;\n    height: 14px;\n    min-width: 14px;\n    margin-top: 5px;\n    background: #5296dd;\n    display: inline-block;\n  }\n\n  .custom-features-box strong {\n    font-weight: 400;\n  }\n\n  .custom-spec-popup-link {\n    display: inline-block;\n    margin-top: 24px;\n    color: #5296dd;\n    cursor: pointer;\n    font-size: 15px;\n    font-weight: 700;\n    text-decoration: underline;\n    background: none;\n    border: none;\n    padding: 0;\n  }\n\n  .custom-spec-popup-link:hover {\n    color: #002b5c;\n  }\n\n  .custom-image-popup-overlay {\n    display: none;\n    position: fixed;\n    z-index: 999999;\n    inset: 0;\n    background: rgba(0, 0, 0, 0.85);\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    box-sizing: border-box;\n  }\n\n  .custom-image-popup-overlay.is-active {\n    display: flex !important;\n  }\n\n  .custom-image-popup-content {\n    position: relative;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n  }\n\n  .custom-image-popup-content img {\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    width: auto;\n    height: auto;\n    display: block;\n    background: #fff;\n  }\n\n  .custom-image-popup-close {\n    position: absolute;\n    top: -12px;\n    right: -12px;\n    width: 36px;\n    height: 36px;\n    border: none;\n    border-radius: 50%;\n    background: #fff;\n    color: #000;\n    font-size: 24px;\n    cursor: pointer;\n    font-weight: 700;\n    line-height: 36px;\n    text-align: center;\n    z-index: 2;\n  }\n\n  @media screen and (max-width: 990px) {\n    .custom-features-box ul {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n    }\n  }\n\n  @media screen and (max-width: 749px) {\n    .custom-features-box {\n      max-width: 100%;\n      width: 100%;\n      overflow-x: hidden;\n    }\n\n    .custom-features-details summary {\n      width: 100%;\n      max-width: 100%;\n      padding-right: 8px;\n    }\n\n    .custom-features-box ul {\n      grid-template-columns: 1fr;\n    }\n\n    .custom-image-popup-overlay {\n      padding: 16px;\n    }\n\n    .custom-image-popup-content,\n    .custom-image-popup-content img {\n      max-width: calc(100vw - 32px);\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"custom-features-box\"\u003e\n\n  \u003cp\u003e\n    Our 2\" Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Wide Flange Frame. It has blades that prevent water penetration and maximize free area.\n  \u003c\/p\u003e\n\n  \u003cdetails class=\"custom-features-details\"\u003e\n    \u003csummary\u003eFeatures\u003c\/summary\u003e\n\n    \u003cdiv class=\"custom-features-content\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eWide flange for additional surface coverage.\u003c\/strong\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eHeavy-duty, extruded aluminum wide flange frame.\u003c\/strong\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eFixed, non-drainable blades on 2\" spacing.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n  \u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\n  \u003cstrong\u003e\n    \u003cbutton type=\"button\" class=\"hp-jblade-popup-link\"\u003e\n      J-blade design\n    \u003c\/button\u003e\n    minimizes water ingress while maximizing free area.\n  \u003c\/strong\u003e\n\u003c\/li\u003e\n\n\u003cdiv id=\"hp-jblade-modal\" class=\"hp-jblade-modal\"\u003e\n  \u003cdiv class=\"hp-jblade-overlay\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"hp-jblade-popup\"\u003e\n    \u003cbutton type=\"button\" class=\"hp-jblade-close\" aria-label=\"Close\"\u003e\n      ×\n    \u003c\/button\u003e\n\n    \u003cimg src=\"https:\/\/m.media-amazon.com\/images\/I\/81IR3mqqB0L._AC_SL1500_.jpg\" alt=\"J-Blade Design\" class=\"hp-jblade-image\"\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n.hp-jblade-popup-link {\n  border: 0;\n  padding: 0;\n  margin: 0;\n  background: none;\n  color: #5296dd;\n  font: inherit;\n  font-weight: 700;\n  text-decoration: underline;\n  cursor: pointer;\n}\n\n.hp-jblade-modal {\n  display: none;\n  position: fixed;\n  inset: 0;\n  z-index: 999999;\n}\n\n.hp-jblade-modal.hp-open {\n  display: block;\n}\n\n.hp-jblade-overlay {\n  position: absolute;\n  inset: 0;\n  background: rgba(0,0,0,.65);\n}\n\n.hp-jblade-popup {\n  position: fixed;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n\n  background: #fff;\n  border-radius: 8px;\n  padding: 20px;\n\n  width: calc(100% - 40px);\n  max-width: 900px;\n  max-height: 90vh;\n\n  overflow: auto;\n  z-index: 2;\n}\n\n.hp-jblade-close {\n  position: absolute;\n  top: 10px;\n  right: 14px;\n  border: 0;\n  background: none;\n  font-size: 32px;\n  line-height: 1;\n  cursor: pointer;\n  color: #333;\n}\n\n.hp-jblade-image {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n\n@media (max-width: 768px) {\n  .hp-jblade-popup {\n    width: calc(100% - 20px);\n    padding: 15px;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function() {\n  const link = document.querySelector('.hp-jblade-popup-link');\n  const modal = document.getElementById('hp-jblade-modal');\n  const close = document.querySelector('.hp-jblade-close');\n  const overlay = document.querySelector('.hp-jblade-overlay');\n\n  if (!link || !modal) return;\n\n  function openModal() {\n    modal.classList.add('hp-open');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function closeModal() {\n    modal.classList.remove('hp-open');\n    document.body.style.overflow = '';\n  }\n\n  link.addEventListener('click', openModal);\n\n  if (close) {\n    close.addEventListener('click', closeModal);\n  }\n\n  if (overlay) {\n    overlay.addEventListener('click', closeModal);\n  }\n\n  document.addEventListener('keydown', function(e) {\n    if (e.key === 'Escape') {\n      closeModal();\n    }\n  });\n})();\n\u003c\/script\u003e\n        \u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eNominal 43% free area, based on 48\" x 48\" louver.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n  \u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\n  \u003cstrong\u003e\n    \u003cbutton type=\"button\" class=\"hp-mullion-popup-link\"\u003e\n      Mullions used\n    \u003c\/button\u003e\n    for sizes over 36\" in length.\n  \u003c\/strong\u003e\n\u003c\/li\u003e\n\n\u003cdiv id=\"hp-mullion-modal\" class=\"hp-mullion-modal\" aria-hidden=\"true\"\u003e\n  \u003cdiv class=\"hp-mullion-overlay\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"hp-mullion-popup\"\u003e\n    \u003cbutton type=\"button\" class=\"hp-mullion-close\" aria-label=\"Close\"\u003e×\u003c\/button\u003e\n\n    \u003cdiv class=\"hp-mullion-images\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/HPL2-FF_2.png?v=1780204003\" alt=\"Mullion example 1\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/HPL2-FF_4.png?v=1780204013\" alt=\"Mullion example 2\"\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n.hp-mullion-popup-link {\n  border: 0;\n  padding: 0;\n  background: none;\n  color: #5296dd;\n  font: inherit;\n  font-weight: 700;\n  text-decoration: underline;\n  cursor: pointer;\n}\n\n.hp-mullion-modal {\n  display: none;\n  position: fixed;\n  inset: 0;\n  z-index: 999999;\n}\n\n.hp-mullion-modal.hp-open {\n  display: block;\n}\n\n.hp-mullion-overlay {\n  position: absolute;\n  inset: 0;\n  background: rgba(0,0,0,.65);\n}\n\n.hp-mullion-popup {\n  position: fixed;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  z-index: 2;\n\n  background: #fff;\n  max-width: 1100px;\n  width: calc(100% - 40px);\n  max-height: 90vh;\n  overflow: auto;\n\n  padding: 24px;\n  border-radius: 8px;\n}\n\n.hp-mullion-close {\n  position: absolute;\n  top: 8px;\n  right: 14px;\n  border: 0;\n  background: none;\n  font-size: 32px;\n  cursor: pointer;\n}\n\n.hp-mullion-images {\n  display: flex;\n  gap: 20px;\n}\n\n.hp-mullion-images img {\n  width: 50%;\n  height: auto;\n  display: block;\n}\n\n@media (max-width: 768px) {\n  .hp-mullion-images {\n    flex-direction: column;\n  }\n\n  .hp-mullion-images img {\n    width: 100%;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function() {\n  var link = document.querySelector('.hp-mullion-popup-link');\n  var modal = document.getElementById('hp-mullion-modal');\n  var close = document.querySelector('.hp-mullion-close');\n  var overlay = document.querySelector('.hp-mullion-overlay');\n\n  if (!link || !modal) return;\n\n  link.addEventListener('click', function() {\n    modal.classList.add('hp-open');\n  });\n\n  function closeModal() {\n    modal.classList.remove('hp-open');\n  }\n\n  if (close) close.addEventListener('click', closeModal);\n  if (overlay) overlay.addEventListener('click', closeModal);\n})();\n\u003c\/script\u003e\n        \u003cli\u003e\n  \u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\n  \u003cstrong\u003e\n    \u003cbutton type=\"button\" class=\"hp-birdscreen-popup-link\"\u003e\n      Bird screen included\n    \u003c\/button\u003e\n    standard. Insect screen can be specified.\n  \u003c\/strong\u003e\n\u003c\/li\u003e\n\n\u003cdiv id=\"hp-birdscreen-modal\" class=\"hp-birdscreen-modal\"\u003e\n  \u003cdiv class=\"hp-birdscreen-overlay\"\u003e\u003c\/div\u003e\n\n  \u003cdiv class=\"hp-birdscreen-popup\"\u003e\n    \u003cbutton type=\"button\" class=\"hp-birdscreen-close\" aria-label=\"Close\"\u003e\n      ×\n    \u003c\/button\u003e\n\n    \u003cimg src=\"https:\/\/hvacpremium.com\/cdn\/shop\/files\/6w-x-6h-aluminum-exterior-gable-louver-vent-for-walls-crawlspace-weather-resistant-air-grille-with-screen-mesh-outer-dimensions-775w-x-775hspecial-weather-louve-534542_2048x.jpg?v=1743792952\" alt=\"Bird Screen Example\" class=\"hp-birdscreen-image\"\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n.hp-birdscreen-popup-link {\n  border: 0;\n  padding: 0;\n  margin: 0;\n  background: none;\n  color: #5296dd;\n  font: inherit;\n  font-weight: 700;\n  text-decoration: underline;\n  cursor: pointer;\n}\n\n.hp-birdscreen-modal {\n  display: none;\n  position: fixed;\n  inset: 0;\n  z-index: 999999;\n}\n\n.hp-birdscreen-modal.hp-open {\n  display: block;\n}\n\n.hp-birdscreen-overlay {\n  position: absolute;\n  inset: 0;\n  background: rgba(0,0,0,.65);\n}\n\n.hp-birdscreen-popup {\n  position: fixed;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n\n  background: #fff;\n  border-radius: 8px;\n  padding: 20px;\n\n  width: calc(100% - 40px);\n  max-width: 900px;\n  max-height: 90vh;\n\n  overflow: auto;\n  z-index: 2;\n}\n\n.hp-birdscreen-close {\n  position: absolute;\n  top: 10px;\n  right: 14px;\n  border: 0;\n  background: none;\n  font-size: 32px;\n  line-height: 1;\n  cursor: pointer;\n  color: #333;\n}\n\n.hp-birdscreen-image {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n\n@media (max-width: 768px) {\n  .hp-birdscreen-popup {\n    width: calc(100% - 20px);\n    padding: 15px;\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function() {\n  const link = document.querySelector('.hp-birdscreen-popup-link');\n  const modal = document.getElementById('hp-birdscreen-modal');\n  const close = document.querySelector('.hp-birdscreen-close');\n  const overlay = document.querySelector('.hp-birdscreen-overlay');\n\n  if (!link || !modal) return;\n\n  function openModal() {\n    modal.classList.add('hp-open');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function closeModal() {\n    modal.classList.remove('hp-open');\n    document.body.style.overflow = '';\n  }\n\n  link.addEventListener('click', openModal);\n\n  if (close) {\n    close.addEventListener('click', closeModal);\n  }\n\n  if (overlay) {\n    overlay.addEventListener('click', closeModal);\n  }\n\n  document.addEventListener('keydown', function(e) {\n    if (e.key === 'Escape') {\n      closeModal();\n    }\n  });\n})();\n\u003c\/script\u003e\n        \u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eAvailable with powder coat paint for high-performance exterior finishes.\u003c\/strong\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/details\u003e\n\n  \u003cbutton type=\"button\" class=\"custom-spec-popup-link\" data-open-spec-popup\u003e\n    View Spec Sheet\n  \u003c\/button\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"custom-image-popup-overlay\" data-spec-popup\u003e\n  \u003cdiv class=\"custom-image-popup-content\"\u003e\n    \u003cbutton type=\"button\" class=\"custom-image-popup-close\" data-close-spec-popup aria-label=\"Close spec sheet popup\"\u003e\n      ×\n    \u003c\/button\u003e\n\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/HPL2-WF_Specs.png?v=1779117428\" alt=\"Wide frame aluminum exterior louver spec sheet\"\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n  var details = document.querySelector('.custom-features-details');\n\n  if (details) {\n    function setInitialFeaturesState() {\n      if (window.innerWidth \u003e 749) {\n        details.setAttribute('open', '');\n      } else {\n        details.removeAttribute('open');\n      }\n    }\n\n    setInitialFeaturesState();\n\n    var lastMobileState = window.innerWidth \u003c= 749;\n\n    window.addEventListener('resize', function () {\n      var isMobileNow = window.innerWidth \u003c= 749;\n\n      if (isMobileNow !== lastMobileState) {\n        lastMobileState = isMobileNow;\n        setInitialFeaturesState();\n      }\n    });\n  }\n\n  var popup = document.querySelector('[data-spec-popup]');\n\n  if (popup \u0026\u0026 popup.parentNode !== document.body) {\n    document.body.appendChild(popup);\n  }\n\n  document.addEventListener('click', function (event) {\n    var openButton = event.target.closest('[data-open-spec-popup]');\n    var closeButton = event.target.closest('[data-close-spec-popup]');\n    var activePopup = document.querySelector('[data-spec-popup]');\n\n    if (openButton \u0026\u0026 activePopup) {\n      event.preventDefault();\n      event.stopPropagation();\n      activePopup.classList.add('is-active');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (closeButton \u0026\u0026 activePopup) {\n      event.preventDefault();\n      activePopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (activePopup \u0026\u0026 event.target === activePopup) {\n      activePopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n    }\n  });\n\n  document.addEventListener('keydown', function (event) {\n    var activePopup = document.querySelector('[data-spec-popup]');\n\n    if (event.key === 'Escape' \u0026\u0026 activePopup) {\n      activePopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n    }\n  });\n});\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"2\" Drainable Vent (Wide Frame)","offer_id":50055794426093,"sku":"HPL2-WF","price":52.85,"currency_code":"USD","in_stock":true},{"title":"Default_cpc_DE86761BC02F4","offer_id":50055794458861,"sku":null,"price":71.35,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAWALUMINUM_-HPL2-WF.png?v=1780241095","url":"https:\/\/hvacpremium.com\/products\/wide-frame-aluminum-exterior-louver-vent-for-walls-crawlspace-weather-resistant-with-screen-mesh","provider":"HVAC Premium","version":"1.0","type":"link"}