{"id":365143,"date":"2026-05-08T09:41:25","date_gmt":"2026-05-08T13:41:25","guid":{"rendered":"https:\/\/exmweb.com\/?page_id=365143"},"modified":"2026-05-31T20:49:32","modified_gmt":"2026-06-01T00:49:32","slug":"polyster-enclosures","status":"publish","type":"page","link":"https:\/\/exmweb.com\/fr-ca\/polyster-enclosures\/","title":{"rendered":"Polyster Enclosures"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"365143\" class=\"elementor elementor-365143\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ed0fb8 e-flex e-con-boxed e-con e-parent\" data-id=\"4ed0fb8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-586e21c elementor-widget elementor-widget-html\" data-id=\"586e21c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"nmx-scope\">\n  <section class=\"nmx-landing\" id=\"nmx-landing\">\n    <div class=\"nmx-shell\">\n      <aside class=\"nmx-left\">\n        <div class=\"nmx-left-card\">\n          <div id=\"nmx-left-media\" class=\"nmx-left-media\"><\/div>\n          <div class=\"nmx-option-grid\" id=\"nmx-option-grid\"><\/div>\n        <\/div>\n      <\/aside>\n\n      <div class=\"nmx-right\" id=\"nmx-right\">\n        <div id=\"nmx-right-content\"><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"nmx-cta\">\n    <h2>High-Performance Non-Metallic Enclosures<\/h2>\n    <p>Engineered for harsh environments \u2014 UV resistant, impact proof, and electrically non-<br>conductive. Find the right size and configuration for your application.<\/p>\n    <a href=\"https:\/\/exmweb.com\/product-category\/products\/non-metallic\/\" class=\"nmx-btn\">SHOP NOW<\/a>\n  <\/section>\n<\/div>\n\n<style>\n.nmx-scope,\n.nmx-scope *,\n.nmx-scope *::before,\n.nmx-scope *::after{\n  box-sizing:border-box !important;\n}\n\n.nmx-scope :is(\n  section,aside,article,div,span,h1,h2,h3,h4,h5,h6,p,\n  ul,ol,li,a,img,video,button,input,select,textarea\n){\n  font-family:\"Albert Sans\",\"Helvetica Neue\",Arial,sans-serif !important;\n}\n\n.nmx-scope h1,.nmx-scope h2,.nmx-scope h3,.nmx-scope h4,.nmx-scope h5,.nmx-scope h6,\n.nmx-scope p,.nmx-scope a,.nmx-scope li,.nmx-scope span{\n  margin:0 !important;\n  padding:0 !important;\n  text-transform:none;\n  letter-spacing:normal;\n}\n\n.nmx-scope a{\n  text-decoration:none !important;\n  color:inherit;\n}\n\n.nmx-scope button{\n  border:0;\n  background:none;\n  box-shadow:none;\n  appearance:none;\n  -webkit-appearance:none;\n  font:inherit;\n}\n\n.nmx-scope .nmx-landing{\n  --nmx-bg:black;\n  --nmx-panel:#2f3136;\n  --nmx-card:#3a3c42;\n  --nmx-text:#f1f1f1;\n  --nmx-muted:#b9bcc3;\n  --nmx-border:#4a4c52;\n  --nmx-yellow:#ffeb00;\n  --nmx-blue:#2d7df7;\n  background:var(--nmx-bg);\n  color:var(--nmx-text);\n  padding:2px 0 40px;\n  max-width:1600px;\n  margin:50px auto 80px;\n}\n\n.nmx-scope .nmx-shell{\n  width:100%;\n  margin:0 auto;\n  display:grid;\n  grid-template-columns:50% 50%;\n  gap:60px;\n}\n\n.nmx-scope .nmx-left{\n  position:sticky;\n  top:24px;\n  align-self:start;\n  height:fit-content;\n}\n\n.nmx-scope .nmx-left-media{ margin:0 auto 14px; }\n\n.nmx-scope .nmx-left-video{\n  width:100%;\n  aspect-ratio:1\/1;\n  object-fit:contain;\n  display:block;\n  background:transparent;\n}\n\n.nmx-scope .nmx-left-seq{\n  width:100%;\n  aspect-ratio:1\/1;\n  display:grid;\n  place-items:center;\n  overflow:hidden;\n  background:transparent;\n  cursor:grab;\n  touch-action:pan-y;\n  user-select:none;\n}\n\n.nmx-scope .nmx-left-seq.is-dragging{ cursor:grabbing; }\n\n.nmx-scope .nmx-left-seq img{\n  width:100%;\n  height:100%;\n  object-fit:contain;\n  display:block;\n  pointer-events:none;\n  -webkit-user-drag:none;\n  user-select:none;\n}\n\n.nmx-scope .nmx-option-grid{\n  display:grid;\n  grid-template-columns:repeat(3,minmax(0,1fr));\n  gap:8px;\n}\n\n.nmx-scope .nmx-option{\n  border:1px solid #1f242d;\n  color:#cfd3db;\n  background:#101010;\n  font-size:16px;\n  line-height:1.3;\n  padding:20px;\n  cursor:pointer;\n  transition:.2s ease;\n  text-align:center;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  gap:6px;\n}\n\n.nmx-scope .nmx-option-label{\n  color:inherit !important;\n  font-size:16px;\n  line-height:1.25;\n}\n\n.nmx-scope .nmx-option-part{\n  color:#9ea4af !important;\n  font-size:12px;\n  line-height:1.2;\n  font-weight:400 !important;\n}\n\n.nmx-scope .nmx-option:hover{ border-color:#3b4250; color:#fff; }\n\n.nmx-scope .nmx-option:hover .nmx-option-part,\n.nmx-scope .nmx-option.is-active .nmx-option-part{\n  color:#9ea4af !important;\n}\n\n.nmx-scope .nmx-option.is-active{\n  border-color:var(--nmx-yellow);\n  color:#fff;\n  box-shadow:inset 0 0 0 1px rgba(255,235,0,.25);\n}\n\n.nmx-scope .nmx-right{\n  max-height:calc(100vh - 120px);\n  overflow:auto;\n  padding-right:10px;\n}\n\n.nmx-scope .nmx-right::-webkit-scrollbar{ width:8px; }\n.nmx-scope .nmx-right::-webkit-scrollbar-track{ background:#11141b; }\n.nmx-scope .nmx-right::-webkit-scrollbar-thumb{ background:#4a4d55; border-radius:12px; }\n\n.nmx-scope .nmx-head h1{\n  margin:0 0 40px !important;\n  font-size:40px;\n  line-height:1.15;\n  font-weight:400;\n  color:#fff !important;\n}\n\n.nmx-scope .nmx-head p{\n  margin:0 0 60px !important;\n  color:var(--nmx-muted) !important;\n  font-size:22px;\n  line-height:1.6;\n  max-width:95%;\n}\n\n.nmx-scope .nmx-head p strong{\n  color:#fff !important;\n  font-weight:700 !important;\n}\n\n.nmx-scope .nmx-intro-line2{\n  display:block;\n  margin-top:12px;\n  color:#aeb4be !important;\n  font-weight:400 !important;\n}\n\n.nmx-scope .nmx-benefits{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:10px 14px;\n  margin-bottom:22px;\n}\n\n.nmx-scope .nmx-benefit{\n  display:flex;\n  align-items:center;\n  gap:20px;\n  border-bottom:1px solid rgba(255,255,255,.06);\n  padding:8px 0 10px;\n}\n\n.nmx-scope .nmx-benefit img{\n  width:60px;\n  height:60px;\n  object-fit:contain;\n  opacity:.95;\n}\n\n.nmx-scope .nmx-benefit span{\n  font-size:16px;\n  color:#e6e8ec;\n}\n\n.nmx-scope .nmx-feature-cards{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:20px;\n  margin:60px 0;\n  padding-top:25px;\n  padding-bottom:35px;\n}\n\n.nmx-scope .nmx-feature{\n  background:#3a3c42;\n  border:0;\n  border-radius:14px;\n  min-height:340px;\n  padding:34px 36px 30px;\n  display:grid;\n  grid-template-columns:112px 1fr;\n  grid-template-rows:auto auto 1fr;\n  column-gap:12px;\n  align-items:start;\n}\n\n.nmx-scope .nmx-feature img{\n  width:86px;\n  height:86px;\n  object-fit:contain;\n  filter:brightness(0) invert(1);\n  grid-column:1;\n  grid-row:1;\n  margin:0 !important;\n}\n\n.nmx-scope .nmx-feature h4{\n  margin:0 !important;\n  color:#f2f2f2 !important;\n  font-size:20px;\n  line-height:1.2;\n  font-weight:400;\n  grid-column:2;\n  grid-row:1;\n  align-self:center;\n}\n\n.nmx-scope .nmx-feature::before{\n  content:\"\";\n  grid-column:1 \/ -1;\n  grid-row:2;\n  border-top:2px solid rgba(255,255,255,.35);\n  margin:22px 0 20px;\n}\n\n.nmx-scope .nmx-feature p{\n  margin:0 !important;\n  color:#b5b8bf !important;\n  font-size:16px;\n  line-height:1.45;\n  font-weight:400;\n  grid-column:1 \/ -1;\n  grid-row:3;\n}\n\n.nmx-scope .nmx-section{ margin:0 0 34px; }\n\n.nmx-scope .nmx-section h3{\n  margin:0 0 40px !important;\n  color:var(--nmx-yellow) !important;\n  font-size:40px;\n  font-weight:500;\n  line-height:1.15;\n  padding-bottom:20px;\n}\n\n.nmx-scope .nmx-card-grid{\n  display:grid;\n  grid-template-columns:repeat(2,minmax(0,1fr));\n  gap:14px;\n}\n\n.nmx-scope .nmx-card{ background:transparent; border-radius:8px; }\n\n.nmx-scope .nmx-card.nmx-card--wide{\n  grid-column:1 \/ -1;\n  max-width:52%;\n}\n\n.nmx-scope .nmx-card img{\n  width:100%;\n  border-radius:12px;\n  display:block;\n  background:#e8eaed;\n}\n\n.nmx-scope .nmx-card h4{\n  margin:30px 0 !important;\n  font-size:32px;\n  line-height:1.2;\n  font-weight:400;\n  color:#fff !important;\n  padding-top:15px;\n  padding-bottom:10px;\n}\n\n.nmx-scope .nmx-card p{\n  margin:0 0 40px !important;\n  color:#c8ccd3 !important;\n  font-size:20px;\n  line-height:1.55;\n  padding-bottom:25px;\n}\n\n.nmx-scope .nmx-pill-row{\n  display:flex;\n  flex-wrap:wrap;\n  gap:10px;\n  margin:12px 0;\n}\n\n.nmx-scope .nmx-pill{\n  width:48px;\n  height:48px;\n  border-radius:999px;\n  background:#fff;\n  display:grid;\n  place-items:center;\n}\n\n.nmx-scope .nmx-pill img{\n  width:26px;\n  height:26px;\n  object-fit:contain;\n}\n\n.nmx-scope .nmx-highlight{ padding:0; overflow:hidden; }\n\n.nmx-scope .nmx-single{ margin-bottom:26px; }\n\n.nmx-scope .nmx-single img{\n  width:100%;\n  border-radius:12px;\n  display:block;\n  margin-bottom:20px;\n}\n\n.nmx-scope .nmx-single h4{\n  margin:30px 0 !important;\n  font-size:30px;\n  font-weight:400;\n  color:#fff !important;\n}\n\n.nmx-scope .nmx-single p{\n  margin:0 0 40px !important;\n  color:#c8ccd3 !important;\n  font-size:20px;\n  line-height:1.55;\n  padding-top:15px;\n}\n\n.nmx-scope .nmx-cta{\n  background:#3A3A3A;\n  text-align:center;\n  padding:100px 20px;\n  color:#fff;\n}\n\n.nmx-scope .nmx-cta h2{\n  margin:0 0 10px !important;\n  font-size:40px;\n  font-weight:400;\n  color:#fff !important;\n}\n\n.nmx-scope .nmx-cta p{\n  margin:0 0 30px !important;\n  color:#fff !important;\n  font-size:24px;\n}\n\n.nmx-scope .nmx-btn{\n  display:inline-block;\n  padding:12px 34px;\n  border:1px solid var(--nmx-yellow);\n  color:#fff !important;\n  text-decoration:none !important;\n  font-size:13px;\n  letter-spacing:.04em;\n}\n\n.nmx-scope .nmx-cta .nmx-btn{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  padding:14px 56px !important;\n  border:1px solid #ffeb00 !important;\n  box-shadow:inset 0 0 0 1px #ffeb00 !important;\n  background:transparent !important;\n  color:#fff !important;\n  text-decoration:none !important;\n  text-transform:uppercase;\n  font-size:18px;\n  line-height:1;\n  font-weight:400;\n  transition:background .3s ease,color .3s ease,border-color .3s ease;\n}\n\n.nmx-scope .nmx-cta .nmx-btn:hover,\n.nmx-scope .nmx-cta .nmx-btn:focus-visible,\n.nmx-scope .nmx-cta .nmx-btn:active{\n  background:#ffeb00 !important;\n  color:#000 !important;\n  border-color:#ffeb00 !important;\n}\n\n.nmx-scope .nmx-cta .nmx-btn:visited{ color:#fff !important; }\n\n@media (max-width:1200px){\n  .nmx-scope .nmx-shell{ grid-template-columns:1fr; }\n  .nmx-scope .nmx-left{ position:relative; top:0; }\n  .nmx-scope .nmx-right{ max-height:none; overflow:visible; padding-right:0; }\n\n  .nmx-scope .nmx-feature{\n    min-height:300px;\n    padding:26px 24px 24px;\n    grid-template-columns:88px 1fr;\n  }\n\n  .nmx-scope .nmx-feature img{ width:68px;height:68px; }\n  .nmx-scope .nmx-feature h4{ font-size:34px; }\n  .nmx-scope .nmx-feature p{ font-size:28px; }\n}\n\n@media (max-width:767px){\n  .nmx-scope .nmx-option-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }\n  .nmx-scope .nmx-card-grid,.nmx-scope .nmx-benefits{ grid-template-columns:1fr; }\n  .nmx-scope .nmx-card.nmx-card--wide{ grid-column:auto; max-width:100%; }\n  .nmx-scope .nmx-head h1{ font-size:30px; }\n  .nmx-scope .nmx-section h3{ font-size:28px; }\n  .nmx-scope .nmx-card h4,.nmx-scope .nmx-single h4{ font-size:22px; }\n  .nmx-scope .nmx-cta h2{ font-size:32px; }\n\n  .nmx-scope .nmx-feature-cards{ grid-template-columns:1fr; gap:14px; }\n  .nmx-scope .nmx-feature{\n    min-height:unset;\n    padding:22px;\n    grid-template-columns:70px 1fr;\n  }\n  .nmx-scope .nmx-feature img{ width:54px;height:54px; }\n  .nmx-scope .nmx-feature h4{ font-size:26px; }\n  .nmx-scope .nmx-feature p{ font-size:18px; }\n}\n<\/style>\n\n<script>\n(function () {\n  const PH = (w, h, text) =>\n    `https:\/\/placehold.co\/${w}x${h}\/e8eaed\/1f232b?text=${encodeURIComponent(text)}`;\n  const LOCK_OPTIONS_IMAGE = \"https:\/\/YOUR-CDN-PATH\/lock-options-all.png\";\n\n  const SHARED = {\n    benefits: [\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Submersible.webp\", text: \"Submersible\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Performs-at-extreme-temperatures.webp\", text: \"Performs at extreme temperatures\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/UV-resistant.webp\", text: \"UV resistant\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Flame-retardant.webp\", text: \"Flame retardant\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/High-Impact-UV-Performance.webp\", text: \"High impact resistance\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Scratch-abrasion-resistant.webp\", text: \"Scratch & abrasion resistant\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Easy-to-machine-drill.webp\", text: \"Easy to machine & drill\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Reusable-recyclable.webp\", text: \"Reusable & recyclable\" }\n    ],\n    features: [\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Smaller-Size-Options.webp\", title: \"Smarter Size Options\", text: \"Offered in a compact format to accommodate different installation requirements and tight spaces.\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/High-impact-resistance.webp\", title: \"High Impact & UV Performance\", text: \"UV-safe and anti-UV stabilized. The glass-fiber reinforced polyester handles impact with long-term outdoor exposure.\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Long-Term-Value.webp\", title: \"Long-Term Value\", text: \"Non-metallic construction means no rust oxidation, low maintenance profile, and excellent resistance through decades of operation.\" },\n      { icon: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/Polyster\/Wide-Temperature-Range.webp\", title: \"Wide Temperature Range\", text: \"Reliable from around -50\u00b0C to +140\u00b0C, making it suitable for cold climates, rooftops, and everything in-between.\" }\n    ]\n  };\n\n  const TABS = {\n    clamp_latches: {\n      label: \"Clamping latches\",\n      partNumber: \"5600 ESPLQ\",\n      leftVideo: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600ESPLQW.mp4\",\n      title: \"Type 6P, 4X | Submersible polyester enclosure with clamping latches, protection against corrosion\",\n      intro: `The 5600 ESPLQ is <strong>an indoor\/outdoor enclosure<\/strong> protecting against water, dust, dirt, and oil in corrosive environments. Features a NEMA 6P molded gasket seal, stainless steel screws, and quick release latches. Optional <strong>14 GA galvanized inner panel available (sold separately)<\/strong>.<br><br><span class=\"nmx-intro-line2\">CSA Certified \/ UL Listed \u2014 NEMA\/EEMAC 6P \/ IP68<\/span>`,\n      technicalHeading: \"Technical specifications\",\n      technical: [\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Patterned%20markings%20-%205600%20ESPLQ.webp\", title: \"Patterned markings\", text: \"Our polyester enclosures feature <strong>1-inch patterned markings for easy drilling<\/strong>, along with built-in provisions for accessory mounting.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Integrated%20vertical%20ribs%20-%205600%20ESPLQ.webp\", title: \"Integrated vertical ribs\", text: \"Enclosure corners feature <strong>integrated vertical ribs that extend from base to top<\/strong>, enhancing structural rigidity and supporting the installation of internal rails. These rails provide versatile mounting options, including compatibility with a door stop kit or a swing-out door\u2014offering greater flexibility for enclosure customization.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Range%20of%20sizes%20-%205600%20esplq.webp\", title: \"Range of sizes\", text: \"5600 ESPL polyester series boxes are available in a range of sizes. Enclosures with <strong>a width of 14 inches or larger include extra locking mechanism<\/strong>, with additional top and bottom latches to enhance security and durability..\", wide: true }\n      ],\n      lock: {\n        heading: \"Locks mechanism\",\n        hero: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Locking%20options%20-%205600%20ESPLQ%20-1%20.webp\",\n        optionsImage: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Locking%20options%20-%205600%20ESPLQ%20-2.webp\",\n        title: \"Locking options\",\n        text: \"The polyester enclosure series offers four locking options: quick-release latches (available in locking and non-locking versions), a screw cover with a padlock provision, and a padlock kit for use with the quick-release latch. A key-latch version is also available for enhanced security.\"\n      },\n      blocks: [\n        { heading: \"\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Quick-release%20latch%20-%205600%20ESPLQ.webp\", title: \"Quick-release latch\", text: \"The 880 ESPL-PK padlock kit is designed for use with the quick-release latch. Each enclosure includes one padlock kit as standard. To install, simply remove the blue plastic insert to access the latch hole, then add a padlock for secure closure. The kit is made from durable 12-gauge stainless steel.\" },\n        { heading: \"Hinges mechanism\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Hinges%20mechanism%20-%205600%20ESPLQ.webp\", title: \"\", text: \"Replacement hinges for the 5600 ESPLQ and 5600 ESPLH can be ordered. The screws bracket on the 5600 ESPLS can be removed and replaced by 880 ESPL-HK hinges. Therefore, EXM screw cover plastic enclosures can be easily converted to hinge cover enclosures, and vice versa. (hinge cover sold separately)\", highlight: true },\n        { heading: \"Inner panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Inner%20panel%20-%205600%20ESPLQ.webp\", title: \"\", text: \"Mounting hardware for inner panels is included; however, inner panels are sold separately..\" },\n        { heading: \"Pole mount kits\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Pole%20mount%20kits.webp\", title: \"\", text: \"The 880 ESPL pole mount kits provide versatile mounting solutions for ESPL enclosures on poles of various shapes and sizes. Options include the standard PM, quick-install PMQ, square-post PMSQ, and lightweight PMLT kits. Each kit comes with mounting channels, stainless steel straps (for poles up to 12\u201d in diameter), and all necessary installation hardware. The PMQ and PMLT versions allow for easy removal during maintenance, while the PMSQ is specifically designed for square posts. Kits are available in multiple height and width configurations to suit a wide range of installation requirements.\" },\n        { heading: \"Swing out panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Sing%20out%20panel.webp\", title: \"\", text: \"The swing out panel kit allows to easily mount an inner panel to use as an inner door. The kit allows the installation of the swing out panel at any  depth fro the front to the rear of the enclosure. Kits include mounting hardware. (Inner panel sold separately)\" }\n      ]\n    },\n\n    lift_off_screwed: {\n      label: \"Lift-off screwed\",\n      partNumber: \"5600 ESPLS\",\n      leftVideo: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600ESPLS.mp4\",\n      title: \"Type 6P, 4X | Submersible enclosure with lift-off screwed cover, protection against corrosion\",\n      intro: `The 5600 ESPLS is <strong>an indoor\/outdoor enclosure<\/strong> protecting against water, dust, dirt, and oil in corrosive environments. Features a NEMA 6P molded gasket seal, stainless steel screws, and cover screw inserts replaceable with quick release latches. Optional <strong>14 GA galvanized inner panel available (sold separately)<\/strong>.<br><br><span class=\"nmx-intro-line2\">CSA Certified \/ UL Listed \u2014 NEMA\/EEMAC 6P \/ IP68<\/span>`,\n      technicalHeading: \"Technical specifications\",\n      technical: [\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLS\/Patterned%20markings%20-%205600%20ESPLS.webp\", title: \"Patterned markings\", text: \"Our polyester enclosures feature 1-inch patterned markings for easy drilling, along with built-in provisions for accessory mounting.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLS\/Integrated%20vertical%20ribs%20-%205600%20ESPLS.webp\", title: \"Integrated vertical ribs\", text: \"Enclosure corners feature integrated vertical ribs that extend from base to top, enhancing structural rigidity and supporting the installation of internal rails. These rails provide versatile mounting options, including compatibility with a door stop kit or a swing-out door\u2014offering greater flexibility for enclosure customization.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLH\/Range%20of%20sizes-%205600%20ESPLH.webp\", title: \"Range of sizes\", text: \"5600 ESPL polyester series boxes are available in a range of sizes. Enclosures with a width of 14 inches or larger include extra locking mechanism, with additional top and bottom latches to enhance security and durability.\", wide: true }\n      ],\n      lock: {\n        heading: \"Locks mechanism\",\n        hero: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLH\/Locking%20options-%205600%20ESPLH1.webp\",\n        optionsImage: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Locking%20options%20-%205600%20ESPLQ%20-2.webp\",\n        title: \"Locking options\",\n        text: \"The polyester enclosure series offers four locking options: quick-release latches (available in locking and non-locking versions), a screw cover with a padlock provision, and a padlock kit for use with the quick-release latch. A key-latch version is also available for enhanced security.\"\n      },\n      blocks: [\n        { heading: \"Inner Panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLS\/Inner%20panel-%205600%20ESPLS.webp\", text: \"Mounting hardware for inner panels is included; however, inner panels are sold separately.\" },\n        { heading: \"Pole Mount Kits\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Pole%20mount%20kits.webp\", text: \"The 880 ESPL pole mount kits provide versatile mounting solutions for ESPL enclosures on poles of various shapes and sizes. Options include the standard PM, quick-install PMQ, square-post PMSQ, and lightweight PMLT kits. Each kit comes with mounting channels, stainless steel straps (for poles up to 12\u201d in diameter), and all necessary installation hardware. The PMQ and PMLT versions allow for easy removal during maintenance, while the PMSQ is specifically designed for square posts. Kits are available in multiple height and width configurations to suit a wide range of installation requirements.\", highlight: true },\n        { heading: \"Swing out Panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Sing%20out%20panel.webp\", text: \"The swing out panel kit allows to easily mount an inner panel to use as an inner door. The kit allows the installation of the swing out panel at any  depth fro the front to the rear of the enclosure. Kits include mounting hardware. (Inner panel sold separately)\" }\n      ]\n    },\n\n    screwed_cover: {\n      label: \"Screwed cover\",\n      partNumber: \"5600 ESPLH\",\n      leftVideo: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600ESPLH.mp4\",\n      title: \"Type 6P, 4X | Submersible polyester enclosure with screwed cover, protection against corrosion\",\n      intro: `The 5600 ESPLH is <strong>an indoor\/outdoor enclosure<\/strong> protecting against water, dust, dirt, and oil in corrosive environments. Features a NEMA 6P molded gasket seal, stainless steel screws, and cover screw inserts replaceable with quick release latches. Optional <strong>14 GA galvanized inner panel available (sold separately)<\/strong>.<br><br><span class=\"nmx-intro-line2\">CSA Certified \/ UL Listed \u2014 NEMA\/EEMAC 6P \/ IP68<\/span>`,\n      technicalHeading: \"Technical specifications\",\n      technical: [\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLH\/Patterned%20markings-%205600%20ESPLH.webp\", title: \"Patterned markings\", text: \"Our polyester enclosures feature 1-inch patterned markings for easy drilling, along with built-in provisions for accessory mounting.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLH\/Integrated%20vertical%20ribs-%205600%20ESPLH.webp\", title: \"Integrated vertical ribs\", text: \"Enclosure corners feature integrated vertical ribs that extend from base to top, enhancing structural rigidity and supporting the installation of internal rails. These rails provide versatile mounting options, including compatibility with a door stop kit or a swing-out door\u2014offering greater flexibility for enclosure customization.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLH\/Range%20of%20sizes-%205600%20ESPLH.webp\", title: \"Range of sizes\", text: \"5600 ESPL polyester series boxes are available in a range of sizes. Enclosures with a width of 14 inches or larger include extra locking mechanism, with additional top and bottom latches to enhance security and durability.\", wide: true }\n      ],\n      lock: {\n        heading: \"Locks mechanism\",\n        hero: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLH\/Locking%20options-%205600%20ESPLH1.webp\",\n        optionsImage: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Locking%20options%20-%205600%20ESPLQ%20-2.webp\",\n        title: \"Locking options\",\n        text: \"The polyester enclosure series offers four locking options: quick-release latches (available in locking and non-locking versions), a screw cover with a padlock provision, and a padlock kit for use with the quick-release latch. A key-latch version is also available for enhanced security.\"\n      },\n      blocks: [\n        { heading: \"Hinges mechanism\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLH\/Hinges%20mechanism%20-%205600%20ESPLH.webp\", text: \"Replacement hinges for the 5600 ESPLQ and 5600 ESPLH can be ordered. The screws bracket on the 5600 ESPLS can be removed and replaced by 880 ESPL-HK hinges. Therefore, EXM screw cover plastic enclosures can be easily converted to hinge cover enclosures, and vice versa. (hinge cover sold separately)\", highlight: true },\n        { heading: \"Inner Panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLH\/Inner%20panel-%205600%20ESPLH.webp\", text: \"Mounting hardware for inner panels is included; however, inner panels are sold separately.\" },\n        { heading: \"Pole Mount Kits\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Pole%20mount%20kits.webp\", text: \"The 880 ESPL pole mount kits provide versatile mounting solutions for ESPL enclosures on poles of various shapes and sizes. Options include the standard PM, quick-install PMQ, square-post PMSQ, and lightweight PMLT kits. Each kit comes with mounting channels, stainless steel straps (for poles up to 12\u201d in diameter), and all necessary installation hardware. The PMQ and PMLT versions allow for easy removal during maintenance, while the PMSQ is specifically designed for square posts. Kits are available in multiple height and width configurations to suit a wide range of installation requirements.\", highlight: true },\n        { heading: \"Swing out Panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Sing%20out%20panel.webp\", text: \"The swing out panel kit allows to easily mount an inner panel to use as an inner door. The kit allows the installation of the swing out panel at any  depth fro the front to the rear of the enclosure. Kits include mounting hardware. (Inner panel sold separately)\" }\n      ]\n    },\n\n    window_lift_off: {\n      label: \"Window lift-off screwed\",\n      partNumber: \"5600 ESPLSW\",\n      leftVideo: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600ESPLSW_360slow_3.mp4\",\n      title: \"Type 6P, 4X | Submersible enclosure with lift-off screwed cover, protection against corrosion\",\n      intro: `The 5600 ESPLSW is <strong>an indoor\/outdoor enclosure<\/strong> protecting against water, dust, dirt, and oil in corrosive environments. Features a NEMA 6P molded gasket seal, stainless steel screws, and cover screw inserts replaceable with quick release latches. Optional <strong>14 GA galvanized inner panel available (sold separately)<\/strong>.<br><br><span class=\"nmx-intro-line2\">CSA Certified \/ UL Listed \u2014 NEMA\/EEMAC 6P \/ IP68<\/span>`,\n      technicalHeading: \"Technical specifications\",\n      technical: [\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLSW\/Patterned%20markings-%205600%20ESPLSW.webp\", title: \"Window cover\", text: \"Available with <strong>an optional window cover<\/strong> for easy visual inspection of internal components. Full NEMA 6P \/ IP68 protection maintained.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLSW\/Integrated%20vertical%20ribs-%205600%20ESPLSW.webp\", title: \"Integrated vertical ribs\", text: \"Enclosure corners feature <strong>integrated vertical ribs that extend from base to top<\/strong>, enhancing structural rigidity and supporting the installation of internal rails. These rails provide versatile mounting options, including compatibility with a door stop kit or a swing-out door\u2014offering greater flexibility for enclosure customization.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLSW\/Range%20of%20sizes-%205600%20ESPLSW.webp\", title: \"Range of sizes\", text: \"5600 ESPL polyester series boxes are available in a range of sizes. Enclosures with <strong>a width of 14 inches or larger include extra locking mechanism<\/strong>, with additional top and bottom latches to enhance security and durability.\", wide: true }\n      ],\n      lock: {\n        heading: \"Locks mechanism\",\n        hero: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLSW\/Locking%20options-%205600%20ESPLSW1.webp\",\n        optionsImage: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Locking%20options%20-%205600%20ESPLQ%20-2.webp\",\n        title: \"Locking options\",\n        text: \"The polyester enclosure series offers four locking options: quick-release latches (available in locking and non-locking versions), a screw cover with a padlock provision, and a padlock kit for use with the quick-release latch. A key-latch version is also available for enhanced security.\"\n      },\n      blocks: [\n        { heading: \"Inner Panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLSW\/Inner%20panel-%205600%20ESPLSW.webp\", text: \"Mounting hardware for inner panels is included; however, inner panels are sold separately.\" },\n        { heading: \"Pole Mount Kits\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Pole%20mount%20kits.webp\", text: \"The 880 ESPL pole mount kits provide versatile mounting solutions for ESPL enclosures on poles of various shapes and sizes. Options include the standard PM, quick-install PMQ, square-post PMSQ, and lightweight PMLT kits. Each kit comes with mounting channels, stainless steel straps (for poles up to 12\u201d in diameter), and all necessary installation hardware. The PMQ and PMLT versions allow for easy removal during maintenance, while the PMSQ is specifically designed for square posts. Kits are available in multiple height and width configurations to suit a wide range of installation requirements.\", highlight: true }\n      ]\n    },\n\n    window_clamping: {\n      label: \"Window clamping latches\",\n      partNumber: \"5600 ESPLQW\",\n      leftVideo: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600ESPLQW_360slow_3.mp4\",\n      title: \"Type 6P, 4X | Windowed submersible polyester enclosure with clamping latches, protection against corrosion\",\n      intro: `The 5600 ESPLQW is <strong>an indoor\/outdoor enclosure<\/strong> protecting against water, dust, dirt, and oil in corrosive environments. Features a NEMA 6P molded gasket seal, stainless steel screws, and cover screw inserts replaceable with quick release latches. Optional <strong>14 GA galvanized inner panel available (sold separately)<\/strong>.<br><br><span class=\"nmx-intro-line2\">CSA Certified \/ UL Listed \u2014 NEMA\/EEMAC 6P \/ IP68<\/span>`,\n      technicalHeading: \"Technical specifications\",\n      technical: [\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQW\/Patterned%20markings-%205600%20ESPLQW.webp\", title: \"Window cover\", text: \"Available with <strong>an optional window cover<\/strong> for easy visual inspection of internal components. Full NEMA 6P \/ IP68 protection maintained.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQW\/Integrated%20vertical%20ribs-%205600%20ESPLQW.webp\", title: \"Integrated vertical ribs\", text: \"Enclosure corners feature <strong>integrated vertical ribs that extend from base to top<\/strong>, enhancing structural rigidity and supporting the installation of internal rails. These rails provide versatile mounting options, including compatibility with a door stop kit or a swing-out door\u2014offering greater flexibility for enclosure customization.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQW\/Range%20of%20sizes-%205600%20ESPLQW.webp\", title: \"Range of sizes\", text: \"5600 ESPL polyester series boxes are available in <strong>a range of sizes. Enclosures with a width of 14 inches or larger include extra locking mechanism<\/strong>, with additional top and bottom latches to enhance security and durability.\", wide: true }\n      ],\n      lock: {\n        heading: \"Locks mechanism\",\n        hero: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQW\/Locking%20options-%205600%20ESPLQW1.webp\",\n        optionsImage: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Locking%20options%20-%205600%20ESPLQ%20-2.webp\",\n        title: \"Locking options\",\n        text: \"The polyester enclosure series offers four locking options: quick-release latches (available in locking and non-locking versions), a screw cover with a padlock provision, and a padlock kit for use with the quick-release latch. A key-latch version is also available for enhanced security.\"\n      },\n      blocks: [\n        { heading: \"\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQW\/Quick-release%20latch%20-%20window.webp\", title: \"Quick-release latch\", text: \"The 880 ESPL-PK padlock kit is designed for use with the quick-release latch. Each enclosure includes one padlock kit as standard. To install, simply remove the blue plastic insert to access the latch hole, then add a padlock for secure closure. The kit is made from durable 12-gauge stainless steel.\" },\n        { heading: \"Hinges mechanism\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQW\/hinges%20-%20window.webp\", text: \"Replacement hinges for the 5600 ESPLQ and 5600 ESPLH can be ordered. The screws bracket on the 5600 ESPLS can be removed and replaced by 880 ESPL-HK hinges. Therefore, EXM screw cover plastic enclosures can be easily converted to hinge cover enclosures, and vice versa. (hinge cover sold separately)\", highlight: true },\n        { heading: \"Inner panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQW\/Inner%20panel-%205600%20ESPLQW.webp\", text: \"Mounting hardware for inner panels is included; however, inner panels are sold separately.\" },\n        { heading: \"Pole Mount Kits\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Pole%20mount%20kits.webp\", text: \"The 880 ESPL pole mount kits provide versatile mounting solutions for ESPL enclosures on poles of various shapes and sizes. Options include the standard PM, quick-install PMQ, square-post PMSQ, and lightweight PMLT kits. Each kit comes with mounting channels, stainless steel straps (for poles up to 12\u201d in diameter), and all necessary installation hardware. The PMQ and PMLT versions allow for easy removal during maintenance, while the PMSQ is specifically designed for square posts. Kits are available in multiple height and width configurations to suit a wide range of installation requirements.\", highlight: true }\n      ]\n    },\n\n    window_screwed: {\n      label: \"Window screwed cover\",\n      partNumber: \"5600 ESPLHW\",\n      leftVideo: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600ESPLHW_360slow_3.mp4\",\n      title: \"Type 6P, 4X | Submersible polyester enclosure with screwed cover, protection against corrosion\",\n      intro: `The 5600 ESPLHW is <strong>an indoor\/outdoor enclosure<\/strong> protecting against water, dust, dirt, and oil in corrosive environments. Features a NEMA 6P molded gasket seal, stainless steel screws, and cover screw inserts replaceable with quick release latches. Optional <strong>14 GA galvanized inner panel available (sold separately)<\/strong>.<br><br><span class=\"nmx-intro-line2\">CSA Certified \/ UL Listed \u2014 NEMA\/EEMAC 6P \/ IP68<\/span>`,\n      technicalHeading: \"Technical specifications\",\n      technical: [\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLHW\/Patterned%20markings-%205600%20ESPLHW.webp\", title: \"Window cover\", text: \"Available with <strong>an optional window cover<\/strong> for easy visual inspection of internal components. Full NEMA 6P \/ IP68 protection maintained.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLHW\/Integrated%20vertical%20ribs-%205600%20ESPLHW.webp\", title: \"Integrated vertical ribs\", text: \"Enclosure corners feature <strong>integrated vertical ribs that extend from base to top<\/strong>, enhancing structural rigidity and supporting the installation of internal rails. These rails provide versatile mounting options, including compatibility with a door stop kit or a swing-out door\u2014offering greater flexibility for enclosure customization.\" },\n        { image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLSW\/Range%20of%20sizes-%205600%20ESPLSW.webp\", title: \"Range of sizes\", text: \"5600 ESPL polyester series boxes are available in a range of sizes. Enclosures with <strong>a width of 14 inches or larger include extra locking mechanism<\/strong>, with additional top and bottom latches to enhance security and durability.\", wide: true }\n      ],\n      lock: {\n        heading: \"Locks mechanism\",\n        hero: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLSW\/Locking%20options-%205600%20ESPLSW1.webp\",\n        optionsImage: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Locking%20options%20-%205600%20ESPLQ%20-2.webp\",\n        title: \"Locking options\",\n        text: \"The polyester enclosure series offers four locking options: quick-release latches (available in locking and non-locking versions), a screw cover with a padlock provision, and a padlock kit for use with the quick-release latch. A key-latch version is also available for enhanced security.\"\n      },\n      blocks: [\n        { heading: \"Hinges mechanism\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQW\/hinges%20-%20window.webp\", text: \"Replacement hinges for the 5600 ESPLQ and 5600 ESPLH can be ordered. The screws bracket on the 5600 ESPLS can be removed and replaced by 880 ESPL-HK hinges. Therefore, EXM screw cover plastic enclosures can be easily converted to hinge cover enclosures, and vice versa. (hinge cover sold separately)\", highlight: true },\n        { heading: \"Inner Panel\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLHW\/Inner%20panel-%205600%20ESPLHW.webp\", text: \"Mounting hardware for inner panels is included; however, inner panels are sold separately.\" },\n        { heading: \"Pole Mount Kits\", image: \"https:\/\/exmweb.b-cdn.net\/New%20Website%20Assets\/5600%20ESPLQ\/Pole%20mount%20kits.webp\", text: \"The 880 ESPL pole mount kits provide versatile mounting solutions for ESPL enclosures on poles of various shapes and sizes. Options include the standard PM, quick-install PMQ, square-post PMSQ, and lightweight PMLT kits. Each kit comes with mounting channels, stainless steel straps (for poles up to 12\u201d in diameter), and all necessary installation hardware. The PMQ and PMLT versions allow for easy removal during maintenance, while the PMSQ is specifically designed for square posts. Kits are available in multiple height and width configurations to suit a wide range of installation requirements.\", highlight: true }\n      ]\n    }\n  };\n\n  const ORDER = [\"clamp_latches\",\"lift_off_screwed\",\"screwed_cover\",\"window_lift_off\",\"window_clamping\",\"window_screwed\"];\n\n  const optionGrid = document.getElementById(\"nmx-option-grid\");\n  const rightContent = document.getElementById(\"nmx-right-content\");\n  const leftMedia = document.getElementById(\"nmx-left-media\");\n  const rightScroller = document.getElementById(\"nmx-right\");\n\n  let activeKey = ORDER[0];\n  const seqFrameState = {};\n\n  function wrapFrame(n, total){\n    return ((n - 1) % total + total) % total + 1;\n  }\n\n  function renderOptions() {\n    optionGrid.innerHTML = ORDER.map((key) => {\n      const item = TABS[key];\n      return `\n        <button class=\"nmx-option ${key === activeKey ? \"is-active\" : \"\"}\" data-key=\"${key}\" type=\"button\">\n          <span class=\"nmx-option-label\">${item.label}<\/span>\n          <span class=\"nmx-option-part\">${item.partNumber || \"\"}<\/span>\n        <\/button>\n      `;\n    }).join(\"\");\n  }\n\n  function renderLeftVideo(src, label) {\n    leftMedia.innerHTML = `\n      <video class=\"nmx-left-video\" src=\"${src || \"\"}\" muted loop playsinline autoplay preload=\"metadata\" aria-label=\"${label || \"\"}\"><\/video>\n    `;\n    const v = leftMedia.querySelector(\"video\");\n    if (v) v.play().catch(() => {});\n  }\n\n  function renderLeftSequence(seqCfg, label, key){\n    const seq = Object.assign({\n      start:1,\n      end:1,\n      pad:4,\n      ext:\"webp\",\n      initial:1,\n      dragPxPerFrame:3,\n      preloadAround:4\n    }, seqCfg || {});\n\n    const total = Math.max(1, seq.end - seq.start + 1);\n\n    leftMedia.innerHTML = `\n      <div class=\"nmx-left-seq\" aria-label=\"${label || \"Rotate model\"}\">\n        <img class=\"nmx-left-seq-img\" alt=\"${label || \"Model\"}\" draggable=\"false\">\n      <\/div>\n    `;\n\n    const viewer = leftMedia.querySelector(\".nmx-left-seq\");\n    const img = leftMedia.querySelector(\".nmx-left-seq-img\");\n    const cache = new Map();\n\n    let current = wrapFrame(seqFrameState[key] || seq.initial || 1, total);\n    let dragging = false;\n    let lastX = 0;\n    let acc = 0;\n\n    function urlFor(frame){\n      const absolute = seq.start + frame - 1;\n      const padded = String(absolute).padStart(seq.pad, \"0\");\n      return `${seq.baseUrl}${padded}.${seq.ext}`;\n    }\n\n    function preload(frame){\n      const f = wrapFrame(frame, total);\n      if (cache.has(f)) return;\n      const im = new Image();\n      im.decoding = \"async\";\n      im.src = urlFor(f);\n      cache.set(f, im);\n    }\n\n    function show(frame){\n      current = wrapFrame(frame, total);\n      seqFrameState[key] = current;\n      img.src = urlFor(current);\n\n      preload(current);\n      for (let i = 1; i <= seq.preloadAround; i++){\n        preload(current + i);\n        preload(current - i);\n      }\n    }\n\n    for (let i = 0; i < Math.min(24, total); i++) preload(current + i);\n    show(current);\n\n    viewer.addEventListener(\"pointerdown\", (e) => {\n      dragging = true;\n      lastX = e.clientX;\n      acc = 0;\n      viewer.classList.add(\"is-dragging\");\n      if (viewer.setPointerCapture) viewer.setPointerCapture(e.pointerId);\n    });\n\n    viewer.addEventListener(\"pointermove\", (e) => {\n      if (!dragging) return;\n      const dx = e.clientX - lastX;\n      lastX = e.clientX;\n      acc += dx;\n\n      const step = seq.dragPxPerFrame || 3;\n      const frameDelta = acc > 0 ? Math.floor(acc \/ step) : Math.ceil(acc \/ step);\n\n      if (frameDelta !== 0){\n        acc -= frameDelta * step;\n        show(current - frameDelta);\n      }\n    });\n\n    function stopDrag(){\n      dragging = false;\n      viewer.classList.remove(\"is-dragging\");\n    }\n\n    viewer.addEventListener(\"pointerup\", stopDrag);\n    viewer.addEventListener(\"pointercancel\", stopDrag);\n    viewer.addEventListener(\"lostpointercapture\", stopDrag);\n  }\n\n  function renderLeftMedia(item, key){\n    if (item.leftSequence) {\n      renderLeftSequence(item.leftSequence, item.label || \"\", key);\n      return;\n    }\n    renderLeftVideo(item.leftVideo || \"\", item.label || \"\");\n  }\n\n  function renderRight(item) {\n    const benefitsHtml = SHARED.benefits.map((b) => `\n      <div class=\"nmx-benefit\">\n        <img decoding=\"async\" src=\"${b.icon}\" alt=\"\">\n        <span>${b.text}<\/span>\n      <\/div>\n    `).join(\"\");\n\n    const featuresHtml = SHARED.features.map((f) => `\n      <article class=\"nmx-feature\">\n        <img decoding=\"async\" src=\"${f.icon}\" alt=\"\">\n        <h4>${f.title}<\/h4>\n        <p>${f.text}<\/p>\n      <\/article>\n    `).join(\"\");\n\n    const technicalHtml = (item.technical || []).map((t) => `\n      <article class=\"nmx-card ${t.wide ? \"nmx-card--wide\" : \"\"}\">\n        <img decoding=\"async\" src=\"${t.image}\" alt=\"${t.title || \"\"}\">\n        <h4>${t.title || \"\"}<\/h4>\n        <p>${t.text || \"\"}<\/p>\n      <\/article>\n    `).join(\"\");\n\n    const pillsHtml = item.lock?.optionsImage\n      ? `<img decoding=\"async\" src=\"${item.lock.optionsImage}\" alt=\"Lock options\" style=\"display:block;height:auto;\">`\n      : (item.lock?.optionsIcons || []).map((src) => `\n          <div class=\"nmx-pill\"><img decoding=\"async\" src=\"${src}\" alt=\"\"><\/div>\n        `).join(\"\");\n\n    const blocksHtml = (item.blocks || []).map((b) => `\n      <section class=\"nmx-section\">\n        ${b.heading ? `<h3>${b.heading}<\/h3>` : \"\"}\n        <article class=\"nmx-single ${b.highlight ? \"nmx-highlight\" : \"\"}\">\n          <img decoding=\"async\" src=\"${b.image}\" alt=\"${b.title || b.heading || \"Image\"}\">\n          ${b.title ? `<h4>${b.title}<\/h4>` : \"\"}\n          <p>${b.text || \"\"}<\/p>\n        <\/article>\n      <\/section>\n    `).join(\"\");\n\n    rightContent.innerHTML = `\n      <div class=\"nmx-head\">\n        <h1>${item.title || \"\"}<\/h1>\n        <p>${item.intro || \"\"}<\/p>\n      <\/div>\n\n      <section class=\"nmx-benefits\">${benefitsHtml}<\/section>\n      <section class=\"nmx-feature-cards\">${featuresHtml}<\/section>\n\n      <section class=\"nmx-section\">\n        <h3>${item.technicalHeading || \"Technical specifications\"}<\/h3>\n        <div class=\"nmx-card-grid\">${technicalHtml}<\/div>\n      <\/section>\n\n      <section class=\"nmx-section\">\n        <h3>${item.lock?.heading || \"Locks mechanism\"}<\/h3>\n        <article class=\"nmx-single\">\n          <img decoding=\"async\" src=\"${item.lock?.hero || \"\"}\" alt=\"${item.lock?.title || \"\"}\">\n          <div class=\"nmx-pill-row\">${pillsHtml}<\/div>\n          <h4>${item.lock?.title || \"\"}<\/h4>\n          <p>${item.lock?.text || \"\"}<\/p>\n        <\/article>\n      <\/section>\n\n      ${blocksHtml}\n    `;\n  }\n\n  function syncRightToLeftHeight() {\n    const leftCard = document.querySelector(\".nmx-left-card\");\n    if (!leftCard || !rightScroller) return;\n    const h = Math.ceil(leftCard.getBoundingClientRect().height);\n    rightScroller.style.height = h + \"px\";\n    rightScroller.style.maxHeight = h + \"px\";\n  }\n\n  function setActive(key) {\n    activeKey = key;\n    const item = TABS[key];\n    renderOptions();\n    renderLeftMedia(item, key);\n    renderRight(item);\n    syncRightToLeftHeight();\n    if (rightScroller) rightScroller.scrollTop = 0;\n  }\n\n  optionGrid.addEventListener(\"click\", function (e) {\n    const btn = e.target.closest(\".nmx-option\");\n    if (!btn) return;\n    const key = btn.getAttribute(\"data-key\");\n    if (!TABS[key]) return;\n    setActive(key);\n  });\n\n  window.addEventListener(\"load\", syncRightToLeftHeight);\n  window.addEventListener(\"resize\", syncRightToLeftHeight);\n\n  setActive(activeKey);\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>High-Performance Non-Metallic Enclosures Engineered for harsh environments \u2014 UV resistant, impact proof, and electrically non-conductive. Find the right size and configuration for your application. SHOP NOW<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"rs_blank_template":"","rs_page_bg_color":"","slide_template_v7":"","footnotes":""},"class_list":["post-365143","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Polyster Enclosures - EXM Manufacturing<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/exmweb.com\/fr-ca\/polyster-enclosures\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Polyster Enclosures - EXM Manufacturing\" \/>\n<meta property=\"og:description\" content=\"High-Performance Non-Metallic Enclosures Engineered for harsh environments \u2014 UV resistant, impact proof, and electrically non-conductive. Find the right size and configuration for your application. SHOP NOW\" \/>\n<meta property=\"og:url\" content=\"https:\/\/exmweb.com\/fr-ca\/polyster-enclosures\/\" \/>\n<meta property=\"og:site_name\" content=\"EXM Manufacturing\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-01T00:49:32+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimation du temps de lecture\" \/>\n\t<meta name=\"twitter:data1\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/exmweb.com\\\/polyster-enclosures\\\/\",\"url\":\"https:\\\/\\\/exmweb.com\\\/polyster-enclosures\\\/\",\"name\":\"Polyster Enclosures - EXM Manufacturing\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/exmweb.com\\\/#website\"},\"datePublished\":\"2026-05-08T13:41:25+00:00\",\"dateModified\":\"2026-06-01T00:49:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/exmweb.com\\\/polyster-enclosures\\\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/exmweb.com\\\/polyster-enclosures\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/exmweb.com\\\/polyster-enclosures\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/exmweb.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Polyster Enclosures\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/exmweb.com\\\/#website\",\"url\":\"https:\\\/\\\/exmweb.com\\\/\",\"name\":\"EXM Manufacturing\",\"description\":\"EXM Manufacturing - Custom Enclosure\",\"publisher\":{\"@id\":\"https:\\\/\\\/exmweb.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/exmweb.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/exmweb.com\\\/#organization\",\"name\":\"EXM Manufacturing LTD\",\"url\":\"https:\\\/\\\/exmweb.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/exmweb.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/exmweb.com\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/logo-150x150-1.png\",\"contentUrl\":\"https:\\\/\\\/exmweb.com\\\/wp-content\\\/uploads\\\/2024\\\/07\\\/logo-150x150-1.png\",\"width\":150,\"height\":150,\"caption\":\"EXM Manufacturing LTD\"},\"image\":{\"@id\":\"https:\\\/\\\/exmweb.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/ca.linkedin.com\\\/company\\\/exm-manufacturing\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Polyster Enclosures - EXM Manufacturing","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/exmweb.com\/fr-ca\/polyster-enclosures\/","og_locale":"fr_CA","og_type":"article","og_title":"Polyster Enclosures - EXM Manufacturing","og_description":"High-Performance Non-Metallic Enclosures Engineered for harsh environments \u2014 UV resistant, impact proof, and electrically non-conductive. Find the right size and configuration for your application. SHOP NOW","og_url":"https:\/\/exmweb.com\/fr-ca\/polyster-enclosures\/","og_site_name":"EXM Manufacturing","article_modified_time":"2026-06-01T00:49:32+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimation du temps de lecture":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/exmweb.com\/polyster-enclosures\/","url":"https:\/\/exmweb.com\/polyster-enclosures\/","name":"Polyster Enclosures - EXM Manufacturing","isPartOf":{"@id":"https:\/\/exmweb.com\/#website"},"datePublished":"2026-05-08T13:41:25+00:00","dateModified":"2026-06-01T00:49:32+00:00","breadcrumb":{"@id":"https:\/\/exmweb.com\/polyster-enclosures\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/exmweb.com\/polyster-enclosures\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/exmweb.com\/polyster-enclosures\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/exmweb.com\/"},{"@type":"ListItem","position":2,"name":"Polyster Enclosures"}]},{"@type":"WebSite","@id":"https:\/\/exmweb.com\/#website","url":"https:\/\/exmweb.com\/","name":"EXM Manufacturing","description":"EXM Manufacturing - Custom Enclosure","publisher":{"@id":"https:\/\/exmweb.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/exmweb.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-CA"},{"@type":"Organization","@id":"https:\/\/exmweb.com\/#organization","name":"EXM Manufacturing LTD","url":"https:\/\/exmweb.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/exmweb.com\/#\/schema\/logo\/image\/","url":"https:\/\/exmweb.com\/wp-content\/uploads\/2024\/07\/logo-150x150-1.png","contentUrl":"https:\/\/exmweb.com\/wp-content\/uploads\/2024\/07\/logo-150x150-1.png","width":150,"height":150,"caption":"EXM Manufacturing LTD"},"image":{"@id":"https:\/\/exmweb.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/ca.linkedin.com\/company\/exm-manufacturing"]}]}},"_links":{"self":[{"href":"https:\/\/exmweb.com\/fr-ca\/wp-json\/wp\/v2\/pages\/365143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exmweb.com\/fr-ca\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/exmweb.com\/fr-ca\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/exmweb.com\/fr-ca\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/exmweb.com\/fr-ca\/wp-json\/wp\/v2\/comments?post=365143"}],"version-history":[{"count":27,"href":"https:\/\/exmweb.com\/fr-ca\/wp-json\/wp\/v2\/pages\/365143\/revisions"}],"predecessor-version":[{"id":365441,"href":"https:\/\/exmweb.com\/fr-ca\/wp-json\/wp\/v2\/pages\/365143\/revisions\/365441"}],"wp:attachment":[{"href":"https:\/\/exmweb.com\/fr-ca\/wp-json\/wp\/v2\/media?parent=365143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}