{"id":16258508,"date":"2025-04-24T05:03:09","date_gmt":"2025-04-24T09:03:09","guid":{"rendered":"https:\/\/moovair.com\/?page_id=16258508"},"modified":"2026-04-17T15:05:51","modified_gmt":"2026-04-17T19:05:51","slug":"thermopompe-meridian","status":"publish","type":"page","link":"https:\/\/moovair.com\/fr-ca\/thermopompe-meridian\/","title":{"rendered":"Thermopompe Meridian (Avanc\u00e9)"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbd50c1bc5-13b0-4764-b297-558025908a7b\u00a0\u00bb background_image=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/Moovair-Meridian-Desktop-Banner-1.png\u00a0\u00bb background_position=\u00a0\u00bbcenter_left\u00a0\u00bb background_image_tablet=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/Moovair-Meridian-Mobile-Banner-1.png\u00a0\u00bb background_image_phone=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/Moovair-Meridian-Mobile-Banner-1.png\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_row column_structure=\u00a0\u00bb3_5,2_5&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb background_color=\u00a0\u00bbrgba(41,48,60,0.85)\u00a0\u00bb max_width=\u00a0\u00bb1360px\u00a0\u00bb custom_padding=\u00a0\u00bb||||false|false\u00a0\u00bb custom_css_main_element=\u00a0\u00bbdisplay: flex;||justify-content: center;||align-items: center;\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb custom_css_main_element_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb custom_css_main_element_phone=\u00a0\u00bbdisplay: block;\u00a0\u00bb custom_css_main_element_tablet=\u00a0\u00bbdisplay: flex;||justify-content: center;||align-items: center;\u00a0\u00bb][et_pb_column type=\u00a0\u00bb3_5&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_font=\u00a0\u00bbCera Pro Black|900||on|||||\u00a0\u00bb header_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_font_size=\u00a0\u00bb70px\u00a0\u00bb header_2_font=\u00a0\u00bbCera Pro|700||on|||||\u00a0\u00bb header_2_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_2_font_size=\u00a0\u00bb42px\u00a0\u00bb header_3_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb header_3_font_size=\u00a0\u00bb28px\u00a0\u00bb header_3_line_height=\u00a0\u00bb1.1em\u00a0\u00bb background_color=\u00a0\u00bbRGBA(255,255,255,0)\u00a0\u00bb custom_margin=\u00a0\u00bb||||false|false\u00a0\u00bb custom_margin_tablet=\u00a0\u00bb-60px||||false|false\u00a0\u00bb custom_margin_phone=\u00a0\u00bb||||false|false\u00a0\u00bb custom_margin_last_edited=\u00a0\u00bbon|desktop\u00a0\u00bb custom_padding=\u00a0\u00bb|||25px|false|false\u00a0\u00bb custom_padding_tablet=\u00a0\u00bb80px|25px|||false|false\u00a0\u00bb custom_padding_phone=\u00a0\u00bb|15px||15px|false|false\u00a0\u00bb custom_padding_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb animation_style=\u00a0\u00bbfade\u00a0\u00bb header_font_size_tablet=\u00a0\u00bb48px\u00a0\u00bb header_font_size_phone=\u00a0\u00bb28px\u00a0\u00bb header_font_size_last_edited=\u00a0\u00bbon|desktop\u00a0\u00bb header_2_font_size_tablet=\u00a0\u00bb42px\u00a0\u00bb header_2_font_size_phone=\u00a0\u00bb24px\u00a0\u00bb header_2_font_size_last_edited=\u00a0\u00bbon|tablet\u00a0\u00bb header_3_font_size_tablet=\u00a0\u00bb24px\u00a0\u00bb header_3_font_size_phone=\u00a0\u00bb20px\u00a0\u00bb header_3_font_size_last_edited=\u00a0\u00bbon|desktop\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<p><!--<\/p>\n\n\n\n\n<h1 style=\"font-family: Cera Pro Black;\">Meridian <span style=\"font-family: Cera Pro;\">(Avanc\u00e9)<\/span><\/h1>\n\n\n\n\n<h2>Confort et excellent rapport qualit\u00e9-prix<\/h2>\n\n\n\n\n<h3>Jusqu\u2019\u00e0 27,4 TR\u00c9S2 | 9,8 CPSC2, r\u00e9gion 5 | Chauffage jusqu\u2019\u00e0 -30\u00b0C<\/h3>\n\n\n\n\n<p>--><br \/><span style=\"font-family: 'Cera Pro Black', Helvetica, Arial, Lucida, sans-serif; font-weight: 900; text-transform: uppercase; line-height: 1; font-size: 3rem; color: #ffffff !important;\">Meridian <span style=\"font-family: Cera Pro;\">(Avanc\u00e9)<\/span><\/span><\/p>\n<p style=\"padding-bottom: 20px; line-height: 1; font-family: 'Cera Pro', Helvetica, Arial, Lucida, sans-serif; font-weight: bold; text-transform: uppercase; font-size: 2rem; color: #ffffff !important;\">Confort et excellent rapport qualit\u00e9-prix<\/p>\n<p style=\"font-size: 1.2rem; color: #ffffff !important; line-height: 1.1em;\">Jusqu\u2019\u00e0 27,4 TR\u00c9S2 | 9,8 CPSC2, r\u00e9gion 5 | Chauffage jusqu\u2019\u00e0 -30\u00b0C<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00a0\u00bb2_5&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/1000px_single-fanMERIDIAN.png\u00a0\u00bb alt=\u00a0\u00bbMoovair &#8211; Thermopompe Meridian\u00a0\u00bb title_text=\u00a0\u00bb1000px_single-fanMERIDIAN\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb width=\u00a0\u00bb500px\u00a0\u00bb max_width=\u00a0\u00bb100%\u00a0\u00bb max_width_tablet=\u00a0\u00bb80%\u00a0\u00bb max_width_phone=\u00a0\u00bb75%\u00a0\u00bb max_width_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00a0\u00bb1&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbcbebb943-82e8-4ec0-947d-cf77e34c50de\u00a0\u00bb custom_margin=\u00a0\u00bb0px|0px|0px|0px|false|false\u00a0\u00bb custom_padding=\u00a0\u00bb10px|0px|10px|0px|false|false\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_row _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_padding=\u00a0\u00bb50px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb header_font=\u00a0\u00bb||||on|||#e35425|\u00a0\u00bb header_font_size=\u00a0\u00bb44px\u00a0\u00bb header_2_font=\u00a0\u00bb|700||||||#e35425|solid\u00a0\u00bb header_font_size_tablet=\u00a0\u00bb28px\u00a0\u00bb header_font_size_phone=\u00a0\u00bb30px\u00a0\u00bb header_font_size_last_edited=\u00a0\u00bbon|desktop\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<!--\n\n\n<h2 style=\"text-transform: uppercase; display: inline-block; border-bottom: 4px solid #e35425; padding-bottom: 4px;\">L\u2019\u00e9quilibre parfait entre puissance et efficacit\u00e9 pour un chauffage stable par grand froid.<\/h2>\n\n\n--><\/p>\n<h1 style=\"text-decoration:none; text-transform: uppercase; display: inline-block; padding-bottom: 4px;\">Une performance puissante toute l\u2019ann\u00e9e \u2013 Une cr\u00e9ation de MERIDIAN<\/h1>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_2,1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_code _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb]<style class=\"wpcode-css-snippet\">:not(:defined)>* {\r\n    display: none;\r\n}\r\n\r\n.test-div {\r\n  width: 80%;\r\n  height: 80%;\r\n}\r\n\r\n\r\n\/* Responsive model-viewer *\/\r\nmodel-viewer {\r\n    width: 100%;\r\n    max-width: 640px;\r\n    height: auto;\r\n    aspect-ratio: 4 \/ 3; \/* Keeps proper proportions on all screens *\/\r\n    margin: 0 auto;\r\n    border-radius: 10px;\r\n    background-color: #fff;\r\n    box-sizing: border-box;\r\n    position: relative;\r\n}\r\n\r\n\/* Tablet *\/\r\n@media (min-width: 768px) and (max-width: 1024px) {\r\n    model-viewer {\r\n        width: 90%;\r\n        max-width: 720px;\r\n        aspect-ratio: 4 \/ 3;\r\n    }\r\n}\r\n\r\n\/* Desktop *\/\r\n@media (min-width: 1025px) {\r\n    model-viewer {\r\n        width: 680px;\r\n        height: 540px; \/* Desktop fixed size *\/\r\n        aspect-ratio: unset;\r\n    }\r\n}\r\n\r\n#ar-button {\r\n    background-image: url(https:\/\/cdn2.moovair.com\/ar\/_assets\/ic_view_in_ar_new_googblue_48dp.png);\r\n    background-repeat: no-repeat;\r\n    background-size: 20px 20px;\r\n    background-position: 12px 50%;\r\n    background-color: #fff;\r\n    position: absolute;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    white-space: nowrap;\r\n    bottom: 20px;\r\n    padding: 0px 16px 0px 40px;\r\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif;\r\n    font-size: 14px;\r\n    font-weight: 500;\r\n    color: #4285f4;\r\n    height: 36px;\r\n    line-height: 36px;\r\n    border-radius: 18px;\r\n    border: 1px solid #DADCE0;\r\n}\r\n\r\n#ar-button:active {\r\n    background-color: #E8EAED;\r\n}\r\n\r\n#ar-button:focus {\r\n    outline: none;\r\n}\r\n\r\n#ar-button:focus-visible {\r\n    outline: 1px solid #4285f4;\r\n}\r\n\r\n#logo-overlay {\r\n    position: absolute;\r\n    \/* KEY CHANGE: Reduced bottom padding from 20px to 10px *\/\r\n    bottom: -42px;\r\n    right: 10px;\r\n    width: 80px;\r\n    height: 80px;\r\n    object-fit: contain;\r\n    border-radius: 8px;\r\n    pointer-events: none;\r\n}\r\n\r\n.sel {\r\n  margin-top: -15px;\r\n  margin-left: 30px;\r\n  float: left;\r\n  width: 30vw;\r\n  \/* position: absolute; *\/\r\n  \/* display: inline-block; *\/\r\n  \/* left: 175px; *\/\r\n  \/* font-family: Arial, Helvetica, sans-serif; *\/\r\n  \/* background-color: rgb(147, 200, 147); *\/\r\n}\r\n\r\n.label {    \/* capacity *\/\r\n  \/* background-color: red; *\/\r\n  \/* display: inline-block; *\/\r\n  \/* height: 20px; *\/\r\n  \/* width: 78px; *\/\r\n  \/* width: 50vw; *\/\r\n  width: 100%;\r\n  text-align: left;\r\n  vertical-align: middle;\r\n  margin-bottom: 8px;\r\n  font-size: 1.8vh;\r\n  float: left;\r\n  clear: both;\r\n  \/* height: 50%; *\/\r\n\r\n  }\r\n\r\n.dropdown {\r\n  float: left;\r\n  background-color: white;\r\n  clear: both;\r\n  height: 2.5vh;\r\n  \/* width: 50vw; *\/\r\n  \/* width: 100%; *\/\r\n  \/* font-size: 1rem; *\/\r\n  font-size: 1.6vh;\r\n}\r\n\r\n.dropdown option {\r\n   \/* font-size: 1rem; *\/\r\n   font-size: 11pt;\r\n   \/* font-size: 1.6vh; *\/\r\n}\r\n\r\n.btns {\r\n  \/* position: relative; *\/\r\n  position: absolute;\r\n  \/* width: 90%; *\/\r\n  \/* width: 100px; *\/\r\n  \/* height: 50px; *\/\r\n  height: 5vh;\r\n  width: 100vw;\r\n  bottom: 0;\r\n  margin-bottom: 0;\r\n  \/* background-color: rgb(115, 0, 255); *\/\r\n  overflow: visible;\r\n margin-bottom:30px;\r\n}\r\n\r\n\/* measure button *\/\r\n.b1, .b2, .b3 {   \r\n  \/* position: absolute; *\/\r\n  \/* display: inline-block; *\/\r\n  \/* left: 110px; *\/\r\n  margin-left: 30px;\r\n  float: left;\r\n  white-space: nowrap;\r\n  height: 100%;\r\n}\r\n\r\n  .dot {\r\n    display: none;\r\n  }\r\n  \r\n  .glass {\r\n    background: rgba(255, 255, 255, 0.37);\r\n    backdrop-filter: blur(8px) contrast(0.89) saturate(1.27);\r\n    -webkit-backdrop-filter: blur(8px) contrast(0.89) saturate(1.27);\r\n    border: 1px solid rgba(255, 255, 255, 0.4);\r\n    padding: 0.5rem;\r\n    border-radius: 0.5rem;\r\n  }\r\n  \r\n  .dim {\r\n    border-radius: 4px;\r\n    border: none;\r\n    box-sizing: border-box;\r\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);\r\n    color: rgba(0, 0, 0, 0.8);\r\n    display: block;\r\n    font-family: Futura, Helvetica Neue, sans-serif;\r\n    \/* font-size: 1em; *\/\r\n    font-size: 1.6vh;\r\n    font-weight: 700;\r\n    max-width: 128px;\r\n    overflow-wrap: break-word;\r\n    padding: 8px;\r\n    position: absolute;\r\n    width: max-content;\r\n    height: max-content;\r\n    transform: translate3d(-50%, -50%, 0);\r\n    pointer-events: none;\r\n    --min-hotspot-opacity: 0;\r\n  }\r\n  \r\n  \/* @media only screen and (max-width: 800px) {\r\n    .dim {\r\n      font-size: 3vw;\r\n    }\r\n  } *\/\r\n  \r\n  .dimensionLineContainer {\r\n    pointer-events: none;\r\n    display: block;\r\n  }\r\n  \r\n  .dimensionLine {\r\n    stroke: #16a5e6;\r\n    stroke-width: 2;\r\n    stroke-dasharray: 2;\r\n  }\r\n  \r\n  .hide {\r\n    display: none;\r\n  }\r\n\r\n  :not(:defined)>* {\r\n    display: none;\r\n  }\r\n  \r\n  #ar-button {\r\n    background-image: url(https:\/\/cdn2.moovair.com\/ar\/_assets\/ic_view_in_ar_new_googblue_48dp.png);\r\n    background-repeat: no-repeat;\r\n    background-size: 20px 20px;\r\n    background-position: 12px 50%;\r\n    background-color: #fff;\r\n    position: absolute;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    white-space: nowrap;\r\n    bottom: 132px;\r\n    padding: 0px 16px 0px 40px;\r\n    font-family: Roboto Regular, Helvetica Neue, sans-serif;\r\n    font-size: 14px;\r\n    color:#4285f4;\r\n    height: 36px;\r\n    line-height: 36px;\r\n    border-radius: 18px;\r\n    border: 1px solid #DADCE0;\r\n  }\r\n\r\n  #ar-button:active {\r\n    background-color: #E8EAED;\r\n  }\r\n\r\n  #ar-button:focus {\r\n    outline: none;\r\n  }\r\n\r\n  #ar-button:focus-visible {\r\n    outline: 1px solid #4285f4;\r\n  }\r\n\r\n  @keyframes circle {\r\n    from { transform: translateX(-50%) rotate(0deg) translateX(50px) rotate(0deg); }\r\n    to   { transform: translateX(-50%) rotate(360deg) translateX(50px) rotate(-360deg); }\r\n  }\r\n\r\n  @keyframes elongate {\r\n    from { transform: translateX(100px); }\r\n    to   { transform: translateX(-100px); }\r\n  }\r\n\r\n  model-viewer > #ar-prompt {\r\n    position: absolute;\r\n    left: 50%;\r\n    bottom: 175px;\r\n    animation: elongate 2s infinite ease-in-out alternate;\r\n    display: none;\r\n  }\r\n\r\n  model-viewer[ar-status=\"session-started\"] > #ar-prompt {\r\n    display: block;\r\n  }\r\n\r\n  model-viewer > #ar-prompt > img {\r\n    animation: circle 4s linear infinite;\r\n  }\r\n\r\n  model-viewer > #ar-failure {\r\n    position: absolute;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    bottom: 175px;\r\n    display: none;\r\n  }\r\n\r\n  model-viewer[ar-tracking=\"not-tracking\"] > #ar-failure {\r\n    display: block;\r\n  }<\/style>[\/et_pb_code][et_pb_code _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb]<!--<link rel=\"stylesheet\" href=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/moovair.css\"> --><!-- [et_pb_line_break_holder] --><!--<script type=\"module\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/moovair.js\"><\/script> --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->let base_URL = \"https:\/\/cdn2.moovair.com\/ar\/ar\/\";<!-- [et_pb_line_break_holder] --> \/\/ let base_URL = \"ar\/ar\/\";   \/\/ for local tests<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  let type_model = \"outdoor\";<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  let use_two_outdoor_buttons = false;   \/\/ example: Myriad<!-- [et_pb_line_break_holder] -->  \/\/ let use_two_indoor_buttons = false;   \/\/ example: Mix moov <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  let capacities = [];<!-- [et_pb_line_break_holder] -->  let widths = [];<!-- [et_pb_line_break_holder] -->  let deeps = [];<!-- [et_pb_line_break_holder] -->  let heights = [];<!-- [et_pb_line_break_holder] -->  let offsets = [];<!-- [et_pb_line_break_holder] -->  let explodes = [];<!-- [et_pb_line_break_holder] -->  let enable_b = [];<!-- [et_pb_line_break_holder] -->  let glbs = [];<!-- [et_pb_line_break_holder] -->  let usdz = [];<!-- [et_pb_line_break_holder] -->  let consolle = [];<!-- [et_pb_line_break_holder] -->  let cassette = [];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ TO DISABLE A DROPBOX ELEMENT ONLY SET NAME EMPTY<!-- [et_pb_line_break_holder] -->  \/\/ SET ADITIONAL ANIM TO TRUE WHEN IN A DOUBLE FAN MODEL ONLY A FAN ROTATE<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ OUTDOORS 1<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ OUTDOOR A<!-- [et_pb_line_break_holder] -->  let outdoor_a = \"meridian_x3\";<!-- [et_pb_line_break_holder] -->  capacities[outdoor_a] = \"9k\/12K BTU\";<!-- [et_pb_line_break_holder] -->  glbs[outdoor_a] = base_URL + outdoor_a + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[outdoor_a] = base_URL + outdoor_a + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[outdoor_a ] = \"31.7 in\";<!-- [et_pb_line_break_holder] -->  deeps[outdoor_a] = \"13in\";<!-- [et_pb_line_break_holder] -->  heights[outdoor_a] = \"21.8 in\";<!-- [et_pb_line_break_holder] -->  offsets[outdoor_a] = 0.5;<!-- [et_pb_line_break_holder] -->  explodes[outdoor_a] = false;<!-- [et_pb_line_break_holder] -->  cassette[outdoor_a] = false;<!-- [et_pb_line_break_holder] -->  consolle[outdoor_a] = false;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ OUTDOOR B<!-- [et_pb_line_break_holder] -->  let outdoor_b = \"meridian_x4\";<!-- [et_pb_line_break_holder] -->  capacities[outdoor_b] = \"15k\/18K\/24k BTU\";<!-- [et_pb_line_break_holder] -->  glbs[outdoor_b] = base_URL + outdoor_b + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[outdoor_b] = base_URL + outdoor_b + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[outdoor_b ] = \"35 in\";<!-- [et_pb_line_break_holder] -->  deeps[outdoor_b] = \"13.5 in\";<!-- [et_pb_line_break_holder] -->  heights[outdoor_b] = \"26.5 in\";<!-- [et_pb_line_break_holder] -->  offsets[outdoor_b] = 1.0;<!-- [et_pb_line_break_holder] -->  explodes[outdoor_b] = false;<!-- [et_pb_line_break_holder] -->  cassette[outdoor_b] = false;<!-- [et_pb_line_break_holder] -->  consolle[outdoor_b] = false;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ OUTDOOR C<!-- [et_pb_line_break_holder] -->  let outdoor_c = \"meridian_d\";<!-- [et_pb_line_break_holder] -->  capacities[outdoor_c] = \"33K BTU\";<!-- [et_pb_line_break_holder] -->  glbs[outdoor_c] = base_URL + outdoor_c + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[outdoor_c] = base_URL + outdoor_c + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[outdoor_c ] = \"37.2 in\";<!-- [et_pb_line_break_holder] -->  deeps[outdoor_c] = \"16.1 in\";<!-- [et_pb_line_break_holder] -->  heights[outdoor_c] = \"31.9 in\";<!-- [et_pb_line_break_holder] -->  offsets[outdoor_c] = 1.0;<!-- [et_pb_line_break_holder] -->  explodes[outdoor_c] = false;<!-- [et_pb_line_break_holder] -->  cassette[outdoor_c] = false;<!-- [et_pb_line_break_holder] -->  consolle[outdoor_c] = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ OUTDOOR D<!-- [et_pb_line_break_holder] -->  let outdoor_d = \"\";<!-- [et_pb_line_break_holder] -->  capacities[outdoor_d] = \"\";<!-- [et_pb_line_break_holder] -->  glbs[outdoor_d] = base_URL + outdoor_d + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[outdoor_d] = base_URL + outdoor_d + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[outdoor_d ] = \"\";<!-- [et_pb_line_break_holder] -->  deeps[outdoor_d] = \"\";<!-- [et_pb_line_break_holder] -->  heights[outdoor_d] = \"\";<!-- [et_pb_line_break_holder] -->  offsets[outdoor_d] = 0.2;<!-- [et_pb_line_break_holder] -->  explodes[outdoor_d] = false;<!-- [et_pb_line_break_holder] -->  cassette[outdoor_d] = false;<!-- [et_pb_line_break_holder] -->  consolle[outdoor_d] = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ -----------------------------------------------------------<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/ OUTDOORS 2  \/\/ only Myriad<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ OUTDOOR 2 A<!-- [et_pb_line_break_holder] -->  let outdoor_2_a = \"\";<!-- [et_pb_line_break_holder] -->  capacities[outdoor_2_a] = \"\";<!-- [et_pb_line_break_holder] -->  glbs[outdoor_2_a] = base_URL + outdoor_2_a + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[outdoor_2_a] = base_URL + outdoor_2_a + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[outdoor_2_a ] = \"35.04 in\";<!-- [et_pb_line_break_holder] -->  deeps[outdoor_2_a] = \"13.46 in\";<!-- [et_pb_line_break_holder] -->  heights[outdoor_2_a] = \"12.5 in\";<!-- [et_pb_line_break_holder] -->  offsets[outdoor_2_a] = 0.5;<!-- [et_pb_line_break_holder] -->  explodes[outdoor_2_a] = false;<!-- [et_pb_line_break_holder] -->  cassette[outdoor_2_a] = false;<!-- [et_pb_line_break_holder] -->  consolle[outdoor_2_a] = false;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ OUTDOOR 2 B<!-- [et_pb_line_break_holder] -->  let outdoor_2_b = \"\";<!-- [et_pb_line_break_holder] -->  capacities[outdoor_2_b] = \"\";<!-- [et_pb_line_break_holder] -->  glbs[outdoor_2_b] = base_URL + outdoor_2_b + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[outdoor_2_b] = base_URL + outdoor_2_b + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[outdoor_2_b ] = \"035.04 in\";<!-- [et_pb_line_break_holder] -->  deeps[outdoor_2_b] = \"013.46 in\";<!-- [et_pb_line_break_holder] -->  heights[outdoor_2_b] = \"012.5 in\";<!-- [et_pb_line_break_holder] -->  offsets[outdoor_2_b] = 1.0;<!-- [et_pb_line_break_holder] -->  explodes[outdoor_2_b] = false;<!-- [et_pb_line_break_holder] -->  cassette[outdoor_2_b] = false;<!-- [et_pb_line_break_holder] -->  consolle[outdoor_2_b] = false;<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ OUTDOOR 2 C<!-- [et_pb_line_break_holder] -->  let outdoor_2_c = \"\";<!-- [et_pb_line_break_holder] -->  capacities[outdoor_2_c] = \"\";<!-- [et_pb_line_break_holder] -->  glbs[outdoor_2_c] = base_URL + outdoor_2_c + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[outdoor_2_c] = base_URL + outdoor_2_c + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[outdoor_2_c ] = \"40 in\";<!-- [et_pb_line_break_holder] -->  deeps[outdoor_2_c] = \"40 in\";<!-- [et_pb_line_break_holder] -->  heights[outdoor_2_c] = \"40 in\";<!-- [et_pb_line_break_holder] -->  offsets[outdoor_2_c] = 1.0;<!-- [et_pb_line_break_holder] -->  explodes[outdoor_2_c] = false;<!-- [et_pb_line_break_holder] -->  cassette[outdoor_2_c] = false;<!-- [et_pb_line_break_holder] -->  consolle[outdoor_2_c] = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ OUTDOOR 2 D<!-- [et_pb_line_break_holder] -->  let outdoor_2_d = \"\";<!-- [et_pb_line_break_holder] -->  capacities[outdoor_2_d] = \"\";<!-- [et_pb_line_break_holder] -->  glbs[outdoor_2_d] = base_URL + outdoor_2_d + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[outdoor_2_d] = base_URL + outdoor_2_d + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[outdoor_2_d ] = \"\";<!-- [et_pb_line_break_holder] -->  deeps[outdoor_2_d] = \"\";<!-- [et_pb_line_break_holder] -->  heights[outdoor_2_d] = \"\";<!-- [et_pb_line_break_holder] -->  offsets[outdoor_2_d] = 0.2;<!-- [et_pb_line_break_holder] -->  explodes[outdoor_2_d] = false;<!-- [et_pb_line_break_holder] -->  cassette[outdoor_2_d] = false;<!-- [et_pb_line_break_holder] -->  consolle[outdoor_2_d] = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/\/ -----------------------------------------------------------<!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  \/\/ INDOOR A<!-- [et_pb_line_break_holder] -->  let indoor_a = \"m-series-wall-mounted-with-sensor\";<!-- [et_pb_line_break_holder] -->  glbs[indoor_a] = base_URL + indoor_a + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[indoor_a] = base_URL + indoor_a + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[indoor_a] = \"40 in\";<!-- [et_pb_line_break_holder] -->  deeps[indoor_a] = \"9.8 in\";<!-- [et_pb_line_break_holder] -->  heights[indoor_a] = \"12.6 in\";<!-- [et_pb_line_break_holder] -->  offsets[indoor_a]  = 10;<!-- [et_pb_line_break_holder] -->  explodes[indoor_a] = true;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ INDOOR B<!-- [et_pb_line_break_holder] -->  let indoor_b = \"\";<!-- [et_pb_line_break_holder] -->  glbs[indoor_b] = base_URL + indoor_b + \".glb\";<!-- [et_pb_line_break_holder] -->  usdz[indoor_b] = base_URL + indoor_b + \".usdz\";<!-- [et_pb_line_break_holder] -->  widths[indoor_b] = \"40 in\";<!-- [et_pb_line_break_holder] -->  deeps[indoor_b] = \"9.7 in\";<!-- [et_pb_line_break_holder] -->  heights[indoor_b] = \"26.5 in\";<!-- [et_pb_line_break_holder] -->  offsets[indoor_b]  = 10;<!-- [et_pb_line_break_holder] -->  explodes[indoor_b] = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><model-viewer id=\"viewer\" alt=\"Moovair Meridian\" src=\"\" autoplay ar environment-image=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/neutral.hdr\" poster=\"\" shadow-intensity=\"1\" camera-controls touch-action=\"pan-y\" ios-src=\"\" xr-environment><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dot+X-Y+Z\" class=\"dot\" data-position=\"1 -1 1\" data-normal=\"1 0 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dot+X-Y-Z\" class=\"dot\" data-position=\"1 -1 -1\" data-normal=\"1 0 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dot+X+Y-Z\" class=\"dot\" data-position=\"1 1 -1\" data-normal=\"0 1 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dot-X+Y-Z\" class=\"dot\" data-position=\"-1 1 -1\" data-normal=\"0 1 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dot-X-Y-Z\" class=\"dot\" data-position=\"-1 -1 -1\" data-normal=\"-1 0 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dot-X-Y+Z\" class=\"dot\" data-position=\"-1 -1 1\" data-normal=\"-1 0 0\"><\/button><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dim+X-Y\" class=\"dim\" data-position=\"1 -1 0\" data-normal=\"1 0 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dim+X-Z\" class=\"dim\" data-position=\"1 0 -1\" data-normal=\"1 0 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dim+Y-Z\" class=\"dim\" data-position=\"0 -1 -1\" data-normal=\"0 1 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dim-X-Z\" class=\"dim\" data-position=\"-1 0 -1\" data-normal=\"-1 0 0\"><\/button><!-- [et_pb_line_break_holder] -->    <button slot=\"hotspot-dim-X-Y\" class=\"dim\" data-position=\"-1 -1 0\" data-normal=\"-1 0 0\"><\/button><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <svg id=\"dimLines\" width=\"100%\" height=\"100%\" xmlns=\"https:\/\/www.w3.org\/2000\/svg\" class=\"dimensionLineContainer\"><!-- [et_pb_line_break_holder] -->      <line class=\"dimensionLine\"><\/line><!-- [et_pb_line_break_holder] -->      <line class=\"dimensionLine\"><\/line><!-- [et_pb_line_break_holder] -->      <line class=\"dimensionLine\"><\/line><!-- [et_pb_line_break_holder] -->      <line class=\"dimensionLine\"><\/line><!-- [et_pb_line_break_holder] -->      <line class=\"dimensionLine\"><\/line><!-- [et_pb_line_break_holder] -->    <\/svg><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"thebtns\" class=\"btns\"><!-- [et_pb_line_break_holder] -->      <input id=\"button_outdoor_A\" class=\"b3 hide\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/outdoor.png\"\/><!-- [et_pb_line_break_holder] -->      <input id=\"button_myriad\" class=\"b3 hide\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/myriad.png\"\/><!-- [et_pb_line_break_holder] -->      <input id=\"button_myriad_plus\" class=\"b3 hide\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/myriad_plus.png\"\/><!-- [et_pb_line_break_holder] -->      <input id=\"button_indoor_A\" class=\"b3\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/indoor.png\"\/><!-- [et_pb_line_break_holder] -->      <input id=\"button_console\" class=\"b3 hide\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/console.png\"\/><!-- [et_pb_line_break_holder] -->      <input id=\"button_cassette\" class=\"b3 hide\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/cassette.png\"\/><!-- [et_pb_line_break_holder] -->      <input id=\"button_measure\" class=\"b1\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/measure.png\"\/><!-- [et_pb_line_break_holder] -->      <input id=\"button_explode\" class=\"b2 hide\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/explode.png\"\/><!-- [et_pb_line_break_holder] -->      <input id=\"button_implode\" class=\"b2 hide\" type=\"image\" src=\"https:\/\/cdn2.moovair.com\/ar\/_assets\/icons\/implode.png\"\/><!-- [et_pb_line_break_holder] -->      <\/p>\n<div id=\"sel_div\" class=\"sel hide\"><!-- [et_pb_line_break_holder] -->      <label class=\"label\">Puissance nominale<\/label><!-- [et_pb_line_break_holder] -->      <select id=\"capacity_select\" class=\"dropdown\"><\/select><!-- [et_pb_line_break_holder] -->      <select id=\"capacity_select2\" class=\"dropdown hide\"><\/select><!-- [et_pb_line_break_holder] -->     <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  <\/model-viewer>[\/et_pb_code][et_pb_code _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb]<script>let model_name = \"EMPTY\";\r\nlet model_url = \"EMPTY\";\r\nlet model_usdz = \"EMPTY\";\r\nlet model_glb = \"EMPTY\";\r\nlet width = \"-\";\r\nlet deep = \"-\";\r\nlet height = \"-\";\r\nlet offset = 0;\r\nlet enable_explode = false;\r\nlet center;\r\nlet size;\r\nlet offset_x;\r\nlet offset_y;\r\nlet offset_z;\r\nlet x2;\r\nlet y2;\r\nlet z2;\r\nlet actual_model = outdoor_a;\r\nlet value = outdoor_a;\r\n\r\nlet previus_model = actual_model;\r\nconsole.log(\"model glb: \" + glbs[actual_model]);\r\n\r\nlet show_dimensions = false;\r\nlet model_status = \"implode\";\r\n\r\nconst modelViewer = document.getElementById(\"viewer\");\r\ndocument.getElementById(\"viewer\").setAttribute(\"src\", glbs[actual_model]);\r\n\r\nconst sel_div = document.getElementById(\"sel_div\");\r\nconst select = document.getElementById(\"capacity_select\");\r\nconst select2 = document.getElementById(\"capacity_select2\"); \/\/ Myriad\r\nlet select_changes = 0;\r\n\r\n\/\/-----------------------------------------------------------------------------------------------------\r\n\r\nwindow.onload = function () {\r\n  console.log(\"The website is fully loaded!\");\r\n\r\n  const button_explode = document.getElementById(\"button_explode\");\r\n  const button_implode = document.getElementById(\"button_implode\");\r\n\r\n  const button_measure = document.getElementById(\"button_measure\");\r\n\r\n  const button_indoor_A = document.getElementById(\"button_indoor_A\");\r\n  const button_outdoor_A = document.getElementById(\"button_outdoor_A\");\r\n\r\n  const button_myriad = document.getElementById(\"button_myriad\");\r\n  const button_myriad_plus = document.getElementById(\"button_myriad_plus\");\r\n\r\n  const button_console = document.getElementById(\"button_console\");\r\n  const button_cassette = document.getElementById(\"button_cassette\");\r\n\r\n  sel_div.classList.remove(\"hide\");\r\n\r\n  \/\/ Myriad\r\n  if (use_two_outdoor_buttons) {\r\n    button_outdoor_A.classList.add(\"hide\");\r\n    button_indoor_A.classList.add(\"hide\");\r\n    button_myriad_plus.classList.remove(\"hide\");\r\n  } else {\r\n    \/\/ button_outdoor_A.classList.remove(\"hide\");\r\n    \/\/ button_indoor_A.classList.remove(\"hide\");\r\n    \/\/ button_myriad_plus.classList.remove(\"hide\");\r\n  }\r\n\r\n  const dimLines = modelViewer.querySelectorAll(\"line\");\r\n\r\n  const renderSVG = () => {\r\n    drawLine(\r\n      dimLines[0],\r\n      modelViewer.queryHotspot(\"hotspot-dot+X-Y+Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot+X-Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim+X-Y\")\r\n    );\r\n    drawLine(\r\n      dimLines[1],\r\n      modelViewer.queryHotspot(\"hotspot-dot+X-Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot+X+Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim+X-Z\")\r\n    );\r\n\r\n    drawLine(\r\n      dimLines[2],\r\n      modelViewer.queryHotspot(\"hotspot-dot+X+Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot-X+Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim+Y-Z\")\r\n    ); \/\/ FIX LINE WIDTH\r\n\r\n    drawLine(\r\n      dimLines[3],\r\n      modelViewer.queryHotspot(\"hotspot-dot-X+Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot-X-Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim-X-Z\")\r\n    );\r\n    drawLine(\r\n      dimLines[4],\r\n      modelViewer.queryHotspot(\"hotspot-dot-X-Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot-X-Y+Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim-X-Y\")\r\n    );\r\n  };\r\n\r\n  modelViewer.addEventListener(\"camera-change\", renderSVG);\r\n\r\n  function set_option(option, dropdown) {\r\n    if (option !== \"\") {\r\n      var opt = document.createElement(\"option\");\r\n      opt.value = option;\r\n      opt.innerHTML = capacities[option];\r\n      dropdown.appendChild(opt);\r\n    }\r\n  }\r\n\r\n  set_option(outdoor_a, select);\r\n  set_option(outdoor_b, select);\r\n  set_option(outdoor_c, select);\r\n  set_option(outdoor_d, select);\r\n\r\n  set_option(outdoor_2_a, select2);\r\n  set_option(outdoor_2_b, select2);\r\n  set_option(outdoor_2_c, select2);\r\n  set_option(outdoor_2_d, select2);\r\n\r\n  \/\/-----------------------------------------------------------------------------------------------\r\n\r\n  function changeSelect() {\r\n    select_changes += 1;\r\n\r\n    value = select.value;\r\n    console.log(\"Change Select: \" + value);\r\n    previus_model = actual_model;\r\n    actual_model = value;\r\n    show_dimensions = false;\r\n    setVisibility(show_dimensions);\r\n    width = widths[actual_model];\r\n    deep = deeps[actual_model];\r\n    height = heights[actual_model];\r\n    console.log(\r\n      \"width: \" + width + \" \/ deep: \" + deep + \" \/ height: \" + height\r\n    );\r\n\r\n    model_url = glbs[actual_model];\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  }\r\n\r\n  function changeSelect2() {\r\n    select_changes += 1;\r\n\r\n    value = select2.value;\r\n    console.log(\"Change Select2: \" + value);\r\n    previus_model = actual_model;\r\n    actual_model = value;\r\n    show_dimensions = false;\r\n    setVisibility(show_dimensions);\r\n    width = widths[actual_model];\r\n    deep = deeps[actual_model];\r\n    height = heights[actual_model];\r\n    console.log(\r\n      \"width: \" + width + \" \/ deep: \" + deep + \" \/ height: \" + height\r\n    );\r\n\r\n    model_url = glbs[actual_model];\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  }\r\n\r\n  select.addEventListener(\"change\", changeSelect);\r\n  select2.addEventListener(\"change\", changeSelect2);\r\n\r\n  \/\/--------------------------------------------------------------------------------------------------\r\n\/\/ New function to encapsulate dimension calculation\r\n\r\n  \r\n\tmodelViewer.addEventListener(\"load\", () => {\r\n    console.log(\r\n      \"VIEWER LOADED actual_model: \" + actual_model + \" type: \" + type_model\r\n    );\r\n\t\t\/\/ Call the new dimension calculation function\r\n  \r\n\r\n    show_dimensions = false;\r\ncenter = modelViewer.getBoundingBoxCenter();\r\n\t\t\r\n    setVisibility(show_dimensions);\r\n\r\n    model_status = \"implode\";\r\n\r\n    button_outdoor_A.classList.add(\"hide\");\r\n    button_indoor_A.classList.add(\"hide\");\r\n    button_explode.classList.add(\"hide\");\r\n    button_implode.classList.add(\"hide\");\r\n\r\n    \/\/center = modelViewer.getBoundingBoxCenter();\r\n\r\n    model_url = glbs[actual_model];\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n\r\n    if (enable_explode) {\r\n      console.log(\"enable explode\");\r\n      stopx();\r\n      button_explode.classList.remove(\"hide\");\r\n    } else {\r\n      console.log(\"running play\");\r\n      playx();\r\n    }\r\n\r\n    if (type_model == \"outdoor\") {\r\n      console.log(\"TYPE OUT DOOR\");\r\n      button_outdoor_A.classList.add(\"hide\");\r\n      button_indoor_A.classList.add(\"hide\");\r\n      button_cassette.classList.add(\"hide\");\r\n      button_console.classList.add(\"hide\");\r\n\r\n      sel_div.classList.remove(\"hide\");\r\n\r\n      if (consolle[actual_model]) {\r\n        console.log(\"CONSOLE TRUE\");\r\n        button_console.classList.remove(\"hide\");\r\n        sel_div.classList.remove(\"hide\");\r\n      }\r\n      if (cassette[actual_model]) {\r\n        console.log(\"CASSETTE TRUE\");\r\n        button_cassette.classList.remove(\"hide\");\r\n        sel_div.classList.remove(\"hide\");\r\n      }\r\n      if (!cassette[actual_model] && !consolle[actual_model]) {\r\n        console.log(\"NORMAL\");\r\n        button_indoor_A.classList.remove(\"hide\");\r\n      }\r\n    } else {\r\n      button_cassette.classList.add(\"hide\");\r\n      button_console.classList.add(\"hide\");\r\n      button_indoor_A.classList.add(\"hide\");\r\n      button_outdoor_A.classList.remove(\"hide\");\r\n      sel_div.classList.add(\"hide\");\r\n    }\r\n\r\n    \/\/ Myriad\r\n    if (use_two_outdoor_buttons) {\r\n      button_indoor_A.classList.add(\"hide\");\r\n\r\n      \/\/ button_outdoor_A.classList.add(\"hide\");\r\n      \/\/ button_myriad.classList.remove(\"hide\");\r\n      \/\/ button_myriad_plus.classList.remove(\"hide\");\r\n      \/\/ sel_div.classList.remove(\"hide\");\r\n    } else {\r\n    }\r\n\r\n    \/\/ Mix Moov Heat+\r\n    \/\/ if (use_two_indoor_buttons) {\r\n    \/\/   \/\/ button_indoor_A.classList.remove(\"hide\");\r\n    \/\/   \/\/ button_indoor_B.classList.remove(\"hide\");\r\n    \/\/ } else {\r\n    \/\/ }\r\n\r\n    width = widths[actual_model];\r\n    deep = deeps[actual_model];\r\n    height = heights[actual_model];\r\n    offset = offsets[actual_model];\r\n\r\n    size = modelViewer.getDimensions();\r\n    offset_x = (size.x * offset) \/ 100;\r\n    offset_y = (size.y * offset) \/ 100;\r\n    offset_z = (size.z * offset) \/ 100;\r\n    x2 = (size.x + offset_x) \/ 2;\r\n    y2 = (size.y + offset_y) \/ 2;\r\n    z2 = (size.z + offset_z) \/ 2;\r\n  });\r\n  \/\/  END MODEL LO-AD EVENT\r\n\r\n  button_explode.addEventListener(\"click\", explode);\r\n  button_implode.addEventListener(\"click\", implode);\r\n\r\n  const dimElements = [\r\n    ...modelViewer.querySelectorAll(\"button\"),\r\n    modelViewer.querySelector(\"#dimLines\"),\r\n  ];\r\n\r\n  function setVisibility(visible) {\r\n    console.log(\"set-Visibility: \" + visible);\r\n\t\r\n    dimElements.forEach((element) => {\r\n      if (visible) {\r\n       modelViewer.updateHotspot({\r\n        name: \"hotspot-dot+X-Y+Z\",\r\n         position: `${center.x + x2} ${center.y - y2} ${center.z + z2}`,\r\n       });\r\n           \r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim+X-Y\",\r\n          position: `${center.x + x2 * 1} ${center.y - y2 * 1} ${center.z}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim+X-Y\"]'\r\n        ).textContent = deep;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot+X-Y-Z\",\r\n          position: `${center.x + x2} ${center.y - y2} ${center.z - z2}`,\r\n        });\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim+X-Z\",\r\n          position: `${center.x + x2 * 1} ${center.y} ${center.z - z2 * 1}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim+X-Z\"]'\r\n        ).textContent = height;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot+X+Y-Z\",\r\n          position: `${center.x + x2} ${center.y + y2} ${center.z - z2}`,\r\n        });\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim+Y-Z\",\r\n          position: `${center.x} ${center.y + y2 * 1} ${center.z - z2 * 1}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim+Y-Z\"]'\r\n        ).textContent = width;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot-X+Y-Z\",\r\n          position: `${center.x - x2} ${center.y + y2} ${center.z - z2}`,\r\n        });\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim-X-Z\",\r\n          position: `${center.x - x2 * 1} ${center.y} ${center.z - z2 * 1}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim-X-Z\"]'\r\n        ).textContent = height;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot-X-Y-Z\",\r\n          position: `${center.x - x2} ${center.y - y2} ${center.z - z2}`,\r\n        });\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim-X-Y\",\r\n          position: `${center.x - x2 * 1} ${center.y - y2 * 1} ${center.z}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim-X-Y\"]'\r\n        ).textContent = deep;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot-X-Y+Z\",\r\n          position: `${center.x - x2} ${center.y - y2} ${center.z + z2}`,\r\n        });\r\n\r\n        renderSVG();\r\n\r\n        element.classList.remove(\"hide\");\r\n      } else {\r\n        element.classList.add(\"hide\");\r\n      }\r\n    });\r\n  }\r\n\r\n  button_measure.addEventListener(\"click\", () => {\r\n    console.log(\r\n      \"button measure pressed \/ model_status: \" +\r\n        model_status +\r\n        \" \/ width: \" +\r\n        width +\r\n        \" \/ deep: \" +\r\n        deep +\r\n        \" \/ height: \" +\r\n        height\r\n    );\r\n  \r\n    if (model_status == \"implode\") {\r\n      show_dimensions = !show_dimensions;\r\n      setVisibility(show_dimensions);\r\n    }\r\n\r\n  });\r\n\r\n  button_outdoor_A.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button A pressed\");\r\n    \/\/ button_outdoor_A.classList.add(\"hide\");\r\n    \/\/ button_indoor_A.classList.remove(\"hide\");\r\n    type_model = \"outdoor\";\r\n    actual_model = previus_model;\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_indoor_A.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button B pressed\");\r\n    \/\/ button_indoor_A.classList.add(\"hide\");\r\n    \/\/ button_outdoor_A.classList.remove(\"hide\");\r\n    type_model = \"indoor\";\r\n    previus_model = actual_model;\r\n    actual_model = indoor_a;\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    console.log(\"model glb: \" + model_glb);\r\n    model_usdz = usdz[actual_model];\r\n    console.log(\"model usdz: \" + model_usdz);\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_cassette.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button cassette pressed\");\r\n    \/\/ button_indoor_A.classList.add(\"hide\");\r\n    \/\/ button_outdoor_A.classList.remove(\"hide\");\r\n    type_model = \"indoor\";\r\n    previus_model = actual_model;\r\n    actual_model = indoor_a;\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    console.log(\"model glb: \" + model_glb);\r\n    model_usdz = usdz[actual_model];\r\n    console.log(\"model usdz: \" + model_usdz);\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_console.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button cassette pressed\");\r\n    \/\/ button_indoor_A.classList.add(\"hide\");\r\n    \/\/ button_outdoor_A.classList.remove(\"hide\");\r\n    type_model = \"indoor\";\r\n    previus_model = actual_model;\r\n    actual_model = indoor_b;\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    console.log(\"model glb: \" + model_glb);\r\n    model_usdz = usdz[actual_model];\r\n    console.log(\"model usdz: \" + model_usdz);\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_myriad.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button Myriad pressed\");\r\n    type_model = \"outdoor\";\r\n\r\n    button_myriad.classList.add(\"hide\");\r\n    button_myriad_plus.classList.remove(\"hide\");\r\n    select2.classList.add(\"hide\");\r\n    select.classList.remove(\"hide\");\r\n\r\n    \/\/ actual_model = outdoor_a;\r\n    \/\/ actual_model = outdoor_2_a;\r\n    value = select.value;\r\n    previus_model = actual_model;\r\n    actual_model = value;\r\n\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_myriad_plus.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button Myriad plus pressed\");\r\n    type_model = \"outdoor\";\r\n\r\n    button_myriad_plus.classList.add(\"hide\");\r\n    button_myriad.classList.remove(\"hide\");\r\n    select.classList.add(\"hide\");\r\n    select2.classList.remove(\"hide\");\r\n\r\n    \/\/ actual_model = outdoor_2_a;\r\n    value = select2.value;\r\n    previus_model = actual_model;\r\n    actual_model = value;\r\n\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  async function playx() {\r\n    console.log(\"play animation\");\r\n    modelViewer.timeScale = 1;\r\n    await modelViewer.updateComplete;\r\n    modelViewer.pause();\r\n    modelViewer.play({ repetitions: 9999 });\r\n    modelViewer.appendAnimation(\"rotate\", {\r\n      weight: parseFloat(100),\r\n      repetitions: 9999,\r\n    });\r\n    modelViewer.appendAnimation(\"rotate2\", {\r\n      weight: parseFloat(100),\r\n      repetitions: 9999,\r\n    });\r\n  }\r\n\r\n  async function stopx() {\r\n    console.log(\"stop animation\");\r\n\tmodelViewer.animationName=\"explode\";\r\n    modelViewer.currentTime = 0;\r\n    modelViewer.timeScale = 0;\r\n    await modelViewer.updateComplete;\r\n    modelViewer.pause();\r\n  }\r\n\r\n  modelViewer.addEventListener(\"ar-model_status\", (event) => {\r\n    setVisibility(\r\n      show_dimensions && event.detail.model_status !== \"session-started\"\r\n    );\r\n  });\r\n\r\n  async function explode() {\r\n    console.log(\"exploding....\");\r\n    model_status = \"exploding\";\r\n    show_dimensions = false;\r\n    setVisibility(show_dimensions);\r\n    modelViewer.animationName = \"explode\";\r\n    modelViewer.timeScale = 1;\r\n    await modelViewer.updateComplete;\r\n    modelViewer.play({\r\n      repetitions: 1,\r\n    });\r\n  }\r\n\r\n  async function implode() {\r\n    console.log(\"imploding....\");\r\n    model_status = \"imploding\";\r\n    modelViewer.animationName = \"implode\";\r\n    modelViewer.timeScale = 1;\r\n    await modelViewer.updateComplete;\r\n    modelViewer.play({\r\n      repetitions: 1,\r\n    });\r\n  }\r\n\r\n  modelViewer.addEventListener(\"finished\", () => {\r\n    console.log(\"animation finished\");\r\n    if (model_status == \"exploding\") {\r\n      model_status = \"explode\";\r\n      console.log(\"Enabling implode button\");\r\n      button_explode.classList.add(\"hide\");\r\n      button_implode.classList.remove(\"hide\");\r\n    }\r\n    if (model_status == \"imploding\") {\r\n      model_status = \"implode\";\r\n      console.log(\"Enabling explode button\");\r\n      button_implode.classList.add(\"hide\");\r\n      button_explode.classList.remove(\"hide\");\r\n    }\r\n  });\r\n\/\/ New function to encapsulate dimension calculation\r\nfunction calculateDimensions() {\r\n    center = modelViewer.getBoundingBoxCenter();\r\n    size = modelViewer.getDimensions();\r\n    offset_x = (size.x * offset) \/ 100;\r\n    offset_y = (size.y * offset) \/ 100;\r\n    offset_z = (size.z * offset) \/ 100;\r\n    x2 = (size.x + offset_x) \/ 2;\r\n    y2 = (size.y + offset_y) \/ 2;\r\n    z2 = (size.z + offset_z) \/ 2;\r\n}\r\n\r\n\r\n  function drawLine(svgLine, dotHotspot1, dotHotspot2, dimensionHotspot) {\r\n    if (dotHotspot1 && dotHotspot2) {\r\n      svgLine.setAttribute(\"x1\", dotHotspot1.canvasPosition.x);\r\n      svgLine.setAttribute(\"y1\", dotHotspot1.canvasPosition.y);\r\n      svgLine.setAttribute(\"x2\", dotHotspot2.canvasPosition.x);\r\n      svgLine.setAttribute(\"y2\", dotHotspot2.canvasPosition.y);\r\n\r\n      if (dimensionHotspot && !dimensionHotspot.facingCamera) {\r\n        svgLine.classList.add(\"hide\");\r\n      } else {\r\n        svgLine.classList.remove(\"hide\");\r\n      }\r\n    }\r\n  }\r\n};<\/script>[\/et_pb_code][et_pb_code _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb]<script><!-- [et_pb_line_break_holder] -->(function() {<!-- [et_pb_line_break_holder] -->  \/\/ List of model filenames for which the measure button must be hidden<!-- [et_pb_line_break_holder] -->  const HIDE_MEASURE_FOR = [<!-- [et_pb_line_break_holder] -->    'm-series-wall-mounted-with-sensor.glb',<!-- [et_pb_line_break_holder] -->    'm-series-wall-mounted-without-sensor.glb'<!-- [et_pb_line_break_holder] -->    \/\/ 'other-model.glb',<!-- [et_pb_line_break_holder] -->  ];<!-- [et_pb_line_break_holder] -->  function shouldHideForSrc(src) {<!-- [et_pb_line_break_holder] -->    if (!src) return false;<!-- [et_pb_line_break_holder] -->    return HIDE_MEASURE_FOR.some(name => src.indexOf(name) !== -1);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function updateMeasureButton(viewer) {<!-- [et_pb_line_break_holder] -->    const src = viewer.getAttribute('src') || '';<!-- [et_pb_line_break_holder] -->    const hide = shouldHideForSrc(src);<!-- [et_pb_line_break_holder] -->    const measureBtn = viewer.querySelector('#button_measure');<!-- [et_pb_line_break_holder] -->    if (!measureBtn) return;<!-- [et_pb_line_break_holder] -->    measureBtn.classList.toggle('hide', hide);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function setupModelViewer(viewer) {<!-- [et_pb_line_break_holder] -->    \/\/ Run once in case the src is already set<!-- [et_pb_line_break_holder] -->    updateMeasureButton(viewer);<!-- [et_pb_line_break_holder] -->    \/\/ When the model actually loads (or src changes), re-check<!-- [et_pb_line_break_holder] -->    viewer.addEventListener('load', function() {<!-- [et_pb_line_break_holder] -->      updateMeasureButton(viewer);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  document.addEventListener('DOMContentLoaded', function() {<!-- [et_pb_line_break_holder] -->    document.querySelectorAll('model-viewer').forEach(setupModelViewer);<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  \/\/ Optional: handle model-viewers added later<!-- [et_pb_line_break_holder] -->  const observer = new MutationObserver(function(mutations) {<!-- [et_pb_line_break_holder] -->    mutations.forEach(function(mutation) {<!-- [et_pb_line_break_holder] -->      mutation.addedNodes.forEach(function(node) {<!-- [et_pb_line_break_holder] -->        if (node.nodeType !== 1) return; \/\/ ELEMENT_NODE<!-- [et_pb_line_break_holder] -->        if (node.matches && node.matches('model-viewer')) {<!-- [et_pb_line_break_holder] -->          setupModelViewer(node);<!-- [et_pb_line_break_holder] -->        } else if (node.querySelectorAll) {<!-- [et_pb_line_break_holder] -->          node.querySelectorAll('model-viewer').forEach(setupModelViewer);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] -->  observer.observe(document.body, { childList: true, subtree: true });<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><\/script><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font=\u00a0\u00bb|700|||||||\u00a0\u00bb text_font_size=\u00a0\u00bb22px\u00a0\u00bb header_3_font=\u00a0\u00bb|700|||||||\u00a0\u00bb header_3_font_size=\u00a0\u00bb24px\u00a0\u00bb header_3_line_height=\u00a0\u00bb1.3em\u00a0\u00bb custom_padding=\u00a0\u00bb25px||||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h3>La thermopompe Meridian offre aux propri\u00e9taires l\u2019\u00e9quilibre parfait entre la puissance et l\u2019efficacit\u00e9 pour un chauffage stable durant les grands froids canadiens. Tr\u00e8s fiable, elle offre une capacit\u00e9 de chauffage de 100 % \u00e0 -15 \u00b0C et une chaleur fiable \u00e0 des temp\u00e9ratures aussi basses que -30 \u00b0C. Ce mod\u00e8le au nouveau design moderne prend moins de place que les mod\u00e8les pr\u00e9c\u00e9dents sans compromettre les performances.<\/h3>\n<p><span style=\"text-decoration: underline; color: #e75425;\"><a href=\"https:\/\/moovair.com\/fr-ca\/a-propos-des-thermopompes\/\">En savoir plus sur les thermopompes<\/a><\/span><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb]<\/p>\n<h2 style=\"font-size: 1.8em; font-weight: 200; padding-bottom:15px;\">Syst\u00e8me monozone intelligent, fiable et efficace<\/h2>\n<p>MERIDIAN de Moovair allie de mani\u00e8re experte fiabilit\u00e9 et performance tout en assurant le confort de la maison tout au long de l\u2019ann\u00e9e. Con\u00e7ue pour offrir un rendement exceptionnel, la thermopompe Meridian est un choix de premier ordre pour les propri\u00e9taires canadiens qui recherchent un confort fiable, peu importe la m\u00e9t\u00e9o. Son syst\u00e8me HEAT+ assure des temp\u00e9ratures constantes et une consommation d\u2019\u00e9nergie r\u00e9duite, tandis que sa garantie \u00e0 la pointe de l\u2019industrie assure une tranquillit\u00e9 d\u2019esprit durable.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb20px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb header_2_font=\u00a0\u00bb|700|||||||\u00a0\u00bb header_2_font_size=\u00a0\u00bb32px\u00a0\u00bb header_3_font=\u00a0\u00bb|700|||||||\u00a0\u00bb header_3_font_size=\u00a0\u00bb24px\u00a0\u00bb text_font_size_tablet=\u00a0\u00bb22px\u00a0\u00bb text_font_size_phone=\u00a0\u00bb22px\u00a0\u00bb text_font_size_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h3>Bien au chaud avec le syst\u00e8me avanc\u00e9 HEAT+ de Meridian<\/h3>\n<p><img decoding=\"async\" class=\"heat-logo\" src=\"https:\/\/moovair.com\/wp-content\/uploads\/HEAT-1.png\" width=\"200\" height=\"65\" alt=\"heat plus\" style=\"float: right;\" \/><\/p>\n<p style=\"text-align: left;\">Con\u00e7ue pour les propri\u00e9taires qui veulent fiabilit\u00e9 et performance, la gamme Meridian int\u00e8gre la technologie HEAT+ pour fournir un chauffage efficace lorsqu\u2019il fait tr\u00e8s froid. Le syst\u00e8me intelligent Inverter permet d\u2019obtenir des temp\u00e9ratures stables tout en consommant moins d\u2019\u00e9nergie, ce qui procure un confort toute l\u2019ann\u00e9e gr\u00e2ce \u00e0 des commandes intelligentes et conviviales.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_2,1_2&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_css_main_element=\u00a0\u00bbdisplay:flex;\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font=\u00a0\u00bb||||||||\u00a0\u00bb text_font_size=\u00a0\u00bb20px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb header_3_font=\u00a0\u00bb|700|||||||\u00a0\u00bb header_3_font_size=\u00a0\u00bb24px\u00a0\u00bb custom_margin=\u00a0\u00bbauto||auto||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h2 style=\"font-size: 1.8em; font-weight: 200; padding-bottom: 15px;\">Tout ce que les propri\u00e9taires canadiens attendent d\u2019un design raffin\u00e9 et contemporain<\/h2>\n<ul>\n<li><strong>Technologie sup\u00e9rieure HEAT+\u00a0: <\/strong>Fournit jusqu\u2019\u00e0 27,4\u00a0TR\u00c9S2 et un chauffage exceptionnel jusqu\u2019\u00e0 -30\u00a0\u00b0C.<\/li>\n<li><strong><span>Modes de refroidissement\u00a0: <\/span><\/strong><span>Comme un climatiseur classique, la thermopompe extrait la chaleur de l\u2019int\u00e9rieur de la maison et la rejette \u00e0 l\u2019ext\u00e9rieur, rafra\u00eechissant ainsi l\u2019espace int\u00e9rieur.<\/span><\/li>\n<li><strong>Confort accru\u00a0: <\/strong>\u00c9limine les contaminants de l\u2019air gr\u00e2ce \u00e0 un syst\u00e8me de double filtration et personnalise le confort gr\u00e2ce \u00e0 de multiples r\u00e9glages du d\u00e9bit d\u2019air.<\/li>\n<li><strong>Un fonctionnement fiable et s\u00e9curitaire\u00a0:<\/strong> Offre un fonctionnement constant, m\u00eame en cas de panne ou apr\u00e8s une coupure de courant.<\/li>\n<li><strong>R\u00e9glages pratiques \u2013 effectu\u00e9s \u00e0 distance\u00a0: <\/strong>Contr\u00f4lez le syst\u00e8me de n\u2019importe o\u00f9 gr\u00e2ce \u00e0 la connectivit\u00e9 WiFi et \u00e0 l\u2019application mobile Moovair.<\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/HeatOutput_Meridien_FR-1.png\u00a0\u00bb alt=\u00a0\u00bbProduction de chaleur en fonction de la capacit\u00e9 en BTU pour un syst\u00e8me Moovair.\u00a0\u00bb title_text=\u00a0\u00bbProduction de chaleur en fonction de la capacit\u00e9 en BTU pour un syst\u00e8me Moovair.\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_padding=\u00a0\u00bb10px||10px||true|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_button button_url=\u00a0\u00bbhttps:\/\/cdn.master.ca\/documents\/fr\/moovair\/brochures\/2026\/Moovair_MSeries_202603_FR_V03.pdf\u00a0\u00bb url_new_window=\u00a0\u00bbon\u00a0\u00bb button_text=\u00a0\u00bbCaract\u00e9ristiques et sp\u00e9cifications techniques disponibles dans la brochure compl\u00e8te\u00a0\u00bb button_alignment=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_button=\u00a0\u00bbon\u00a0\u00bb button_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_color=\u00a0\u00bb#e35425&Prime; button_border_radius=\u00a0\u00bb100px\u00a0\u00bb button_font=\u00a0\u00bb||||||||\u00a0\u00bb custom_padding=\u00a0\u00bb10px|30px|10px|30px|true|true\u00a0\u00bb hover_enabled=\u00a0\u00bb0&Prime; button_text_size_tablet=\u00a0\u00bb\u00a0\u00bb button_text_size_phone=\u00a0\u00bb16px\u00a0\u00bb button_text_size_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime; button_text_size__hover_enabled=\u00a0\u00bbon|desktop\u00a0\u00bb button_text_color__hover_enabled=\u00a0\u00bbon|hover\u00a0\u00bb button_text_color__hover=\u00a0\u00bb#e35425&Prime; button_bg_color__hover_enabled=\u00a0\u00bbon|desktop\u00a0\u00bb button_bg_color__hover=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_enable_color__hover=\u00a0\u00bbon\u00a0\u00bb button_border_color__hover_enabled=\u00a0\u00bbon|hover\u00a0\u00bb button_border_color__hover=\u00a0\u00bb#e35425&Prime; sticky_enabled=\u00a0\u00bb0&Prime;][\/et_pb_button][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text module_class=\u00a0\u00bbet_pb_text_5&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb20px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h2 style=\"text-transform: uppercase;  display: inline-block; border-bottom: 4px solid #e35425; padding-bottom: 4px;\">S\u00c9RIE M: Des thermopompes qui en font plus, tout comme vous<\/h2>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_3,1_3,1_3&Prime; module_class=\u00a0\u00bbcls-logos\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_3&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/MORELIS-1.png\u00a0\u00bb alt=\u00a0\u00bbMorelis logo featuring a stylized %22M%22 in orange and the word %22Morelis%22 in gray.\u00a0\u00bb title_text=\u00a0\u00bbMorelis logo featuring a stylized \u00ab\u00a0M\u00a0\u00bb in orange and the word \u00ab\u00a0Morelis\u00a0\u00bb in gray.\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb background_enable_color=\u00a0\u00bboff\u00a0\u00bb max_width=\u00a0\u00bb200px\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_3&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/MERIDIAN.png\u00a0\u00bb alt=\u00a0\u00bbLogo of the Meridian brand featuring bold gray letters with an orange accent.\u00a0\u00bb title_text=\u00a0\u00bbLogo of the Meridian brand featuring bold gray letters with an orange accent.\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb max_width=\u00a0\u00bb200px\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_3&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/MISTRAL-1.png\u00a0\u00bb alt=\u00a0\u00bbMISTRAL logo featuring bold gray letters with an orange wave element.\u00a0\u00bb title_text=\u00a0\u00bbMISTRAL logo featuring bold gray letters with an orange wave element.\u00a0\u00bb align=\u00a0\u00bbright\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb max_width=\u00a0\u00bb200px\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text module_class=\u00a0\u00bbet_pb_text_5&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb20px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]Les thermopompes Moovair \u2013 Morelis, Meridian et Mistral \u2013 sont con\u00e7ues pour offrir un \u00e9quilibre entre fonctionnalit\u00e9s avanc\u00e9es et fiabilit\u00e9 au quotidien. Ainsi, les propri\u00e9taires sont assur\u00e9s d\u2019une installation efficace et d\u2019un excellent rapport qualit\u00e9-prix \u00e0 long terme, sans complications inutiles.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_2,1_2&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/Inverter-Compressor_FR-3.png\u00a0\u00bb alt=\u00a0\u00bbCompressseur Inverter showcasing a detailed view of its internal components and design.\u00a0\u00bb title_text=\u00a0\u00bbCompressseur Inverter showcasing a detailed view of its internal components and design.\u00a0\u00bb align=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb max_width=\u00a0\u00bb50%\u00a0\u00bb custom_padding=\u00a0\u00bb10px||10px||true|false\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_css_main_element=\u00a0\u00bbdisplay:flex;\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb20px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb header_3_font=\u00a0\u00bb|700|||||||\u00a0\u00bb header_3_font_size=\u00a0\u00bb24px\u00a0\u00bb custom_margin=\u00a0\u00bbauto||auto||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h3><strong>Efficacit\u00e9 \u00e9nerg\u00e9tique pour chaque maison<\/strong><\/h3>\n<p>Ces syst\u00e8mes int\u00e8grent une technologie d\u2019entra\u00eenement de pointe \u00e0 Inverter, qui module le fonctionnement du compresseur afin de limiter les fluctuations de temp\u00e9rature et de r\u00e9duire la consommation d\u2019\u00e9nergie. En se r\u00e9glant par paliers pr\u00e9cis jusqu\u2019\u00e0 atteindre son plein rendement, le syst\u00e8me maintient efficacement la temp\u00e9rature, offrant ainsi un confort maximal et permettant de r\u00e9aliser des \u00e9conomies d\u2019\u00e9nergie.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_2,1_2&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_css_main_element=\u00a0\u00bbdisplay:flex\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text module_class=\u00a0\u00bbet_pb_text_5&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bbauto||auto||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h3><strong>Fiabilit\u00e9 assur\u00e9e avec notre garantie de premier plan<\/strong><\/h3>\n<p>Construites pour durer, les thermopompes Moovair sont couvertes par une garantie limit\u00e9e de 10 ans sur les pi\u00e8ces et le compresseur. Pour une plus grande tranquillit\u00e9 d\u2019esprit, une garantie facultative de 5 et 10 ans sur la main-d\u2019oeuvre est \u00e9galement offerte, assurant ainsi une bonne protection de l\u2019investissement pendant des ann\u00e9es.[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/MoovairWarrantyLogo_FR-2.png\u00a0\u00bb alt=\u00a0\u00bbGaranties limit\u00e9es de 10 ans pour le compresseur et les pi\u00e8ces, avec une option de 5 ans et 10 ans pour la main-d&rsquo;\u0153uvre.\u00a0\u00bb title_text=\u00a0\u00bbGaranties limit\u00e9es de 10 ans pour le compresseur et les pi\u00e8ces, avec une option de 5 ans et 10 ans pour la main-d\u2019\u0153uvre.\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_2,1_2&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/Graphic-FR_WintervsSummer-2.png\u00a0\u00bb alt=\u00a0\u00bbMode chauffage et mode climatisation d&rsquo;un syst\u00e8me Moovair, illustrant le flux d&rsquo;air chaud et froid.\u00a0\u00bb title_text=\u00a0\u00bbMode chauffage et mode climatisation d\u2019un syst\u00e8me Moovair, illustrant le flux d\u2019air chaud et froid.\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_css_main_element=\u00a0\u00bbdisplay:flex\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text module_class=\u00a0\u00bbet_pb_text_5&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bbauto||auto||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h3><strong>Confort assur\u00e9 toute l\u2019ann\u00e9e gr\u00e2ce \u00e0 une thermopompe<\/strong><\/h3>\n<p>Une thermopompe constitue une solution compl\u00e8te de r\u00e9gulation du climat, fournissant \u00e0 la fois le chauffage et la climatisation pour maintenir des temp\u00e9ratures int\u00e9rieures optimales, peu importe la saison. <\/p>\n<ul>\n<li><span> <strong>Mode climatisation <\/strong>: Comme un climatiseur classique, la thermopompe aspire la chaleur de l\u2019int\u00e9rieur pour la rejeter \u00e0 l\u2019ext\u00e9rieur, rafra\u00eechissant ainsi l\u2019espace int\u00e9rieur.  <\/span><\/li>\n<li><span> <strong>Mode chauffage <\/strong>: \u00c0 l\u2019inverse, la thermopompe capte la chaleur de l\u2019air ext\u00e9rieur et la transf\u00e8re \u00e0 l\u2019int\u00e9rieur pour r\u00e9chauffer la maison.  <\/span><\/li>\n<\/ul>\n<p><span>Un tel syst\u00e8me \u00e0 deux fonctions assure un confort uniforme en toute saison.<\/span>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_2,1_2&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_css_main_element=\u00a0\u00bbdisplay:flex;\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font=\u00a0\u00bb||||||||\u00a0\u00bb text_font_size=\u00a0\u00bb20px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb header_3_font=\u00a0\u00bb|700|||||||\u00a0\u00bb header_3_font_size=\u00a0\u00bb24px\u00a0\u00bb custom_margin=\u00a0\u00bbauto||auto||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h3>Capacit\u00e9 de la thermopompe : un gage de confort<\/h3>\n<p>La capacit\u00e9 de la thermopompe correspond \u00e0 la part de chauffage ou de climatisation qu\u2019une unit\u00e9 peut fournir et est g\u00e9n\u00e9ralement mesur\u00e9e en unit\u00e9 de puissance frigorifique (BTU\/h). Elle peut varier en fonction de la temp\u00e9rature (les performances diminuent souvent lorsque les temp\u00e9ratures ext\u00e9rieures baissent). <\/p>\n<p>Con\u00e7ue pour r\u00e9sister aux temp\u00e9ratures extr\u00eames, l\u2019unit\u00e9 Morelis de 9 000 BTU\/h, par exemple, fournit plus de 9 000 BTU\/h m\u00eame lorsqu\u2019il fait -25\u00b0C \u00e0 l\u2019ext\u00e9rieur et 21\u00b0C \u00e0 l\u2019int\u00e9rieur.[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/MSeries_ComparisonGraph_FR.png\u00a0\u00bb alt=\u00a0\u00bbcapacit\u00e9 totale nette en fonction de la temp\u00e9rature ext\u00e9rieure pour trois syst\u00e8mes diff\u00e9rents, Morelis, Meridian et Mistral.\u00a0\u00bb title_text=\u00a0\u00bbcapacit\u00e9 totale nette en fonction de la temp\u00e9rature ext\u00e9rieure pour trois syst\u00e8mes diff\u00e9rents, Morelis, Meridian et Mistral.\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_padding=\u00a0\u00bb10px||10px||true|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=\u00a0\u00bb1_2,1_2&Prime; make_equal=\u00a0\u00bbon\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_image src=\u00a0\u00bbhttps:\/\/moovair.com\/wp-content\/uploads\/COP-Graphic_FR-2.png\u00a0\u00bb alt=\u00a0\u00bbMoovair system diagram illustrating the process of capturing outdoor heat and releasing it indoors, with accompanying French text.\u00a0\u00bb title_text=\u00a0\u00bbMoovair system diagram illustrating the process of capturing outdoor heat and releasing it indoors, with accompanying French text.\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb max_width=\u00a0\u00bb300px\u00a0\u00bb module_alignment=\u00a0\u00bbcenter\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][\/et_pb_image][\/et_pb_column][et_pb_column type=\u00a0\u00bb1_2&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_css_main_element=\u00a0\u00bbdisplay:flex;\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb20px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb header_3_font=\u00a0\u00bb|700|||||||\u00a0\u00bb header_3_font_size=\u00a0\u00bb24px\u00a0\u00bb custom_margin=\u00a0\u00bbauto||auto||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h3>Le cycle de chauffage et le coefficient de performance (COP)<\/h3>\n<p><span>L\u2019efficacit\u00e9 d\u2019une thermopompe est g\u00e9n\u00e9ralement \u00e9valu\u00e9e \u00e0 l\u2019aide du coefficient de performance (COP), qui est le rapport entre la chaleur produite et l\u2019\u00e9nergie \u00e9lectrique consomm\u00e9e. Un COP plus \u00e9lev\u00e9 indique une plus grande efficacit\u00e9.<\/span><\/p>\n<p><span>Par exemple, un COP de 3 signifie que pour chaque unit\u00e9 d\u2019\u00e9lectricit\u00e9 consomm\u00e9e, la thermopompe produit trois unit\u00e9s de chaleur. <\/span><\/p>\n<p><span style=\"margin-bottom: 10px; display: block;\">Avantages d\u2019un COP \u00e9lev\u00e9 pour les thermopompes MERIDIAN de Moovair :<\/span><\/p>\n<ul>\n<li><span> <strong>Efficacit\u00e9 accrue <\/strong>: Conversion plus efficace de l\u2019\u00e9lectricit\u00e9 en chauffage ou en climatisation. <\/span><\/li>\n<li><span> <strong>R\u00e9duction des co\u00fbts \u00e9nerg\u00e9tiques <\/strong>: R\u00e9duction des factures d\u2019\u00e9lectricit\u00e9 gr\u00e2ce \u00e0 une utilisation efficace de l\u2019\u00e9nergie. <\/span><\/li>\n<li><span> <strong>Avantages pour l\u2019environnement <\/strong>: Diminution de l\u2019empreinte carbone gr\u00e2ce \u00e0 l\u2019optimisation de la consommation d\u2019\u00e9nergie. <\/span><\/li>\n<\/ul>\n<p>Avec les thermopompes Meridian, vous n\u2019achetez pas seulement un syst\u00e8me de chauffage et de climatisation, vous investissez dans le confort, les \u00e9conomies d\u2019\u00e9nergie et la durabilit\u00e9 tout au long de l\u2019ann\u00e9e. Les syst\u00e8mes de thermopompe Meridian sont con\u00e7us pour offrir des performances constantes, m\u00eame dans les climats les plus froids.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_margin=\u00a0\u00bb30px||||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb||50px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font_size=\u00a0\u00bb20px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb header_2_font=\u00a0\u00bb|700|||||||\u00a0\u00bb header_2_font_size=\u00a0\u00bb32px\u00a0\u00bb header_2_line_height=\u00a0\u00bb1.1em\u00a0\u00bb header_2_font_size_phone=\u00a0\u00bb26px\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]<\/p>\n<h2 style=\"text-align: center;\">T\u00c9L\u00c9CHARGEZ LA BROCHURE<\/h2>\n<p style=\"text-align: center;\">Pour en savoir plus, t\u00e9l\u00e9chargez la brochure sur la s\u00e9rie M.<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=\u00a0\u00bbhttps:\/\/cdn.master.ca\/documents\/fr\/moovair\/brochures\/2026\/Moovair_MSeries_202603_FR_V03.pdf\u00a0\u00bb url_new_window=\u00a0\u00bbon\u00a0\u00bb button_text=\u00a0\u00bbT\u00c9L\u00c9CHARGER LA BROCHURE PDF \u00a0\u00bb button_alignment=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_button=\u00a0\u00bbon\u00a0\u00bb button_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_color=\u00a0\u00bb#e35425&Prime; button_border_radius=\u00a0\u00bb100px\u00a0\u00bb button_font=\u00a0\u00bb||||||||\u00a0\u00bb custom_padding=\u00a0\u00bb10px|30px|10px|30px|true|true\u00a0\u00bb hover_enabled=\u00a0\u00bb0&Prime; button_text_size_tablet=\u00a0\u00bb\u00a0\u00bb button_text_size_phone=\u00a0\u00bb16px\u00a0\u00bb button_text_size_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime; button_text_size__hover_enabled=\u00a0\u00bbon|desktop\u00a0\u00bb button_text_color__hover_enabled=\u00a0\u00bbon|hover\u00a0\u00bb button_text_color__hover=\u00a0\u00bb#e35425&Prime; button_bg_color__hover_enabled=\u00a0\u00bbon|desktop\u00a0\u00bb button_bg_color__hover=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_enable_color__hover=\u00a0\u00bbon\u00a0\u00bb button_border_color__hover_enabled=\u00a0\u00bbon|hover\u00a0\u00bb button_border_color__hover=\u00a0\u00bb#e35425&Prime; sticky_enabled=\u00a0\u00bb0&Prime;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00a0\u00bb1&Prime; custom_padding_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbcbebb943-82e8-4ec0-947d-cf77e34c50de\u00a0\u00bb custom_margin=\u00a0\u00bb||0px||false|false\u00a0\u00bb custom_padding=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding_tablet=\u00a0\u00bb0px||0px||false|false\u00a0\u00bb custom_padding_phone=\u00a0\u00bb|20px||20px|false|true\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_row _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb background_color=\u00a0\u00bb#4a7b9c\u00a0\u00bb border_radii=\u00a0\u00bbon|50px|50px|50px|50px\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_text _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb text_font=\u00a0\u00bb||||||||\u00a0\u00bb text_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb text_font_size=\u00a0\u00bb24px\u00a0\u00bb text_line_height=\u00a0\u00bb1.3em\u00a0\u00bb header_3_font_size=\u00a0\u00bb36px\u00a0\u00bb width=\u00a0\u00bb100%\u00a0\u00bb custom_margin=\u00a0\u00bb|20px||20px|true|true\u00a0\u00bb custom_padding=\u00a0\u00bb|20px||20px|true|true\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime;]Les d\u00e9taillants Moovair sont support\u00e9s par Le Groupe Master, le plus important distributeur priv\u00e9 dans le domaine du CVCA-R au Canada. Au cours de ses 70 ans d\u2019existence, Le Groupe Master s\u2019est toujours distingu\u00e9 par son vaste inventaire, son expertise technique et son service \u00e0 la client\u00e8le exceptionnel.[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_padding=\u00a0\u00bb30px||0px||false|false\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_column type=\u00a0\u00bb4_4&Prime; _builder_version=\u00a0\u00bb4.18.0&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb global_colors_info=\u00a0\u00bb{}\u00a0\u00bb][et_pb_button button_url=\u00a0\u00bb\/fr-ca\/annuaire-des-detaillants\/\u00a0\u00bb button_text=\u00a0\u00bbTROUVEZ UN D\u00c9TAILLANT\u00a0\u00bb button_alignment=\u00a0\u00bbcenter\u00a0\u00bb _builder_version=\u00a0\u00bb4.22.1&Prime; _module_preset=\u00a0\u00bbdefault\u00a0\u00bb custom_button=\u00a0\u00bbon\u00a0\u00bb button_text_color=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_color=\u00a0\u00bb#e35425&Prime; button_border_radius=\u00a0\u00bb100px\u00a0\u00bb button_font=\u00a0\u00bb||||||||\u00a0\u00bb custom_padding=\u00a0\u00bb10px|30px|10px|30px|true|true\u00a0\u00bb button_text_size_tablet=\u00a0\u00bb\u00a0\u00bb button_text_size_phone=\u00a0\u00bb16px\u00a0\u00bb button_text_size_last_edited=\u00a0\u00bbon|phone\u00a0\u00bb locked=\u00a0\u00bboff\u00a0\u00bb global_colors_info=\u00a0\u00bb%91%93&Prime; button_text_size__hover_enabled=\u00a0\u00bbon|desktop\u00a0\u00bb button_text_color__hover_enabled=\u00a0\u00bbon|hover\u00a0\u00bb button_text_color__hover=\u00a0\u00bb#e35425&Prime; button_bg_color__hover_enabled=\u00a0\u00bbon|desktop\u00a0\u00bb button_bg_color__hover=\u00a0\u00bb#FFFFFF\u00a0\u00bb button_bg_enable_color__hover=\u00a0\u00bbon\u00a0\u00bb button_border_color__hover_enabled=\u00a0\u00bbon|hover\u00a0\u00bb button_border_color__hover=\u00a0\u00bb#e35425&Prime;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Meridian (Avanc\u00e9) Confort et excellent rapport qualit\u00e9-prix Jusqu\u2019\u00e0 27,4 TR\u00c9S2 | 9,8 CPSC2, r\u00e9gion 5 | Chauffage jusqu\u2019\u00e0 -30\u00b0C Une performance puissante toute l\u2019ann\u00e9e \u2013 Une cr\u00e9ation de MERIDIAN<style class=\"wpcode-css-snippet\">:not(:defined)>* {\r\n    display: none;\r\n}\r\n\r\n.test-div {\r\n  width: 80%;\r\n  height: 80%;\r\n}\r\n\r\n\r\n\/* Responsive model-viewer *\/\r\nmodel-viewer {\r\n    width: 100%;\r\n    max-width: 640px;\r\n    height: auto;\r\n    aspect-ratio: 4 \/ 3; \/* Keeps proper proportions on all screens *\/\r\n    margin: 0 auto;\r\n    border-radius: 10px;\r\n    background-color: #fff;\r\n    box-sizing: border-box;\r\n    position: relative;\r\n}\r\n\r\n\/* Tablet *\/\r\n@media (min-width: 768px) and (max-width: 1024px) {\r\n    model-viewer {\r\n        width: 90%;\r\n        max-width: 720px;\r\n        aspect-ratio: 4 \/ 3;\r\n    }\r\n}\r\n\r\n\/* Desktop *\/\r\n@media (min-width: 1025px) {\r\n    model-viewer {\r\n        width: 680px;\r\n        height: 540px; \/* Desktop fixed size *\/\r\n        aspect-ratio: unset;\r\n    }\r\n}\r\n\r\n#ar-button {\r\n    background-image: url(https:\/\/cdn2.moovair.com\/ar\/_assets\/ic_view_in_ar_new_googblue_48dp.png);\r\n    background-repeat: no-repeat;\r\n    background-size: 20px 20px;\r\n    background-position: 12px 50%;\r\n    background-color: #fff;\r\n    position: absolute;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    white-space: nowrap;\r\n    bottom: 20px;\r\n    padding: 0px 16px 0px 40px;\r\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif;\r\n    font-size: 14px;\r\n    font-weight: 500;\r\n    color: #4285f4;\r\n    height: 36px;\r\n    line-height: 36px;\r\n    border-radius: 18px;\r\n    border: 1px solid #DADCE0;\r\n}\r\n\r\n#ar-button:active {\r\n    background-color: #E8EAED;\r\n}\r\n\r\n#ar-button:focus {\r\n    outline: none;\r\n}\r\n\r\n#ar-button:focus-visible {\r\n    outline: 1px solid #4285f4;\r\n}\r\n\r\n#logo-overlay {\r\n    position: absolute;\r\n    \/* KEY CHANGE: Reduced bottom padding from 20px to 10px *\/\r\n    bottom: -42px;\r\n    right: 10px;\r\n    width: 80px;\r\n    height: 80px;\r\n    object-fit: contain;\r\n    border-radius: 8px;\r\n    pointer-events: none;\r\n}\r\n\r\n.sel {\r\n  margin-top: -15px;\r\n  margin-left: 30px;\r\n  float: left;\r\n  width: 30vw;\r\n  \/* position: absolute; *\/\r\n  \/* display: inline-block; *\/\r\n  \/* left: 175px; *\/\r\n  \/* font-family: Arial, Helvetica, sans-serif; *\/\r\n  \/* background-color: rgb(147, 200, 147); *\/\r\n}\r\n\r\n.label {    \/* capacity *\/\r\n  \/* background-color: red; *\/\r\n  \/* display: inline-block; *\/\r\n  \/* height: 20px; *\/\r\n  \/* width: 78px; *\/\r\n  \/* width: 50vw; *\/\r\n  width: 100%;\r\n  text-align: left;\r\n  vertical-align: middle;\r\n  margin-bottom: 8px;\r\n  font-size: 1.8vh;\r\n  float: left;\r\n  clear: both;\r\n  \/* height: 50%; *\/\r\n\r\n  }\r\n\r\n.dropdown {\r\n  float: left;\r\n  background-color: white;\r\n  clear: both;\r\n  height: 2.5vh;\r\n  \/* width: 50vw; *\/\r\n  \/* width: 100%; *\/\r\n  \/* font-size: 1rem; *\/\r\n  font-size: 1.6vh;\r\n}\r\n\r\n.dropdown option {\r\n   \/* font-size: 1rem; *\/\r\n   font-size: 11pt;\r\n   \/* font-size: 1.6vh; *\/\r\n}\r\n\r\n.btns {\r\n  \/* position: relative; *\/\r\n  position: absolute;\r\n  \/* width: 90%; *\/\r\n  \/* width: 100px; *\/\r\n  \/* height: 50px; *\/\r\n  height: 5vh;\r\n  width: 100vw;\r\n  bottom: 0;\r\n  margin-bottom: 0;\r\n  \/* background-color: rgb(115, 0, 255); *\/\r\n  overflow: visible;\r\n margin-bottom:30px;\r\n}\r\n\r\n\/* measure button *\/\r\n.b1, .b2, .b3 {   \r\n  \/* position: absolute; *\/\r\n  \/* display: inline-block; *\/\r\n  \/* left: 110px; *\/\r\n  margin-left: 30px;\r\n  float: left;\r\n  white-space: nowrap;\r\n  height: 100%;\r\n}\r\n\r\n  .dot {\r\n    display: none;\r\n  }\r\n  \r\n  .glass {\r\n    background: rgba(255, 255, 255, 0.37);\r\n    backdrop-filter: blur(8px) contrast(0.89) saturate(1.27);\r\n    -webkit-backdrop-filter: blur(8px) contrast(0.89) saturate(1.27);\r\n    border: 1px solid rgba(255, 255, 255, 0.4);\r\n    padding: 0.5rem;\r\n    border-radius: 0.5rem;\r\n  }\r\n  \r\n  .dim {\r\n    border-radius: 4px;\r\n    border: none;\r\n    box-sizing: border-box;\r\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);\r\n    color: rgba(0, 0, 0, 0.8);\r\n    display: block;\r\n    font-family: Futura, Helvetica Neue, sans-serif;\r\n    \/* font-size: 1em; *\/\r\n    font-size: 1.6vh;\r\n    font-weight: 700;\r\n    max-width: 128px;\r\n    overflow-wrap: break-word;\r\n    padding: 8px;\r\n    position: absolute;\r\n    width: max-content;\r\n    height: max-content;\r\n    transform: translate3d(-50%, -50%, 0);\r\n    pointer-events: none;\r\n    --min-hotspot-opacity: 0;\r\n  }\r\n  \r\n  \/* @media only screen and (max-width: 800px) {\r\n    .dim {\r\n      font-size: 3vw;\r\n    }\r\n  } *\/\r\n  \r\n  .dimensionLineContainer {\r\n    pointer-events: none;\r\n    display: block;\r\n  }\r\n  \r\n  .dimensionLine {\r\n    stroke: #16a5e6;\r\n    stroke-width: 2;\r\n    stroke-dasharray: 2;\r\n  }\r\n  \r\n  .hide {\r\n    display: none;\r\n  }\r\n\r\n  :not(:defined)>* {\r\n    display: none;\r\n  }\r\n  \r\n  #ar-button {\r\n    background-image: url(https:\/\/cdn2.moovair.com\/ar\/_assets\/ic_view_in_ar_new_googblue_48dp.png);\r\n    background-repeat: no-repeat;\r\n    background-size: 20px 20px;\r\n    background-position: 12px 50%;\r\n    background-color: #fff;\r\n    position: absolute;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    white-space: nowrap;\r\n    bottom: 132px;\r\n    padding: 0px 16px 0px 40px;\r\n    font-family: Roboto Regular, Helvetica Neue, sans-serif;\r\n    font-size: 14px;\r\n    color:#4285f4;\r\n    height: 36px;\r\n    line-height: 36px;\r\n    border-radius: 18px;\r\n    border: 1px solid #DADCE0;\r\n  }\r\n\r\n  #ar-button:active {\r\n    background-color: #E8EAED;\r\n  }\r\n\r\n  #ar-button:focus {\r\n    outline: none;\r\n  }\r\n\r\n  #ar-button:focus-visible {\r\n    outline: 1px solid #4285f4;\r\n  }\r\n\r\n  @keyframes circle {\r\n    from { transform: translateX(-50%) rotate(0deg) translateX(50px) rotate(0deg); }\r\n    to   { transform: translateX(-50%) rotate(360deg) translateX(50px) rotate(-360deg); }\r\n  }\r\n\r\n  @keyframes elongate {\r\n    from { transform: translateX(100px); }\r\n    to   { transform: translateX(-100px); }\r\n  }\r\n\r\n  model-viewer > #ar-prompt {\r\n    position: absolute;\r\n    left: 50%;\r\n    bottom: 175px;\r\n    animation: elongate 2s infinite ease-in-out alternate;\r\n    display: none;\r\n  }\r\n\r\n  model-viewer[ar-status=\"session-started\"] > #ar-prompt {\r\n    display: block;\r\n  }\r\n\r\n  model-viewer > #ar-prompt > img {\r\n    animation: circle 4s linear infinite;\r\n  }\r\n\r\n  model-viewer > #ar-failure {\r\n    position: absolute;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    bottom: 175px;\r\n    display: none;\r\n  }\r\n\r\n  model-viewer[ar-tracking=\"not-tracking\"] > #ar-failure {\r\n    display: block;\r\n  }<\/style><script>let model_name = \"EMPTY\";\r\nlet model_url = \"EMPTY\";\r\nlet model_usdz = \"EMPTY\";\r\nlet model_glb = \"EMPTY\";\r\nlet width = \"-\";\r\nlet deep = \"-\";\r\nlet height = \"-\";\r\nlet offset = 0;\r\nlet enable_explode = false;\r\nlet center;\r\nlet size;\r\nlet offset_x;\r\nlet offset_y;\r\nlet offset_z;\r\nlet x2;\r\nlet y2;\r\nlet z2;\r\nlet actual_model = outdoor_a;\r\nlet value = outdoor_a;\r\n\r\nlet previus_model = actual_model;\r\nconsole.log(\"model glb: \" + glbs[actual_model]);\r\n\r\nlet show_dimensions = false;\r\nlet model_status = \"implode\";\r\n\r\nconst modelViewer = document.getElementById(\"viewer\");\r\ndocument.getElementById(\"viewer\").setAttribute(\"src\", glbs[actual_model]);\r\n\r\nconst sel_div = document.getElementById(\"sel_div\");\r\nconst select = document.getElementById(\"capacity_select\");\r\nconst select2 = document.getElementById(\"capacity_select2\"); \/\/ Myriad\r\nlet select_changes = 0;\r\n\r\n\/\/-----------------------------------------------------------------------------------------------------\r\n\r\nwindow.onload = function () {\r\n  console.log(\"The website is fully loaded!\");\r\n\r\n  const button_explode = document.getElementById(\"button_explode\");\r\n  const button_implode = document.getElementById(\"button_implode\");\r\n\r\n  const button_measure = document.getElementById(\"button_measure\");\r\n\r\n  const button_indoor_A = document.getElementById(\"button_indoor_A\");\r\n  const button_outdoor_A = document.getElementById(\"button_outdoor_A\");\r\n\r\n  const button_myriad = document.getElementById(\"button_myriad\");\r\n  const button_myriad_plus = document.getElementById(\"button_myriad_plus\");\r\n\r\n  const button_console = document.getElementById(\"button_console\");\r\n  const button_cassette = document.getElementById(\"button_cassette\");\r\n\r\n  sel_div.classList.remove(\"hide\");\r\n\r\n  \/\/ Myriad\r\n  if (use_two_outdoor_buttons) {\r\n    button_outdoor_A.classList.add(\"hide\");\r\n    button_indoor_A.classList.add(\"hide\");\r\n    button_myriad_plus.classList.remove(\"hide\");\r\n  } else {\r\n    \/\/ button_outdoor_A.classList.remove(\"hide\");\r\n    \/\/ button_indoor_A.classList.remove(\"hide\");\r\n    \/\/ button_myriad_plus.classList.remove(\"hide\");\r\n  }\r\n\r\n  const dimLines = modelViewer.querySelectorAll(\"line\");\r\n\r\n  const renderSVG = () => {\r\n    drawLine(\r\n      dimLines[0],\r\n      modelViewer.queryHotspot(\"hotspot-dot+X-Y+Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot+X-Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim+X-Y\")\r\n    );\r\n    drawLine(\r\n      dimLines[1],\r\n      modelViewer.queryHotspot(\"hotspot-dot+X-Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot+X+Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim+X-Z\")\r\n    );\r\n\r\n    drawLine(\r\n      dimLines[2],\r\n      modelViewer.queryHotspot(\"hotspot-dot+X+Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot-X+Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim+Y-Z\")\r\n    ); \/\/ FIX LINE WIDTH\r\n\r\n    drawLine(\r\n      dimLines[3],\r\n      modelViewer.queryHotspot(\"hotspot-dot-X+Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot-X-Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim-X-Z\")\r\n    );\r\n    drawLine(\r\n      dimLines[4],\r\n      modelViewer.queryHotspot(\"hotspot-dot-X-Y-Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dot-X-Y+Z\"),\r\n      modelViewer.queryHotspot(\"hotspot-dim-X-Y\")\r\n    );\r\n  };\r\n\r\n  modelViewer.addEventListener(\"camera-change\", renderSVG);\r\n\r\n  function set_option(option, dropdown) {\r\n    if (option !== \"\") {\r\n      var opt = document.createElement(\"option\");\r\n      opt.value = option;\r\n      opt.innerHTML = capacities[option];\r\n      dropdown.appendChild(opt);\r\n    }\r\n  }\r\n\r\n  set_option(outdoor_a, select);\r\n  set_option(outdoor_b, select);\r\n  set_option(outdoor_c, select);\r\n  set_option(outdoor_d, select);\r\n\r\n  set_option(outdoor_2_a, select2);\r\n  set_option(outdoor_2_b, select2);\r\n  set_option(outdoor_2_c, select2);\r\n  set_option(outdoor_2_d, select2);\r\n\r\n  \/\/-----------------------------------------------------------------------------------------------\r\n\r\n  function changeSelect() {\r\n    select_changes += 1;\r\n\r\n    value = select.value;\r\n    console.log(\"Change Select: \" + value);\r\n    previus_model = actual_model;\r\n    actual_model = value;\r\n    show_dimensions = false;\r\n    setVisibility(show_dimensions);\r\n    width = widths[actual_model];\r\n    deep = deeps[actual_model];\r\n    height = heights[actual_model];\r\n    console.log(\r\n      \"width: \" + width + \" \/ deep: \" + deep + \" \/ height: \" + height\r\n    );\r\n\r\n    model_url = glbs[actual_model];\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  }\r\n\r\n  function changeSelect2() {\r\n    select_changes += 1;\r\n\r\n    value = select2.value;\r\n    console.log(\"Change Select2: \" + value);\r\n    previus_model = actual_model;\r\n    actual_model = value;\r\n    show_dimensions = false;\r\n    setVisibility(show_dimensions);\r\n    width = widths[actual_model];\r\n    deep = deeps[actual_model];\r\n    height = heights[actual_model];\r\n    console.log(\r\n      \"width: \" + width + \" \/ deep: \" + deep + \" \/ height: \" + height\r\n    );\r\n\r\n    model_url = glbs[actual_model];\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  }\r\n\r\n  select.addEventListener(\"change\", changeSelect);\r\n  select2.addEventListener(\"change\", changeSelect2);\r\n\r\n  \/\/--------------------------------------------------------------------------------------------------\r\n\/\/ New function to encapsulate dimension calculation\r\n\r\n  \r\n\tmodelViewer.addEventListener(\"load\", () => {\r\n    console.log(\r\n      \"VIEWER LOADED actual_model: \" + actual_model + \" type: \" + type_model\r\n    );\r\n\t\t\/\/ Call the new dimension calculation function\r\n  \r\n\r\n    show_dimensions = false;\r\ncenter = modelViewer.getBoundingBoxCenter();\r\n\t\t\r\n    setVisibility(show_dimensions);\r\n\r\n    model_status = \"implode\";\r\n\r\n    button_outdoor_A.classList.add(\"hide\");\r\n    button_indoor_A.classList.add(\"hide\");\r\n    button_explode.classList.add(\"hide\");\r\n    button_implode.classList.add(\"hide\");\r\n\r\n    \/\/center = modelViewer.getBoundingBoxCenter();\r\n\r\n    model_url = glbs[actual_model];\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n\r\n    if (enable_explode) {\r\n      console.log(\"enable explode\");\r\n      stopx();\r\n      button_explode.classList.remove(\"hide\");\r\n    } else {\r\n      console.log(\"running play\");\r\n      playx();\r\n    }\r\n\r\n    if (type_model == \"outdoor\") {\r\n      console.log(\"TYPE OUT DOOR\");\r\n      button_outdoor_A.classList.add(\"hide\");\r\n      button_indoor_A.classList.add(\"hide\");\r\n      button_cassette.classList.add(\"hide\");\r\n      button_console.classList.add(\"hide\");\r\n\r\n      sel_div.classList.remove(\"hide\");\r\n\r\n      if (consolle[actual_model]) {\r\n        console.log(\"CONSOLE TRUE\");\r\n        button_console.classList.remove(\"hide\");\r\n        sel_div.classList.remove(\"hide\");\r\n      }\r\n      if (cassette[actual_model]) {\r\n        console.log(\"CASSETTE TRUE\");\r\n        button_cassette.classList.remove(\"hide\");\r\n        sel_div.classList.remove(\"hide\");\r\n      }\r\n      if (!cassette[actual_model] && !consolle[actual_model]) {\r\n        console.log(\"NORMAL\");\r\n        button_indoor_A.classList.remove(\"hide\");\r\n      }\r\n    } else {\r\n      button_cassette.classList.add(\"hide\");\r\n      button_console.classList.add(\"hide\");\r\n      button_indoor_A.classList.add(\"hide\");\r\n      button_outdoor_A.classList.remove(\"hide\");\r\n      sel_div.classList.add(\"hide\");\r\n    }\r\n\r\n    \/\/ Myriad\r\n    if (use_two_outdoor_buttons) {\r\n      button_indoor_A.classList.add(\"hide\");\r\n\r\n      \/\/ button_outdoor_A.classList.add(\"hide\");\r\n      \/\/ button_myriad.classList.remove(\"hide\");\r\n      \/\/ button_myriad_plus.classList.remove(\"hide\");\r\n      \/\/ sel_div.classList.remove(\"hide\");\r\n    } else {\r\n    }\r\n\r\n    \/\/ Mix Moov Heat+\r\n    \/\/ if (use_two_indoor_buttons) {\r\n    \/\/   \/\/ button_indoor_A.classList.remove(\"hide\");\r\n    \/\/   \/\/ button_indoor_B.classList.remove(\"hide\");\r\n    \/\/ } else {\r\n    \/\/ }\r\n\r\n    width = widths[actual_model];\r\n    deep = deeps[actual_model];\r\n    height = heights[actual_model];\r\n    offset = offsets[actual_model];\r\n\r\n    size = modelViewer.getDimensions();\r\n    offset_x = (size.x * offset) \/ 100;\r\n    offset_y = (size.y * offset) \/ 100;\r\n    offset_z = (size.z * offset) \/ 100;\r\n    x2 = (size.x + offset_x) \/ 2;\r\n    y2 = (size.y + offset_y) \/ 2;\r\n    z2 = (size.z + offset_z) \/ 2;\r\n  });\r\n  \/\/  END MODEL LO-AD EVENT\r\n\r\n  button_explode.addEventListener(\"click\", explode);\r\n  button_implode.addEventListener(\"click\", implode);\r\n\r\n  const dimElements = [\r\n    ...modelViewer.querySelectorAll(\"button\"),\r\n    modelViewer.querySelector(\"#dimLines\"),\r\n  ];\r\n\r\n  function setVisibility(visible) {\r\n    console.log(\"set-Visibility: \" + visible);\r\n\t\r\n    dimElements.forEach((element) => {\r\n      if (visible) {\r\n       modelViewer.updateHotspot({\r\n        name: \"hotspot-dot+X-Y+Z\",\r\n         position: `${center.x + x2} ${center.y - y2} ${center.z + z2}`,\r\n       });\r\n           \r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim+X-Y\",\r\n          position: `${center.x + x2 * 1} ${center.y - y2 * 1} ${center.z}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim+X-Y\"]'\r\n        ).textContent = deep;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot+X-Y-Z\",\r\n          position: `${center.x + x2} ${center.y - y2} ${center.z - z2}`,\r\n        });\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim+X-Z\",\r\n          position: `${center.x + x2 * 1} ${center.y} ${center.z - z2 * 1}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim+X-Z\"]'\r\n        ).textContent = height;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot+X+Y-Z\",\r\n          position: `${center.x + x2} ${center.y + y2} ${center.z - z2}`,\r\n        });\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim+Y-Z\",\r\n          position: `${center.x} ${center.y + y2 * 1} ${center.z - z2 * 1}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim+Y-Z\"]'\r\n        ).textContent = width;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot-X+Y-Z\",\r\n          position: `${center.x - x2} ${center.y + y2} ${center.z - z2}`,\r\n        });\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim-X-Z\",\r\n          position: `${center.x - x2 * 1} ${center.y} ${center.z - z2 * 1}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim-X-Z\"]'\r\n        ).textContent = height;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot-X-Y-Z\",\r\n          position: `${center.x - x2} ${center.y - y2} ${center.z - z2}`,\r\n        });\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dim-X-Y\",\r\n          position: `${center.x - x2 * 1} ${center.y - y2 * 1} ${center.z}`,\r\n        });\r\n\r\n        modelViewer.querySelector(\r\n          'button[slot=\"hotspot-dim-X-Y\"]'\r\n        ).textContent = deep;\r\n\r\n        modelViewer.updateHotspot({\r\n          name: \"hotspot-dot-X-Y+Z\",\r\n          position: `${center.x - x2} ${center.y - y2} ${center.z + z2}`,\r\n        });\r\n\r\n        renderSVG();\r\n\r\n        element.classList.remove(\"hide\");\r\n      } else {\r\n        element.classList.add(\"hide\");\r\n      }\r\n    });\r\n  }\r\n\r\n  button_measure.addEventListener(\"click\", () => {\r\n    console.log(\r\n      \"button measure pressed \/ model_status: \" +\r\n        model_status +\r\n        \" \/ width: \" +\r\n        width +\r\n        \" \/ deep: \" +\r\n        deep +\r\n        \" \/ height: \" +\r\n        height\r\n    );\r\n  \r\n    if (model_status == \"implode\") {\r\n      show_dimensions = !show_dimensions;\r\n      setVisibility(show_dimensions);\r\n    }\r\n\r\n  });\r\n\r\n  button_outdoor_A.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button A pressed\");\r\n    \/\/ button_outdoor_A.classList.add(\"hide\");\r\n    \/\/ button_indoor_A.classList.remove(\"hide\");\r\n    type_model = \"outdoor\";\r\n    actual_model = previus_model;\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_indoor_A.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button B pressed\");\r\n    \/\/ button_indoor_A.classList.add(\"hide\");\r\n    \/\/ button_outdoor_A.classList.remove(\"hide\");\r\n    type_model = \"indoor\";\r\n    previus_model = actual_model;\r\n    actual_model = indoor_a;\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    console.log(\"model glb: \" + model_glb);\r\n    model_usdz = usdz[actual_model];\r\n    console.log(\"model usdz: \" + model_usdz);\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_cassette.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button cassette pressed\");\r\n    \/\/ button_indoor_A.classList.add(\"hide\");\r\n    \/\/ button_outdoor_A.classList.remove(\"hide\");\r\n    type_model = \"indoor\";\r\n    previus_model = actual_model;\r\n    actual_model = indoor_a;\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    console.log(\"model glb: \" + model_glb);\r\n    model_usdz = usdz[actual_model];\r\n    console.log(\"model usdz: \" + model_usdz);\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_console.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button cassette pressed\");\r\n    \/\/ button_indoor_A.classList.add(\"hide\");\r\n    \/\/ button_outdoor_A.classList.remove(\"hide\");\r\n    type_model = \"indoor\";\r\n    previus_model = actual_model;\r\n    actual_model = indoor_b;\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    console.log(\"model glb: \" + model_glb);\r\n    model_usdz = usdz[actual_model];\r\n    console.log(\"model usdz: \" + model_usdz);\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_myriad.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button Myriad pressed\");\r\n    type_model = \"outdoor\";\r\n\r\n    button_myriad.classList.add(\"hide\");\r\n    button_myriad_plus.classList.remove(\"hide\");\r\n    select2.classList.add(\"hide\");\r\n    select.classList.remove(\"hide\");\r\n\r\n    \/\/ actual_model = outdoor_a;\r\n    \/\/ actual_model = outdoor_2_a;\r\n    value = select.value;\r\n    previus_model = actual_model;\r\n    actual_model = value;\r\n\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  button_myriad_plus.addEventListener(\"click\", () => {\r\n    stopx();\r\n    console.log(\"button Myriad plus pressed\");\r\n    type_model = \"outdoor\";\r\n\r\n    button_myriad_plus.classList.add(\"hide\");\r\n    button_myriad.classList.remove(\"hide\");\r\n    select.classList.add(\"hide\");\r\n    select2.classList.remove(\"hide\");\r\n\r\n    \/\/ actual_model = outdoor_2_a;\r\n    value = select2.value;\r\n    previus_model = actual_model;\r\n    actual_model = value;\r\n\r\n    console.log(\"actual model: \" + actual_model);\r\n    enable_explode = explodes[actual_model];\r\n    model_glb = glbs[actual_model];\r\n    model_usdz = usdz[actual_model];\r\n    modelViewer.src = model_glb;\r\n    document.getElementById(\"viewer\").setAttribute(\"src\", model_glb);\r\n    document.getElementById(\"viewer\").setAttribute(\"ios-src\", model_usdz);\r\n  });\r\n\r\n  async function playx() {\r\n    console.log(\"play animation\");\r\n    modelViewer.timeScale = 1;\r\n    await modelViewer.updateComplete;\r\n    modelViewer.pause();\r\n    modelViewer.play({ repetitions: 9999 });\r\n    modelViewer.appendAnimation(\"rotate\", {\r\n      weight: parseFloat(100),\r\n      repetitions: 9999,\r\n    });\r\n    modelViewer.appendAnimation(\"rotate2\", {\r\n      weight: parseFloat(100),\r\n      repetitions: 9999,\r\n    });\r\n  }\r\n\r\n  async function stopx() {\r\n    console.log(\"stop animation\");\r\n\tmodelViewer.animationName=\"explode\";\r\n    modelViewer.currentTime = 0;\r\n    modelViewer.timeScale = 0;\r\n    await modelViewer.updateComplete;\r\n    modelViewer.pause();\r\n  }\r\n\r\n  modelViewer.addEventListener(\"ar-model_status\", (event) => {\r\n    setVisibility(\r\n      show_dimensions && event.detail.model_status !== \"session-started\"\r\n    );\r\n  });\r\n\r\n  async function explode() {\r\n    console.log(\"exploding....\");\r\n    model_status = \"exploding\";\r\n    show_dimensions = false;\r\n    setVisibility(show_dimensions);\r\n    modelViewer.animationName = \"explode\";\r\n    modelViewer.timeScale = 1;\r\n    await modelViewer.updateComplete;\r\n    modelViewer.play({\r\n      repetitions: 1,\r\n    });\r\n  }\r\n\r\n  async function implode() {\r\n    console.log(\"imploding....\");\r\n    model_status = \"imploding\";\r\n    modelViewer.animationName = \"implode\";\r\n    modelViewer.timeScale = 1;\r\n    await modelViewer.updateComplete;\r\n    modelViewer.play({\r\n      repetitions: 1,\r\n    });\r\n  }\r\n\r\n  modelViewer.addEventListener(\"finished\", () => {\r\n    console.log(\"animation finished\");\r\n    if (model_status == \"exploding\") {\r\n      model_status = \"explode\";\r\n      console.log(\"Enabling implode button\");\r\n      button_explode.classList.add(\"hide\");\r\n      button_implode.classList.remove(\"hide\");\r\n    }\r\n    if (model_status == \"imploding\") {\r\n      model_status = \"implode\";\r\n      console.log(\"Enabling explode button\");\r\n      button_implode.classList.add(\"hide\");\r\n      button_explode.classList.remove(\"hide\");\r\n    }\r\n  });\r\n\/\/ New function to encapsulate dimension calculation\r\nfunction calculateDimensions() {\r\n    center = modelViewer.getBoundingBoxCenter();\r\n    size = modelViewer.getDimensions();\r\n    offset_x = (size.x * offset) \/ 100;\r\n    offset_y = (size.y * offset) \/ 100;\r\n    offset_z = (size.z * offset) \/ 100;\r\n    x2 = (size.x + offset_x) \/ 2;\r\n    y2 = (size.y + offset_y) \/ 2;\r\n    z2 = (size.z + offset_z) \/ 2;\r\n}\r\n\r\n\r\n  function drawLine(svgLine, dotHotspot1, dotHotspot2, dimensionHotspot) {\r\n    if (dotHotspot1 && dotHotspot2) {\r\n      svgLine.setAttribute(\"x1\", dotHotspot1.canvasPosition.x);\r\n      svgLine.setAttribute(\"y1\", dotHotspot1.canvasPosition.y);\r\n      svgLine.setAttribute(\"x2\", dotHotspot2.canvasPosition.x);\r\n      svgLine.setAttribute(\"y2\", dotHotspot2.canvasPosition.y);\r\n\r\n      if (dimensionHotspot && !dimensionHotspot.facingCamera) {\r\n        svgLine.classList.add(\"hide\");\r\n      } else {\r\n        svgLine.classList.remove(\"hide\");\r\n      }\r\n    }\r\n  }\r\n};<\/script>La thermopompe Meridian offre aux propri\u00e9taires l\u2019\u00e9quilibre parfait entre la puissance et l\u2019efficacit\u00e9 pour un chauffage stable durant les grands froids canadiens. Tr\u00e8s fiable, elle [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":"","_wp_rev_ctl_limit":""},"dipi_cpt_category":[],"class_list":["post-16258508","page","type-page","status-publish","hentry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/pages\/16258508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/comments?post=16258508"}],"version-history":[{"count":15,"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/pages\/16258508\/revisions"}],"predecessor-version":[{"id":16267729,"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/pages\/16258508\/revisions\/16267729"}],"wp:attachment":[{"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/media?parent=16258508"}],"wp:term":[{"taxonomy":"dipi_cpt_category","embeddable":true,"href":"https:\/\/moovair.com\/fr-ca\/wp-json\/wp\/v2\/dipi_cpt_category?post=16258508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}