{"title":"40 in. Width x 4 in. Height","description":"","products":[{"product_id":"40-x-4-linear-designer-aluminum-supply-air-grille","title":"40\"W X 4\"H [Duct Opening] Linear Aluminum Clip-On Bar Return Air Grille [Outer Dimensions: 41.25\"W x 5.25\"H]","description":"\u003cdiv style=\"border: 2px solid #5296DD; padding: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 5px;\"\u003e\n  \u003cdl class=\"accordion\"\u003e\n    \u003cdt\u003e\n      \u003ca class=\"active\" href=\"#\" onclick=\"toggleAccordion(event)\"\u003e\n        \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e \u003cspan class=\"accordion-title\"\u003eProduct Details\u003c\/span\u003e\n      \u003c\/a\u003e\n    \u003c\/dt\u003e\n    \u003cdd style=\"display: none;\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cb\u003eSize\u003c\/b\u003e - 40\"W X 4\"H is (for duct opening measurement only); actual front end outer dimensions are 41.25\" Width X 5.25\" Height.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cb\u003eDesign\u003c\/b\u003e – Designed for concealed, flush placement on your wall with a 3\/8 inch space between louvers, this linear grille comes with an installation frame and clips for easy hook-in assembly, ensuring a refined and seamless look.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cb\u003eHigh Quality Aluminum\u003c\/b\u003e – The premium durable aluminum will never rust and it will never wear through leaving the material with an elegant, beautiful, and smooth surface, adds a luxurious touch to any home.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cb\u003eInstallation Location\u003c\/b\u003e – Sidewall or ceiling.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cb\u003eCarefully Shrink Wrapped\u003c\/b\u003e – With cardboard backing to prevent damage in shipment.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/dd\u003e\n    \u003cdt\u003e\n      \u003ca class=\"active\" href=\"#\" onclick=\"toggleAccordion(event)\"\u003e\n        \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e \u003cspan class=\"accordion-title\"\u003eProduct Description\u003c\/span\u003e\n      \u003c\/a\u003e\n    \u003c\/dt\u003e\n    \u003cdd style=\"display: none;\" class=\"description-text\"\u003e\n      \u003cp\u003eTransform the appearance of your space with our premium Linear Clip-On Bar Aluminum Supply Air Grille, expertly designed for a refined and seamless look. This grille is crafted with precision, featuring a 3\/8 inch space between louvers, ensuring optimal airflow while maintaining a sleek, modern aesthetic.\u003c\/p\u003e\n      \u003cp\u003eThe grille is specifically engineered for concealed, flush placement on your wall, providing a clean, unobtrusive finish that blends effortlessly with your décor. Its innovative design includes a robust aluminum installation frame, which securely anchors the grille to your wall. The grille face easily clips into place with the included metal clips, making installation straightforward and hassle-free.\u003c\/p\u003e\n      \u003cp\u003ePerfect for both residential and commercial applications, this linear grille is built to last, offering durability and performance without compromising on style. Whether you’re upgrading an existing HVAC system or embarking on a new project, this grille provides an elegant solution that enhances both form and function.\u003c\/p\u003e\n      \u003cp\u003eChoose our Linear Clip-On Bar Aluminum Supply Air Grille to achieve a professional-grade installation that combines superior craftsmanship with modern design.\u003c\/p\u003e\n \u003c\/dd\u003e\n    \u003cdt\u003e\n      \u003ca class=\"active\" href=\"#\" onclick=\"toggleAccordion(event)\"\u003e\n        \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e \u003cspan class=\"accordion-title\"\u003eHow To Measure A Grille\u003c\/span\u003e\n      \u003c\/a\u003e\n    \u003c\/dt\u003e\n    \u003cdd style=\"display: none;\" class=\"description-text\"\u003e\n      \u003cp\u003e\u003cstrong\u003eOverall Size:\u003c\/strong\u003e\u003cbr\u003e Measure the size of the air duct\/drywall opening. Do not measure the overall size of the register itself, only measure the \"hole\" in the wall\/duct. Every grille has a front end frame that will overlap at the wall joint. The total outer size of this grille is the listed size plus 1.25\".\u003c\/p\u003e\n      \u003cp\u003e\u003cstrong\u003eWidth vs Height:\u003c\/strong\u003e\u003cbr\u003e The first number in a grille size represents the width, and the second number represents the height. For example, if your hole is 20\" wide by 14\" tall, order a 20x14 grille. If your hole is 14\" wide by 20\" tall, order a 14x20 grille.\u003c\/p\u003e\n    \u003c\/dd\u003e\n    \u003cdt\u003e\n      \u003ca class=\"active\" href=\"#\" onclick=\"toggleAccordion(event)\"\u003e\n        \u003cspan class=\"plus\"\u003e+\u003c\/span\u003e \u003cspan class=\"accordion-title\"\u003eWhy HVAC Premium\u003c\/span\u003e\n      \u003c\/a\u003e\n    \u003c\/dt\u003e\n    \u003cdd style=\"display: none;\" class=\"description-text\"\u003e\n      \u003cp\u003eHVAC Premium has been providing superior quality service for many years. We pride ourselves on offering top-of-the-line products that meet the highest standards. With our extensive selection of Grilles, Registers, and Diffusers, we have assisted countless contractors, DIY projects, and home improvement remodeling specialists in completing their masterpieces. If you are looking to enhance your project with a top-of-the-line unit, look no further than HVAC Premium.\u003c\/p\u003e\n      \u003cp\u003eWe carry sizes the big box stores don't, ensuring that you find the perfect fit for your ventilation needs. We are proud to have served over 5,000,000 satisfied customers!\u003c\/p\u003e\n    \u003c\/dd\u003e\n  \u003c\/dl\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .plus {\n    display: inline-block;\n    width: 20px;\n    height: 20px;\n    background-color: #5296DD;\n    color: #fff;\n    font-size: 14px;\n    text-align: center;\n    line-height: 20px;\n    margin-right: 8px;\n    border-radius: 50%;\n  }\n  .accordion-title {\n    font-size: 18px;\n  }\n  .description-text {\n    font-family: Roboto, Arial, sans-serif;\n    line-height: 1.6;\n    color: #333; \/* Darker color for better readability *\/\n  }\n  ul {\n    margin-bottom: 15px; \/* Adding space between bullet points *\/\n  }\n  li {\n    margin-bottom: 15px; \/* Adding space between bullet points *\/\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  function toggleAccordion(event) {\n    event.preventDefault();\n    const dt = event.target.closest('dt');\n    const dd = dt.nextElementSibling;\n    if (dd.style.display === 'none' || dd.style.display === '') {\n      dd.style.display = 'block';\n      dt.querySelector('.plus').textContent = '-';\n    } else {\n      dd.style.display = 'none';\n      dt.querySelector('.plus').textContent = '+';\n    }\n  }\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":43475047153901,"sku":"LR404","price":157.39,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/713V8GqymtL.jpg?v=1789410542"},{"product_id":"wide-frame-aluminum-exterior-louver-vent-for-walls-crawlspace-weather-resistant-with-screen-mesh","title":"2\" Non-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":"Default Title","offer_id":50055794426093,"sku":"HPL2-WF","price":52.85,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAWALUMINUM_-HPL2-WF.png?v=1785204426"},{"product_id":"no-frame-aluminum-exterior-louver-vent-for-walls-crawlspace-weather-resistant-with-screen-mesh","title":"2\" Non-Drainable Outdoor Louver Gable Vent (Channel Frame) - Customizable","description":"\u003cstyle\u003e\n\n  .custom-features-box {\n\n    margin: 0;\n\n    max-width: 1200px;\n\n    width: 100%;\n\n    box-sizing: border-box;\n\n    font-family: Arial, sans-serif;\n\n    color: #111;\n\n    overflow-x: hidden;\n\n  }\n\n\n\n  .custom-features-box p {\n\n    margin: 0 0 28px;\n\n    font-size: 15px;\n\n    line-height: 1.6;\n\n    color: #111;\n\n  }\n\n\n\n  .custom-features-details {\n\n    margin-top: 8px;\n\n    width: 100%;\n\n    box-sizing: border-box;\n\n  }\n\n\n\n  .custom-features-details summary {\n\n    list-style: none;\n\n    cursor: pointer;\n\n    margin: 0 0 18px;\n\n    padding: 0 4px 10px 0;\n\n    border-bottom: 2px solid #5296dd;\n\n    color: #5296dd;\n\n    font-size: 15px;\n\n    line-height: 1.2;\n\n    font-weight: 700;\n\n    text-transform: uppercase;\n\n    display: flex;\n\n    align-items: center;\n\n    justify-content: space-between;\n\n    width: 100%;\n\n    max-width: 100%;\n\n    box-sizing: border-box;\n\n    overflow: hidden;\n\n  }\n\n\n\n  .custom-features-details summary::-webkit-details-marker {\n\n    display: none;\n\n  }\n\n\n\n  .custom-features-details summary::after {\n\n    content: \"\";\n\n    width: 10px;\n\n    height: 10px;\n\n    border-right: 2px solid #5296dd;\n\n    border-bottom: 2px solid #5296dd;\n\n    transform: rotate(45deg);\n\n    transition: transform 0.25s ease;\n\n    margin-left: 12px;\n\n    margin-right: 2px;\n\n    flex-shrink: 0;\n\n  }\n\n\n\n  .custom-features-details[open] summary::after {\n\n    transform: rotate(225deg);\n\n  }\n\n\n\n  .custom-features-box ul {\n\n    list-style: none;\n\n    padding: 0;\n\n    margin: 0;\n\n    display: grid;\n\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n\n    column-gap: 35px;\n\n    row-gap: 16px;\n\n    font-size: 15px;\n\n    line-height: 1.6;\n\n  }\n\n\n\n  .custom-features-box li {\n\n    display: flex;\n\n    align-items: flex-start;\n\n    gap: 12px;\n\n    margin: 0;\n\n  }\n\n\n\n  .feature-bullet {\n\n    width: 14px;\n\n    height: 14px;\n\n    min-width: 14px;\n\n    margin-top: 5px;\n\n    background: #5296dd;\n\n    display: inline-block;\n\n  }\n\n\n\n  .custom-features-box strong {\n\n    font-weight: 400;\n\n  }\n\n\n\n  .custom-spec-popup-link {\n\n    display: inline-block;\n\n    margin-top: 24px;\n\n    color: #5296dd;\n\n    cursor: pointer;\n\n    font-size: 15px;\n\n    font-weight: 700;\n\n    text-decoration: underline;\n\n    background: none;\n\n    border: none;\n\n    padding: 0;\n\n  }\n\n\n\n  .custom-spec-popup-link:hover {\n\n    color: #002b5c;\n\n  }\n\n\n\n  .custom-image-popup-overlay {\n\n    display: none;\n\n    position: fixed;\n\n    z-index: 999999;\n\n    inset: 0;\n\n    background: rgba(0, 0, 0, 0.85);\n\n    align-items: center;\n\n    justify-content: center;\n\n    padding: 20px;\n\n    box-sizing: border-box;\n\n  }\n\n\n\n  .custom-image-popup-overlay.is-active {\n\n    display: flex !important;\n\n  }\n\n\n\n  .custom-image-popup-content {\n\n    position: relative;\n\n    max-width: calc(100vw - 40px);\n\n    max-height: 90vh;\n\n  }\n\n\n\n  .custom-image-popup-content img {\n\n    max-width: calc(100vw - 40px);\n\n    max-height: 90vh;\n\n    width: auto;\n\n    height: auto;\n\n    display: block;\n\n    background: #fff;\n\n  }\n\n\n\n  .custom-image-popup-close {\n\n    position: absolute;\n\n    top: -12px;\n\n    right: -12px;\n\n    width: 36px;\n\n    height: 36px;\n\n    border: none;\n\n    border-radius: 50%;\n\n    background: #fff;\n\n    color: #000;\n\n    font-size: 24px;\n\n    cursor: pointer;\n\n    font-weight: 700;\n\n    line-height: 36px;\n\n    text-align: center;\n\n    z-index: 2;\n\n  }\n\n\n\n  @media screen and (max-width: 990px) {\n\n    .custom-features-box ul {\n\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n\n    }\n\n  }\n\n\n\n  @media screen and (max-width: 749px) {\n\n    .custom-features-box {\n\n      max-width: 100%;\n\n      width: 100%;\n\n      overflow-x: hidden;\n\n    }\n\n\n\n    .custom-features-details summary {\n\n      width: 100%;\n\n      max-width: 100%;\n\n      padding-right: 8px;\n\n    }\n\n\n\n    .custom-features-box ul {\n\n      grid-template-columns: 1fr;\n\n    }\n\n\n\n    .custom-image-popup-overlay {\n\n      padding: 16px;\n\n    }\n\n\n\n    .custom-image-popup-content,\n\n    .custom-image-popup-content img {\n\n      max-width: calc(100vw - 32px);\n\n    }\n\n  }\n\n\u003c\/style\u003e\n\n\n\n\u003cdiv class=\"custom-features-box\"\u003e\n\n\n\n  \u003cp\u003e\n\n    Our 2\" Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Channel Frame. It has blades that prevent water penetration and maximize free area.\n\n  \u003c\/p\u003e\n\n\n\n  \u003cdetails class=\"custom-features-details\"\u003e\n\n    \u003csummary\u003eFeatures\u003c\/summary\u003e\n\n\n\n    \u003cdiv class=\"custom-features-content\"\u003e\n\n      \u003cul\u003e\n\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eHeavy-duty, extruded aluminum channel frame.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eFixed, non-drainable blades on 2\" spacing.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\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\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eNominal 43% free area, based on 48\" x 48\" louver.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\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\n\n\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\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eAvailable with powder coat paint for high-performance exterior finishes.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\n      \u003c\/ul\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/details\u003e\n\n\n\n  \u003cbutton type=\"button\" class=\"custom-spec-popup-link\" data-open-spec-popup\u003e\n\n    View Spec Sheet\n\n  \u003c\/button\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"custom-image-popup-overlay\" data-spec-popup\u003e\n\n  \u003cdiv class=\"custom-image-popup-content\"\u003e\n\n    \u003cbutton type=\"button\" class=\"custom-image-popup-close\" data-close-spec-popup aria-label=\"Close spec sheet popup\"\u003e\n\n      ×\n\n    \u003c\/button\u003e\n\n\n\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/HPL2-CF_Specs.png?v=1779116236\" alt=\"channel frame aluminum exterior louver spec sheet\"\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\n\u003cscript\u003e\n\ndocument.addEventListener('DOMContentLoaded', function () {\n\n  var details = document.querySelector('.custom-features-details');\n\n\n\n  if (details) {\n\n    function setInitialFeaturesState() {\n\n      if (window.innerWidth \u003e 749) {\n\n        details.setAttribute('open', '');\n\n      } else {\n\n        details.removeAttribute('open');\n\n      }\n\n    }\n\n\n\n    setInitialFeaturesState();\n\n\n\n    var lastMobileState = window.innerWidth \u003c= 749;\n\n\n\n    window.addEventListener('resize', function () {\n\n      var isMobileNow = window.innerWidth \u003c= 749;\n\n\n\n      if (isMobileNow !== lastMobileState) {\n\n        lastMobileState = isMobileNow;\n\n        setInitialFeaturesState();\n\n      }\n\n    });\n\n  }\n\n\n\n  var popup = document.querySelector('[data-spec-popup]');\n\n\n\n  if (popup \u0026\u0026 popup.parentNode !== document.body) {\n\n    document.body.appendChild(popup);\n\n  }\n\n\n\n  document.addEventListener('click', function (event) {\n\n    var openButton = event.target.closest('[data-open-spec-popup]');\n\n    var closeButton = event.target.closest('[data-close-spec-popup]');\n\n    var activePopup = document.querySelector('[data-spec-popup]');\n\n\n\n    if (openButton \u0026\u0026 activePopup) {\n\n      event.preventDefault();\n\n      event.stopPropagation();\n\n      activePopup.classList.add('is-active');\n\n      document.body.style.overflow = 'hidden';\n\n      return;\n\n    }\n\n\n\n    if (closeButton \u0026\u0026 activePopup) {\n\n      event.preventDefault();\n\n      activePopup.classList.remove('is-active');\n\n      document.body.style.overflow = '';\n\n      return;\n\n    }\n\n\n\n    if (activePopup \u0026\u0026 event.target === activePopup) {\n\n      activePopup.classList.remove('is-active');\n\n      document.body.style.overflow = '';\n\n    }\n\n  });\n\n\n\n  document.addEventListener('keydown', function (event) {\n\n    var activePopup = document.querySelector('[data-spec-popup]');\n\n\n\n    if (event.key === 'Escape' \u0026\u0026 activePopup) {\n\n      activePopup.classList.remove('is-active');\n\n      document.body.style.overflow = '';\n\n    }\n\n  });\n\n});\n\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":50161492328685,"sku":"HPL2-CF","price":43.06,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAWALUMINUM_-HPL2-CF.png?v=1785204373"},{"product_id":"45-thinline-louver-outer-dimensions-list-size-1-11-16w-x-1-11-16h-aluminum-exterior-louver-vent-for-walls-crawlspace-with-bird-screen-mesh","title":"45° Thinline Outdoor Louver Gable Vent (Flange 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::marker {\n    display: none;\n    content: \"\";\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  .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  .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  .hp-birdscreen-popup-link:hover {\n    color: #002b5c;\n  }\n\n  .hp-birdscreen-modal,\n  .custom-image-popup-overlay {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    box-sizing: border-box;\n    background: rgba(0, 0, 0, 0.85);\n  }\n\n  .hp-birdscreen-modal.hp-open,\n  .custom-image-popup-overlay.is-active {\n    display: flex !important;\n  }\n\n  .hp-birdscreen-popup,\n  .custom-image-popup-content {\n    position: relative;\n    width: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-popup {\n    width: calc(100% - 40px);\n    max-width: 900px;\n    padding: 20px;\n    border-radius: 8px;\n    overflow: auto;\n    box-sizing: border-box;\n  }\n\n  .hp-birdscreen-image {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .custom-image-popup-content img {\n    display: block;\n    width: auto;\n    height: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-close,\n  .custom-image-popup-close {\n    position: absolute;\n    top: -12px;\n    right: -12px;\n    width: 36px;\n    height: 36px;\n    padding: 0;\n    border: none;\n    border-radius: 50%;\n    background: #fff;\n    color: #000;\n    font-size: 24px;\n    font-weight: 700;\n    line-height: 36px;\n    text-align: center;\n    cursor: pointer;\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    .hp-birdscreen-modal,\n    .custom-image-popup-overlay {\n      padding: 16px;\n    }\n\n    .hp-birdscreen-popup {\n      width: calc(100% - 20px);\n      padding: 15px;\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\u003cdiv class=\"custom-features-box\"\u003e\n\u003cp\u003eOur 45° Thinline Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Flange Frame.\u003c\/p\u003e\n\u003cdetails class=\"custom-features-details\" open=\"\"\u003e\n\u003csummary\u003eFeatures\u003c\/summary\u003e\n\u003cdiv class=\"custom-features-content\"\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFixed 45° horizontal blades on 3\/4\" spacing\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFully extruded aluminum blades and flange frame\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eSupports are hidden behind blades for a clean appearance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e \u003cbutton type=\"button\" class=\"hp-birdscreen-popup-link\"\u003e Bird screen \u003c\/button\u003e is standard or optional insect screen. \u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in 1\" standard dimension increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eCustom sizes manufactured up to 1\/16\" increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in durable powder coat finish standard\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e73% free area for optimal performance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eMounting available for PTAC\/ VTAC application\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cbutton type=\"button\" class=\"custom-spec-popup-link\"\u003e View Spec Sheet \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- BIRD SCREEN POPUP --\u003e\n\u003cdiv class=\"hp-birdscreen-modal\"\u003e\n\u003cdiv class=\"hp-birdscreen-popup\"\u003e\n\u003cbutton type=\"button\" class=\"hp-birdscreen-close\"\u003e × \u003c\/button\u003e \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\u003c!-- SPEC SHEET POPUP --\u003e\n\u003cdiv class=\"custom-image-popup-overlay\"\u003e\n\u003cdiv class=\"custom-image-popup-content\"\u003e\n\u003cbutton type=\"button\" class=\"custom-image-popup-close\"\u003e × \u003c\/button\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/450-thinline-louver-aluminum-exterior-gable-vent-for-walls-crawlspace-with-bird-screen-or-insect-screenspecial-weather-louver-782335.png?v=1773421064\" alt=\"Flange frame 45-degree aluminum exterior louver spec sheet\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n\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 birdPopup = document.querySelector('.hp-birdscreen-modal');\n  var specPopup = document.querySelector('.custom-image-popup-overlay');\n\n  if (birdPopup \u0026\u0026 birdPopup.parentNode !== document.body) {\n    document.body.appendChild(birdPopup);\n  }\n\n  if (specPopup \u0026\u0026 specPopup.parentNode !== document.body) {\n    document.body.appendChild(specPopup);\n  }\n\n  document.addEventListener('click', function (event) {\n    var birdOpenButton = event.target.closest('.hp-birdscreen-popup-link');\n    var birdCloseButton = event.target.closest('.hp-birdscreen-close');\n\n    var specOpenButton = event.target.closest('.custom-spec-popup-link');\n    var specCloseButton = event.target.closest('.custom-image-popup-close');\n\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (birdOpenButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeBirdPopup.classList.add('hp-open');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (birdCloseButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeBirdPopup \u0026\u0026\n      event.target === activeBirdPopup\n    ) {\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (specOpenButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeSpecPopup.classList.add('is-active');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (specCloseButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeSpecPopup \u0026\u0026\n      event.target === activeSpecPopup\n    ) {\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n    }\n  });\n\n  document.addEventListener('keydown', function (event) {\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (event.key === 'Escape') {\n      if (activeBirdPopup) {\n        activeBirdPopup.classList.remove('hp-open');\n      }\n\n      if (activeSpecPopup) {\n        activeSpecPopup.classList.remove('is-active');\n      }\n\n      document.body.style.overflow = '';\n    }\n  });\n\n});\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":46767710011629,"sku":"HPLTL-45-FF","price":33.28,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAW_ALUMINUM___45_HPLTL-FF.png?v=1785203614"},{"product_id":"45-thinline-louver-outer-dimensions-list-size-3-11-16w-x-3-11-16h-aluminum-exterior-louver-vent-for-walls-crawlspace-with-bird-screen-mesh","title":"45° Thinline 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::marker {\n    display: none;\n    content: \"\";\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  .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  .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  .hp-birdscreen-popup-link:hover {\n    color: #002b5c;\n  }\n\n  .hp-birdscreen-modal,\n  .custom-image-popup-overlay {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    box-sizing: border-box;\n    background: rgba(0, 0, 0, 0.85);\n  }\n\n  .hp-birdscreen-modal.hp-open,\n  .custom-image-popup-overlay.is-active {\n    display: flex !important;\n  }\n\n  .hp-birdscreen-popup,\n  .custom-image-popup-content {\n    position: relative;\n    width: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-popup {\n    width: calc(100% - 40px);\n    max-width: 900px;\n    padding: 20px;\n    border-radius: 8px;\n    overflow: auto;\n    box-sizing: border-box;\n  }\n\n  .hp-birdscreen-image {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .custom-image-popup-content img {\n    display: block;\n    width: auto;\n    height: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-close,\n  .custom-image-popup-close {\n    position: absolute;\n    top: -12px;\n    right: -12px;\n    width: 36px;\n    height: 36px;\n    padding: 0;\n    border: none;\n    border-radius: 50%;\n    background: #fff;\n    color: #000;\n    font-size: 24px;\n    font-weight: 700;\n    line-height: 36px;\n    text-align: center;\n    cursor: pointer;\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    .hp-birdscreen-modal,\n    .custom-image-popup-overlay {\n      padding: 16px;\n    }\n\n    .hp-birdscreen-popup {\n      width: calc(100% - 20px);\n      padding: 15px;\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\u003cdiv class=\"custom-features-box\"\u003e\n\u003cp\u003eOur 45° Thinline Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Wide Flange Frame.\u003c\/p\u003e\n\u003cdetails class=\"custom-features-details\" open=\"\"\u003e\n\u003csummary\u003eFeatures\u003c\/summary\u003e\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 mounting surface coverage\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFixed 45° horizontal blades on 3\/4\" spacing\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFully extruded aluminum blades and frame\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eSupports are hidden behind blades for a clean appearance.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e \u003cbutton type=\"button\" class=\"hp-birdscreen-popup-link\"\u003e Bird screen \u003c\/button\u003e is standard or optional insect screen. \u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in 1\" standard dimension increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eCustom sizes manufactured up to 1\/16\" increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in durable powder coat finish standard\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e73% free area for optimal performance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eMounting available for PTAC\/ VTAC application\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cbutton type=\"button\" class=\"custom-spec-popup-link\"\u003e View Spec Sheet \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- BIRD SCREEN POPUP --\u003e\n\u003cdiv class=\"hp-birdscreen-modal\"\u003e\n\u003cdiv class=\"hp-birdscreen-popup\"\u003e\n\u003cbutton type=\"button\" class=\"hp-birdscreen-close\"\u003e × \u003c\/button\u003e \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\u003c!-- SPEC SHEET POPUP --\u003e\n\u003cdiv class=\"custom-image-popup-overlay\"\u003e\n\u003cdiv class=\"custom-image-popup-content\"\u003e\n\u003cbutton type=\"button\" class=\"custom-image-popup-close\"\u003e × \u003c\/button\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/450-thinline-aluminum-exterior-louver-gable-vent-for-walls-crawlspaces-with-screen-protectorspecial-weather-louver-731250.png?v=1743790754\" alt=\"Wide frame 45-degree aluminum exterior louver spec sheet\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n  \u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n\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 birdPopup = document.querySelector('.hp-birdscreen-modal');\n  var specPopup = document.querySelector('.custom-image-popup-overlay');\n\n  if (birdPopup \u0026\u0026 birdPopup.parentNode !== document.body) {\n    document.body.appendChild(birdPopup);\n  }\n\n  if (specPopup \u0026\u0026 specPopup.parentNode !== document.body) {\n    document.body.appendChild(specPopup);\n  }\n\n  document.addEventListener('click', function (event) {\n    var birdOpenButton = event.target.closest('.hp-birdscreen-popup-link');\n    var birdCloseButton = event.target.closest('.hp-birdscreen-close');\n\n    var specOpenButton = event.target.closest('.custom-spec-popup-link');\n    var specCloseButton = event.target.closest('.custom-image-popup-close');\n\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (birdOpenButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeBirdPopup.classList.add('hp-open');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (birdCloseButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeBirdPopup \u0026\u0026\n      event.target === activeBirdPopup\n    ) {\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (specOpenButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeSpecPopup.classList.add('is-active');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (specCloseButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeSpecPopup \u0026\u0026\n      event.target === activeSpecPopup\n    ) {\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n    }\n  });\n\n  document.addEventListener('keydown', function (event) {\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (event.key === 'Escape') {\n      if (activeBirdPopup) {\n        activeBirdPopup.classList.remove('hp-open');\n      }\n\n      if (activeSpecPopup) {\n        activeSpecPopup.classList.remove('is-active');\n      }\n\n      document.body.style.overflow = '';\n    }\n  });\n\n});\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":46767810248941,"sku":"HPLTL-45-WF","price":41.11,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAW_ALUMINUM___45_HPLTL-WF.png?v=1785290130"},{"product_id":"no-frame-aluminum-exterior-louver-gable-vent-for-walls-crawlspace-weather-resistant-with-screen-protector-copy","title":"Bar Linear Grille w\/ Mud-In Flange","description":"\u003cdiv class=\"globo-formbuilder\" data-id=\"NTA4NTY=\"\u003e\u003cbr\u003e\u003c\/div\u003e\u003cbutton class=\"button btn globo-formbuilder-open\" data-id=\"NTgwOTA=\"\u003eContact us\u003c\/button\u003e\u003cdiv class=\"globo-formbuilder\" data-id=\"NTgwOTA=\"\u003e\u003c\/div\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47094431056109,"sku":"HPBLJ","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/bar-linear-grille-w-mud-in-flangespecial-weather-louver-661557.png?v=1743790751"},{"product_id":"single-deflection-supply-register-vertical-blade-multi-shutter","title":"Single Deflection Supply Register - Vertical Blade - Multi-Shutter","description":"\u003cdiv data-id=\"NjcxNDA=\" class=\"globo-formbuilder\"\u003e\u003cbr\u003e\u003c\/div\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":49390576107757,"sku":"HP821","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/single-deflection-supply-register-vertical-blade-multi-shuttersupply-adjustable-685574.png?v=1743790752"},{"product_id":"double-deflection-supply-register-vertical-front","title":"Double Deflection Supply Register - Vertical Front - OBD","description":"\u003cdiv class=\"globo-formbuilder\" data-id=\"NjcxNDA=\"\u003e\u003c\/div\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47465435660525,"sku":"HPVHD","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/double-deflection-supply-register-vertical-front-obdsupply-aluminum-double-deflection-389681.png?v=1792699914"},{"product_id":"one-direction-curved-blade-grille","title":"One Direction Horizontal Curved Blade Grille","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47469403504877,"sku":"HPC1H","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-horizontal-curved-blade-grillesupply-aluminum-adjustable-curved-blade-262749.png?v=1743790715"},{"product_id":"one-direction-vertical-curved-blade-grille","title":"One Direction Vertical Curved Blade Grille","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47469418053869,"sku":"HPC1V","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-vertical-curved-blade-grillesupply-aluminum-adjustable-curved-blade-856916.png?v=1743790715"},{"product_id":"one-direction-horizontal-curved-blade-register","title":"One Direction Curved Blade Register with Opposed Blade Damper","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47469432537325,"sku":"HPC1HD","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-curved-blade-register-with-opposed-blade-dampersupply-aluminum-adjustable-curved-blade-611282.png?v=1743790715"},{"product_id":"one-direction-vertical-curved-blade-register","title":"One Direction Vertical Curved Blade Register with Opposed Blade Damper","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47505581080813,"sku":"HPC1VD","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-vertical-curved-blade-register-with-multi-shutter-dampersupply-aluminum-adjustable-curved-blade-847753.png?v=1743790715"},{"product_id":"one-direction-horizontal-curved-blade-register-with-multi-shutter-damper","title":"One Direction Horizontal Curved Blade Register with Multi-Shutter Damper","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47507400130797,"sku":"HPC1HM","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-horizontal-curved-blade-register-with-multi-shutter-dampersupply-aluminum-adjustable-curved-blade-365441.png?v=1743790715"},{"product_id":"one-direction-vertical-curved-blade-register-with-multi-shutter-damper","title":"One Direction Vertical Curved Blade Register with Multi-Shutter Damper","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508409516269,"sku":"HPC1VM","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-vertical-curved-blade-register-with-multi-shutter-dampersupply-aluminum-adjustable-curved-blade-847753.png?v=1743790715"},{"product_id":"two-direction-curved-blade-grille-with-adjustable-horizontal-blades","title":"Two Direction Curved Blade Grille with Adjustable Horizontal Blades","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508459421933,"sku":"HPC2H","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-grille-with-adjustable-horizontal-bladessupply-aluminum-adjustable-curved-blade-135381.png?v=1743790715"},{"product_id":"two-direction-curved-blade-grille-with-adjustable-vertical-blades","title":"Two Direction Curved Blade Grille with Adjustable Vertical Blades","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508586791149,"sku":"HPC2V","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-grille-with-adjustable-vertical-bladessupply-aluminum-adjustable-curved-blade-285274.png?v=1743790715"},{"product_id":"two-direction-curved-blade-register-with-adjustable-horizontal-blades-and-opposed-damper","title":"Two Direction Curved Blade Register with Adjustable Horizontal Blades and Opposed Damper","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508601864429,"sku":"HPC2HD","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-register-with-adjustable-horizontal-blades-and-opposed-dampersupply-aluminum-adjustable-curved-blade-814129.png?v=1743790715"},{"product_id":"two-direction-curved-blade-register-with-adjustable-vertical-blades-and-opposed-damper","title":"Two Direction Curved Blade Register with Adjustable Vertical Blades and Opposed Damper","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508643283181,"sku":"HPC2VD","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-register-with-adjustable-vertical-blades-and-multi-shutter-dampersupply-aluminum-adjustable-curved-blade-330482.png?v=1743790714"},{"product_id":"two-direction-curved-blade-register-with-adjustable-horizontal-blades-and-multi-shutter-damper","title":"Two Direction Curved Blade Register with Adjustable Horizontal Blades and Multi-Shutter Damper","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508728938733,"sku":"HPC2HM","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-register-with-adjustable-horizontal-blades-and-multi-shutter-dampersupply-aluminum-adjustable-curved-blade-446611.png?v=1743790715"},{"product_id":"two-direction-curved-blade-register-with-adjustable-vertical-blades-and-multi-shutter-damper","title":"Two Direction Curved Blade Register with Adjustable Vertical Blades and Multi-Shutter Damper","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508790968557,"sku":"HPC2VM","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-register-with-adjustable-vertical-blades-and-multi-shutter-dampersupply-aluminum-adjustable-curved-blade-330482.png?v=1743790714"},{"product_id":"two-direction-curved-blade-grille-with-adjustable-vertical-and-horizontal-blades","title":"Two Direction Curved Blade Grille with Adjustable Vertical and Horizontal Blades","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508826161389,"sku":"HPC2RC","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-grille-with-adjustable-vertical-and-horizontal-bladessupply-aluminum-adjustable-curved-blade-447560.png?v=1792698974"},{"product_id":"three-direction-curved-blade-grille-with-adjustable-curved-blades","title":"Three Direction Curved Blade Grille with Adjustable Curved Blades","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47508900249837,"sku":"HPC3","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/three-direction-curved-blade-grille-with-adjustable-curved-bladessupply-aluminum-adjustable-curved-blade-954479.png?v=1743790714"},{"product_id":"three-direction-curved-blade-register-multi-shutter-damper-with-handle-operator","title":"Three Direction Curved Blade Register - Multi-shutter damper with handle operator","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47555438805229,"sku":"HPC33M","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/three-direction-curved-blade-register-multi-shutter-damper-with-handle-operatorsupply-aluminum-adjustable-curved-blade-764123.png?v=1792699140"},{"product_id":"four-direction-curved-blade-grille","title":"Four Direction Curved Blade Grille","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47555477537005,"sku":"HPC4","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/four-direction-curved-blade-grillesupply-aluminum-adjustable-curved-blade-854913.png?v=1792698623"},{"product_id":"four-direction-curved-blade-grille-1","title":"Four Direction Curved Blade Grille","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47555506700525,"sku":"HPC44","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/four-direction-curved-blade-register-with-opposed-blade-damper-with-concealed-operator-designsupply-aluminum-adjustable-curved-blade-359551.png?v=1792698432"},{"product_id":"four-direction-curved-blade-register-with-opposed-blade-damper-with-concealed-operator-design","title":"Four Direction Curved Blade Register with Opposed Blade Damper with Concealed Operator Design","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47555540877549,"sku":"HPC4D","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/four-direction-curved-blade-register-with-opposed-blade-damper-with-concealed-operator-designsupply-aluminum-adjustable-curved-blade-776335.png?v=1792698653"},{"product_id":"four-direction-curved-blade-register-with-opposed-blade-damper-with-concealed-operator-design-copy","title":"Four Direction Curved Blade Register with Opposed Blade Damper with Concealed Operator Design","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47555569058029,"sku":"HPC44D","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/four-direction-curved-blade-register-with-opposed-blade-damper-with-concealed-operator-designsupply-aluminum-adjustable-curved-blade-359551.png?v=1792698432"},{"product_id":"four-direction-curved-blade-register-with-multi-shutter-damper-with-handle-operator","title":"Four Direction Curved Blade Register with Multi-shutter Damper with Handle Operator","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47569081041133,"sku":"HPC4M","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/four-direction-curved-blade-register-with-multi-shutter-damper-with-handle-operatorsupply-aluminum-adjustable-curved-blade-854057.png?v=1792699659"},{"product_id":"four-direction-curved-blade-register-with-multi-shutter-damper-with-handle-operator-1","title":"Four Direction Curved Blade Register with Multi-shutter Damper with Handle Operator","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47569108599021,"sku":"HPC44M","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/four-direction-curved-blade-register-with-multi-shutter-damper-with-handle-operatorsupply-aluminum-adjustable-curved-blade-883233.png?v=1792701058"},{"product_id":"one-direction-curved-blade-grille-w-wide-flange","title":"One Direction Curved Blade Grille w\/ Wide Flange","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47569120592109,"sku":"HPC1H-WF","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-curved-blade-register-w-wide-flangesupply-aluminum-adjustable-curved-blade-148033.png?v=1743790714"},{"product_id":"one-direction-curved-blade-grille-w-wide-flange-1","title":"One Direction Curved Blade Grille w\/ Wide Flange","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47569142841581,"sku":"HPC1V-WF","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-curved-blade-grille-w-wide-flangesupply-aluminum-adjustable-curved-blade-647544.png?v=1743790714"},{"product_id":"one-direction-curved-blade-register-w-wide-flange","title":"One Direction Curved Blade Register w\/ Wide Flange","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47569168695533,"sku":"HPC1HD-WF","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-curved-blade-register-w-wide-flangesupply-aluminum-adjustable-curved-blade-148033.png?v=1743790714"},{"product_id":"one-direction-curved-blade-register-w-wide-flange-copy","title":"One Direction Curved Blade Register w\/ Wide Flange","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47569185669357,"sku":"HPC1VD-WF","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/one-direction-curved-blade-register-w-wide-flangesupply-aluminum-adjustable-curved-blade-821183.png?v=1743790714"},{"product_id":"two-direction-curved-blade-grille-w-wide-flange","title":"Two Direction Curved Blade Grille w\/ Wide Flange","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47569218404589,"sku":"HPC2H-WF","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-grille-w-wide-flangesupply-aluminum-adjustable-curved-blade-994743.png?v=1743790714"},{"product_id":"two-direction-curved-blade-grille-w-wide-flange-1","title":"Two Direction Curved Blade Grille w\/ Wide Flange","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47569233936621,"sku":"HPC2V-WF","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/two-direction-curved-blade-grille-w-wide-flangesupply-aluminum-adjustable-curved-blade-500910.png?v=1743790714"},{"product_id":"4-drainable-stationary-louver-w-flange-frame","title":"4\" Drainable Stationary Louver w\/ Flange Frame","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47815374143725,"sku":"HPLD4-FF","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/4-drainable-stationary-louver-w-flange-framespecial-weather-louver-914695.png?v=1743790714"},{"product_id":"4-drainable-stationary-louver-w-channel-frame","title":"4\" Drainable Stationary Louver w\/ Channel Frame","description":"\u003cdiv class=\"globo-formbuilder\" data-id=\"Nzk2OTM=\"\u003e\u003c\/div\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":47818689347821,"sku":"HPLD4-CF","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/4-drainable-stationary-louver-w-channel-framespecial-weather-louver-961481.png?v=1743790715"},{"product_id":"custom-aluminum-eggcrate-grille-45-degree-hvac-air-vent","title":"Custom Aluminum Eggcrate Grille - 45 Degree HVAC Air Vent","description":"","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":48194740781293,"sku":"HPRE5-45","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/eggcrate_grille_45_degree_deflection_screwhole.png?v=1749573518"},{"product_id":"custom-2-aluminum-louver-vent-exterior-air-grille-for-walls-gables-crawlspace-weather-resistant-with-flange-frame-made-to-order","title":"2\" Non-Drainable Outdoor Louver Gable Vent (Flange Frame) - Customizable","description":"\u003cstyle\u003e\n\n  .custom-features-box {\n\n    margin: 0;\n\n    max-width: 1200px;\n\n    width: 100%;\n\n    box-sizing: border-box;\n\n    font-family: Arial, sans-serif;\n\n    color: #111;\n\n    overflow-x: hidden;\n\n  }\n\n\n\n  .custom-features-box p {\n\n    margin: 0 0 28px;\n\n    font-size: 15px;\n\n    line-height: 1.6;\n\n    color: #111;\n\n  }\n\n\n\n  .custom-features-details {\n\n    margin-top: 8px;\n\n    width: 100%;\n\n    box-sizing: border-box;\n\n  }\n\n\n\n  .custom-features-details summary {\n\n    list-style: none;\n\n    cursor: pointer;\n\n    margin: 0 0 18px;\n\n    padding: 0 4px 10px 0;\n\n    border-bottom: 2px solid #5296dd;\n\n    color: #5296dd;\n\n    font-size: 15px;\n\n    line-height: 1.2;\n\n    font-weight: 700;\n\n    text-transform: uppercase;\n\n    display: flex;\n\n    align-items: center;\n\n    justify-content: space-between;\n\n    width: 100%;\n\n    max-width: 100%;\n\n    box-sizing: border-box;\n\n    overflow: hidden;\n\n  }\n\n\n\n  .custom-features-details summary::-webkit-details-marker {\n\n    display: none;\n\n  }\n\n\n\n  .custom-features-details summary::after {\n\n    content: \"\";\n\n    width: 10px;\n\n    height: 10px;\n\n    border-right: 2px solid #5296dd;\n\n    border-bottom: 2px solid #5296dd;\n\n    transform: rotate(45deg);\n\n    transition: transform 0.25s ease;\n\n    margin-left: 12px;\n\n    margin-right: 2px;\n\n    flex-shrink: 0;\n\n  }\n\n\n\n  .custom-features-details[open] summary::after {\n\n    transform: rotate(225deg);\n\n  }\n\n\n\n  .custom-features-box ul {\n\n    list-style: none;\n\n    padding: 0;\n\n    margin: 0;\n\n    display: grid;\n\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n\n    column-gap: 35px;\n\n    row-gap: 16px;\n\n    font-size: 15px;\n\n    line-height: 1.6;\n\n  }\n\n\n\n  .custom-features-box li {\n\n    display: flex;\n\n    align-items: flex-start;\n\n    gap: 12px;\n\n    margin: 0;\n\n  }\n\n\n\n  .feature-bullet {\n\n    width: 14px;\n\n    height: 14px;\n\n    min-width: 14px;\n\n    margin-top: 5px;\n\n    background: #5296dd;\n\n    display: inline-block;\n\n  }\n\n\n\n  .custom-features-box strong {\n\n    font-weight: 400;\n\n  }\n\n\n\n  .custom-spec-popup-link {\n\n    display: inline-block;\n\n    margin-top: 24px;\n\n    color: #5296dd;\n\n    cursor: pointer;\n\n    font-size: 15px;\n\n    font-weight: 700;\n\n    text-decoration: underline;\n\n    background: none;\n\n    border: none;\n\n    padding: 0;\n\n  }\n\n\n\n  .custom-spec-popup-link:hover {\n\n    color: #002b5c;\n\n  }\n\n\n\n  .custom-image-popup-overlay {\n\n    display: none;\n\n    position: fixed;\n\n    z-index: 999999;\n\n    inset: 0;\n\n    background: rgba(0, 0, 0, 0.85);\n\n    align-items: center;\n\n    justify-content: center;\n\n    padding: 20px;\n\n    box-sizing: border-box;\n\n  }\n\n\n\n  .custom-image-popup-overlay.is-active {\n\n    display: flex !important;\n\n  }\n\n\n\n  .custom-image-popup-content {\n\n    position: relative;\n\n    max-width: calc(100vw - 40px);\n\n    max-height: 90vh;\n\n  }\n\n\n\n  .custom-image-popup-content img {\n\n    max-width: calc(100vw - 40px);\n\n    max-height: 90vh;\n\n    width: auto;\n\n    height: auto;\n\n    display: block;\n\n    background: #fff;\n\n  }\n\n\n\n  .custom-image-popup-close {\n\n    position: absolute;\n\n    top: -12px;\n\n    right: -12px;\n\n    width: 36px;\n\n    height: 36px;\n\n    border: none;\n\n    border-radius: 50%;\n\n    background: #fff;\n\n    color: #000;\n\n    font-size: 24px;\n\n    cursor: pointer;\n\n    font-weight: 700;\n\n    line-height: 36px;\n\n    text-align: center;\n\n    z-index: 2;\n\n  }\n\n\n\n  @media screen and (max-width: 990px) {\n\n    .custom-features-box ul {\n\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n\n    }\n\n  }\n\n\n\n  @media screen and (max-width: 749px) {\n\n    .custom-features-box {\n\n      max-width: 100%;\n\n      width: 100%;\n\n      overflow-x: hidden;\n\n    }\n\n\n\n    .custom-features-details summary {\n\n      width: 100%;\n\n      max-width: 100%;\n\n      padding-right: 8px;\n\n    }\n\n\n\n    .custom-features-box ul {\n\n      grid-template-columns: 1fr;\n\n    }\n\n\n\n    .custom-image-popup-overlay {\n\n      padding: 16px;\n\n    }\n\n\n\n    .custom-image-popup-content,\n\n    .custom-image-popup-content img {\n\n      max-width: calc(100vw - 32px);\n\n    }\n\n  }\n\n\u003c\/style\u003e\n\n\n\n\u003cdiv class=\"custom-features-box\"\u003e\n\n\n\n  \u003cp\u003e\n\n    Our 2\" Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Flange Frame. It has blades that prevent water penetration and maximize free area.\n\n  \u003c\/p\u003e\n\n\n\n  \u003cdetails class=\"custom-features-details\"\u003e\n\n    \u003csummary\u003eFeatures\u003c\/summary\u003e\n\n\n\n    \u003cdiv class=\"custom-features-content\"\u003e\n\n      \u003cul\u003e\n\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eHeavy-duty, extruded aluminum flange frame.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eFixed, non-drainable blades on 2\" spacing.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\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\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eNominal 43% free area, based on 48\" x 48\" louver.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\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\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eAvailable on 1\" standard dimensions.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eCustom sizes manufactured up to 1\/16\" increments.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\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\n        \u003cli\u003e\n\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e\u003cstrong\u003eAvailable with powder coat paint for high-performance exterior finishes.\u003c\/strong\u003e\n\n\u003c\/li\u003e\n\n      \u003c\/ul\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/details\u003e\n\n\n\n  \u003cbutton type=\"button\" class=\"custom-spec-popup-link\" data-open-spec-popup\u003e\n\n    View Spec Sheet\n\n  \u003c\/button\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"custom-image-popup-overlay\" data-spec-popup\u003e\n\n  \u003cdiv class=\"custom-image-popup-content\"\u003e\n\n    \u003cbutton type=\"button\" class=\"custom-image-popup-close\" data-close-spec-popup aria-label=\"Close spec sheet popup\"\u003e\n\n      ×\n\n    \u003c\/button\u003e\n\n\n\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/HPL2-FF_Specs.png?v=1779115959\" alt=\"flange frame aluminum exterior louver spec sheet\"\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\n\u003cscript\u003e\n\ndocument.addEventListener('DOMContentLoaded', function () {\n\n  var details = document.querySelector('.custom-features-details');\n\n\n\n  if (details) {\n\n    function setInitialFeaturesState() {\n\n      if (window.innerWidth \u003e 749) {\n\n        details.setAttribute('open', '');\n\n      } else {\n\n        details.removeAttribute('open');\n\n      }\n\n    }\n\n\n\n    setInitialFeaturesState();\n\n\n\n    var lastMobileState = window.innerWidth \u003c= 749;\n\n\n\n    window.addEventListener('resize', function () {\n\n      var isMobileNow = window.innerWidth \u003c= 749;\n\n\n\n      if (isMobileNow !== lastMobileState) {\n\n        lastMobileState = isMobileNow;\n\n        setInitialFeaturesState();\n\n      }\n\n    });\n\n  }\n\n\n\n  var popup = document.querySelector('[data-spec-popup]');\n\n\n\n  if (popup \u0026\u0026 popup.parentNode !== document.body) {\n\n    document.body.appendChild(popup);\n\n  }\n\n\n\n  document.addEventListener('click', function (event) {\n\n    var openButton = event.target.closest('[data-open-spec-popup]');\n\n    var closeButton = event.target.closest('[data-close-spec-popup]');\n\n    var activePopup = document.querySelector('[data-spec-popup]');\n\n\n\n    if (openButton \u0026\u0026 activePopup) {\n\n      event.preventDefault();\n\n      event.stopPropagation();\n\n      activePopup.classList.add('is-active');\n\n      document.body.style.overflow = 'hidden';\n\n      return;\n\n    }\n\n\n\n    if (closeButton \u0026\u0026 activePopup) {\n\n      event.preventDefault();\n\n      activePopup.classList.remove('is-active');\n\n      document.body.style.overflow = '';\n\n      return;\n\n    }\n\n\n\n    if (activePopup \u0026\u0026 event.target === activePopup) {\n\n      activePopup.classList.remove('is-active');\n\n      document.body.style.overflow = '';\n\n    }\n\n  });\n\n\n\n  document.addEventListener('keydown', function (event) {\n\n    var activePopup = document.querySelector('[data-spec-popup]');\n\n\n\n    if (event.key === 'Escape' \u0026\u0026 activePopup) {\n\n      activePopup.classList.remove('is-active');\n\n      document.body.style.overflow = '';\n\n    }\n\n  });\n\n});\n\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":50165504639213,"sku":"HPL2-FF","price":43.06,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILLRAWALUMINUM_-HPL2-FF.png?v=1780196645"},{"product_id":"45-thinline-channel-frame-aluminum-exterior-louver-gable-vent-for-walls-crawlspaces-with-screen-protector","title":"45° Thinline Outdoor Louver Gable Vent (Channel 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::marker {\n    display: none;\n    content: \"\";\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  .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  .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  .hp-birdscreen-popup-link:hover {\n    color: #002b5c;\n  }\n\n  .hp-birdscreen-modal,\n  .custom-image-popup-overlay {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    box-sizing: border-box;\n    background: rgba(0, 0, 0, 0.85);\n  }\n\n  .hp-birdscreen-modal.hp-open,\n  .custom-image-popup-overlay.is-active {\n    display: flex !important;\n  }\n\n  .hp-birdscreen-popup,\n  .custom-image-popup-content {\n    position: relative;\n    width: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-popup {\n    width: calc(100% - 40px);\n    max-width: 900px;\n    padding: 20px;\n    border-radius: 8px;\n    overflow: auto;\n    box-sizing: border-box;\n  }\n\n  .hp-birdscreen-image {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .custom-image-popup-content img {\n    display: block;\n    width: auto;\n    height: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-close,\n  .custom-image-popup-close {\n    position: absolute;\n    top: -12px;\n    right: -12px;\n    width: 36px;\n    height: 36px;\n    padding: 0;\n    border: none;\n    border-radius: 50%;\n    background: #fff;\n    color: #000;\n    font-size: 24px;\n    font-weight: 700;\n    line-height: 36px;\n    text-align: center;\n    cursor: pointer;\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    .hp-birdscreen-modal,\n    .custom-image-popup-overlay {\n      padding: 16px;\n    }\n\n    .hp-birdscreen-popup {\n      width: calc(100% - 20px);\n      padding: 15px;\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\u003cdiv class=\"custom-features-box\"\u003e\n\u003cp\u003eOur 45° Thinline Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Channel Frame.\u003c\/p\u003e\n\u003cdetails class=\"custom-features-details\" open=\"\"\u003e\n\u003csummary\u003eFeatures\u003c\/summary\u003e\n\u003cdiv class=\"custom-features-content\"\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFixed 45° horizontal blades on 3\/4\" spacing.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFully extruded aluminum blades and channel frame.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eSupports are hidden behind blades for a clean appearance.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e \u003cbutton type=\"button\" class=\"hp-birdscreen-popup-link\"\u003e Bird screen \u003c\/button\u003e is standard or optional insect screen. \u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in 1\" standard dimension increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eCustom sizes manufactured up to 1\/16\" increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eMounting available for PTAC \/ VTAC applications.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e High-quality powder coat paint standard. Architectural-grade finish available. \u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e73% free area for optimal performance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cbutton type=\"button\" class=\"custom-spec-popup-link\"\u003e View Spec Sheet \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- BIRD SCREEN POPUP --\u003e\n\u003cdiv class=\"hp-birdscreen-modal\"\u003e\n\u003cdiv class=\"hp-birdscreen-popup\"\u003e\n\u003cbutton type=\"button\" class=\"hp-birdscreen-close\"\u003e × \u003c\/button\u003e \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\u003c!-- SPEC SHEET POPUP --\u003e\n\u003cdiv class=\"custom-image-popup-overlay\"\u003e\n\u003cdiv class=\"custom-image-popup-content\"\u003e\n\u003cbutton type=\"button\" class=\"custom-image-popup-close\"\u003e × \u003c\/button\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/45-thinline-aluminum-exterior-louver-gable-vent-for-walls-crawlspaces-with-screen-protectorspecial-weather-louver-2.png?v=1771509992\" alt=\"Channel frame 45-degree aluminum exterior louver spec sheet\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n\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 birdPopup = document.querySelector('.hp-birdscreen-modal');\n  var specPopup = document.querySelector('.custom-image-popup-overlay');\n\n  if (birdPopup \u0026\u0026 birdPopup.parentNode !== document.body) {\n    document.body.appendChild(birdPopup);\n  }\n\n  if (specPopup \u0026\u0026 specPopup.parentNode !== document.body) {\n    document.body.appendChild(specPopup);\n  }\n\n  document.addEventListener('click', function (event) {\n    var birdOpenButton = event.target.closest('.hp-birdscreen-popup-link');\n    var birdCloseButton = event.target.closest('.hp-birdscreen-close');\n\n    var specOpenButton = event.target.closest('.custom-spec-popup-link');\n    var specCloseButton = event.target.closest('.custom-image-popup-close');\n\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (birdOpenButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeBirdPopup.classList.add('hp-open');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (birdCloseButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeBirdPopup \u0026\u0026\n      event.target === activeBirdPopup\n    ) {\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (specOpenButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeSpecPopup.classList.add('is-active');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (specCloseButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeSpecPopup \u0026\u0026\n      event.target === activeSpecPopup\n    ) {\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n    }\n  });\n\n  document.addEventListener('keydown', function (event) {\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (event.key === 'Escape') {\n      if (activeBirdPopup) {\n        activeBirdPopup.classList.remove('hp-open');\n      }\n\n      if (activeSpecPopup) {\n        activeSpecPopup.classList.remove('is-active');\n      }\n\n      document.body.style.overflow = '';\n    }\n  });\n\n});\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":49390595408109,"sku":"HPLTL-45-CF","price":33.28,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAW_ALUMINUM___45_HPLTL-CF.png?v=1785203756"},{"product_id":"30-thinline-channel-frame-aluminum-exterior-louver-gable-vent-for-walls-crawlspaces-with-screen-protector","title":"30° Thinline Outdoor Louver Gable Vent (Channel 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::marker {\n    display: none;\n    content: \"\";\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  .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  .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  .hp-birdscreen-popup-link:hover {\n    color: #002b5c;\n  }\n\n  .hp-birdscreen-modal,\n  .custom-image-popup-overlay {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    box-sizing: border-box;\n    background: rgba(0, 0, 0, 0.85);\n  }\n\n  .hp-birdscreen-modal.hp-open,\n  .custom-image-popup-overlay.is-active {\n    display: flex !important;\n  }\n\n  .hp-birdscreen-popup,\n  .custom-image-popup-content {\n    position: relative;\n    width: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-popup {\n    width: calc(100% - 40px);\n    max-width: 900px;\n    padding: 20px;\n    border-radius: 8px;\n    overflow: auto;\n    box-sizing: border-box;\n  }\n\n  .hp-birdscreen-image {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .custom-image-popup-content img {\n    display: block;\n    width: auto;\n    height: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-close,\n  .custom-image-popup-close {\n    position: absolute;\n    top: -12px;\n    right: -12px;\n    width: 36px;\n    height: 36px;\n    padding: 0;\n    border: none;\n    border-radius: 50%;\n    background: #fff;\n    color: #000;\n    font-size: 24px;\n    font-weight: 700;\n    line-height: 36px;\n    text-align: center;\n    cursor: pointer;\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    .hp-birdscreen-modal,\n    .custom-image-popup-overlay {\n      padding: 16px;\n    }\n\n    .hp-birdscreen-popup {\n      width: calc(100% - 20px);\n      padding: 15px;\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\u003cdiv class=\"custom-features-box\"\u003e\n\u003cp\u003eOur 30° Thinline Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Channel Frame.\u003c\/p\u003e\n\u003cdetails class=\"custom-features-details\" open=\"\"\u003e\n\u003csummary\u003eFeatures\u003c\/summary\u003e\n\u003cdiv class=\"custom-features-content\"\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFixed 30° horizontal blades on 3\/4\" spacing.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFully extruded aluminum blades and channel frame.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eSupports are hidden behind blades for a clean appearance.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e \u003cbutton type=\"button\" class=\"hp-birdscreen-popup-link\"\u003e Bird screen \u003c\/button\u003e is standard or optional insect screen. \u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in 1\" standard dimension increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eCustom sizes manufactured up to 1\/16\" increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eMounting available for PTAC \/ VTAC applications.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e High-quality powder coat paint standard. Architectural-grade finish available. \u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e73% free area for optimal performance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cbutton type=\"button\" class=\"custom-spec-popup-link\"\u003e View Spec Sheet \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- BIRD SCREEN POPUP --\u003e\n\u003cdiv class=\"hp-birdscreen-modal\"\u003e\n\u003cdiv class=\"hp-birdscreen-popup\"\u003e\n\u003cbutton type=\"button\" class=\"hp-birdscreen-close\"\u003e × \u003c\/button\u003e \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\u003c!-- SPEC SHEET POPUP --\u003e\n\u003cdiv class=\"custom-image-popup-overlay\"\u003e\n\u003cdiv class=\"custom-image-popup-content\"\u003e\n\u003cbutton type=\"button\" class=\"custom-image-popup-close\"\u003e × \u003c\/button\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/30-thinline-aluminum-exterior-louver-gable-vent-for-walls-crawlspaces-with-screen-protectorspecial-weather-louver-2.png?v=1771510296\" alt=\"Channel frame 30-degree aluminum exterior louver spec sheet\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n\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 birdPopup = document.querySelector('.hp-birdscreen-modal');\n  var specPopup = document.querySelector('.custom-image-popup-overlay');\n\n  if (birdPopup \u0026\u0026 birdPopup.parentNode !== document.body) {\n    document.body.appendChild(birdPopup);\n  }\n\n  if (specPopup \u0026\u0026 specPopup.parentNode !== document.body) {\n    document.body.appendChild(specPopup);\n  }\n\n  document.addEventListener('click', function (event) {\n    var birdOpenButton = event.target.closest('.hp-birdscreen-popup-link');\n    var birdCloseButton = event.target.closest('.hp-birdscreen-close');\n\n    var specOpenButton = event.target.closest('.custom-spec-popup-link');\n    var specCloseButton = event.target.closest('.custom-image-popup-close');\n\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (birdOpenButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeBirdPopup.classList.add('hp-open');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (birdCloseButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeBirdPopup \u0026\u0026\n      event.target === activeBirdPopup\n    ) {\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (specOpenButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeSpecPopup.classList.add('is-active');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (specCloseButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeSpecPopup \u0026\u0026\n      event.target === activeSpecPopup\n    ) {\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n    }\n  });\n\n  document.addEventListener('keydown', function (event) {\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (event.key === 'Escape') {\n      if (activeBirdPopup) {\n        activeBirdPopup.classList.remove('hp-open');\n      }\n\n      if (activeSpecPopup) {\n        activeSpecPopup.classList.remove('is-active');\n      }\n\n      document.body.style.overflow = '';\n    }\n  });\n\n});\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":49390638792941,"sku":"HPLTL-30-CF","price":33.28,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAW_ALUMINUM___30_HPLTL-CF.png?v=1785203630"},{"product_id":"30-thinline-outdoor-louver-gable-vent-wide-frame-customizable","title":"30° Thinline 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::marker {\n    display: none;\n    content: \"\";\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  .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  .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  .hp-birdscreen-popup-link:hover {\n    color: #002b5c;\n  }\n\n  .hp-birdscreen-modal,\n  .custom-image-popup-overlay {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    box-sizing: border-box;\n    background: rgba(0, 0, 0, 0.85);\n  }\n\n  .hp-birdscreen-modal.hp-open,\n  .custom-image-popup-overlay.is-active {\n    display: flex !important;\n  }\n\n  .hp-birdscreen-popup,\n  .custom-image-popup-content {\n    position: relative;\n    width: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-popup {\n    width: calc(100% - 40px);\n    max-width: 900px;\n    padding: 20px;\n    border-radius: 8px;\n    overflow: auto;\n    box-sizing: border-box;\n  }\n\n  .hp-birdscreen-image {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .custom-image-popup-content img {\n    display: block;\n    width: auto;\n    height: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-close,\n  .custom-image-popup-close {\n    position: absolute;\n    top: -12px;\n    right: -12px;\n    width: 36px;\n    height: 36px;\n    padding: 0;\n    border: none;\n    border-radius: 50%;\n    background: #fff;\n    color: #000;\n    font-size: 24px;\n    font-weight: 700;\n    line-height: 36px;\n    text-align: center;\n    cursor: pointer;\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    .hp-birdscreen-modal,\n    .custom-image-popup-overlay {\n      padding: 16px;\n    }\n\n    .hp-birdscreen-popup {\n      width: calc(100% - 20px);\n      padding: 15px;\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\u003cdiv class=\"custom-features-box\"\u003e\n\u003cp\u003eOur 30° Thinline Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Wide Flange Frame.\u003c\/p\u003e\n\u003cdetails class=\"custom-features-details\" open=\"\"\u003e\n\u003csummary\u003eFeatures\u003c\/summary\u003e\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 mounting surface coverage\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFixed 30° horizontal blades on 3\/4\" spacing\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFully extruded aluminum blades and frame\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eSupports are hidden behind blades for a clean appearance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e \u003cbutton type=\"button\" class=\"hp-birdscreen-popup-link\"\u003e Bird screen \u003c\/button\u003e is standard or optional insect screen\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in 1\" standard dimension increments\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eCustom sizes manufactured up to 1\/16\" increments\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in durable powder coat finish standard\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e73% free area for optimal performance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eMounting available for PTAC\/ VTAC application\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cbutton type=\"button\" class=\"custom-spec-popup-link\"\u003e View Spec Sheet \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- BIRD SCREEN POPUP --\u003e\n\u003cdiv class=\"hp-birdscreen-modal\"\u003e\n\u003cdiv class=\"hp-birdscreen-popup\"\u003e\n\u003cbutton type=\"button\" class=\"hp-birdscreen-close\"\u003e × \u003c\/button\u003e \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\u003c!-- SPEC SHEET POPUP --\u003e\n\u003cdiv class=\"custom-image-popup-overlay\"\u003e\n\u003cdiv class=\"custom-image-popup-content\"\u003e\n\u003cbutton type=\"button\" class=\"custom-image-popup-close\"\u003e × \u003c\/button\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/HPLTL-30-WF_Specs.png?v=1785348240\" alt=\"Wide frame 30-degree aluminum exterior louver spec sheet\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n\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 birdPopup = document.querySelector('.hp-birdscreen-modal');\n  var specPopup = document.querySelector('.custom-image-popup-overlay');\n\n  if (birdPopup \u0026\u0026 birdPopup.parentNode !== document.body) {\n    document.body.appendChild(birdPopup);\n  }\n\n  if (specPopup \u0026\u0026 specPopup.parentNode !== document.body) {\n    document.body.appendChild(specPopup);\n  }\n\n  document.addEventListener('click', function (event) {\n    var birdOpenButton = event.target.closest('.hp-birdscreen-popup-link');\n    var birdCloseButton = event.target.closest('.hp-birdscreen-close');\n\n    var specOpenButton = event.target.closest('.custom-spec-popup-link');\n    var specCloseButton = event.target.closest('.custom-image-popup-close');\n\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (birdOpenButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeBirdPopup.classList.add('hp-open');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (birdCloseButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeBirdPopup \u0026\u0026\n      event.target === activeBirdPopup\n    ) {\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (specOpenButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeSpecPopup.classList.add('is-active');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (specCloseButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeSpecPopup \u0026\u0026\n      event.target === activeSpecPopup\n    ) {\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n    }\n  });\n\n  document.addEventListener('keydown', function (event) {\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (event.key === 'Escape') {\n      if (activeBirdPopup) {\n        activeBirdPopup.classList.remove('hp-open');\n      }\n\n      if (activeSpecPopup) {\n        activeSpecPopup.classList.remove('is-active');\n      }\n\n      document.body.style.overflow = '';\n    }\n  });\n\n});\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":50351683109101,"sku":"HPLTL-30-WF","price":41.11,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAW_ALUMINUM___30_HPLTL-WF.png?v=1785288188"},{"product_id":"30-thinline-outdoor-louver-gable-vent-flange-frame-customizable","title":"30° Thinline Outdoor Louver Gable Vent (Flange 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::marker {\n    display: none;\n    content: \"\";\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  .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  .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  .hp-birdscreen-popup-link:hover {\n    color: #002b5c;\n  }\n\n  .hp-birdscreen-modal,\n  .custom-image-popup-overlay {\n    display: none;\n    position: fixed;\n    inset: 0;\n    z-index: 999999;\n    align-items: center;\n    justify-content: center;\n    padding: 20px;\n    box-sizing: border-box;\n    background: rgba(0, 0, 0, 0.85);\n  }\n\n  .hp-birdscreen-modal.hp-open,\n  .custom-image-popup-overlay.is-active {\n    display: flex !important;\n  }\n\n  .hp-birdscreen-popup,\n  .custom-image-popup-content {\n    position: relative;\n    width: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-popup {\n    width: calc(100% - 40px);\n    max-width: 900px;\n    padding: 20px;\n    border-radius: 8px;\n    overflow: auto;\n    box-sizing: border-box;\n  }\n\n  .hp-birdscreen-image {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .custom-image-popup-content img {\n    display: block;\n    width: auto;\n    height: auto;\n    max-width: calc(100vw - 40px);\n    max-height: 90vh;\n    background: #fff;\n  }\n\n  .hp-birdscreen-close,\n  .custom-image-popup-close {\n    position: absolute;\n    top: -12px;\n    right: -12px;\n    width: 36px;\n    height: 36px;\n    padding: 0;\n    border: none;\n    border-radius: 50%;\n    background: #fff;\n    color: #000;\n    font-size: 24px;\n    font-weight: 700;\n    line-height: 36px;\n    text-align: center;\n    cursor: pointer;\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    .hp-birdscreen-modal,\n    .custom-image-popup-overlay {\n      padding: 16px;\n    }\n\n    .hp-birdscreen-popup {\n      width: calc(100% - 20px);\n      padding: 15px;\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\u003cdiv class=\"custom-features-box\"\u003e\n\u003cp\u003eOur 30° Thinline Aluminum Louver Vent Exterior Air Grille for Walls, Gables \u0026amp; Crawlspaces is Weather-Resistant with a Flange Frame.\u003c\/p\u003e\n\u003cdetails class=\"custom-features-details\" open=\"\"\u003e\n\u003csummary\u003eFeatures\u003c\/summary\u003e\n\u003cdiv class=\"custom-features-content\"\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFixed 30° horizontal blades on 3\/4\" spacing\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eFully extruded aluminum blades and flange frame\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eSupports are hidden behind blades for a clean appearance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e \u003cbutton type=\"button\" class=\"hp-birdscreen-popup-link\"\u003e Bird screen \u003c\/button\u003e is standard or optional insect screen. \u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in 1\" standard dimension increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eCustom sizes manufactured up to 1\/16\" increments.\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eAvailable in durable powder coat finish standard\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003e73% free area for optimal performance\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"feature-bullet\"\u003e\u003c\/span\u003e \u003cstrong\u003eMounting available for PTAC\/ VTAC application\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/details\u003e\n\u003cbutton type=\"button\" class=\"custom-spec-popup-link\"\u003e View Spec Sheet \u003c\/button\u003e\n\u003c\/div\u003e\n\u003c!-- BIRD SCREEN POPUP --\u003e\n\u003cdiv class=\"hp-birdscreen-modal\"\u003e\n\u003cdiv class=\"hp-birdscreen-popup\"\u003e\n\u003cbutton type=\"button\" class=\"hp-birdscreen-close\"\u003e × \u003c\/button\u003e \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\u003c!-- SPEC SHEET POPUP --\u003e\n\u003cdiv class=\"custom-image-popup-overlay\"\u003e\n\u003cdiv class=\"custom-image-popup-content\"\u003e\n\u003cbutton type=\"button\" class=\"custom-image-popup-close\"\u003e × \u003c\/button\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/HPLTL-30-FF_Specs.png?v=1785340956\" alt=\"Flange frame 30-degree aluminum exterior louver spec sheet\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n\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 birdPopup = document.querySelector('.hp-birdscreen-modal');\n  var specPopup = document.querySelector('.custom-image-popup-overlay');\n\n  if (birdPopup \u0026\u0026 birdPopup.parentNode !== document.body) {\n    document.body.appendChild(birdPopup);\n  }\n\n  if (specPopup \u0026\u0026 specPopup.parentNode !== document.body) {\n    document.body.appendChild(specPopup);\n  }\n\n  document.addEventListener('click', function (event) {\n    var birdOpenButton = event.target.closest('.hp-birdscreen-popup-link');\n    var birdCloseButton = event.target.closest('.hp-birdscreen-close');\n\n    var specOpenButton = event.target.closest('.custom-spec-popup-link');\n    var specCloseButton = event.target.closest('.custom-image-popup-close');\n\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (birdOpenButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeBirdPopup.classList.add('hp-open');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (birdCloseButton \u0026\u0026 activeBirdPopup) {\n      event.preventDefault();\n\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeBirdPopup \u0026\u0026\n      event.target === activeBirdPopup\n    ) {\n      activeBirdPopup.classList.remove('hp-open');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (specOpenButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n      event.stopPropagation();\n\n      activeSpecPopup.classList.add('is-active');\n      document.body.style.overflow = 'hidden';\n      return;\n    }\n\n    if (specCloseButton \u0026\u0026 activeSpecPopup) {\n      event.preventDefault();\n\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n      return;\n    }\n\n    if (\n      activeSpecPopup \u0026\u0026\n      event.target === activeSpecPopup\n    ) {\n      activeSpecPopup.classList.remove('is-active');\n      document.body.style.overflow = '';\n    }\n  });\n\n  document.addEventListener('keydown', function (event) {\n    var activeBirdPopup = document.querySelector('.hp-birdscreen-modal');\n    var activeSpecPopup = document.querySelector('.custom-image-popup-overlay');\n\n    if (event.key === 'Escape') {\n      if (activeBirdPopup) {\n        activeBirdPopup.classList.remove('hp-open');\n      }\n\n      if (activeSpecPopup) {\n        activeSpecPopup.classList.remove('is-active');\n      }\n\n      document.body.style.overflow = '';\n    }\n  });\n\n});\n\u003c\/script\u003e","brand":"HVAC Premium","offers":[{"title":"Default Title","offer_id":50351695134957,"sku":"HPLTL-30-FF","price":33.28,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0081\/8213\/6898\/files\/MILL_RAW_ALUMINUM___30_HPLTL-FF.png?v=1785265065"}],"url":"https:\/\/hvacpremium.com\/collections\/40-in-width-x-4-in-height.oembed","provider":"HVAC Premium","version":"1.0","type":"link"}