{"id":118363,"date":"2026-05-07T17:23:08","date_gmt":"2026-05-07T10:23:08","guid":{"rendered":"https:\/\/jblstore.co.id\/?page_id=118363"},"modified":"2026-05-12T16:23:56","modified_gmt":"2026-05-12T09:23:56","slug":"home-trial-1","status":"publish","type":"page","link":"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/","title":{"rendered":"Soundbar Home Trial"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"118363\" class=\"elementor elementor-118363\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-91790bf elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"91790bf\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4c250b3\" data-id=\"4c250b3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-05415a8 elementor-widget elementor-widget-shortcode\" data-id=\"05415a8\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t    <style>\n        @media (max-width: 767px) {\n            .is-desktop {\n                display: none !important;\n            }\n        }\n\n        @media (min-width: 768px) {\n            .is-mobile {\n                display: none !important;\n            }\n        }\n\n        #title {\n            display: none;\n        }\n\n        .cta:not(:disabled),\n        .cta:not(.active) {\n            transition: all .2s ease-in;\n\n            &:focus,\n            &:hover {\n                outline: none;\n            }\n\n            &:hover {\n                opacity: 0.8;\n            }\n        }\n\n        .soundbar-home-trial {\n            max-width: var(--sizing-max-page);\n            margin-inline: auto;\n            position: relative;\n            overflow: hidden;\n            background-color: black;\n\n            #hero {\n                .img-wrapper {\n                    display: flex;\n                }\n            }\n\n            #hometrial {\n                max-width: var(--sizing-max-page);\n                margin-inline: auto;\n\n                & > .img-wrapper {\n                    img {\n                        width: 100%;\n                    }\n                }\n\n                .signup-hometrial {\n                    background-color: white;\n                    padding-bottom: 40px;\n\n                    .inside-signup {\n                        display: grid;\n                        grid-template-columns: repeat(3, minmax(0, 1fr));\n                        justify-content: center;\n                        align-items: start;\n                        gap: 20px;\n                        max-width: 1200px;\n                        margin-inline: auto;\n\n                        @media (max-width: 767px) {\n                            grid-template-columns: repeat(1, minmax(0, 1fr));\n                            gap: 10px;\n                        }\n\n                        &>div {\n                            display: flex;\n                            justify-content: center;\n                            flex-direction: column;\n                            align-items: center;\n                            color: black;\n                            padding-block: 40px;\n                            padding-inline: 15px;\n\n                            @media (max-width: 767px) {\n                                padding-block: 20px;\n                            }\n\n                            &>* {\n                                display: block;\n                            }\n\n                            img {\n                                margin-bottom: 30px;\n                                max-width: 150px;\n                                margin-inline: auto;\n\n                                @media (max-width: 767px) {\n                                    max-width: 100px;\n                                }\n                            }\n\n                            strong {\n                                color: black;\n                                text-align: center;\n                                font-family: Grostesk-Bold, Arial, Helvetica, sans-serif;\n                                margin: 0;\n                                font-size: clamp(32px, calc(2rem + ((1vw - 3.76px) * -1.6917)), 14px);\n                                min-height: 0vw;\n                                text-wrap: balance;\n                                margin-bottom: 10px;\n\n                                @media (max-width: 1440px) {\n                                    font-size: clamp(24px, calc(1.5rem + ((1vw - 3.76px) * -0.9398)), 14px);\n                                }\n\n                                @media (max-width: 767px) {\n                                    line-height: 120%;\n                                    font-size: 16px;\n                                }\n                            }\n\n                            p {\n                                color: black;\n                                text-align: center;\n                                font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                                margin: 0;\n                                font-size: clamp(20px, calc(1.25rem + ((1vw - 3.76px) * -0.9398)), 10px);\n                                min-height: 0vw;\n\n                                @media (max-width: 767px) {\n                                    font-size: 12px;\n                                }\n                            }\n                        }\n                    }\n\n\n                    .signup-btn {\n                        display: block;\n                        font-family: Grostesk-Bold, Arial, Helvetica, sans-serif;\n                        text-align: center;\n                        margin: 0;\n                        margin-inline: auto;\n                        padding: 15px;\n                        border-radius: 100px;\n                        background-color: #f94514;\n                        width: fit-content;\n                        padding-inline: 50px;\n                        color: white;\n                        text-transform: uppercase;\n                    }\n                }\n\n                .features-sb {\n                    margin-block: 50px;\n                    padding-inline: 10px;\n\n                    .inside-sb {\n                        display: grid;\n                        grid-template-columns: repeat(4, minmax(0, 1fr));\n                        justify-content: center;\n                        align-items: start;\n                        gap: 20px;\n                        max-width: 1200px;\n                        margin-inline: auto;\n\n                        @media (max-width: 767px) {\n                            grid-template-columns: repeat(2, minmax(0, 1fr));\n                            gap: 10px;\n                        }\n\n                        .list-feature {\n                            .img-wrapper {\n                                margin-bottom: 20px;\n\n                                img {\n                                    margin-inline: auto;\n                                    width: 40%;\n\n                                    @media (max-width: 767px) {\n                                        width: 20%;\n                                    }\n                                }\n                            }\n\n                            .text-wrapper {\n                                color: white;\n                                text-align: center;\n                                font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                                margin: 0;\n                                font-size: clamp(20px, calc(1.25rem + ((1vw - 3.76px) * -0.9398)), 10px);\n                                min-height: 0vw;\n\n                                @media (max-width: 767px) {\n                                    font-size: 12px;\n                                }\n                            }\n                        }\n                    }\n                }\n\n                .divider {\n                    border: .5px solid #FFFFFF;\n                    width: 90%;\n                    max-width: 1200px;\n                    margin-inline: auto;\n                }\n\n                .coverage-sb {\n\n                    .title-section {\n                        color: white;\n                        text-align: center;\n                        font-family: Grostesk-ExtraBold, Arial, Helvetica, sans-serif;\n                        margin: 0;\n                        margin-top: 80px;\n                        font-size:\n                            clamp(18px, calc(1.125rem + ((1vw - 3.76px) * 2.8195)), 48px)                        ;\n                        min-height: 0vw;\n\n                        @media (max-width: 767px) {\n                            text-align: center;\n                            margin-top: 30px;\n                        }\n                    }\n                    \n                    .inside {\n                        display: grid;\n                        grid-template-columns: repeat(2, minmax(0, 1fr));\n                        justify-content: center;\n                        align-items: center;\n                        gap: 20px;\n                        max-width: 1200px;\n                        margin-inline: auto;\n                        padding-block: 80px;\n\n                        @media (max-width: 767px) {\n                            grid-template-columns: repeat(1, minmax(0, 1fr));\n                            gap: 10px;\n                            padding-block: 20px;\n                        }\n\n                        .text-section {\n                            display: block;\n\n                            @media (max-width: 767px) {\n                                order: 1;\n                            }\n                            \n                            .text-wrap {\n                                width: 80%;\n                                margin-inline: auto;\n                                padding-block: 30px;\n\n                                .subtitle-section {\n                                    color: white;\n                                    font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                                    margin: 0;\n                                    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.76px) * -0.9398)), 10px);\n                                    min-height: 0vw;\n\n                                    @media (max-width: 767px) {\n                                        font-size: 12px;\n                                        text-align: center;\n                                    }\n                                }\n\n                                .places {\n                                    display: none;\n                                    opacity: 0;\n                                    \n                                    position: absolute;\n                                    top: -100%;\n                                    background: white;\n                                    border-bottom-left-radius: 16px;\n                                    border-bottom-right-radius: 16px;\n                                    max-height: 150px;\n                                    padding: 10px;\n                                    transition: opacity .25s ease;\n                                    overflow: auto;\n                                    width: 100%;\n\n                                    &.show {\n                                        display: block;\n                                        opacity: 1;\n                                    }\n\n                                    .place {\n                                        font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                                        background: rgba(0,0,0,.15);\n                                        padding: 2px 10px;\n                                        border-radius: 10px;\n                                        cursor: pointer;\n                                        \n                                        &:not(:last-child) {\n                                            margin-bottom: 10px;\n                                        }\n\n                                        &:hover {\n                                            opacity: .8;\n                                        }\n                                    }\n                                }\n\n                                .search-location {\n                                    width: 100%;\n                                    margin: 0;\n                                    margin-top: 40px;\n                                    color: black;\n                                    font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                                    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.76px) * -0.9398)), 10px);\n                                    min-height: 0vw;\n\n                                    @media (max-width: 767px) {\n                                        font-size: 12px;\n                                        margin-top: 20px;\n                                    }\n                                }\n\n                                .search-location::placeholder {\n                                    color: black;\n                                    opacity: .2;\n                                    font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                                    margin: 0;\n                                    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.76px) * -0.9398)), 10px);\n                                    min-height: 0vw;\n\n                                    @media (max-width: 767px) {\n                                        font-size: 12px;\n                                    }\n                                }\n\n                                #result-coverage {\n                                    margin-top: 20px;\n                                    font-family: Grostesk-Regular, Arial, Helvetica, sans-serif;\n                                    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.76px) * -0.9398)), 10px);\n                                    min-height: 0vw;\n\n                                    @media (max-width: 767px) {\n                                        font-size: 12px;\n                                    }\n                                }\n\n                                select[name=coverage-area] {\n                                    width: 100%;\n                                    margin-top: 20px;\n                                    color: black;\n                                    font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                                    font-size: clamp(20px, calc(1.25rem + ((1vw - 3.76px) * -0.9398)), 10px);\n                                    min-height: 0vw;\n\n                                    @media (max-width: 767px) {\n                                        font-size: 12px;\n                                        margin-top: 10px;\n                                    }\n                                }\n                            }\n                        }\n\n                        .maps-section {\n                            display: block;\n\n                            @media (max-width: 767px) {\n                                order: 0;\n                            }\n                            \n                            .my-map {\n                                border-radius: 32px;\n                                overflow: hidden;\n\n                                @media (max-width: 767px) {\n                                    border-radius: 0px;\n                                }\n                            }\n                        }\n                    }\n\n                    .extra {\n                        margin-bottom: 80px;\n                        margin-inline: 10px;\n\n                        @media (max-width: 767px) {\n                            margin-bottom: 30px;\n                        }\n\n                        .process-lists {\n                            display: flex;\n                            justify-content: center;\n                            align-items: center;\n                            gap: 20px;\n                            max-width: 1200px;\n                            margin-inline: auto;\n\n                            .process-list {\n                                 min-width: 0;\n                                \n                                .text-wrapper {\n                                    color: white;\n                                    text-align: center;\n                                    font-family: Grostesk-Bold, Arial, Helvetica, sans-serif;\n                                    margin: 0;\n                                    font-size: clamp(6px, calc(0.375rem + ((1vw - 3.76px) * 1.3158)), 20px);\n                                    min-height: 0vw;\n                                    white-space: nowrap;\n                                    text-transform: uppercase;\n\n                                    \/* @media (max-width: 767px) {\n                                        font-size: 12px;\n                                    } *\/\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n\n            #form-wrapper {\n                padding-inline: 100px;\n                padding-top: 150px;\n                padding-bottom: 20px;\n                font-family: var(--font-body);\n                \/* background-color: black; *\/\n                \/* background-image: url('\/wp-content\/uploads\/2025\/05\/soundbarhometrial-background.webp');\n                background-position: center;\n                background-repeat: no-repeat;\n                background-size: cover; *\/\n\n                @media (max-width: 767px) {\n                    padding-inline: 15px;\n                    padding-top: 30px;\n                }\n\n                .text-top {\n                    h1 {\n                        color: white;\n                        text-align: center;\n                        font-family: Grostesk-Bold, Arial, Helvetica, sans-serif;\n                        margin: 0;\n                        font-size: clamp(58px, calc(3.625rem + ((1vw - 3.76px) * -3.1955)), 24px);\n                        min-height: 0vw;\n                        text-wrap: balance;\n                        margin-bottom: 10px;\n\n                        @media (max-width: 767px) {\n                            font-size: 32px;\n                        }\n                    }\n\n                    p {\n                        color: white;\n                        text-align: center;\n                        font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                        margin: 0;\n                        font-size: clamp(20px, calc(1.25rem + ((1vw - 3.76px) * -0.9398)), 10px);\n                        min-height: 0vw;\n                        text-wrap: balance;\n\n                        @media (max-width: 767px) {\n                            font-size: 12px;\n                        }\n                    }\n                }\n\n                .input-middle {\n                    margin-top: 30px;\n                    margin-bottom: 50px;\n\n                    form {\n                        display: grid;\n                        \/* grid-template-columns: repeat(2, minmax(0,1fr)); *\/\n                        grid-template-columns: repeat(1, minmax(0, 1fr));\n                        gap: 20px;\n                        max-width: 900px;\n                        margin-inline: auto;\n\n                        \/* @media (max-width: 767px) {\n                            grid-template-columns: repeat(1, minmax(0,1fr));\n                        } *\/\n\n                        .input-wrapper {\n                            display: flex;\n                            flex-direction: column;\n                            gap: 5px;\n                            color: white;\n                            font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n\n                            \/* &:has(input[required]) label::after {\n                                content: '*';\n                                color: red;\n                                margin-left: 4px;\n                                font-weight: bold;\n                                text-decoration: none;\n                            } *\/\n\n                            label, select {\n                                color: white;\n                                font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                                font-size: 14px;\n                            }\n\n                            select {\n                                color: black;\n                                font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                            }\n\n                            select option[value=\"\"] {\n                                color: rgb(17, 17, 17);\n                            }\n\n                            small {\n                                font-size: 16px;\n                            }\n\n                            label[for=terms] span {\n                                text-decoration: underline;\n                                color: blue;\n                            }\n\n                            input,\n                            textarea {\n                                outline: none;\n                                font-family: Grostesk-Light, Arial, Helvetica, sans-serif;\n                            }\n\n                            button {\n                                border-radius: 0;\n                                padding-block: 8px;\n                                font-family: Grostesk-Bold, Arial, Helvetica, sans-serif;\n                                background-color: var(--jblorange);\n                                border-radius: 8px;\n                                padding: 15px 50px;\n                                margin-inline: auto;\n                                display: block;\n                            }\n                        }\n                    }\n                }\n            }\n        }\n\n        .modal-popup {\n            display: none;\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background-color: rgba(0, 0, 0, 0.7);\n            z-index: 1000;\n            opacity: 0;\n            transition: opacity 0.3s ease;\n        }\n\n        .modal-popup.show {\n            opacity: 1;\n        }\n\n        .modal-content h2 {\n            margin: 0;\n            font-family: \"Kostic - Roc Grotesk Bold\", Arial, Helvetica, sans-serif;\n            font-size: 25px;\n            \/* font-size: clamp(12px, calc(0.75rem + ((1vw - 3.76px) * 1.2218)), 25px); *\/\n            min-height: 0vw;\n        }\n\n        .modal-content {\n            background-color: #fff;\n            margin: 5% auto;\n            padding: 30px;\n            border-radius: 10px;\n            width: 80%;\n            max-width: 700px;\n            position: relative;\n            transform: translateY(-20px);\n            transition: transform 0.3s ease;\n\n            @media (max-width: 767px) {\n                padding: 20px;\n                width: 90%;\n            }\n        }\n\n        .modal-popup.show .modal-content {\n            transform: translateY(0);\n        }\n\n        #modalResult,\n        .body-tnc {\n            font-size: 18px;\n            margin: 20px 0;\n            font-family: \"Kostic - Roc Grotesk Regular\", Arial, Helvetica, sans-serif;\n        }\n\n        .must-login #messagePopup {\n            font-family: \"Kostic - Roc Grotesk Regular\",Arial, Helvetica, sans-serif;\n            font-size: clamp(10px, calc(0.625rem + ((1vw - 3.76px) * 0.9398)), 20px);\n            min-height: 0vw;\n            margin: 0;\n            margin-top: 20px;\n            display: block;\n        }\n\n        .close-modal {\n            position: absolute;\n            top: 20px;\n            right: 15px;\n            cursor: pointer;\n            width: 24px;\n            height: 24px;\n        }\n\n        .body-tnc {\n            max-height: 300px;\n            overflow: auto;\n            \/* padding-left: 20px; *\/\n\n            \/* @media (max-width: 767px) {\n                padding-left: 10px;\n            } *\/\n            a {\n                \n                text-decoration: underline;\n                text-decoration-color: #f94514;\n                text-decoration-thickness: 2px;\n            }\n        }\n\n        .must-login .mycta {\n            padding-block: 8px;\n            font-family: Grostesk-Bold, Arial, Helvetica, sans-serif;\n            background-color: var(--jblorange);\n            border-radius: 8px;\n            padding: 10px 40px;\n            margin-inline: auto;\n            display: block;\n            margin-top: 20px;\n            color: white;\n        }\n\n        .bottom-wraphome {\n            background-image: url('\/wp-content\/uploads\/2025\/06\/soundbarhometrial-bg-desktop-scaled.webp');\n            background-position: bottom 0% right 50%;\n            background-repeat: no-repeat;\n            background-size: contain;\n\n            @media (max-width: 767px) {\n                background-size: 100%;\n            }\n        }\n        .wrap-embed {\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            border-radius: 20px;\n            overflow: hidden;\n        }\n        iframe._lpSurveyEmbed {\n            max-width: 800px;\n            margin-inline: auto;\n            display: block;\n        }\n    <\/style>\n    <div class=\"soundbar-home-trial\">\n        <section id=\"hero\">\n            <picture class=\"img-wrapper\">\n                <img fetchpriority=\"high\" decoding=\"async\" width=\"2560\" height=\"943\" src=\"\/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1.webp\" class=\"attachment-full size-full\" alt=\"Soundbar Home Trial Ruma Hero Banner\" srcset=\"\/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1.webp 2560w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-300x111.webp 300w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-1024x377.webp 1024w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-768x283.webp 768w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-1536x566.webp 1536w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-2048x754.webp 2048w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-18x7.webp 18w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-364x134.webp 364w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-1140x420.webp 1140w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-600x221.webp 600w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-1600x589.webp 1600w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-1200x442.webp 1200w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-175x64.webp 175w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-376x139.webp 376w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-284x105.webp 284w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-497x183.webp 497w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-576x212.webp 576w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-1257x463.webp 1257w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-462x170.webp 462w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-412x152.webp 412w, \/wp-content\/uploads\/2026\/05\/JBL-x-Ruma-Main-KV-2560x943-1-721x266.webp 721w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/>            <\/picture>\n        <\/section>\n        <div class=\"bottom-wraphome\">\n            <section id=\"hometrial\">\n                <div class=\"signup-hometrial\">\n                    <div class=\"inside-signup\">\n                        <div class=\"signup-section\">\n                            <img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/05\/background-soundbar-hometrial-signup.webp\" alt=\"Signup Icon\"\n                                width=\"173\" height=\"173\">\n                            <strong>Sign Up<\/strong>\n                            <p>Register your interest by clicking \u201csign up\u201d                            <\/p>\n                        <\/div>\n                        <div class=\"trial-section\">\n                            <img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/05\/background-soundbar-hometrial-trial.webp\" alt=\"Trial Icon\"\n                                width=\"173\" height=\"173\">\n                            <strong>Trial<\/strong>\n                            <p>Your 14-day trial starts upon the delivery and installation of the soundbars at your desired location by our JBL specialists.                            <\/p>\n                        <\/div>\n                        <div class=\"keepenjoy-section\">\n                            <img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/05\/background-soundbar-hometrial-keepenjoy.webp\"\n                                alt=\"Keep and Enjoy Icon\" width=\"173\" height=\"173\">\n                            <strong>Try Now, Choose Later<\/strong>\n                            <p>Want to keep it? Get the new soundbar with a special offer. If it's not for you, just return it at no cost.                            <\/p>\n                        <\/div>\n                    <\/div>\n\n                    <a class=\"signup-btn cta\" href=\"#form\"\n                        id=\"scroll-to-form\">Sign up<\/a>\n                <\/div>\n                <picture class=\"img-wrapper\">\n                    <img decoding=\"async\" width=\"1920\" height=\"888\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-image.webp\" class=\"attachment-full size-full\" alt=\"Soundbar Home Trial Ruma Hero Banner\" srcset=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-image.webp 1920w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-300x139.webp 300w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-1024x474.webp 1024w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-768x355.webp 768w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-1536x710.webp 1536w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-18x8.webp 18w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-1140x527.webp 1140w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-600x278.webp 600w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-1600x740.webp 1600w, \/wp-content\/uploads\/2025\/06\/soundbarhometrial-image-1200x555.webp 1200w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/>                <\/picture>\n                <div class=\"features-sb\">\n                    <div class=\"inside-sb\">\n                                                    <div class=\"list-feature\">\n                                <div class=\"img-wrapper\">\n                                    <img decoding=\"async\" width=\"150\" height=\"151\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-dolbyatmos.svg\" class=\"attachment-full size-full\" alt=\"True Dolby Atmos\u00ae, DTS:X, and MultiBeamTM Surround Sound\" \/>                                <\/div>\n                                <p class=\"text-wrapper\">True Dolby Atmos\u00ae, DTS:X, and MultiBeamTM Surround Sound<\/p>\n                            <\/div>\n                                                    <div class=\"list-feature\">\n                                <div class=\"img-wrapper\">\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"151\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-subwoofer.svg\" class=\"attachment-full size-full\" alt=\"10\u201d Wireless subwoofer\" \/>                                <\/div>\n                                <p class=\"text-wrapper\">10\u201d Wireless subwoofer<\/p>\n                            <\/div>\n                                                    <div class=\"list-feature\">\n                                <div class=\"img-wrapper\">\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"151\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-output.svg\" class=\"attachment-full size-full\" alt=\"880W output power\" \/>                                <\/div>\n                                <p class=\"text-wrapper\">880W output power<\/p>\n                            <\/div>\n                                                    <div class=\"list-feature\">\n                                <div class=\"img-wrapper\">\n                                    <img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"151\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-hdmi.svg\" class=\"attachment-full size-full\" alt=\"HDMI eARC with 4K Dolby Vision pass-through\" \/>                                <\/div>\n                                <p class=\"text-wrapper\">HDMI eARC with 4K Dolby Vision pass-through<\/p>\n                            <\/div>\n                                            <\/div>\n                <\/div>\n                <hr class=\"divider\" \/>\n                <div class=\"coverage-sb\">\n                    <h2 class=\"title-section\">HOME TRIAL JOURNEY<\/h2>\n                    <!--<div class=\"inside\">\n                         <div class=\"text-section\">\n                            <p class=\"subtitle-section\">\n                                Check your area availability                            <\/p>\n                            <div class=\"text-wrap\">\n                                <h2 class=\"title-section\">AREA COVERAGE<\/h2>\n                                <p class=\"subtitle-section\">\n                                    Check your area availability                                <\/p>\n                                <div class=\"search-location-wrapper\">\n                                    <!-- <input type=\"text\" class=\"search-location\" id=\"check-coverage\"\n                                    placeholder=\"Find Your Location\"> \n                                    <select id=\"coverage-area\" name=\"coverage-area\" required>\n                                        <option value=\"\" disabled selected>Find Your Location<\/option>\n                                                                                    <option value=\"Ruma Niva - Kemang\">Ruma Niva - Kemang<\/option>\n                                                                                    <option value=\"Ruma Cilandak\">Ruma Cilandak<\/option>\n                                                                                    <option value=\"Ruma Ampera - Pasar Minggu\">Ruma Ampera - Pasar Minggu<\/option>\n                                                                                    <option value=\"Ruma Pejaten\">Ruma Pejaten<\/option>\n                                                                                    <option value=\"Ruma Niva Veteran - Bintaro\">Ruma Niva Veteran - Bintaro<\/option>\n                                                                                    <option value=\"Ruma Saila - Lebak Bulus\">Ruma Saila - Lebak Bulus<\/option>\n                                                                                    <option value=\"Ruma Prana - Pondok Indah\">Ruma Prana - Pondok Indah<\/option>\n                                                                                    <option value=\"Ruma Antasari - Cipete\">Ruma Antasari - Cipete<\/option>\n                                                                                    <option value=\"Ruma Priva - Ciputat\">Ruma Priva - Ciputat<\/option>\n                                                                                    <option value=\"Ruma Cila - Cilandak\">Ruma Cila - Cilandak<\/option>\n                                                                                    <option value=\"Ruma Loka - Jatiwarna\">Ruma Loka - Jatiwarna<\/option>\n                                                                                    <option value=\"Ruma Cirendeu\">Ruma Cirendeu<\/option>\n                                                                                    <option value=\"Ruma Prana - Pondok Labu\">Ruma Prana - Pondok Labu<\/option>\n                                                                                    <option value=\"Ruma Benda - Cilandak\">Ruma Benda - Cilandak<\/option>\n                                                                                    <option value=\"Ruma Joglo - Kembangan\">Ruma Joglo - Kembangan<\/option>\n                                                                                    <option value=\"Ruma Jagakarsa\">Ruma Jagakarsa<\/option>\n                                                                                    <option value=\"Ruma Kebagusan\">Ruma Kebagusan<\/option>\n                                                                                    <option value=\"Ruma Kemang\">Ruma Kemang<\/option>\n                                                                                    <option value=\"Ruma Setu\">Ruma Setu<\/option>\n                                                                                    <option value=\"Ruma Rempoa - Bintaro\">Ruma Rempoa - Bintaro<\/option>\n                                                                                    <option value=\"Paradesa Jagakarsa\">Paradesa Jagakarsa<\/option>\n                                                                                    <option value=\"Paradesa Setu Dua\">Paradesa Setu Dua<\/option>\n                                                                                    <option value=\"Neville Bintaro\">Neville Bintaro<\/option>\n                                                                                    <option value=\"Paradesa Setu Ext\">Paradesa Setu Ext<\/option>\n                                                                                    <option value=\"Paradesa Pemulang\">Paradesa Pemulang<\/option>\n                                                                                    <option value=\"Paradesa Cibubur\">Paradesa Cibubur<\/option>\n                                                                                    <option value=\"Paradesa Setu\">Paradesa Setu<\/option>\n                                                                                    <option value=\"Paradesa Cirendeu\">Paradesa Cirendeu<\/option>\n                                                                                    <option value=\"Paradesa Cinere\">Paradesa Cinere<\/option>\n                                                                                    <option value=\"Terraruma Bintaro\">Terraruma Bintaro<\/option>\n                                                                                    <option value=\"Vasa Ilana - Pamulang\">Vasa Ilana - Pamulang<\/option>\n                                                                                    <option value=\"Vasa Loka - Pondok Aren\">Vasa Loka - Pondok Aren<\/option>\n                                                                                    <option value=\"Vasa Jagakarsa\">Vasa Jagakarsa<\/option>\n                                                                                    <option value=\"Vasa Kebagusa\">Vasa Kebagusa<\/option>\n                                                                                    <option value=\"Vasa Bintaro\">Vasa Bintaro<\/option>\n                                                                                    <option value=\"Tamaruma Sawangan\">Tamaruma Sawangan<\/option>\n                                                                            <\/select>\n                                    <div style=\"position: relative;\">\n                                        <div id=\"places-result-1\" class=\"places\"><\/div>\n                                    <\/div>\n                                    <div id=\"result-coverage\"><\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n                        <div class=\"maps-section\">\n                            <!-- <div id=\"map\" class=\"my-map\" style=\"width: 100%; height: 400px;\"><\/div> \n                        <\/div>\n                    <\/div> -->\n                    <div class=\"extra\">\n                        <div class=\"process-lists\">\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"208\" height=\"207\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-submitform.svg\" class=\"attachment-full size-full\" alt=\"SUBMIT FORM\" \/>                                    <\/div>\n                                                                            <p class=\"text-wrapper\">SUBMIT FORM<\/p>\n                                                                    <\/div>\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"22\" height=\"38\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-arrow.svg\" class=\"attachment-full size-full\" alt=\"Next\" \/>                                    <\/div>\n                                                                    <\/div>\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"208\" height=\"207\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-scheduling.svg\" class=\"attachment-full size-full\" alt=\"SCHEDULING\" \/>                                    <\/div>\n                                                                            <p class=\"text-wrapper\">SCHEDULING<\/p>\n                                                                    <\/div>\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"22\" height=\"38\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-arrow.svg\" class=\"attachment-full size-full\" alt=\"Next\" \/>                                    <\/div>\n                                                                    <\/div>\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"208\" height=\"207\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-installation.svg\" class=\"attachment-full size-full\" alt=\"INSTALLATION\" \/>                                    <\/div>\n                                                                            <p class=\"text-wrapper\">INSTALLATION<\/p>\n                                                                    <\/div>\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"22\" height=\"38\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-arrow.svg\" class=\"attachment-full size-full\" alt=\"Next\" \/>                                    <\/div>\n                                                                    <\/div>\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"208\" height=\"207\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-enjoytrial.svg\" class=\"attachment-full size-full\" alt=\"Enjoy trial\" \/>                                    <\/div>\n                                                                            <p class=\"text-wrapper\">Enjoy trial<\/p>\n                                                                    <\/div>\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"22\" height=\"38\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-arrow.svg\" class=\"attachment-full size-full\" alt=\"Next\" \/>                                    <\/div>\n                                                                    <\/div>\n                                                            <div class=\"process-list\">\n                                    <div class=\"img-wrapper\">\n                                        <img loading=\"lazy\" decoding=\"async\" width=\"208\" height=\"207\" src=\"\/wp-content\/uploads\/2025\/06\/soundbarhometrial-review.svg\" class=\"attachment-full size-full\" alt=\"Review\" \/>                                    <\/div>\n                                                                            <p class=\"text-wrapper\">Review<\/p>\n                                                                    <\/div>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n\n                <hr class=\"divider\" \/>\n            <\/section>\n            <section id=\"form-wrapper\">\n                <div class=\"text-top\">\n                    <!-- <h1>JBL BAR 1000 HOME TRIAL<\/h1> -->\n                    <p>Take a complimentary 14-day FREE home trial program. Choose to receive exclusive offers and opt to keep the soundbar. Change of mind? Enjoy hassle-free return at no cost.\u00a0*Terms and conditions apply.                    <\/p>\n                <\/div>\n                <div class=\"input-middle\">\n                    <form action=\"\/en\/\" method=\"POST\" id=\"soundbar-hometrial\" data-trp-original-action=\"\/\">\n                        <div class=\"input-wrapper\">\n                            <label for=\"name\"><strong>Fullname:<\/strong><\/label>\n                            <input autocomplete=\"name\" type=\"text\" id=\"fullname\" name=\"fullname\" required placeholder=\"Example\">\n                        <\/div>\n\n                        <div class=\"input-wrapper\">\n                            <label for=\"email\"><strong>Email:<\/strong><\/label>\n                            <input autocomplete=\"email\" type=\"email\" id=\"email\" name=\"email\" required placeholder=\"example@mail.com\">\n                        <\/div>\n\n                        <div class=\"input-wrapper\">\n                            <label for=\"phone\"><strong>Phone (Can be contacted via WhatsApp):<\/strong><\/label>\n                            <input type=\"tel\" id=\"phone\" name=\"phone\" required placeholder=\"+6285156759787\" maxlength=\"14\">\n                        <\/div>\n\n                        <div class=\"input-wrapper\">\n                            <label for=\"coverage-area\"><strong>Address:<\/strong><\/label>\n                            <select id=\"coverage-area\" name=\"coverage-area\" required>\n                                <option value=\"\" disabled selected>Select your coverage area<\/option>\n                                                                    <option value=\"Ruma Niva - Kemang\">Ruma Niva - Kemang<\/option>\n                                                                    <option value=\"Ruma Cilandak\">Ruma Cilandak<\/option>\n                                                                    <option value=\"Ruma Ampera - Pasar Minggu\">Ruma Ampera - Pasar Minggu<\/option>\n                                                                    <option value=\"Ruma Pejaten\">Ruma Pejaten<\/option>\n                                                                    <option value=\"Ruma Niva Veteran - Bintaro\">Ruma Niva Veteran - Bintaro<\/option>\n                                                                    <option value=\"Ruma Saila - Lebak Bulus\">Ruma Saila - Lebak Bulus<\/option>\n                                                                    <option value=\"Ruma Prana - Pondok Indah\">Ruma Prana - Pondok Indah<\/option>\n                                                                    <option value=\"Ruma Antasari - Cipete\">Ruma Antasari - Cipete<\/option>\n                                                                    <option value=\"Ruma Priva - Ciputat\">Ruma Priva - Ciputat<\/option>\n                                                                    <option value=\"Ruma Cila - Cilandak\">Ruma Cila - Cilandak<\/option>\n                                                                    <option value=\"Ruma Loka - Jatiwarna\">Ruma Loka - Jatiwarna<\/option>\n                                                                    <option value=\"Ruma Cirendeu\">Ruma Cirendeu<\/option>\n                                                                    <option value=\"Ruma Prana - Pondok Labu\">Ruma Prana - Pondok Labu<\/option>\n                                                                    <option value=\"Ruma Benda - Cilandak\">Ruma Benda - Cilandak<\/option>\n                                                                    <option value=\"Ruma Joglo - Kembangan\">Ruma Joglo - Kembangan<\/option>\n                                                                    <option value=\"Ruma Jagakarsa\">Ruma Jagakarsa<\/option>\n                                                                    <option value=\"Ruma Kebagusan\">Ruma Kebagusan<\/option>\n                                                                    <option value=\"Ruma Kemang\">Ruma Kemang<\/option>\n                                                                    <option value=\"Ruma Setu\">Ruma Setu<\/option>\n                                                                    <option value=\"Ruma Rempoa - Bintaro\">Ruma Rempoa - Bintaro<\/option>\n                                                                    <option value=\"Paradesa Jagakarsa\">Paradesa Jagakarsa<\/option>\n                                                                    <option value=\"Paradesa Setu Dua\">Paradesa Setu Dua<\/option>\n                                                                    <option value=\"Neville Bintaro\">Neville Bintaro<\/option>\n                                                                    <option value=\"Paradesa Setu Ext\">Paradesa Setu Ext<\/option>\n                                                                    <option value=\"Paradesa Pemulang\">Paradesa Pemulang<\/option>\n                                                                    <option value=\"Paradesa Cibubur\">Paradesa Cibubur<\/option>\n                                                                    <option value=\"Paradesa Setu\">Paradesa Setu<\/option>\n                                                                    <option value=\"Paradesa Cirendeu\">Paradesa Cirendeu<\/option>\n                                                                    <option value=\"Paradesa Cinere\">Paradesa Cinere<\/option>\n                                                                    <option value=\"Terraruma Bintaro\">Terraruma Bintaro<\/option>\n                                                                    <option value=\"Vasa Ilana - Pamulang\">Vasa Ilana - Pamulang<\/option>\n                                                                    <option value=\"Vasa Loka - Pondok Aren\">Vasa Loka - Pondok Aren<\/option>\n                                                                    <option value=\"Vasa Jagakarsa\">Vasa Jagakarsa<\/option>\n                                                                    <option value=\"Vasa Kebagusa\">Vasa Kebagusa<\/option>\n                                                                    <option value=\"Vasa Bintaro\">Vasa Bintaro<\/option>\n                                                                    <option value=\"Tamaruma Sawangan\">Tamaruma Sawangan<\/option>\n                                                            <\/select>\n                        <\/div>\n\n                        <div class=\"input-wrapper\">\n                            <label for=\"address-sb\"><strong>Detail Block Address:<\/strong><\/label>\n                            <textarea autocomplete=\"address-level1\" id=\"address-sb\" name=\"address-sb\" rows=\"4\" placeholder=\"Jl. Example No. 123, Jakarta\"\n                                required><\/textarea>\n                        <\/div>\n                        <div class=\"input-wrapper\">\n                            <label for=\"terms\">\n                                <strong>*<span\n                                        id=\"tnc-trigger\">Terms and Conditions.<\/span> Home trial program is only available for Ruma.ID consumers<\/strong>\n                            <\/label>\n                        <\/div>\n\n                        <div><\/div>\n\n                        <div class=\"input-wrapper\">\n                            <span>\n                                <button class=\"cta\" type=\"submit\">Submit<\/button>\n                            <\/span>\n                        <\/div>\n                    <input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form>\n                    <!-- <div class=\"wrap-embed\">\n                        <script src=\"\/\/email.jblstore.co.id\/resources\/sharing\/embed.js?sharing=lp-embed&domain=email.jblstore.co.id&id=7R14-1C4%2F%22&description=\"><\/script>\n                    <\/div>\n                <\/div>\n                <div id=\"showmodal\">halo<\/div> -->\n            <\/section>\n        <\/div>\n        <div class=\"modal-popup\" id=\"tncModal\">\n            <div class=\"modal-content\">\n                <span class=\"cta close-modal\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewbox=\"0 0 24 24\" stroke-width=\"1.5\"\n                        stroke=\"currentColor\" class=\"size-6\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18 18 6M6 6l12 12\" \/>\n                    <\/svg>\n                <\/span>\n                <h2>Mechanism<\/h2>\n\n                <div class=\"must-login\">\n                    <div class=\"body-tnc\">\n                                                    <ul>\n                                <li>JBL will verify the data through customer service and location review (if necessary).<\/li>\n                                <li>If approved, participants will receive the opportunity to try the JBL Soundbar 1000 for free for 14 days.<\/li>\n                                <li>JBL will handle the delivery, installation of the product at the participant's home, provide guidance on how to use the product, and collect the product after the Home Trial period ends.<\/li>\n                                <li>For information and technical assistance on product usage, please contact <a href=\"tel:+6285156759787\">+6285156759787<\/a><\/li>\n                            <\/ul>\n\n                            <strong>Other Terms<\/strong>\n                            <ul>\n                                <li>Participants will not be charged any fees.<\/li>\n                                <li>Participants must use and maintain the JBL Home Trial product properly and responsibly.<\/li>\n                                <li>Negligent use resulting in partial or complete damage to the product will be the responsibility of the participant.<\/li>\n                            <\/ul>\n                                            <\/div>\n\n                    <!-- <button class=\"cta mycta\" id=\"accept-tnc\" disabled>Accept<\/button> -->\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <div class=\"modal-popup\" id=\"infoModal\">\n            <div class=\"modal-content\">\n                <span class=\"cta close-modal\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewbox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"size-6\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6 18 18 6M6 6l12 12\" \/>\n                    <\/svg>\n                <\/span>\n                <h2>Info<\/h2>\n\n                <div class=\"must-login\">\n                    <span id=\"messagePopup\"><\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n    \n    <script async\n src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyChkloQAZvXCdvOIRZTGN62tsJvss0Rb1o&libraries=places&callback=initMap\"><\/script>\n    <!-- MAPS SEARCH LOCATION -->\n    <script>\n        let map;\n        let markerCenter;\n        let geocoder;\n        let timeoutSearchBox;\n\n        async function initMap() {\n\n            const mapElement = document.getElementById(\"map\");\n            const inputCoverage = document.getElementById(\"check-coverage\");\n            const placesResult = document.getElementById(\"places-result-1\");\n            const resultCoverage = document.getElementById(\"result-coverage\");\n\n            if (!mapElement || !inputCoverage || !placesResult || !resultCoverage) {\n                console.warn(\"Required map elements not found\");\n                return;\n            }\n\n            const INITIAL_POSITION = { lat: -6.223523, lng: 106.826451 };\n\n            const { Map } = await google.maps.importLibrary(\"maps\");\n            const { AdvancedMarkerElement } = await google.maps.importLibrary(\"marker\");\n            const { Place, AutocompleteSessionToken, AutocompleteSuggestion } = await google.maps.importLibrary(\"places\");\n\n            map = new Map(mapElement, {\n                center: INITIAL_POSITION,\n                zoom: 14,\n                mapId: \"DEMO_MAP_ID\",\n                streetViewControl: false,\n                mapTypeControl: false,\n            });\n\n            markerCenter = new AdvancedMarkerElement({\n                position: INITIAL_POSITION,\n                map: map,\n                title: 'Default Title',\n            });\n\n            geocoder = new google.maps.Geocoder();\n\n            inputCoverage.addEventListener(\"input\", function (e) {\n\n                clearTimeout(timeoutSearchBox);\n\n                timeoutSearchBox = setTimeout(async () => {\n\n                    const inputVal = e.target.value.trim();\n\n                    if (!inputVal) {\n                        jQuery(placesResult).hide();\n                        console.log(\"no value\");\n                        return;\n                    }\n\n                    try {\n\n                        const request = {\n                            input: inputVal,\n                            locationRestriction: {\n                                north: 6.2,\n                                south: -11.0,\n                                west: 94.5,\n                                east: 141.0,\n                            },\n                            origin: INITIAL_POSITION,\n                            language: \"id-ID\",\n                            region: \"id\",\n                        };\n\n                        const token = new AutocompleteSessionToken();\n                        request.sessionToken = token;\n\n                        const { suggestions } = await AutocompleteSuggestion.fetchAutocompleteSuggestions(request);\n\n                        const placesHtmlArray = await Promise.all(\n                            suggestions.map(async (sugg) => {\n\n                                try {\n\n                                    const placePrediction = sugg.placePrediction;\n                                    const placeDetails = await placePrediction.toPlace();\n\n                                    await placeDetails.fetchFields({\n                                        fields: [\"displayName\", \"formattedAddress\", \"location\"]\n                                    });\n\n                                    const loc = placeDetails.location;\n\n                                    if (!loc) {\n                                        return '';\n                                    }\n\n                                    const lat = loc.lat();\n                                    const lng = loc.lng();\n\n                                    if (typeof lat === 'number' && typeof lng === 'number') {\n\n                                        return `\n                                            <div \n                                                class=\"place\" \n                                                data-address=\"${placeDetails.formattedAddress}\" \n                                                data-lat=\"${lat}\" \n                                                data-lng=\"${lng}\"\n                                            >\n                                                ${placePrediction.text}\n                                            <\/div>\n                                        `;\n                                    }\n\n                                } catch (err) {\n\n                                    console.warn(\"Skipping suggestion due to error\", err);\n                                    return '';\n\n                                }\n\n                            })\n                        );\n\n                        const placesHtml = placesHtmlArray.join(\"\");\n\n                        jQuery(placesResult)\n                            .html(placesHtml)\n                            .show()\n                            .toggleClass(\"show\");\n\n                        jQuery(\".place\").off(\"click\").on(\"click\", function () {\n\n                            const lat = parseFloat(jQuery(this).data(\"lat\"));\n                            const lng = parseFloat(jQuery(this).data(\"lng\"));\n                            const address = jQuery(this).data(\"address\");\n\n                            if (isNaN(lat) || isNaN(lng)) {\n                                console.warn(\"Invalid coordinates\");\n                                return;\n                            }\n\n                            const position = { lat, lng };\n\n                            map.setCenter(position);\n                            markerCenter.position = position;\n\n                            geocoder.geocode({ location: position }, function (results, status) {\n\n                                if (status === \"OK\" && results[0]) {\n\n                                    let isCompatible = false;\n\n                                    const components = results[0].address_components || [];\n\n                                    const compatibleAreas = {\n\n                                        \/\/ Jakarta Selatan\n                                        \"bintaro\": true,\n                                        \"kemang\": true,\n                                        \"pasar minggu\": true,\n                                        \"pondok indah\": true,\n                                        \"lebak bulus\": true,\n                                        \"cilandak\": true,\n                                        \"cipete\": true,\n                                        \"pondok labu\": true,\n                                        \"jagakarsa\": true,\n                                        \"kebagusan\": true,\n                                        \"pejaten\": true,\n\n                                        \/\/ Jakarta Barat\n                                        \"kembangan\": true,\n\n                                        \/\/ Jakarta Timur\n                                        \"jatiwarna\": true,\n                                        \"setu\": true,\n                                        \"cipayung\": true,\n\n                                        \/\/ Tangerang Selatan\n                                        \"ciputat\": true,\n                                        \"cirendeu\": true,\n                                        \"pamulang\": true,\n                                        \"pondok aren\": true,\n                                        \"cinere\": true,\n\n                                        \/\/ Depok\n                                        \"sawangan\": true,\n                                        \"cimanggis\": true,\n                                    };\n\n                                    for (const comp of components) {\n\n                                        const name = (comp.long_name || '').toLowerCase();\n\n                                        if (\n                                            comp.types.includes(\"sublocality\") ||\n                                            comp.types.includes(\"sublocality_level_1\") ||\n                                            comp.types.includes(\"administrative_area_level_3\") ||\n                                            comp.types.includes(\"administrative_area_level_4\")\n                                        ) {\n\n                                            for (const area in compatibleAreas) {\n\n                                                if (name.includes(area)) {\n                                                    isCompatible = true;\n                                                    break;\n                                                }\n\n                                            }\n\n                                        }\n\n                                        if (isCompatible) {\n                                            break;\n                                        }\n\n                                    }\n\n                                    if (isCompatible) {\n\n                                        jQuery(resultCoverage)\n                                            .text(\"Service Available\")\n                                            .css(\"color\", \"green\");\n\n                                    } else {\n\n                                        jQuery(resultCoverage)\n                                            .text(\"Service Not Available\")\n                                            .css(\"color\", \"red\");\n\n                                    }\n\n                                } else {\n\n                                    jQuery(resultCoverage)\n                                        .text(\"Location Not Recognized\")\n                                        .css(\"color\", \"gray\");\n\n                                }\n\n                            });\n\n                            inputCoverage.value = address;\n\n                            jQuery(placesResult)\n                                .hide()\n                                .removeClass(\"show\");\n\n                        });\n\n                    } catch (error) {\n\n                        console.error(\"Autocomplete error:\", error);\n\n                        jQuery(placesResult)\n                            .hide()\n                            .removeClass(\"show\");\n\n                    }\n\n                }, 400);\n\n            });\n\n            \/\/ Click outside\n            document.addEventListener('click', function (e) {\n\n                if (\n                    !inputCoverage.contains(e.target) &&\n                    !placesResult.contains(e.target)\n                ) {\n\n                    jQuery(placesResult)\n                        .hide()\n                        .removeClass(\"show\");\n\n                }\n\n            });\n\n        }\n\n        window.initMap = initMap;\n    <\/script>\n    <!-- FILTER NUMBERPHONE -->\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n            const phoneInput = document.getElementById('phone');\n            const fullnameInput = document.getElementById('fullname');\n\n            function normalizePhone(value) {\n                \/\/ Hilangkan semua karakter non-digit\n                value = value.replace(\/\\D\/g, '');\n\n                \/\/ Hilangkan awalan nol atau 62 jika ada\n                if (value.startsWith('0')) {\n                    value = value.slice(1);\n                } else if (value.startsWith('62')) {\n                    value = value.slice(2);\n                }\n\n                \/\/ Tambahkan +62 di depan\n                return '+62' + value;\n            }\n\n            fullnameInput.addEventListener('input', function () {\n                this.value = this.value.replace(\/[^a-zA-Z\\s]\/g, '');\n            });\n\n            phoneInput.addEventListener('input', function () {\n                const normalized = normalizePhone(phoneInput.value);\n                phoneInput.value = normalized;\n\n                \/\/ Letakkan kursor di akhir input\n                phoneInput.setSelectionRange(normalized.length, normalized.length);\n            });\n\n            phoneInput.addEventListener('paste', function (e) {\n                e.preventDefault();\n                const paste = (e.clipboardData || window.clipboardData).getData('text');\n                const normalized = normalizePhone(paste);\n                phoneInput.value = normalized;\n            });\n\n            document.getElementById('scroll-to-form')?.addEventListener('click', function () {\n                const target = document.getElementById('form-wrapper');\n                if (target) {\n                    target.scrollIntoView({ behavior: 'smooth', block: 'start' });\n                }\n            });\n        });\n    <\/script>\n\n    <script>\n        document.addEventListener(\"DOMContentLoaded\", function () {\n            const form = document.querySelector(\"#soundbar-hometrial\");\n            const inputs = form.querySelectorAll(\"input[required]\");\n            const emailInput = form.querySelector(\"#email\");\n            const infoModal = document.getElementById('infoModal');\n            const tncModal = document.getElementById('tncModal');\n            const tncBtn = document.getElementById('showTNC');\n            const closeButtons = document.querySelectorAll('.close-modal');\n            const checkbox = document.getElementById(\"tnc-trigger\");\n            const messageInfoPopup = document.getElementById('messagePopup');\n\n            const acceptCheckbox = tncModal.querySelector(\"#tnc-trigger\");\n\n            checkbox.addEventListener(\"click\", function (event) {\n                showModal(tncModal);    \/\/ tampilkan modal\n                \/\/ if (checkbox.checked) {\n                \/\/     event.preventDefault(); \/\/ cegah langsung ceklis\n                \/\/ }\n            });\n\n            \/\/ acceptCheckbox.addEventListener('click', function (event) {\n            \/\/     hideModal(tncModal);\n            \/\/     checkbox.checked = true;\n            \/\/ })\n\n            function showModal(modalElement) {\n                if (!modalElement) return;\n\n                modalElement.style.display = 'block';\n                setTimeout(() => {\n                    modalElement.classList.add('show');\n                }, 10);\n            }\n\n            function hideModal(modalElement) {\n                if (!modalElement) return;\n\n                modalElement.classList.remove('show');\n                setTimeout(() => {\n                    modalElement.style.display = 'none';\n                }, 300);\n            }\n\n            closeButtons.forEach(button => {\n                button.addEventListener('click', function () {\n                    const modalToClose = button.parentElement.parentElement;\n                    if (modalToClose) {\n                        hideModal(modalToClose);\n                    } else {\n                        console.log(\"not found\", modalToClose)\n                    }\n                });\n            });\n\n            function showNotification(message, type = \"info\", res = null) {\n                if (res) {\n                    try {\n                        const parsed = typeof res === \"string\" ? JSON.parse(res) : res;\n\n                        if (parsed.details && Array.isArray(parsed.details)) {\n                            const detailMessages = parsed.details.map(detail => {\n                                let label = detail.item\n                                    .replace(\/([A-Z])\/g, ' $1') \/\/ snakeCase ke spasi\n                                    .replace(\/^.\/, str => str.toUpperCase()); \/\/ kapitalisasi\n\n                                const match = detail.description.match(\/ID value '?([^']+)'?\/);\n                                const value = match ? match[1] : '';\n                                return `${label} ${value} is invalid`;\n                            });\n\n                            message = detailMessages.join('\\n');\n                        }\n                    } catch (e) {\n                        console.warn(\"Failed to parse response:\", e);\n                    }\n                }\n\n                showModal(infoModal);\n                messageInfoPopup.innerText = message;\n            }\n\n            function showFieldError(input, message) {\n                let existing = input.parentElement.querySelector(\".field-error\");\n                if (existing) existing.remove();\n\n                const error = document.createElement(\"div\");\n                error.textContent = message;\n                error.className = \"field-error\";\n                error.style.color = \"red\";\n                error.style.fontSize = \"0.9em\";\n                error.style.marginTop = \"4px\";\n                input.parentElement.appendChild(error);\n            }\n\n            function clearFieldErrors() {\n                document.querySelectorAll(\".field-error\").forEach(el => el.remove());\n            }\n\n            function isValidEmail(email) {\n                return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email);\n            }\n\n            form.addEventListener(\"submit\", function (e) {\n                e.preventDefault();\n                clearFieldErrors();\n\n                inputs.forEach(input => input.disabled = true);\n                form.querySelectorAll(\"button\").forEach(button => button.disabled = true);\n\n                let isValid = true;\n\n                inputs.forEach(input => {\n                    if (!input.value.trim()) {\n                        showFieldError(input, \"This field is required.\");\n                        isValid = false;\n                    }\n                });\n\n                if (emailInput && !isValidEmail(emailInput.value.trim())) {\n                    showFieldError(emailInput, \"Please enter a valid email address.\");\n                    isValid = false;\n                }\n\n                if (!isValid) {\n                    showNotification(\"Please correct the errors in the form.\", \"error\");\n                    inputs.forEach(input => input.disabled = false);\n                    form.querySelectorAll(\"button\").forEach(button => button.disabled = false);\n                    return;\n                }\n\n                \/\/ Ambil semua data form sebagai JSON\n                const formData = {\n                    fullname: form.querySelector(\"#fullname\")?.value.trim() || \"\",\n                    email: form.querySelector(\"#email\")?.value.trim() || \"\",\n                    phone: form.querySelector(\"#phone\")?.value.trim() || \"\",\n                    coverageArea: form.querySelector(\"#coverage-area\")?.value || \"\",\n                    address: form.querySelector(\"#address-sb\")?.value || \"\",\n                    terms: form.querySelector(\"#terms\")?.checked ? 1 : 0,\n                    lang: 'en'\n                };\n\n                \/\/ Kirim ke admin-ajax.php dengan JSON\n                fetch(\"https:\/\/jblstore.co.id\/wp-admin\/admin-ajax.php?action=jblweb_submit_soundbar_trial_ruma\", {\n                    method: \"POST\",\n                    headers: {\n                        \"Content-Type\": \"application\/json\"\n                    },\n                    body: JSON.stringify(formData),\n                })\n                    .then(res => res.json())\n                    .then(data => {\n                        if (data.success) {\n                            showNotification(\"Form submitted successfully!\", \"success\");\n                            form.reset();\n                        } else {\n                            showNotification(data.message || \"Submission failed!\", \"error\", data?.data?.response);\n                        }\n                    })\n                    .catch(err => {\n                        console.error(\"AJAX error\", err);\n                        showNotification(\"An error occurred. Please try again.\", \"error\");\n                    })\n                    .finally(() => {\n                        inputs.forEach(input => input.disabled = false);\n                        form.querySelectorAll(\"button\").forEach(button => button.disabled = false);\n                    });\n            });\n\n\n            \/\/ const el = document.querySelector('.body-tnc');\n            \/\/     let accepted = false;\n\n            \/\/     if (!el) return;\n\n            \/\/     const buffer = 2;\n\n            \/\/     const handleScroll = () => {\n            \/\/     const scrolledToBottom =\n            \/\/         el.scrollTop + el.clientHeight >= el.scrollHeight - buffer;\n\n            \/\/     if (scrolledToBottom && !accepted) {\n            \/\/         accepted = true;\n            \/\/         acceptCheckbox.removeAttribute('disabled');\n            \/\/     } else if (!scrolledToBottom && accepted) {\n            \/\/         accepted = false;\n            \/\/         acceptCheckbox.setAttribute('disabled', 'true');\n            \/\/     }\n            \/\/     };\n\n            \/\/     el.addEventListener('scroll', handleScroll);\n        });\n    <\/script>\n    \t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":88637,"featured_media":0,"parent":104161,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width.php","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-118363","page","type-page","status-publish","hentry","no-post-thumbnail"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Soundbar Home Trial<\/title>\n<meta name=\"robots\" content=\"noindex, nofollow\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Soundbar Home Trial\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/\" \/>\n<meta property=\"og:site_name\" content=\"JBL Store\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/JBLAudioIndonesia\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-12T09:23:56+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/\",\"url\":\"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/\",\"name\":\"Soundbar Home Trial - JBL Store\",\"isPartOf\":{\"@id\":\"https:\/\/jblstore.co.id\/en\/#website\"},\"datePublished\":\"2026-05-07T10:23:08+00:00\",\"dateModified\":\"2026-05-12T09:23:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jblstore.co.id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JBL Soundbars: Make Your TV Sound Bigger | JBL ID Store\",\"item\":\"https:\/\/jblstore.co.id\/make-your-tv-sound-bigger-gen3\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Soundbar Home Trial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jblstore.co.id\/en\/#website\",\"url\":\"https:\/\/jblstore.co.id\/en\/\",\"name\":\"JBL Store\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/jblstore.co.id\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jblstore.co.id\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jblstore.co.id\/en\/#organization\",\"name\":\"JBL Store\",\"url\":\"https:\/\/jblstore.co.id\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jblstore.co.id\/en\/#\/schema\/logo\/image\/\",\"url\":\"\/wp-content\/uploads\/2025\/11\/cropped-logo-jbl-1536x1131_cropped.png\",\"contentUrl\":\"\/wp-content\/uploads\/2025\/11\/cropped-logo-jbl-1536x1131_cropped.png\",\"width\":70,\"height\":52,\"caption\":\"JBL Store\"},\"image\":{\"@id\":\"https:\/\/jblstore.co.id\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/JBLAudioIndonesia\/\",\"https:\/\/www.instagram.com\/jblindonesia\/\",\"https:\/\/www.youtube.com\/c\/JBLIndonesia\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Soundbar Home Trial","robots":{"index":"noindex","follow":"nofollow"},"og_locale":"en_US","og_type":"article","og_title":"Soundbar Home Trial","og_url":"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/","og_site_name":"JBL Store","article_publisher":"https:\/\/www.facebook.com\/JBLAudioIndonesia\/","article_modified_time":"2026-05-12T09:23:56+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/","url":"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/","name":"Soundbar Home Trial - JBL Store","isPartOf":{"@id":"https:\/\/jblstore.co.id\/en\/#website"},"datePublished":"2026-05-07T10:23:08+00:00","dateModified":"2026-05-12T09:23:56+00:00","breadcrumb":{"@id":"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jblstore.co.id\/en\/make-your-tv-sound-bigger\/home-trial-ruma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jblstore.co.id\/"},{"@type":"ListItem","position":2,"name":"JBL Soundbars: Make Your TV Sound Bigger | JBL ID Store","item":"https:\/\/jblstore.co.id\/make-your-tv-sound-bigger-gen3\/"},{"@type":"ListItem","position":3,"name":"Soundbar Home Trial"}]},{"@type":"WebSite","@id":"https:\/\/jblstore.co.id\/en\/#website","url":"https:\/\/jblstore.co.id\/en\/","name":"JBL Store","description":"","publisher":{"@id":"https:\/\/jblstore.co.id\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jblstore.co.id\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jblstore.co.id\/en\/#organization","name":"JBL Store","url":"https:\/\/jblstore.co.id\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jblstore.co.id\/en\/#\/schema\/logo\/image\/","url":"\/wp-content\/uploads\/2025\/11\/cropped-logo-jbl-1536x1131_cropped.png","contentUrl":"\/wp-content\/uploads\/2025\/11\/cropped-logo-jbl-1536x1131_cropped.png","width":70,"height":52,"caption":"JBL Store"},"image":{"@id":"https:\/\/jblstore.co.id\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/JBLAudioIndonesia\/","https:\/\/www.instagram.com\/jblindonesia\/","https:\/\/www.youtube.com\/c\/JBLIndonesia"]}]}},"_links":{"self":[{"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/pages\/118363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/users\/88637"}],"replies":[{"embeddable":true,"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/comments?post=118363"}],"version-history":[{"count":4,"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/pages\/118363\/revisions"}],"predecessor-version":[{"id":118368,"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/pages\/118363\/revisions\/118368"}],"up":[{"embeddable":true,"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/pages\/104161"}],"wp:attachment":[{"href":"https:\/\/jblstore.co.id\/en\/wp-json\/wp\/v2\/media?parent=118363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}