



{"id":131881,"date":"2025-11-19T10:57:55","date_gmt":"2025-11-19T10:57:55","guid":{"rendered":"https:\/\/hotelrunner.com\/google-hotel-ads-metasearch\/"},"modified":"2026-01-07T16:37:49","modified_gmt":"2026-01-07T13:37:49","slug":"google-hotel-ads-metasearch","status":"publish","type":"page","link":"https:\/\/hotelrunner.com\/fr\/google-hotel-ads-metasearch\/","title":{"rendered":"Google Hotel Ads"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"131881\" class=\"elementor elementor-131881 elementor-131744\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9def48b elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"9def48b\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b628f76\" data-id=\"b628f76\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-2cb72c0 elementor-reverse-mobile elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2cb72c0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2acf736\" data-id=\"2acf736\" data-element_type=\"column\" data-e-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-adad875 elementor-widget elementor-widget-hr_label_icon\" data-id=\"adad875\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_label_icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t            <div class=\"hr-label icon\">\n                <div class=\"label-icon-wrapper\">\n                                            <svg viewBox=\"0 0 24 24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <svg width=\"100%\" style=\"\" viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.3332 17.918H6.6665\" stroke=\"#F15F22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M16.6665 2.91803H3.33317C2.4127 2.91803 1.6665 3.66422 1.6665 4.5847V12.918C1.6665 13.8385 2.4127 14.5847 3.33317 14.5847H16.6665C17.587 14.5847 18.3332 13.8385 18.3332 12.918V4.5847C18.3332 3.66422 17.587 2.91803 16.6665 2.91803Z\" stroke=\"#F15F22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M18.3332 12.0847H1.6665\" stroke=\"#F15F22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M11.6665 14.5847V15.418C11.6665 16.7987 12.2261 17.918 12.9165 17.918\" stroke=\"#F15F22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<path d=\"M8.3335 14.5847V15.418C8.3335 16.7987 7.77385 17.918 7.0835 17.918\" stroke=\"#F15F22\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n<\/svg>                        <\/svg>\n                                        <span>Google Hotel Ads<\/span>\n                <\/div>\n            <\/div>\n            \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a73e524 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"a73e524\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Boost direct bookings with \u2028Google Hotel Ads<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82c2391 elementor-align-start elementor-widget__width-inherit elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"82c2391\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\"><g id=\"&#xF0;&#x9F;&#xA6;&#x86; icon &quot;check&quot;\"><path id=\"Vector\" d=\"M4.16669 10.418L8.33335 14.5847L16.6667 6.25137\" stroke=\"#34D399\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/g><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Appear on Google Search, and Maps<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\"><g id=\"&#xF0;&#x9F;&#xA6;&#x86; icon &quot;check&quot;\"><path id=\"Vector\" d=\"M4.16669 10.418L8.33335 14.5847L16.6667 6.25137\" stroke=\"#34D399\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/g><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Pay commission only after the guest\u2019s stay<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\"><g id=\"&#xF0;&#x9F;&#xA6;&#x86; icon &quot;check&quot;\"><path id=\"Vector\" d=\"M4.16669 10.418L8.33335 14.5847L16.6667 6.25137\" stroke=\"#34D399\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/g><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">HotelRunner is an authorized partner\u2028of the Google Hotel Ads Commission Program worldwide.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e47dd18 elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-widget elementor-widget-hr_button\" data-id=\"e47dd18\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"btn-wrapper\" >\n            <a href=\"#mobile-form\" target=\"_self\" \n               class=\"btn normal has-no-icon\"\n               >\n                                <span class=\"btn-text\">Request a demo<\/span>\n                            <\/a>\n        <\/div>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3728f9b elementor-widget elementor-widget-template\" data-id=\"3728f9b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"121561\" class=\"elementor elementor-121561 elementor-121530 elementor-121530\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ab663bb elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"ab663bb\" data-element_type=\"section\" data-e-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-c6f5b0e\" data-id=\"c6f5b0e\" data-element_type=\"column\" data-e-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-0d6e8c4 elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile hr-form-submit-auto elementor-widget elementor-widget-hr_form\" data-id=\"0d6e8c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"hr-form-container\">\n            <!-- Add JustValidate script directly -->\n            <form id=\"hr-form-69d0b892c07fb\" class=\"hr-form hr-form-direction-horizontal\" method=\"POST\" name=\"Landing Booking - 1\"\n                action=\"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/core\/data\/hr-form-handler.php\">\n                <input type=\"hidden\" name=\"form_endpoint_url\" value=\"https:\/\/go.marketing.hotelrunner.com\/l\/965463\/2025-07-16\/7jkrk\">\n                                    <input type=\"hidden\" name=\"form_redirect_url\" value=\"https:\/\/hotelrunner.com\/thank-you\/\">\n                                \n                <!-- Add loading overlay -->\n                <div class=\"hr-form-overlay\" style=\"display: none;\">\n                    <div class=\"hr-form-overlay-content\">\n                        <span class=\"loader\"><\/span>\n                    <\/div>\n                <\/div>\n\n                <style>\n                    #hr-form-69d0b892c07fb {\n                        position: relative;\n                    }\n\n                    #hr-form-69d0b892c07fb .hr-form-overlay {\n                        position: absolute;\n                        top: 0;\n                        left: 0;\n                        right: 0;\n                        bottom: 0;\n                        background-color: rgba(255, 255, 255, 0.9);\n                        display: none;\n                        justify-content: center;\n                        align-items: center;\n                        z-index: 1000;\n                        backdrop-filter: blur(2px);\n                    }\n\n                    #hr-form-69d0b892c07fb .hr-form-overlay-content {\n                        text-align: center;\n                    }\n\n                    #hr-form-69d0b892c07fb .loader {\n                        width: 48px;\n                        height: 48px;\n                        border: 5px solid var(--e-global-color-primary);\n                        border-bottom-color: transparent;\n                        border-radius: 50%;\n                        display: inline-block;\n                        box-sizing: border-box;\n                        animation: rotation 1s linear infinite;\n                    }\n\n                    @keyframes rotation {\n                        0% {\n                            transform: rotate(0deg);\n                        }\n\n                        100% {\n                            transform: rotate(360deg);\n                        }\n                    }\n\n                    #hr-form-69d0b892c07fb.submitting {\n                        pointer-events: none;\n                    }\n\n                    #hr-form-69d0b892c07fb.submitting .hr-form-overlay {\n                        display: flex;\n                    }\n                <\/style>\n\n                <script>\n                    document.addEventListener('DOMContentLoaded', function () {\n                        const form = document.getElementById('hr-form-69d0b892c07fb');\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const overlay = form.querySelector('.hr-form-overlay');\n                        let isSubmitting = false;\n\n                        \/\/ Initialize JustValidate\n                        const validator = new JustValidate('#hr-form-69d0b892c07fb', {\n                            validateBeforeSubmitting: true,\n                            lockForm: true,\n                            focusInvalidField: true,\n                            errorFieldCssClass: 'is-invalid',\n                            successFieldCssClass: 'is-valid',\n                            errorLabelCssClass: 'is-label-invalid',\n                            errorLabelStyle: {\n                                color: '#e3342f',\n                                fontSize: '12px',\n                                marginTop: '5px'\n                            },\n                            successFieldStyle: {\n                                borderColor: '#38c172'\n                            },\n                            errorFieldStyle: {\n                                borderColor: '#e3342f'\n                            },\n                            onValidate: ({ target }) => {\n                                \/\/ Handle Select2 validation classes\n                                if ($(target).hasClass('select2-hidden-accessible')) {\n                                    const select2Container = $(target).next('.select2-container');\n                                    if ($(target).hasClass('is-valid')) {\n                                        select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                                    } else if ($(target).hasClass('is-invalid')) {\n                                        select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                                    }\n                                }\n                            }\n                        });\n\n                        \/\/ Store validator instance on the form element\n                        form._justValidateInstance = validator;\n\n                        \/\/ Add validation rules\n                        validator.addField('input[name=\"form_endpoint_url\"]', [\n                            {\n                                rule: 'required',\n                                errorMessage: 'This field is required',\n                            },\n                        ]);\n\n                        \/\/ Add more fields and rules as needed\n\n                        \/\/ Handle form submission\n                        form.addEventListener('submit', function (e) {\n                            e.preventDefault();\n\n                            \/\/ Prevent multiple submissions\n                            if (isSubmitting) {\n                                return false;\n                            }\n\n                                                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                                if (!turnstileResponse || !turnstileResponse.value) {\n                                    alert('Please wait for the security check to complete.');\n                                    return false;\n                                }\n                            \n                            \/\/ Check honeypot field\n                            const honeypotField = form.querySelector('input[name=\"hr_website\"]');\n                            if (honeypotField && honeypotField.value !== '') {\n                                return false;\n                            }\n\n                            \/\/ Validate the form\n                            validator.onSuccess((event) => {\n                                \/\/ Show loading state\n                                isSubmitting = true;\n                                form.classList.add('submitting');\n                                overlay.style.display = 'flex';\n\n                                if (submitButton) {\n                                    submitButton.disabled = true;\n                                }\n\n                                \/\/ Submit the form\n                                form.submit();\n                            });\n\n                            validator.onFail((fields) => {\n                                \/\/ Validation failed\n                            });\n\n                            validator.validate();\n                        });\n                    });\n                <\/script>\n\n                \n                <!-- Add honeypot field -->\n                <div style=\"display:none;\">\n                    <input type=\"text\" name=\"hr_website\" value=\"\" autocomplete=\"off\" tabindex=\"-1\">\n                <\/div>\n\n                                    <div class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAABeTMK2qaRc9Oy_P\"\n                        data-callback=\"onTurnstileCallback_hr-form-69d0b892c07fb\"><\/div>\n                \n                                        <input type=\"hidden\" name=\"hr_ip_address\" value=\"10.0.0.120\"\n                            data-field-type=\"ip_address\">\n                                                <input type=\"hidden\" name=\"hr_browser_info\" value=\"\"\n                            data-field-type=\"browser_info\">\n                                                <input type=\"hidden\" name=\"hr_primary_language\" value=\"\"\n                            data-field-type=\"primary_language\">\n                                                <input type=\"hidden\" name=\"hr_all_languages\" value=\"\"\n                            data-field-type=\"all_languages\">\n                                                <input type=\"hidden\" name=\"hr_window_size\" value=\"\"\n                            data-field-type=\"window_size\">\n                                                <input type=\"hidden\" name=\"hr_timezone_name\" value=\"\"\n                            data-field-type=\"timezone_name\">\n                                                <input type=\"hidden\" name=\"hr_current_url\" value=\"\"\n                            data-field-type=\"current_url\">\n                                                <input type=\"hidden\" name=\"hr_referrer_url\" value=\"\"\n                            data-field-type=\"referrer_url\">\n                                                <input type=\"hidden\" name=\"hr_page_load_time\" value=\"\"\n                            data-field-type=\"page_load_time\">\n                                            <input type=\"hidden\" name=\"form_endpoint_url\" value=\"https:\/\/go.marketing.hotelrunner.com\/l\/965463\/2025-07-16\/7jkrk\">\n                                            <input type=\"hidden\" name=\"form_redirect_url\" value=\"https:\/\/hotelrunner.com\/thank-you\/\">\n                                                                <input type=\"hidden\" name=\"form_title\" value=\"Landing Booking - 1\">\n                                        <input type=\"hidden\" name=\"form_language\"\n                        value=\"FR\">\n                    <input type=\"hidden\" name=\"utm_source\" value=\"\">\n                    <input type=\"hidden\" name=\"utm_medium\" value=\"\">\n                    <input type=\"hidden\" name=\"utm_campaign\" value=\"\">\n                    <input type=\"hidden\" name=\"utm_term\" value=\"\">\n                    <input type=\"hidden\" name=\"utm_content\" value=\"\">\n                    \n                <script>\n                    function populateUtmFields() {\n                        \/\/ Get all forms with UTM input fields\n                        const forms = document.querySelectorAll('form');\n                        \n                        forms.forEach(form => {\n                            \/\/ Check if this form has UTM fields\n                            const utmSourceField = form.querySelector('input[name=\"utm_source\"]');\n                            if (!utmSourceField) return; \/\/ Skip forms without UTM fields\n                            \n                            \/\/ First try to get from sessionStorage\n                            let utmSource = sessionStorage.getItem('utm_source');\n                            let utmMedium = sessionStorage.getItem('utm_medium');\n                            let utmCampaign = sessionStorage.getItem('utm_campaign');\n                            let utmTerm = sessionStorage.getItem('utm_term');\n                            let utmContent = sessionStorage.getItem('utm_content');\n                            \n                            \/\/ If sessionStorage is empty, try to extract from URL directly\n                            if (!utmSource && !utmMedium && !utmCampaign && !utmTerm && !utmContent) {\n                                const params = new URLSearchParams(window.location.search);\n                                const utmKeys = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content'];\n                                \n                                utmKeys.forEach(key => {\n                                    if (params.has(key)) {\n                                        const value = params.get(key);\n                                        sessionStorage.setItem(key, value);\n                                        \n                                        \/\/ Update our variables\n                                        switch(key) {\n                                            case 'utm_source': utmSource = value; break;\n                                            case 'utm_medium': utmMedium = value; break;\n                                            case 'utm_campaign': utmCampaign = value; break;\n                                            case 'utm_term': utmTerm = value; break;\n                                            case 'utm_content': utmContent = value; break;\n                                        }\n                                    }\n                                });\n                            }\n                            \n                            \/\/ Query within this specific form only\n                            const utmInputs = {\n                                'utm_source': form.querySelector('input[name=\"utm_source\"]'),\n                                'utm_medium': form.querySelector('input[name=\"utm_medium\"]'),\n                                'utm_campaign': form.querySelector('input[name=\"utm_campaign\"]'),\n                                'utm_term': form.querySelector('input[name=\"utm_term\"]'),\n                                'utm_content': form.querySelector('input[name=\"utm_content\"]')\n                            };\n                            \n                            if (utmInputs.utm_source) utmInputs.utm_source.value = utmSource || '';\n                            if (utmInputs.utm_medium) utmInputs.utm_medium.value = utmMedium || '';\n                            if (utmInputs.utm_campaign) utmInputs.utm_campaign.value = utmCampaign || '';\n                            if (utmInputs.utm_term) utmInputs.utm_term.value = utmTerm || '';\n                            if (utmInputs.utm_content) utmInputs.utm_content.value = utmContent || '';\n                        });\n                    }\n                    \n                    \/\/ Try multiple times to ensure UTM parameters are captured\n                    document.addEventListener('DOMContentLoaded', populateUtmFields);\n                    \n                    \/\/ Also try after a short delay in case there's a timing issue\n                    setTimeout(populateUtmFields, 100);\n                    setTimeout(populateUtmFields, 500);\n                    setTimeout(populateUtmFields, 1000);\n                    \n                    \/\/ Also try on window load\n                    window.addEventListener('load', populateUtmFields);\n                <\/script>\n\n                <div class=\"hr-form-fields-wrapper\">\n                    \n                                                    <div class=\"hr-form-field-column hr-form-field-width-50 first-name hr-form-field-column-elementor-repeater-item-14707c7\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"first-name\" class=\"hr-form-label\">First name <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <input id=\"first-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"first-name\" >\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 last-name hr-form-field-column-elementor-repeater-item-f1b0b8a\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"last-name\" class=\"hr-form-label\">Last name <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <input id=\"last-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"last-name\" >\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 email hr-form-field-column-elementor-repeater-item-b145675\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"email\" class=\"hr-form-label\">Email <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <input id=\"email\" class=\"hr-form-input\" autocomplete=\"email\" type=\"email\" name=\"email\" >\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 phone hr-form-field-column-elementor-repeater-item-f04ee98\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"phone\" class=\"hr-form-label\">Mobile phone <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <div class=\"hr-phone-input-wrapper\">\n                                                    <input id=\"phone\" class=\"hr-form-input hr-phone-input\" autocomplete=\"tel\" type=\"tel\" name=\"phone\"                                                         data-preferred-countries=\"us, uk, tr\"\n                                                        data-initial-country=\"\">\n                                                <\/div>\n                                                <div class=\"hr-phone-error-container\" id=\"phone-error-container\" aria-live=\"polite\"><\/div>\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 property-name hr-form-field-column-elementor-repeater-item-218998f\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"property-name\" class=\"hr-form-label\">Company name <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <input id=\"property-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"property-name\" >\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 country hr-form-field-column-elementor-repeater-item-8143090\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"country_d_1\" class=\"hr-form-label\">Country <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <div class=\"hr-country-field-wrapper\">\n                                                    <select id=\"country_d_1\" class=\"hr-form-input hr-country-select\" placeholder=\"Select your country\" autocomplete=\"country-name\" name=\"country\"  data-placeholder=\"Select your country\"\n                                                        name=\"country\">\n                                                        <option value=\"\" class=\"hr-select-placeholder\" disabled selected>\n                                                            Select your country                                                        <\/option>\n                                                        <option value=\"TR\">T\u00fcrkiye<\/option><option value=\"GB\">United Kingdom<\/option><option value=\"US\">United States of America<\/option><option disabled>\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/option><option value=\"AF\">Afghanistan<\/option><option value=\"AX\">\u00c5land Islands<\/option><option value=\"AL\">Albania<\/option><option value=\"DZ\">Algeria<\/option><option value=\"AD\">Andorra<\/option><option value=\"AO\">Angola<\/option><option value=\"AI\">Anguilla<\/option><option value=\"AQ\">Antarctica<\/option><option value=\"AG\">Antigua and Barbuda<\/option><option value=\"AR\">Argentina<\/option><option value=\"AM\">Armenia<\/option><option value=\"AW\">Aruba<\/option><option value=\"AU\">Australia<\/option><option value=\"AT\">Austria<\/option><option value=\"AZ\">Azerbaijan<\/option><option value=\"BS\">Bahamas<\/option><option value=\"BH\">Bahrain<\/option><option value=\"BD\">Bangladesh<\/option><option value=\"BB\">Barbados<\/option><option value=\"BY\">Belarus<\/option><option value=\"BE\">Belgium<\/option><option value=\"BZ\">Belize<\/option><option value=\"BJ\">Benin<\/option><option value=\"BM\">Bermuda<\/option><option value=\"BT\">Bhutan<\/option><option value=\"BO\">Bolivia<\/option><option value=\"BQ\">Bonaire, Sint Eustatius and Saba<\/option><option value=\"BA\">Bosnia and Herzegovina<\/option><option value=\"BW\">Botswana<\/option><option value=\"BV\">Bouvet Island<\/option><option value=\"BR\">Brazil<\/option><option value=\"IO\">British Indian Ocean Territory<\/option><option value=\"BN\">Brune\u0130<\/option><option value=\"BG\">Bulgaria<\/option><option value=\"BF\">Burkina Faso<\/option><option value=\"BI\">Burundi<\/option><option value=\"KH\">Cambodia<\/option><option value=\"CM\">Cameroon<\/option><option value=\"CA\">Canada<\/option><option value=\"CV\">Cape Verde<\/option><option value=\"KY\">Cayman Islands<\/option><option value=\"CF\">Central African Republic<\/option><option value=\"TD\">Chad<\/option><option value=\"CL\">Chile<\/option><option value=\"CN\">China<\/option><option value=\"CX\">Christmas Island<\/option><option value=\"CC\">Cocos (Keeling) Islands<\/option><option value=\"CO\">Colombia<\/option><option value=\"KM\">Comoros<\/option><option value=\"CG\">Congo<\/option><option value=\"CK\">Cook Islands<\/option><option value=\"CR\">Costa Rica<\/option><option value=\"CI\">C\u00f4te d&#039;Ivoire<\/option><option value=\"HR\">Croatia<\/option><option value=\"CU\">Cuba<\/option><option value=\"CW\">Cura\u00e7ao<\/option><option value=\"CY\">Cyprus<\/option><option value=\"CZ\">Czechia<\/option><option value=\"CD\">Democratic Republic of the Congo<\/option><option value=\"DK\">Denmark<\/option><option value=\"DJ\">Djibouti<\/option><option value=\"DM\">Dominica<\/option><option value=\"DO\">Dominican Republic<\/option><option value=\"EC\">Ecuador<\/option><option value=\"EG\">Egypt<\/option><option value=\"SV\">El Salvador<\/option><option value=\"GQ\">Equatorial Guinea<\/option><option value=\"ER\">Eritrea<\/option><option value=\"EE\">Estonia<\/option><option value=\"SZ\">Eswatini<\/option><option value=\"ET\">Ethiopia<\/option><option value=\"FK\">Falkland Islands<\/option><option value=\"FO\">Faroe Islands<\/option><option value=\"FJ\">Fiji<\/option><option value=\"FI\">Finland<\/option><option value=\"FR\">France<\/option><option value=\"GF\">French Guiana<\/option><option value=\"PF\">French Polynesia<\/option><option value=\"TF\">French Southern Territories<\/option><option value=\"GA\">Gabon<\/option><option value=\"GM\">Gambia<\/option><option value=\"GE\">Georgia<\/option><option value=\"DE\">Germany<\/option><option value=\"GH\">Ghana<\/option><option value=\"GI\">Gibraltar<\/option><option value=\"GR\">Greece<\/option><option value=\"GL\">Greenland<\/option><option value=\"GD\">Grenada<\/option><option value=\"GP\">Guadeloupe<\/option><option value=\"GU\">Guam<\/option><option value=\"GT\">Guatemala<\/option><option value=\"GG\">Guernsey<\/option><option value=\"GN\">Guinea<\/option><option value=\"GW\">Guinea-Bissau<\/option><option value=\"GY\">Guyana<\/option><option value=\"HT\">Haiti<\/option><option value=\"HM\">Heard Island and McDonald Islands<\/option><option value=\"VA\">Holy See<\/option><option value=\"HN\">Honduras<\/option><option value=\"HK\">Hong Kong<\/option><option value=\"HU\">Hungary<\/option><option value=\"IS\">Iceland<\/option><option value=\"IN\">India<\/option><option value=\"ID\">Indonesia<\/option><option value=\"IR\">Iran<\/option><option value=\"IQ\">Iraq<\/option><option value=\"IE\">Ireland<\/option><option value=\"IM\">Isle of Man<\/option><option value=\"IL\">Israel<\/option><option value=\"IT\">Italy<\/option><option value=\"JM\">Jamaica<\/option><option value=\"JP\">Japan<\/option><option value=\"JE\">Jersey<\/option><option value=\"JO\">Jordan<\/option><option value=\"KZ\">Kazakhstan<\/option><option value=\"KE\">Kenya<\/option><option value=\"KI\">Kiribati<\/option><option value=\"KW\">Kuwait<\/option><option value=\"KG\">Kyrgyzstan<\/option><option value=\"LA\">Laos<\/option><option value=\"LV\">Latvia<\/option><option value=\"LB\">Lebanon<\/option><option value=\"LS\">Lesotho<\/option><option value=\"LR\">Liberia<\/option><option value=\"LY\">Libya<\/option><option value=\"LI\">Liechtenstein<\/option><option value=\"LT\">Lithuania<\/option><option value=\"LU\">Luxembourg<\/option><option value=\"MO\">Macao<\/option><option value=\"MG\">Madagascar<\/option><option value=\"MW\">Malawi<\/option><option value=\"MY\">Malaysia<\/option><option value=\"MV\">Maldives<\/option><option value=\"ML\">Mali<\/option><option value=\"MT\">Malta<\/option><option value=\"MH\">Marshall Islands<\/option><option value=\"MQ\">Martinique<\/option><option value=\"MR\">Mauritania<\/option><option value=\"MU\">Mauritius<\/option><option value=\"YT\">Mayotte<\/option><option value=\"MX\">Mexico<\/option><option value=\"FM\">Micronesia<\/option><option value=\"MD\">Moldova<\/option><option value=\"MC\">Monaco<\/option><option value=\"MN\">Mongolia<\/option><option value=\"ME\">Montenegro<\/option><option value=\"MS\">Montserrat<\/option><option value=\"MA\">Morocco<\/option><option value=\"MZ\">Mozambique<\/option><option value=\"MM\">Myanmar<\/option><option value=\"NA\">Namibia<\/option><option value=\"NR\">Nauru<\/option><option value=\"NP\">Nepal<\/option><option value=\"NL\">Netherlands<\/option><option value=\"NC\">New Caledonia<\/option><option value=\"NZ\">New Zealand<\/option><option value=\"NI\">Nicaragua<\/option><option value=\"NE\">Niger<\/option><option value=\"NG\">Nigeria<\/option><option value=\"NU\">Niue<\/option><option value=\"NF\">Norfolk Island<\/option><option value=\"KP\">North Korea<\/option><option value=\"MK\">North Macedonia<\/option><option value=\"NCY\">Northern Cyprus<\/option><option value=\"MP\">Northern Mariana Islands<\/option><option value=\"NO\">Norway<\/option><option value=\"OM\">Oman<\/option><option value=\"PK\">Pakistan<\/option><option value=\"PW\">Palau<\/option><option value=\"PS\">Palestine<\/option><option value=\"PA\">Panama<\/option><option value=\"PG\">Papua New Guinea<\/option><option value=\"PY\">Paraguay<\/option><option value=\"PE\">Peru<\/option><option value=\"PH\">Philippines<\/option><option value=\"PN\">Pitcairn<\/option><option value=\"PL\">Poland<\/option><option value=\"PT\">Portugal<\/option><option value=\"PR\">Puerto Rico<\/option><option value=\"QA\">Qatar<\/option><option value=\"RE\">R\u00e9union<\/option><option value=\"RO\">Romania<\/option><option value=\"RU\">Russia<\/option><option value=\"RW\">Rwanda<\/option><option value=\"BL\">Saint Barth\u00e9lemy<\/option><option value=\"SH\">Saint Helena, Ascension and Tristan da Cunha<\/option><option value=\"KN\">Saint Kitts And Nevis<\/option><option value=\"LC\">Saint Lucia<\/option><option value=\"MF\">Saint Martin (French part)<\/option><option value=\"PM\">Saint Pierre and Miquelon<\/option><option value=\"VC\">Saint Vincent and the Grenadines<\/option><option value=\"AS\">Samoa<\/option><option value=\"WS\">Samoa<\/option><option value=\"SM\">San Marino<\/option><option value=\"ST\">Sao Tome and Principe<\/option><option value=\"SA\">Saudi Arabia<\/option><option value=\"SN\">Senegal<\/option><option value=\"RS\">Serbia<\/option><option value=\"SC\">Seychelles<\/option><option value=\"SL\">Sierra Leone<\/option><option value=\"SG\">Singapore<\/option><option value=\"SX\">Sint Maarten (Dutch part)<\/option><option value=\"SK\">Slovakia<\/option><option value=\"SI\">Slovenia<\/option><option value=\"SB\">Solomon Islands<\/option><option value=\"SO\">Somalia<\/option><option value=\"ZA\">South Africa<\/option><option value=\"GS\">South Georgia and the South Sandwich Islands<\/option><option value=\"KR\">South Korea<\/option><option value=\"SS\">South Sudan<\/option><option value=\"ES\">Spain<\/option><option value=\"LK\">Sri Lanka<\/option><option value=\"SD\">Sudan<\/option><option value=\"SR\">Suriname<\/option><option value=\"SJ\">Svalbard and Jan Mayen<\/option><option value=\"SE\">Sweden<\/option><option value=\"CH\">Switzerland<\/option><option value=\"SY\">Syria<\/option><option value=\"TW\">Taiwan<\/option><option value=\"TJ\">Tajikistan<\/option><option value=\"TZ\">Tanzania<\/option><option value=\"TH\">Thailand<\/option><option value=\"TL\">Timor-Leste<\/option><option value=\"TG\">Togo<\/option><option value=\"TK\">Tokelau<\/option><option value=\"TO\">Tonga<\/option><option value=\"TT\">Trinidad And Tobago<\/option><option value=\"TN\">Tunisia<\/option><option value=\"TM\">Turkmenistan<\/option><option value=\"TC\">Turks and Caicos Islands<\/option><option value=\"TV\">Tuvalu<\/option><option value=\"UG\">Uganda<\/option><option value=\"UA\">Ukraine<\/option><option value=\"AE\">United Arab Emirates<\/option><option value=\"UM\">United States Minor Outlying Islands<\/option><option value=\"UY\">Uruguay<\/option><option value=\"UZ\">Uzbekistan<\/option><option value=\"VU\">Vanuatu<\/option><option value=\"VE\">Venezuela<\/option><option value=\"VN\">Viet nam<\/option><option value=\"VG\">Virgin Islands (British)<\/option><option value=\"VI\">Virgin Islands (U.S.)<\/option><option value=\"WF\">Wallis and Futuna<\/option><option value=\"EH\">Western Sahara<\/option><option value=\"YE\">Yemen<\/option><option value=\"ZM\">Zambia<\/option><option value=\"ZW\">Zimbabwe<\/option>                                                    <\/select>\n                                                <\/div>\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-100 hr-form-field-column-elementor-repeater-item-fd56d9a\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-field-69d0b892c0a39\" class=\"hr-form-label\"><\/label>                                        \n                                                                                        <input id=\"hr-field-69d0b892c0a39\" class=\"hr-form-input\" value=\"Landing - Home - EN\" placeholder=\"\" autocomplete=\"name\" type=\"hidden\" name=\"form_name\" >\n                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-100 privacy_statement hr-form-field-column-elementor-repeater-item-b8dbd97\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                        \n                                                                                        <div class=\"hr-form-checkbox-wrapper\">\n                                                    <label class=\"hr-checkbox-label\">\n                                                        <input id=\"privacy_statement\" class=\"hr-form-checkbox\" placeholder=\"Enter your text here\" autocomplete=\"address-level1\" type=\"checkbox\" name=\"privacy_statement\" required=\"required\"  data-salesforce-field=\"no\">\n                                                        <span class=\"hr-checkbox-text\">I have read and understood the <a target=\"_blank\" href=\"https:\/\/hotelrunner.com\/privacy-statement-for-request-complaint-suggestion-processes\/\">Privacy Statement for Request \/ Complaint \/ Suggestion Processes.<\/a><\/span>\n                                                                                                                    <span class=\"hr-form-required\">*<\/span>\n                                                                                                            <\/label>\n                                                                                                    <\/div>\n                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-100 commerical-text hr-form-field-column-elementor-repeater-item-66139d5\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                        \n                                                                                        <div class=\"hr-form-checkbox-wrapper\">\n                                                    <label class=\"hr-checkbox-label\">\n                                                        <input id=\"commerical-text\" class=\"hr-form-checkbox\" placeholder=\"Enter your text here\" autocomplete=\"off\" type=\"checkbox\" name=\"commerical-text\"  data-salesforce-field=\"yes\">\n                                                        <span class=\"hr-checkbox-text\">I have read and accept the <a href=\"https:\/\/hotelrunner.com\/commercial-electronic-message-consent-text\/\" target=\"_blank\">Commercial Electronic Message Consent<\/a><\/span>\n                                                                                                            <\/label>\n                                                                                                                                                                    <input type=\"hidden\" name=\"commerical-text-value\" value=\"false\" data-salesforce-reverse=\"yes\">\n                                                                                                    <\/div>\n                                                                                    <\/div>\n                                <\/div>\n                                                <\/div>\n\n                                    <div class=\"hr-form-button-wrapper\">\n                        <button type=\"submit\" class=\"button hr-form-submit\">\n                            Submit                        <\/button>\n                    <\/div>\n                            <\/form>\n\n        <\/div>\n\n        \n        <!-- Hidden Fields Handler -->\n        <script>\n            (function ($) {\n                \"use strict\";\n\n                function initializePhoneInput(input) {\n                    \/\/ Check if intlTelInput is loaded and input is not already initialized\n                    if (typeof window.intlTelInput === \"function\" && !$(input).data(\"iti\")) {\n                        const initialCountry = input.dataset.initialCountry || \"\";\n                        const iti = window.intlTelInput(input, {\n                            initialCountry: initialCountry ? initialCountry : \"\", \/\/ Use preselected if set, else default\n                            separateDialCode: true,\n                            nationalMode: false,\n                            formatOnDisplay: true,\n                            autoPlaceholder: \"polite\",\n                            preferredCountries: (input.dataset.preferredCountries || \"tr,us,gb,de\").split(',').map(s => s.trim()),\n                            allowDropdown: true,\n                            dropdownContainer: document.body,\n                            utilsScript: \"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/js\/\/vendor\/utils.js\" \/\/ Changed to non-minified version\n                        });\n\n                        \/\/ Store the instance on the input element\n                        $(input).data(\"iti\", iti);\n\n                        \/\/ Handle input changes\n                        input.addEventListener('input', function (e) {\n                            const value = e.target.value;\n                            \/\/ Remove any non-numeric characters\n                            const numericValue = value.replace(\/\\D\/g, '');\n\n                            \/\/ Only remove the country code if it's at the start of the input\n                            if (value.startsWith('+')) {\n                                const countryCode = iti.getSelectedCountryData().dialCode;\n                                if (value.startsWith('+' + countryCode)) {\n                                    e.target.value = numericValue.substring(countryCode.length);\n                                }\n                            } else {\n                                e.target.value = numericValue;\n                            }\n                        });\n\n                        \/\/ Prevent non-numeric input\n                        input.addEventListener('keypress', function (e) {\n                            const charCode = (e.which) ? e.which : e.keyCode;\n                            if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n                                e.preventDefault();\n                            }\n                        });\n\n                        \/\/ Handle form submission\n                        $(input.form).on(\"submit\", function () {\n                            if (iti.isValidNumber()) {\n                                input.value = iti.getNumber();\n                            }\n                        });\n\n                        \/\/ Add validation class and store full number on blur\n                        input.addEventListener(\"blur\", function () {\n                            var fullNumber = iti.getNumber();\n                            \/\/ Store the full number in a hidden input\n                            var hiddenInput = document.createElement('input');\n                            hiddenInput.type = 'hidden';\n                            hiddenInput.name = input.name + '_full';\n                            hiddenInput.value = fullNumber;\n                            \/\/ Replace existing hidden input if any\n                            var existingHidden = input.parentNode.querySelector('input[name=\"' + input.name + '_full\"]');\n                            if (existingHidden) {\n                                existingHidden.remove();\n                            }\n                            input.parentNode.appendChild(hiddenInput);\n\n                            if (input.value.trim()) {\n                                if (iti.isValidNumber()) {\n                                    $(input).removeClass(\"error\").addClass(\"valid\");\n                                } else {\n                                    $(input).removeClass(\"valid\").addClass(\"error\");\n                                }\n                            }\n                        });\n                    }\n                }\n\n                function initializeFormPhoneInputs(formId) {\n                    const form = document.getElementById(formId);\n                    if (!form) return;\n                    \n                    const phoneInputs = $(form).find(\".hr-phone-input\");\n                    if (phoneInputs.length > 0 && typeof window.intlTelInput === \"function\") {\n                        phoneInputs.each(function () {\n                            if (!$(this).data(\"iti\")) {\n                                initializePhoneInput(this);\n                            }\n                        });\n                    }\n                }\n\n                \/\/ Initialize phone inputs for this specific form\n                initializeFormPhoneInputs('hr-form-69d0b892c07fb');\n\n                \/\/ Also initialize on document ready to ensure DOM is fully loaded\n                $(document).ready(function () {\n                    initializeFormPhoneInputs('hr-form-69d0b892c07fb');\n                });\n            })(jQuery);\n\n\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892c07fb');\n\n                \/\/ Function to get all hidden fields\n                const hiddenFields = form.querySelectorAll('input[type=\"hidden\"][data-field-type]');\n\n                hiddenFields.forEach(field => {\n                    const fieldType = field.getAttribute('data-field-type');\n\n                    switch (fieldType) {\n                        case 'browser_info':\n                            field.value = navigator.userAgent;\n                            break;\n\n                        case 'primary_language':\n                            field.value = navigator.language || 'unknown';\n                            break;\n\n                        case 'all_languages':\n                            field.value = navigator.languages ? navigator.languages.join(', ') : 'unknown';\n                            break;\n\n                        case 'cookies_enabled':\n                            field.value = navigator.cookieEnabled ? 'yes' : 'no';\n                            break;\n\n                        case 'screen_resolution':\n                            field.value = `${screen.width}x${screen.height}`;\n                            break;\n\n                        case 'available_screen':\n                            field.value = `${screen.availWidth}x${screen.availHeight}`;\n                            break;\n\n                        case 'window_size':\n                            field.value = `${window.outerWidth}x${window.outerHeight}`;\n                            \/\/ Update on resize\n                            window.addEventListener('resize', () => {\n                                field.value = `${window.outerWidth}x${window.outerHeight}`;\n                            });\n                            break;\n\n                        case 'timezone_name':\n                            try {\n                                field.value = Intl.DateTimeFormat().resolvedOptions().timeZone;\n                            } catch (e) {\n                                field.value = 'unknown';\n                            }\n                            break;\n\n                        case 'timezone_offset':\n                            field.value = new Date().getTimezoneOffset();\n                            break;\n\n                        case 'current_url':\n                            field.value = window.location.href;\n                            break;\n\n                        case 'referrer_url':\n                            field.value = document.referrer || 'direct';\n                            break;\n\n                        case 'page_load_time':\n                            field.value = Math.round(performance.now());\n                            break;\n\n                        case 'navigation_type':\n                            try {\n                                const navigation = performance.getEntriesByType('navigation')[0];\n                                field.value = navigation ? navigation.type : 'unknown';\n                            } catch (e) {\n                                field.value = 'unknown';\n                            }\n                            break;\n                    }\n                });\n            });\n        <\/script>\n\n        <!-- Checkbox Salesforce Field Handler -->\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892c07fb');\n                \n                \/\/ Handle Salesforce checkbox fields\n                form.querySelectorAll('input[type=\"checkbox\"][data-salesforce-field=\"yes\"]').forEach(checkbox => {\n                    const hiddenFieldName = checkbox.id + '-value';\n                    const hiddenField = form.querySelector(`input[type=\"hidden\"][name=\"${hiddenFieldName}\"]`);\n                    \n                    if (hiddenField) {\n                        const isReversed = hiddenField.getAttribute('data-salesforce-reverse') === 'yes';\n                        \n                        \/\/ Update hidden field on checkbox change\n                        checkbox.addEventListener('change', function () {\n                            let value;\n                            if (isReversed) {\n                                \/\/ Reverse logic: checked = false, unchecked = true\n                                value = this.checked ? 'false' : 'true';\n                            } else {\n                                \/\/ Normal logic: checked = true, unchecked = false\n                                value = this.checked ? 'true' : 'false';\n                            }\n                            hiddenField.value = value;\n                        });\n                        \n                        \/\/ Set initial value\n                        let initialValue;\n                        if (isReversed) {\n                            initialValue = checkbox.checked ? 'false' : 'true';\n                        } else {\n                            initialValue = checkbox.checked ? 'true' : 'false';\n                        }\n                        hiddenField.value = initialValue;\n                    }\n                });\n            });\n        <\/script>\n\n        <!-- Conditional Fields Logic -->\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892c07fb');\n                const conditions = {};\n\n                \n                function evaluateCondition(condition, value) {\n                    \/\/ Handle array values (for multiple select)\n                    if (Array.isArray(value)) {\n                        switch (condition.operator) {\n                            case 'equals':\n                                return value.includes(condition.value);\n                            case 'not_equals':\n                                return !value.includes(condition.value);\n                            case 'contains':\n                                return value.some(v => v.includes(condition.value));\n                            case 'not_contains':\n                                return !value.some(v => v.includes(condition.value));\n                            case 'greater_than':\n                                return value.some(v => parseFloat(v) > parseFloat(condition.value));\n                            case 'less_than':\n                                return value.some(v => parseFloat(v) < parseFloat(condition.value));\n                            default:\n                                return false;\n                        }\n                    }\n\n                    \/\/ Handle single values\n                    switch (condition.operator) {\n                        case 'equals':\n                            return value === condition.value;\n                        case 'not_equals':\n                            return value !== condition.value;\n                        case 'contains':\n                            return value.includes(condition.value);\n                        case 'not_contains':\n                            return !value.includes(condition.value);\n                        case 'greater_than':\n                            return parseFloat(value) > parseFloat(condition.value);\n                        case 'less_than':\n                            return parseFloat(value) < parseFloat(condition.value);\n                        default:\n                            return false;\n                    }\n                }\n\n                function updateConditionalFields() {\n                    for (const fieldId in conditions) {\n                        const condition = conditions[fieldId];\n                        \/\/ Ensure we only search for fields within the current form\n                        const targetInput = form.querySelector(`[name=\"${condition.targetField}\"]`);\n\n                        let fieldToToggle = form.querySelector(`#${fieldId}`) || form.querySelector(`[name=\"${fieldId}\"]`);\n                        fieldToToggle = fieldToToggle ? fieldToToggle.closest('.hr-form-field-column') : null;\n\n                        if (targetInput && fieldToToggle) {\n                            const targetValue = $(targetInput).hasClass('hr-select2-field') ? $(targetInput).val() : targetInput.value;\n                            const shouldShow = evaluateCondition(condition, targetValue);\n\n                            \/\/ Select all form elements within the current field to toggle\n                            const formElements = fieldToToggle.querySelectorAll('input, select, textarea');\n\n                            if (shouldShow) {\n                                fieldToToggle.classList.remove('hr-conditional-field');\n                                fieldToToggle.style.display = '';\n\n                                \/\/ Add the custom attribute to each form element\n                                formElements.forEach(el => el.classList.add('condition-false'));\n                                formElements.forEach(el => el.classList.remove('condition-false'));\n\n                            } else {\n                                fieldToToggle.classList.add('hr-conditional-field');\n                                fieldToToggle.style.display = 'none';\n                                formElements.forEach(el => el.classList.add('condition-false'));\n\n                                \/\/ Add the custom attribute to each form element\n                            }\n\n                            \/\/ Handle required fields\n                            formElements.forEach(input => {\n                                if (!shouldShow) {\n                                    input.dataset.wasRequired = input.required;\n                                    input.required = false;\n                                } else if (input.dataset.wasRequired) {\n                                    input.required = true;\n                                }\n                            });\n                        }\n                    }\n                }\n\n                \/\/ Update condition field options dynamically\n                form.querySelectorAll('input, select, textarea').forEach(input => {\n                    \/\/ Handle regular input events\n                    input.addEventListener('input', updateConditionalFields);\n                    input.addEventListener('change', updateConditionalFields);\n\n                    \/\/ Handle Select2 events if the field is a Select2\n                    if ($(input).hasClass('hr-select2-field')) {\n                        $(input).on('select2:select select2:unselect select2:clear', function () {\n                            updateConditionalFields();\n                        });\n                    }\n                });\n\n                \/\/ Initial check\n                updateConditionalFields();\n            });\n        <\/script>\n\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892c07fb');\n                let isSubmitting = false;\n\n                \/\/ Initialize JustValidate with custom styling\n                const validator = new JustValidate('#hr-form-69d0b892c07fb', {\n                    validateBeforeSubmitting: false,\n                    lockForm: true,\n                    focusInvalidField: true,\n                    errorFieldCssClass: 'is-invalid',\n                    successFieldCssClass: 'is-valid',\n                    errorLabelCssClass: 'is-label-invalid',\n                    errorLabelStyle: {\n                        color: '#e3342f',\n                        fontSize: '12px',\n                        marginTop: '5px'\n                    },\n                    successFieldStyle: {\n                        borderColor: '#38c172'\n                    },\n                    errorFieldStyle: {\n                        borderColor: '#e3342f'\n                    },\n                    onValidate: ({ target }) => {\n                        \/\/ Handle Select2 validation classes\n                        if ($(target).hasClass('select2-hidden-accessible')) {\n                            const select2Container = $(target).next('.select2-container');\n                            if ($(target).hasClass('is-valid')) {\n                                select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                            } else if ($(target).hasClass('is-invalid')) {\n                                select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                            }\n                        }\n                    }\n                });\n                \/\/ Attach validator to form for stepper access\n                form._justValidateInstance = validator;\n\n                \/\/ Add honeypot validation rule\n                validator.addField('input[name=\"hr_website\"]', [\n                    {\n                        rule: 'maxLength',\n                        value: 0,\n                        errorMessage: 'Invalid submission detected'\n                    }\n                ]);\n\n                \/\/ Add validation rules for each field\n                                                            const fieldRules_0 = [];\n                                                                                fieldRules_0.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your first name.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#first-name', fieldRules_0);\n                                                                                                                            const fieldRules_1 = [];\n                                                                                fieldRules_1.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your last name.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#last-name', fieldRules_1);\n                                                                                                                            const fieldRules_2 = [];\n                                                                                fieldRules_2.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your email address.\"});\n                                                                                fieldRules_2.push({\"rule\":\"email\",\"errorMessage\":\"Please enter a valid email address.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#email', fieldRules_2);\n                                                                                                                            const fieldRules_3 = [];\n                                                                                fieldRules_3.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your mobile phone number.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#phone', fieldRules_3, { errorsContainer: '#phone-error-container' });\n                                                                                                                            const fieldRules_4 = [];\n                                                                                fieldRules_4.push({\"rule\":\"required\",\"errorMessage\":\"Veuillez saisir le nom de votre entreprise.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#property-name', fieldRules_4);\n                                                                                                                            const fieldRules_5 = [];\n                                                                                fieldRules_5.push({\"rule\":\"required\",\"errorMessage\":\"Please select your country.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#country_d_1', fieldRules_5);\n                                                                                                                                                                                                                                const fieldRules_7 = [{\"rule\":\"required\",\"errorMessage\":\"Ce champ est n\\u00e9cessaire.\"}];\n                        if (fieldRules_7.length > 0) {\n                            validator.addField('#privacy_statement', fieldRules_7);\n                        }\n                                                                                                                            const fieldRules_8 = [];\n                        if (fieldRules_8.length > 0) {\n                            validator.addField('#commerical-text', fieldRules_8);\n                        }\n                                    \n                \/\/ Add blur and focus event listeners for all form fields\n                form.querySelectorAll('input, select, textarea').forEach(input => {\n                    \/\/ Only add validation if the input has an ID\n                    if (input.id) {\n                        \/\/ Validate on blur\n                        input.addEventListener('blur', function () {\n                            validator.revalidateField('#' + this.id);\n                        });\n                    }\n                });\n\n                \/\/ Handle form submission\n                form.addEventListener('submit', function (e) {\n                    e.preventDefault();\n\n                    if (isSubmitting) {\n                        return;\n                    }\n\n                    \/\/ Check honeypot field\n                    const honeypotField = form.querySelector('input[name=\"hr_website\"]');\n                    if (honeypotField && honeypotField.value !== '') {\n                        \/\/ If honeypot is filled, show error and prevent submission\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const originalButtonText = submitButton.innerHTML;\n\n                        \/\/ Add error class to form\n                        form.classList.add('hr-form-error');\n\n                        \/\/ Show error message\n                        const errorMessage = document.createElement('div');\n                        errorMessage.className = 'hr-form-error-message';\n                        errorMessage.textContent = 'Invalid submission detected. Please try again.';\n\n                        \/\/ Remove any existing error message\n                        const existingError = form.querySelector('.hr-form-error-message');\n                        if (existingError) {\n                            existingError.remove();\n                        }\n\n                        \/\/ Insert error message after the form\n                        form.parentNode.insertBefore(errorMessage, form.nextSibling);\n\n                        \/\/ Reset form after 3 seconds\n                        setTimeout(() => {\n                            form.classList.remove('hr-form-error');\n                            errorMessage.remove();\n                            form.reset();\n                            submitButton.innerHTML = originalButtonText;\n                            submitButton.disabled = false;\n                            isSubmitting = false;\n                        }, 3000);\n\n                        return;\n                    }\n\n                    $.each(validator.fields, function (index, field) {\n                        if (field.elem.classList.contains('condition-false')) {\n                            field.isValid = true;\n                            \/\/change is-invalid to is-valid\n                            field.elem.classList.remove('is-invalid');\n                            field.elem.classList.add('is-valid');\n                        }\n                    });\n\n                    \/\/ Validate form\n                    if (!validator.isValid) {\n                        return;\n                    }\n\n                    if (validator.isValid) {\n                        isSubmitting = true;\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const originalButtonText = submitButton.innerHTML;\n                        submitButton.disabled = true;\n                        form.submit();\n                    }\n                });\n\n                \/\/ Add new code to handle submit button state based on validation\n                const submitButton = form.querySelector('.hr-form-submit');\n\n                \/\/ Function to check validation state and update submit button\n                function updateSubmitButtonState() {\n                    const invalidFields = form.querySelectorAll('.is-invalid');\n                    if (invalidFields.length > 0) {\n                        submitButton.disabled = true;\n                    } else {\n                                                    \/\/ If Turnstile is enabled, only enable button if Turnstile is completed\n                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                            submitButton.disabled = !turnstileResponse || !turnstileResponse.value;\n                                            }\n                }\n\n                \/\/ Add validation state check on input\/change for all form fields\n                form.querySelectorAll('input, select, textarea').forEach(input => {\n                    ['input', 'change', 'blur'].forEach(eventType => {\n                        input.addEventListener(eventType, () => {\n                            \/\/ Let validation complete before checking state\n                            setTimeout(updateSubmitButtonState, 100);\n                        });\n                    });\n                });\n\n                \/\/ Add validation state check for Select2 fields\n                jQuery('.hr-select2-field').on('select2:select select2:unselect select2:clear', function () {\n                    setTimeout(updateSubmitButtonState, 100);\n                });\n\n                \/\/ Update button state when JustValidate performs validation\n                validator.onValidate(async (validationResult) => {\n                    setTimeout(updateSubmitButtonState, 100);\n                });\n\n                \/\/ Initial button state check\n                updateSubmitButtonState();\n            });\n        <\/script>\n                    <script src=\"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/js\/\/vendor\/mailcheck.min.js\"><\/script>\n            <script>\n                document.addEventListener('DOMContentLoaded', function () {\n                    const form = document.getElementById('hr-form-69d0b892c07fb');\n                    const emailFields = form.querySelectorAll('input[type=\"email\"]');\n                    const suggestionText = 'Did you mean {suggestion}?';\n\n                    emailFields.forEach(function (emailField) {\n                        \/\/ Create suggestion element\n                        const suggestionElement = document.createElement('div');\n                        suggestionElement.className = 'hr-mailcheck-suggestion';\n                        emailField.parentNode.appendChild(suggestionElement);\n\n                        \/\/ Function to check email\n                        function checkEmail() {\n                            if (!emailField.value) return;\n\n                            Mailcheck.run({\n                                email: emailField.value,\n                                suggested: function (suggestion) {\n                                    const text = suggestionText.replace('{suggestion}', suggestion.full);\n                                    suggestionElement.innerHTML = text;\n                                    suggestionElement.dataset.suggestion = suggestion.full;\n                                    suggestionElement.style.display = 'block';\n                                },\n                                empty: function () {\n                                    suggestionElement.style.display = 'none';\n                                }\n                            });\n                        }\n\n                        \/\/ Check on blur\n                        emailField.addEventListener('blur', checkEmail);\n\n                        \/\/ Check while typing after a suggestion has been shown\n                        emailField.addEventListener('input', function () {\n                            if (suggestionElement.style.display === 'block') {\n                                checkEmail();\n                            }\n                        });\n\n                        \/\/ Handle suggestion click\n                        suggestionElement.addEventListener('click', function () {\n                            const suggestion = this.dataset.suggestion;\n                            if (suggestion) {\n                                emailField.value = suggestion;\n                                suggestionElement.style.display = 'none';\n\n                                \/\/ Trigger change event\n                                const event = new Event('change', { bubbles: true });\n                                emailField.dispatchEvent(event);\n\n                                \/\/ Focus the next field if available\n                                const inputs = Array.from(form.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\n                                const currentIndex = inputs.indexOf(emailField);\n                                if (currentIndex < inputs.length - 1) {\n                                    inputs[currentIndex + 1].focus();\n                                }\n                            }\n                        });\n                    });\n                });\n            <\/script>\n        \n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892c07fb');\n                const textareas = form.querySelectorAll('textarea');\n\n                textareas.forEach(textarea => {\n                    const maxChars = parseInt(textarea.dataset.maxChars) || 600;\n                    const counter = document.createElement('div');\n                    counter.className = 'hr-char-counter';\n                    counter.textContent = `0\/${maxChars} caract\u00e8res`;\n                    textarea.parentNode.appendChild(counter);\n\n                    \/\/ Update counter on input\n                    textarea.addEventListener('input', function () {\n                        const currentLength = this.value.length;\n                        counter.textContent = `${currentLength}\/${maxChars} caract\u00e8res`;\n\n                        if (currentLength > maxChars) {\n                            counter.classList.add('warning');\n                            textarea.classList.add('limit-reached');\n                            \/\/ Trim the text to max length\n                            this.value = this.value.substring(0, maxChars);\n                            \/\/ Update counter with trimmed length\n                            counter.textContent = `${maxChars}\/${maxChars} + characters`;\n                        } else {\n                            counter.classList.remove('warning');\n                            textarea.classList.remove('limit-reached');\n                        }\n                    });\n\n                    \/\/ Prevent paste of text that would exceed limit\n                    textarea.addEventListener('paste', function (e) {\n                        const pastedText = (e.clipboardData || window.clipboardData).getData('text');\n                        const currentLength = this.value.length;\n                        const remainingChars = maxChars - currentLength;\n\n                        if (pastedText.length > remainingChars) {\n                            e.preventDefault();\n                            const trimmedText = pastedText.substring(0, remainingChars);\n                            document.execCommand('insertText', false, trimmedText);\n                        }\n                    });\n\n                    \/\/ Initial count\n                    textarea.dispatchEvent(new Event('input'));\n                });\n            });\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function ($) {\n                \/\/ Initialize Select2 for country selects in this specific form\n                $('#hr-form-69d0b892c07fb .hr-country-select').each(function () {\n                    const $select = $(this);\n                    const formHasFloatingLabels = $select.closest('form').hasClass('hr-form-floating-labels');\n                    \/\/ Disable Select2 placeholder when floating labels are active (label acts as hint)\n                    const placeholder = formHasFloatingLabels ? null : $select.data('placeholder');\n\n                    \/\/ Skip if already initialized\n                    if ($select.hasClass('select2-hidden-accessible')) {\n                        return;\n                    }\n\n                    $select.select2({\n                        width: '100%',\n                        placeholder: placeholder,\n                        allowClear: !formHasFloatingLabels,\n                        language: {\n                            noResults: function () {\n                                return 'No countries found';\n                            }\n                        }\n                    });\n                });\n            });\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function ($) {\n                \/\/ Initialize Select2 for regular select fields in this specific form\n                $('#hr-form-69d0b892c07fb .hr-select2-field').each(function () {\n                    const $select = $(this);\n\n                    \/\/ Skip if already initialized\n                    if ($select.hasClass('select2-hidden-accessible')) {\n                        return;\n                    }\n\n                    const formHasFloatingLabels = $select.closest('form').hasClass('hr-form-floating-labels');\n                    const isMultiple = $select.prop('multiple');\n                    const placeholder = formHasFloatingLabels ? '' : ($select.data('placeholder') || 'Select an option');\n                    const allowClear = formHasFloatingLabels ? false : ($select.data('allow-clear') !== 'no');\n                    const enableSearch = $select.data('enable-search') !== 'no';\n                    const minSelection = parseInt($select.data('min-selection')) || 0;\n                    const searchPlaceholder = $select.data('search-placeholder') || 'Search';\n                    const maxSelection = parseInt($select.data('max-selection')) || 0;\n\n                    const select2Config = {\n                        placeholder: placeholder,\n                        allowClear: allowClear,\n                        width: 'resolve',\n                        searchPlaceholder: 'Search',\n                        multiple: isMultiple,\n                        searchEnabled: enableSearch,\n                        minimumResultsForSearch: enableSearch ? 0 : -1,\n                        language: {\n                            noResults: function () {\n                                return 'No results found';\n                            },\n                            maximumSelected: function (e) {\n                                const message = 'You can only select %s items';\n                                return message.replace('%s', e.maximum);\n                            }\n                        },\n                        templateResult: function (data) {\n                            if (data.loading) return data.text;\n                            if (data.element && $(data.element).hasClass('hr-select-placeholder')) return null;\n                            return data.text;\n                        }\n                    };\n\n                    \/\/ Add maximum selection limit if set\n                    if (isMultiple && maxSelection > 0) {\n                        select2Config.maximumSelectionLength = maxSelection;\n                    }\n\n                    $select.select2(select2Config)\n                        .on('select2:open', function () {\n                            if (enableSearch) {\n                                setTimeout(function () {\n                                    $('.select2-search__field').focus();\n                                }, 0);\n                            }\n                        })\n                        .on('change', function (e) {\n                            const hasSelection = $(this).val() && $(this).val().length > 0;\n                            $(this).next('.select2-container').find('.select2-selection--multiple')\n                                .toggleClass('select2-selection--multiple--has-selection', hasSelection);\n\n                            \/\/ Update hidden input for multiple select\n                            if (isMultiple) {\n                                const selectedValues = $(this).val() || [];\n                                const hiddenInput = $(this).siblings('.hr-form-select2-multiple-values');\n                                hiddenInput.val(selectedValues.join(','));\n                            }\n                        });\n\n                    \/\/ Trigger initial state\n                    const hasInitialSelection = $select.val() && $select.val().length > 0;\n                    $select.next('.select2-container').find('.select2-selection--multiple')\n                        .toggleClass('select2-selection--multiple--has-selection', hasInitialSelection);\n\n                    \/\/ Set initial value for hidden input if there are pre-selected values\n                    if (isMultiple && hasInitialSelection) {\n                        const initialValues = $select.val();\n                        const hiddenInput = $select.siblings('.hr-form-select2-multiple-values');\n                        hiddenInput.val(initialValues.join(','));\n                    }\n                });\n            });\n        <\/script>\n\n        <script>\n            \/\/ Create unique callback function for this form instance\n            window['onTurnstileCallback_hr-form-69d0b892c07fb'] = function () {\n                \/\/ Enable submit button when Turnstile is ready\n                const form = document.getElementById('hr-form-69d0b892c07fb');\n                const submitButton = form.querySelector('.hr-form-submit');\n                if (submitButton) {\n                    submitButton.disabled = false;\n                }\n            };\n\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892c07fb');\n                const submitButton = form.querySelector('.hr-form-submit');\n\n                \/\/ Disable submit button initially if Turnstile is enabled\n                                    if (submitButton) {\n                        submitButton.disabled = true;\n                    }\n\n                    \/\/ Initialize Turnstile when the script is ready\n                    function initTurnstile() {\n                        if (typeof turnstile !== 'undefined') {\n                            const turnstileContainer = form.querySelector('.cf-turnstile:not([data-widget-id])');\n                            if (turnstileContainer && !turnstileContainer.hasAttribute('data-widget-id')) {\n                                turnstile.render(turnstileContainer);\n                            }\n                        } else {\n                            setTimeout(initTurnstile, 100);\n                        }\n                    }\n                    initTurnstile();\n                \n                form.addEventListener('submit', function (e) {\n                                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                        if (!turnstileResponse || !turnstileResponse.value) {\n                            e.preventDefault();\n                            alert('Please wait for the security check to complete.');\n                            return false;\n                        }\n                                    });\n            });\n\n            \/\/ Global callback when Turnstile script is loaded\n            window.onTurnstileLoad = function () {\n                \/\/ Render all Turnstile widgets that haven't been rendered yet\n                document.querySelectorAll('.cf-turnstile:not([data-widget-id])').forEach(function (element) {\n                    if (!element.hasAttribute('data-widget-id')) {\n                        turnstile.render(element);\n                    }\n                });\n            };\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function () {\n                const $currentForm = jQuery('#hr-form-69d0b892c07fb');\n                \n                \/\/ Function to validate step fields\n                function validateStepFields($stepFields, shouldShowError = true) {\n                    var validator = $currentForm.length > 0 && $currentForm[0]._justValidateInstance;\n\n                    \/\/ If validator is not ready, wait a bit and try again\n                    if (!validator) {\n                        return new Promise((resolve) => {\n                            setTimeout(() => {\n                                resolve(validateStepFields($stepFields, shouldShowError));\n                            }, 100);\n                        });\n                    }\n\n                    var allFieldsValid = true;\n                    var validationPromises = [];\n\n                    \/\/ Force validation of all fields in the step\n                    $stepFields.find('input, select, textarea').each(function () {\n                        if (this.id) {\n                            \/\/ Mark the field as touched to ensure validation runs\n                            jQuery(this).addClass('was-validated');\n                            try {\n                                \/\/ For Select2 fields, ensure the value is properly set before validation\n                                if (jQuery(this).hasClass('hr-select2-field')) {\n                                    const value = jQuery(this).val();\n                                    \/\/ For required fields, empty array or null\/undefined is invalid\n                                    if (jQuery(this).prop('required') && (!value || (Array.isArray(value) && value.length === 0))) {\n                                        jQuery(this).addClass('is-invalid').removeClass('is-valid');\n                                        const select2Container = jQuery(this).next('.select2-container');\n                                        select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                                        allFieldsValid = false;\n                                    } else {\n                                        jQuery(this).addClass('is-valid').removeClass('is-invalid');\n                                        const select2Container = jQuery(this).next('.select2-container');\n                                        select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                                    }\n                                }\n\n                                \/\/ Store the validation promise\n                                validationPromises.push(\n                                    validator.revalidateField('#' + this.id)\n                                        .then(isValid => {\n                                            if (!isValid) {\n                                                allFieldsValid = false;\n                                            }\n                                        })\n                                        .catch(error => {\n                                            allFieldsValid = false;\n                                        })\n                                );\n                            } catch (error) {\n                                allFieldsValid = false;\n                            }\n                        }\n                    });\n\n                    \/\/ Return a promise that resolves when all validations are complete\n                    return Promise.all(validationPromises).then(() => allFieldsValid);\n                }\n\n                \/\/ Handle Select2 events for this form only\n                $currentForm.find('.hr-select2-field').on('select2:select select2:unselect select2:clear', function () {\n                    const $field = jQuery(this);\n                    const value = $field.val();\n                    const isRequired = $field.prop('required');                    \n                    \/\/ Update validation state\n                    if (isRequired && (!value || (Array.isArray(value) && value.length === 0))) {\n                        $field.addClass('is-invalid').removeClass('is-valid');\n                        const select2Container = $field.next('.select2');\n                        select2Container.addClass('is-invalid').removeClass('is-valid');\n                    } else {\n                        $field.addClass('is-valid').removeClass('is-invalid');\n                        const select2Container = $field.next('.select2');\n                        select2Container.addClass('is-valid').removeClass('is-invalid');\n                    }\n\n                    \/\/ Trigger validation\n                    if (this.id) {\n                        var validator = $currentForm[0] && $currentForm[0]._justValidateInstance;\n                        if (validator) {\n                            validator.revalidateField('#' + this.id);\n                        }\n                    }\n                });\n                \n                \/\/ Handle country select events for this form only\n                $currentForm.find('.hr-country-select').on('select2:select select2:unselect select2:clear', function () {\n                    const $field = jQuery(this);\n                    const value = $field.val();\n                    const isRequired = $field.prop('required');                    \n                    \/\/ Update validation state\n                    if (isRequired && (!value || (Array.isArray(value) && value.length === 0))) {\n                        $field.addClass('is-invalid').removeClass('is-valid');\n                        const select2Container = $field.next('.select2');\n                        select2Container.addClass('is-invalid').removeClass('is-valid');\n                    } else {\n                        $field.addClass('is-valid').removeClass('is-invalid');\n                        const select2Container = $field.next('.select2');\n                        select2Container.addClass('is-valid').removeClass('is-invalid');\n                    }\n\n                    \/\/ Trigger validation\n                    if (this.id) {\n                        var validator = $currentForm[0] && $currentForm[0]._justValidateInstance;\n                        if (validator) {\n                            validator.revalidateField('#' + this.id);\n                        }\n                    }\n                });\n\n                \/\/ Handle field blur events for validation in this form only\n                $currentForm.on('blur', 'input, select, textarea', function () {\n                    if (this.id) {\n                        jQuery(this).addClass('was-validated');\n                        var validator = $currentForm[0] && $currentForm[0]._justValidateInstance;\n                        if (validator) {\n                            validator.revalidateField('#' + this.id);\n                        }\n                    }\n                });\n\n                $currentForm.find('.hr-form-step-next').on('click', async function () {\n                    var $currentStepFields = jQuery(this).closest('.hr-form-step-fields');\n                    var currentStepIndex = $currentStepFields.data('step-index');\n                    var $stepNavigation = $currentForm.find('.hr-form-step-nav');\n\n                    \/\/ Disable the button while validating\n                    jQuery(this).prop('disabled', true);\n\n                    try {\n                        \/\/ Force validation of all fields in current step\n                        const allFieldsValid = await validateStepFields($currentStepFields, true);\n\n                        if (allFieldsValid) {\n                            \/\/ Update step navigation\n                            $stepNavigation.removeClass('active');\n                            $stepNavigation.filter('[data-step-index=\"' + (currentStepIndex + 1) + '\"]').addClass('active');\n\n                            \/\/ Hide current step and show next step\n                            $currentStepFields.hide();\n                            $currentForm.find('.hr-form-step-fields[data-step-index=\"' + (currentStepIndex + 1) + '\"]').show();\n                        }\n                    } catch (error) {\n                        \/\/ Error during validation\n                    } finally {\n                        \/\/ Re-enable the button\n                        jQuery(this).prop('disabled', false);\n                    }\n                });\n\n                $currentForm.find('.hr-form-step-prev').on('click', function () {\n                    var $currentStepFields = jQuery(this).closest('.hr-form-step-fields');\n                    var currentStepIndex = $currentStepFields.data('step-index');\n                    var $stepNavigation = $currentForm.find('.hr-form-step-nav');\n\n                    \/\/ Clear any existing validation errors before moving back\n                    $currentStepFields.find('.hr-form-step-error').remove();\n\n                    \/\/ Update step navigation\n                    $stepNavigation.removeClass('active');\n                    $stepNavigation.filter('[data-step-index=\"' + (currentStepIndex - 1) + '\"]').addClass('active');\n\n                    \/\/ Hide current step and show previous step\n                    $currentStepFields.hide();\n                    $currentForm.find('.hr-form-step-fields[data-step-index=\"' + (currentStepIndex - 1) + '\"]').show();\n                });\n\n                \/\/ Initialize active state for the first step on load\n                $currentForm.find('.hr-form-step-nav[data-step-index=\"0\"]').addClass('active');\n            });\n        <\/script>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\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<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-36c2729 elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile\" data-id=\"36c2729\" data-element_type=\"column\" data-e-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-01b15d5 elementor-widget elementor-widget-image\" data-id=\"01b15d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1184\" height=\"925\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/google-hotel-ads-en.webp\" class=\"attachment-full size-full wp-image-131747\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/google-hotel-ads-en.webp 1184w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/google-hotel-ads-en-466x364.webp 466w\" sizes=\"(max-width: 1184px) 100vw, 1184px\">\t\t\t\t\t\t\t\t\t\t\t\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<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-41e0e6e elementor-reverse-mobile elementor-section-content-middle elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"41e0e6e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-custom\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-9e149a9\" data-id=\"9e149a9\" data-element_type=\"column\" data-e-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-b0162ff elementor-widget elementor-widget-image\" data-id=\"b0162ff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1224\" height=\"612\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/list-your-hotel-en.webp\" class=\"attachment-full size-full wp-image-131797\" alt=\"list-your-hotel-en\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/list-your-hotel-en.webp 1224w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/list-your-hotel-en-728x364.webp 728w\" sizes=\"(max-width: 1224px) 100vw, 1224px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ef22838 elementor-widget__width-initial elementor-widget-laptop__width-initial elementor-widget elementor-widget-heading\" data-id=\"ef22838\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">List your hotel on Google<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c32af53 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"c32af53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Showcase your rooms on Google Search and Google Maps to attract high-intent travelers.<\/p>\t\t\t\t\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<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-c04a9ed\" data-id=\"c04a9ed\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\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-6ae77f1 elementor-widget__width-initial elementor-widget-laptop__width-initial elementor-widget elementor-widget-heading\" data-id=\"6ae77f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Pay only for realized bookings<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f7a908 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"0f7a908\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>With the commission-per-stay (CPS) model, you pay commissions only after guests complete their stay, not for cancellations or no-shows.<\/p>\t\t\t\t\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<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-4d02907 elementor-reverse-mobile elementor-section-content-middle elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4d02907\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-custom\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-1ea9e9d\" data-id=\"1ea9e9d\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\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-81d4a23 elementor-widget__width-initial elementor-widget-laptop__width-initial elementor-widget elementor-widget-heading\" data-id=\"81d4a23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reach millions of travelers<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a832726 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"a832726\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tCapture demand from travelers actively searching online for hotels and boost visibility worldwide.\t\t\t\t\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<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-7fcd1e9\" data-id=\"7fcd1e9\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\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-43c45c1 elementor-widget elementor-widget-image\" data-id=\"43c45c1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"984\" height=\"612\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/strengthen-guest-relations-en.webp\" class=\"attachment-full size-full wp-image-131801\" alt=\"strengthen-guest-relations-en\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/strengthen-guest-relations-en.webp 984w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/strengthen-guest-relations-en-585x364.webp 585w\" sizes=\"(max-width: 984px) 100vw, 984px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9986114 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"9986114\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Strengthen guest relations<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-89534ca elementor-widget__width-initial elementor-widget-laptop__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"89534ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tOwn the guest relationship from the first click. Direct bookings allow you to personalize communication, improve satisfaction, and foster loyalty.\t\t\t\t\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\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-af2bdce elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"af2bdce\" data-element_type=\"section\" data-e-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-20 elementor-top-column elementor-element elementor-element-742470f\" data-id=\"742470f\" data-element_type=\"column\" data-e-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-a4b9ecf elementor-widget elementor-widget-image\" data-id=\"a4b9ecf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1224\" height=\"612\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/list-your-hotel-en.webp\" class=\"attachment-full size-full wp-image-131797\" alt=\"list-your-hotel-en\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/list-your-hotel-en.webp 1224w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/list-your-hotel-en-728x364.webp 728w\" sizes=\"(max-width: 1224px) 100vw, 1224px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-c62c4a2 elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"c62c4a2\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-a348a78\" data-id=\"a348a78\" data-element_type=\"column\" data-e-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-3e1f48b elementor-widget elementor-widget-heading\" data-id=\"3e1f48b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">List your hotel on Google<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-29cc4b6 elementor-widget elementor-widget-text-editor\" data-id=\"29cc4b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tShowcase your rooms on Google Search and Google Maps to attract high-intent travelers.\t\t\t\t\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\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-20 elementor-top-column elementor-element elementor-element-84fa732\" data-id=\"84fa732\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-c527bdf elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"c527bdf\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-d145335\" data-id=\"d145335\" data-element_type=\"column\" data-e-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-fdae29d elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"fdae29d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Pay only for realized bookings<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-480728c elementor-widget elementor-widget-text-editor\" data-id=\"480728c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWith the commission-per-stay (CPS) model, you pay commissions only after guests complete their stay, not for cancellations or no-shows.\t\t\t\t\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\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-20 elementor-top-column elementor-element elementor-element-d4b7298\" data-id=\"d4b7298\" data-element_type=\"column\" data-e-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-6ca8a48 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"6ca8a48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Want to sell more rooms?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2bac27e elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-widget elementor-widget-hr_button\" data-id=\"2bac27e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"btn-wrapper\" >\n            <a href=\"#mobile-form\" target=\"_self\" \n               class=\"btn normal has-no-icon\"\n               >\n                                <span class=\"btn-text\">Get a demo<\/span>\n                            <\/a>\n        <\/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<div class=\"elementor-column elementor-col-20 elementor-top-column elementor-element elementor-element-f173c08\" data-id=\"f173c08\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-191c90b elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"191c90b\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-a814560\" data-id=\"a814560\" data-element_type=\"column\" data-e-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-048eb16 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"048eb16\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reach millions of travelers<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b94d10 elementor-widget elementor-widget-text-editor\" data-id=\"2b94d10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tCapture demand from travelers actively searching online for hotels and boost visibility worldwide.\t\t\t\t\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\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-20 elementor-top-column elementor-element elementor-element-664bcc1\" data-id=\"664bcc1\" data-element_type=\"column\" data-e-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-ec9641b elementor-widget elementor-widget-image\" data-id=\"ec9641b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"984\" height=\"612\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/strengthen-guest-relations-en.webp\" class=\"attachment-full size-full wp-image-131801\" alt=\"strengthen-guest-relations-en\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/strengthen-guest-relations-en.webp 984w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/11\/strengthen-guest-relations-en-585x364.webp 585w\" sizes=\"(max-width: 984px) 100vw, 984px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-151b153 elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"151b153\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-4e87d16\" data-id=\"4e87d16\" data-element_type=\"column\" data-e-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-751d545 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"751d545\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Strengthen guest relations<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14534e5 elementor-widget elementor-widget-text-editor\" data-id=\"14534e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tOwn the guest relationship from the first click. Direct bookings allow you to personalize communication, improve satisfaction, and foster loyalty.\t\t\t\t\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\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5512d34 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5512d34\" data-element_type=\"section\" data-e-type=\"section\" id=\"mobile-form\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-25be947\" data-id=\"25be947\" data-element_type=\"column\" data-e-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-9392d9c elementor-widget elementor-widget-heading\" data-id=\"9392d9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Frequently asked questions<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-79e6e39 elementor-widget elementor-widget-hr_faq\" data-id=\"79e6e39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_faq.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t            <!-- FAQ Schema -->\n            <script type=\"application\/ld+json\">{\n    \"@context\": \"https:\/\/schema.org\",\n    \"@type\": \"FAQPage\",\n    \"mainEntity\": [\n        {\n            \"@type\": \"Question\",\n            \"name\": \"What are Google Hotel Ads?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Google Hotel Ads allow hotels to display rates and availability directly on Google Search and Maps, making it easier for travelers to book instantly.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Why should I use Google Hotel Ads for my hotel?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Google Hotel Ads helps your property stand out where travelers are actively searching. It displays your real-time rates and availability directly in Google Search and Maps, driving more direct bookings and reducing reliance on intermediaries.HotelRunner also provides access to other major metasearch platforms such as trivago. To learn more, please visit our Direct Plus product page.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"How does the commission-per-stay model work?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"You only pay commission after a guest has actually stayed at your property. Cancellations and no-shows do not incur costs.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"How can HotelRunner help?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"HotelRunner is an official worldwide Google Hotel Ads Commission Program partner. With our platform, you can:List your hotel on Google Hotel Ads with one clickMaximize your global reach and online visibilityManage campaigns under one unified planDrive more direct bookings through your own website\"\n            }\n        }\n    ]\n}<\/script>\n                    <div data-nosnippet class=\"hr-faq-widget\">\n                            <div class=\"hr-faq-item active\">\n                                        <div class=\"hr-faq-item-img\" role=\"button\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"hr-faq-content-0\">\n                                                    <div class=\"hr-faq-item-svg\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"32\" fill=\"none\" viewBox=\"0 0 30 32\">   <path fill=\"#F9BFA7\" d=\"M0 8.367a8 8 0 0 1 8-8h14a8 8 0 0 1 8 8v15a8 8 0 0 1-8 8H8a8 8 0 0 1-8-8v-15Z\"\/>   <path fill=\"#F15F22\" d=\"m22.796 17.91-1.436-.843a6.713 6.713 0 0 0 0-2.406l1.436-.844a.418.418 0 0 0 .185-.48 8.572 8.572 0 0 0-1.843-3.242.4.4 0 0 0-.499-.079l-1.436.844a6.334 6.334 0 0 0-2.048-1.204V7.974a.41.41 0 0 0-.317-.401 8.332 8.332 0 0 0-3.68 0 .41.41 0 0 0-.316.4V9.66a6.533 6.533 0 0 0-2.05 1.203l-1.431-.843a.396.396 0 0 0-.499.079 8.52 8.52 0 0 0-1.843 3.242.413.413 0 0 0 .185.48l1.436.843a6.713 6.713 0 0 0 0 2.406l-1.436.843a.417.417 0 0 0-.185.48 8.572 8.572 0 0 0 1.843 3.242.4.4 0 0 0 .499.08l1.435-.844a6.335 6.335 0 0 0 2.049 1.203v1.686c0 .192.131.36.317.401a8.333 8.333 0 0 0 3.68 0 .41.41 0 0 0 .316-.4v-1.687a6.534 6.534 0 0 0 2.049-1.203l1.435.843a.397.397 0 0 0 .5-.079 8.52 8.52 0 0 0 1.842-3.242.426.426 0 0 0-.188-.483Zm-7.798.695c-1.486 0-2.696-1.23-2.696-2.742 0-1.511 1.21-2.741 2.696-2.741 1.486 0 2.696 1.23 2.696 2.742 0 1.511-1.21 2.741-2.696 2.741Z\"\/> <\/svg><\/div>\n                                            <\/div>\n                                        <div class=\"hr-faq-item-content\">\n                            <div id=\"hr-faq-header-0\" class=\"hr-faq-header\" role=\"button\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"hr-faq-content-0\">\n                                <h3 class=\"hr-faq-title\">What are Google Hotel Ads?<\/h3>\n                                \n                        <\/div>\n                        <div id=\"hr-faq-content-0\" class=\"hr-faq-content\" style=\"display: block;\">\n                            <p>Google Hotel Ads allow hotels to display rates and availability directly on Google Search and Maps, making it easier for travelers to book instantly.<\/p>                        <\/div>\n                    <\/div>\n                    <div class=\"hr-faq-arrow\" role=\"button\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"hr-faq-content-0\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"45\" height=\"40\" viewBox=\"0 0 45 40\" fill=\"none\">\n                                    <path d=\"M15.3135 16.666L22.7349 23.3327L30.1563 16.666\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                <\/svg>\n                            <\/div>\n                <\/div>\n                            <div class=\"hr-faq-item \">\n                                        <div class=\"hr-faq-item-img\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-1\">\n                                                    <div class=\"hr-faq-item-svg\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"32\" fill=\"none\" viewBox=\"0 0 30 32\">   <path fill=\"#F9BFA7\" d=\"M0 8.367a8 8 0 0 1 8-8h14a8 8 0 0 1 8 8v15a8 8 0 0 1-8 8H8a8 8 0 0 1-8-8v-15Z\"\/>   <path fill=\"#F15F22\" d=\"M6 9.467a2.6 2.6 0 0 1 2.6-2.6h2.8a2.6 2.6 0 0 1 2.6 2.6v2.8a2.6 2.6 0 0 1-2.6 2.6H8.6a2.6 2.6 0 0 1-2.6-2.6v-2.8Zm0 10a2.6 2.6 0 0 1 2.6-2.6h2.8a2.6 2.6 0 0 1 2.6 2.6v2.8a2.6 2.6 0 0 1-2.6 2.6H8.6a2.6 2.6 0 0 1-2.6-2.6v-2.8Zm10-10a2.6 2.6 0 0 1 2.6-2.6h2.8a2.6 2.6 0 0 1 2.6 2.6v2.8a2.6 2.6 0 0 1-2.6 2.6h-2.8a2.6 2.6 0 0 1-2.6-2.6v-2.8Zm4 7.4a1 1 0 0 1 1 1v2h2a1 1 0 0 1 0 2h-2v2a1 1 0 0 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2a1 1 0 0 1 1-1Z\"\/> <\/svg><\/div>\n                                            <\/div>\n                                        <div class=\"hr-faq-item-content\">\n                            <div id=\"hr-faq-header-1\" class=\"hr-faq-header\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-1\">\n                                <h3 class=\"hr-faq-title\">Why should I use Google Hotel Ads for my hotel?<\/h3>\n                                \n                        <\/div>\n                        <div id=\"hr-faq-content-1\" class=\"hr-faq-content\" >\n                            <p>Google Hotel Ads helps your property stand out where travelers are actively searching. It displays your real-time rates and availability directly in Google Search and Maps, driving more direct bookings and reducing reliance on intermediaries.<br \/>HotelRunner also provides access to other major metasearch platforms such as trivago. To learn more, please visit our <a href=\"https:\/\/hotelrunner.com\/products\/metasearch-direct-plus\/\">Direct Plus<\/a> product page.<\/p>                        <\/div>\n                    <\/div>\n                    <div class=\"hr-faq-arrow\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-1\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"45\" height=\"40\" viewBox=\"0 0 45 40\" fill=\"none\">\n                                    <path d=\"M15.3135 16.666L22.7349 23.3327L30.1563 16.666\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                <\/svg>\n                            <\/div>\n                <\/div>\n                            <div class=\"hr-faq-item \">\n                                        <div class=\"hr-faq-item-img\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-2\">\n                                                    <div class=\"hr-faq-item-svg\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"32\" fill=\"none\" viewBox=\"0 0 30 32\">   <path fill=\"#F9BFA7\" d=\"M0 8.367a8 8 0 0 1 8-8h14a8 8 0 0 1 8 8v15a8 8 0 0 1-8 8H8a8 8 0 0 1-8-8v-15Z\"\/>   <path fill=\"#F15F22\" d=\"M15 6.867a6.759 6.759 0 0 0-6.75 6.75c0 4.846 6.289 10.915 6.556 11.171a.279.279 0 0 0 .388 0c.267-.256 6.556-6.325 6.556-11.171A6.76 6.76 0 0 0 15 6.867Zm0 9.844a3.094 3.094 0 1 1 0-6.189 3.094 3.094 0 0 1 0 6.189Z\"\/> <\/svg><\/div>\n                                            <\/div>\n                                        <div class=\"hr-faq-item-content\">\n                            <div id=\"hr-faq-header-2\" class=\"hr-faq-header\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-2\">\n                                <h3 class=\"hr-faq-title\">How does the commission-per-stay model work?<\/h3>\n                                \n                        <\/div>\n                        <div id=\"hr-faq-content-2\" class=\"hr-faq-content\" >\n                            <p>You only pay commission after a guest has actually stayed at your property. Cancellations and no-shows do not incur costs.<\/p>                        <\/div>\n                    <\/div>\n                    <div class=\"hr-faq-arrow\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-2\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"45\" height=\"40\" viewBox=\"0 0 45 40\" fill=\"none\">\n                                    <path d=\"M15.3135 16.666L22.7349 23.3327L30.1563 16.666\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                <\/svg>\n                            <\/div>\n                <\/div>\n                            <div class=\"hr-faq-item \">\n                                        <div class=\"hr-faq-item-img\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-3\">\n                                                    <div class=\"hr-faq-item-svg\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"32\" fill=\"none\" viewBox=\"0 0 30 32\">   <path fill=\"#F9BFA7\" d=\"M0 8.367a8 8 0 0 1 8-8h14a8 8 0 0 1 8 8v15a8 8 0 0 1-8 8H8a8 8 0 0 1-8-8v-15Z\"\/>   <path fill=\"#F15F22\" d=\"m22.796 17.91-1.436-.843a6.713 6.713 0 0 0 0-2.406l1.436-.844a.418.418 0 0 0 .185-.48 8.572 8.572 0 0 0-1.843-3.242.4.4 0 0 0-.499-.079l-1.436.844a6.334 6.334 0 0 0-2.048-1.204V7.974a.41.41 0 0 0-.317-.401 8.332 8.332 0 0 0-3.68 0 .41.41 0 0 0-.316.4V9.66a6.533 6.533 0 0 0-2.05 1.203l-1.431-.843a.396.396 0 0 0-.499.079 8.52 8.52 0 0 0-1.843 3.242.413.413 0 0 0 .185.48l1.436.843a6.713 6.713 0 0 0 0 2.406l-1.436.843a.417.417 0 0 0-.185.48 8.572 8.572 0 0 0 1.843 3.242.4.4 0 0 0 .499.08l1.435-.844a6.335 6.335 0 0 0 2.049 1.203v1.686c0 .192.131.36.317.401a8.333 8.333 0 0 0 3.68 0 .41.41 0 0 0 .316-.4v-1.687a6.534 6.534 0 0 0 2.049-1.203l1.435.843a.397.397 0 0 0 .5-.079 8.52 8.52 0 0 0 1.842-3.242.426.426 0 0 0-.188-.483Zm-7.798.695c-1.486 0-2.696-1.23-2.696-2.742 0-1.511 1.21-2.741 2.696-2.741 1.486 0 2.696 1.23 2.696 2.742 0 1.511-1.21 2.741-2.696 2.741Z\"\/> <\/svg><\/div>\n                                            <\/div>\n                                        <div class=\"hr-faq-item-content\">\n                            <div id=\"hr-faq-header-3\" class=\"hr-faq-header\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-3\">\n                                <h3 class=\"hr-faq-title\">How can HotelRunner help?<\/h3>\n                                \n                        <\/div>\n                        <div id=\"hr-faq-content-3\" class=\"hr-faq-content\" >\n                            <p>HotelRunner is an official worldwide Google Hotel Ads Commission Program partner. With our platform, you can:<\/p><p><span style=\"font-weight: 400;\">List your hotel on Google Hotel Ads with one click<\/span><\/p><p><span style=\"font-weight: 400;\">Maximize your global reach and online visibility<\/span><\/p><p><span style=\"font-weight: 400;\">Manage campaigns under one unified plan<\/span><\/p><p><span style=\"font-weight: 400;\">Drive more direct bookings through your own website<\/span><\/p>                        <\/div>\n                    <\/div>\n                    <div class=\"hr-faq-arrow\" role=\"button\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"hr-faq-content-3\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"45\" height=\"40\" viewBox=\"0 0 45 40\" fill=\"none\">\n                                    <path d=\"M15.3135 16.666L22.7349 23.3327L30.1563 16.666\" stroke=\"#323232\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                <\/svg>\n                            <\/div>\n                <\/div>\n                    <\/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<section class=\"elementor-section elementor-top-section elementor-element elementor-element-eff4264 elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"eff4264\" data-element_type=\"section\" data-e-type=\"section\" id=\"mobile-form\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d210375\" data-id=\"d210375\" data-element_type=\"column\" data-e-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-ac9cbd4 elementor-widget elementor-widget-template\" data-id=\"ac9cbd4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"section\" data-elementor-id=\"121564\" class=\"elementor elementor-121564 elementor-121537 elementor-121537\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5395973 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"5395973\" data-element_type=\"section\" data-e-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-1e44240\" data-id=\"1e44240\" data-element_type=\"column\" data-e-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-676e322 elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop hr-form-submit-auto elementor-widget elementor-widget-hr_form\" data-id=\"676e322\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t        <div class=\"hr-form-container\">\n            <!-- Add JustValidate script directly -->\n            <form id=\"hr-form-69d0b892ccdab\" class=\"hr-form hr-form-direction-horizontal\" method=\"POST\" name=\"Landing Booking - 1\"\n                action=\"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/core\/data\/hr-form-handler.php\">\n                <input type=\"hidden\" name=\"form_endpoint_url\" value=\"https:\/\/go.marketing.hotelrunner.com\/l\/965463\/2025-07-16\/7jkrk\">\n                                    <input type=\"hidden\" name=\"form_redirect_url\" value=\"https:\/\/hotelrunner.com\/thank-you\/\">\n                                \n                <!-- Add loading overlay -->\n                <div class=\"hr-form-overlay\" style=\"display: none;\">\n                    <div class=\"hr-form-overlay-content\">\n                        <span class=\"loader\"><\/span>\n                    <\/div>\n                <\/div>\n\n                <style>\n                    #hr-form-69d0b892ccdab {\n                        position: relative;\n                    }\n\n                    #hr-form-69d0b892ccdab .hr-form-overlay {\n                        position: absolute;\n                        top: 0;\n                        left: 0;\n                        right: 0;\n                        bottom: 0;\n                        background-color: rgba(255, 255, 255, 0.9);\n                        display: none;\n                        justify-content: center;\n                        align-items: center;\n                        z-index: 1000;\n                        backdrop-filter: blur(2px);\n                    }\n\n                    #hr-form-69d0b892ccdab .hr-form-overlay-content {\n                        text-align: center;\n                    }\n\n                    #hr-form-69d0b892ccdab .loader {\n                        width: 48px;\n                        height: 48px;\n                        border: 5px solid var(--e-global-color-primary);\n                        border-bottom-color: transparent;\n                        border-radius: 50%;\n                        display: inline-block;\n                        box-sizing: border-box;\n                        animation: rotation 1s linear infinite;\n                    }\n\n                    @keyframes rotation {\n                        0% {\n                            transform: rotate(0deg);\n                        }\n\n                        100% {\n                            transform: rotate(360deg);\n                        }\n                    }\n\n                    #hr-form-69d0b892ccdab.submitting {\n                        pointer-events: none;\n                    }\n\n                    #hr-form-69d0b892ccdab.submitting .hr-form-overlay {\n                        display: flex;\n                    }\n                <\/style>\n\n                <script>\n                    document.addEventListener('DOMContentLoaded', function () {\n                        const form = document.getElementById('hr-form-69d0b892ccdab');\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const overlay = form.querySelector('.hr-form-overlay');\n                        let isSubmitting = false;\n\n                        \/\/ Initialize JustValidate\n                        const validator = new JustValidate('#hr-form-69d0b892ccdab', {\n                            validateBeforeSubmitting: true,\n                            lockForm: true,\n                            focusInvalidField: true,\n                            errorFieldCssClass: 'is-invalid',\n                            successFieldCssClass: 'is-valid',\n                            errorLabelCssClass: 'is-label-invalid',\n                            errorLabelStyle: {\n                                color: '#e3342f',\n                                fontSize: '12px',\n                                marginTop: '5px'\n                            },\n                            successFieldStyle: {\n                                borderColor: '#38c172'\n                            },\n                            errorFieldStyle: {\n                                borderColor: '#e3342f'\n                            },\n                            onValidate: ({ target }) => {\n                                \/\/ Handle Select2 validation classes\n                                if ($(target).hasClass('select2-hidden-accessible')) {\n                                    const select2Container = $(target).next('.select2-container');\n                                    if ($(target).hasClass('is-valid')) {\n                                        select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                                    } else if ($(target).hasClass('is-invalid')) {\n                                        select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                                    }\n                                }\n                            }\n                        });\n\n                        \/\/ Store validator instance on the form element\n                        form._justValidateInstance = validator;\n\n                        \/\/ Add validation rules\n                        validator.addField('input[name=\"form_endpoint_url\"]', [\n                            {\n                                rule: 'required',\n                                errorMessage: 'This field is required',\n                            },\n                        ]);\n\n                        \/\/ Add more fields and rules as needed\n\n                        \/\/ Handle form submission\n                        form.addEventListener('submit', function (e) {\n                            e.preventDefault();\n\n                            \/\/ Prevent multiple submissions\n                            if (isSubmitting) {\n                                return false;\n                            }\n\n                                                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                                if (!turnstileResponse || !turnstileResponse.value) {\n                                    alert('Please wait for the security check to complete.');\n                                    return false;\n                                }\n                            \n                            \/\/ Check honeypot field\n                            const honeypotField = form.querySelector('input[name=\"hr_website\"]');\n                            if (honeypotField && honeypotField.value !== '') {\n                                return false;\n                            }\n\n                            \/\/ Validate the form\n                            validator.onSuccess((event) => {\n                                \/\/ Show loading state\n                                isSubmitting = true;\n                                form.classList.add('submitting');\n                                overlay.style.display = 'flex';\n\n                                if (submitButton) {\n                                    submitButton.disabled = true;\n                                }\n\n                                \/\/ Submit the form\n                                form.submit();\n                            });\n\n                            validator.onFail((fields) => {\n                                \/\/ Validation failed\n                            });\n\n                            validator.validate();\n                        });\n                    });\n                <\/script>\n\n                \n                <!-- Add honeypot field -->\n                <div style=\"display:none;\">\n                    <input type=\"text\" name=\"hr_website\" value=\"\" autocomplete=\"off\" tabindex=\"-1\">\n                <\/div>\n\n                                    <div class=\"cf-turnstile\" data-sitekey=\"0x4AAAAAABeTMK2qaRc9Oy_P\"\n                        data-callback=\"onTurnstileCallback_hr-form-69d0b892ccdab\"><\/div>\n                \n                                        <input type=\"hidden\" name=\"hr_ip_address\" value=\"10.0.0.120\"\n                            data-field-type=\"ip_address\">\n                                                <input type=\"hidden\" name=\"hr_browser_info\" value=\"\"\n                            data-field-type=\"browser_info\">\n                                                <input type=\"hidden\" name=\"hr_primary_language\" value=\"\"\n                            data-field-type=\"primary_language\">\n                                                <input type=\"hidden\" name=\"hr_all_languages\" value=\"\"\n                            data-field-type=\"all_languages\">\n                                                <input type=\"hidden\" name=\"hr_window_size\" value=\"\"\n                            data-field-type=\"window_size\">\n                                                <input type=\"hidden\" name=\"hr_timezone_name\" value=\"\"\n                            data-field-type=\"timezone_name\">\n                                                <input type=\"hidden\" name=\"hr_current_url\" value=\"\"\n                            data-field-type=\"current_url\">\n                                                <input type=\"hidden\" name=\"hr_referrer_url\" value=\"\"\n                            data-field-type=\"referrer_url\">\n                                                <input type=\"hidden\" name=\"hr_page_load_time\" value=\"\"\n                            data-field-type=\"page_load_time\">\n                                            <input type=\"hidden\" name=\"form_endpoint_url\" value=\"https:\/\/go.marketing.hotelrunner.com\/l\/965463\/2025-07-16\/7jkrk\">\n                                            <input type=\"hidden\" name=\"form_redirect_url\" value=\"https:\/\/hotelrunner.com\/thank-you\/\">\n                                                                <input type=\"hidden\" name=\"form_title\" value=\"Landing Booking - 1\">\n                                        <input type=\"hidden\" name=\"form_language\"\n                        value=\"FR\">\n                    <input type=\"hidden\" name=\"utm_source\" value=\"\">\n                    <input type=\"hidden\" name=\"utm_medium\" value=\"\">\n                    <input type=\"hidden\" name=\"utm_campaign\" value=\"\">\n                    <input type=\"hidden\" name=\"utm_term\" value=\"\">\n                    <input type=\"hidden\" name=\"utm_content\" value=\"\">\n                    \n                <script>\n                    function populateUtmFields() {\n                        \/\/ Get all forms with UTM input fields\n                        const forms = document.querySelectorAll('form');\n                        \n                        forms.forEach(form => {\n                            \/\/ Check if this form has UTM fields\n                            const utmSourceField = form.querySelector('input[name=\"utm_source\"]');\n                            if (!utmSourceField) return; \/\/ Skip forms without UTM fields\n                            \n                            \/\/ First try to get from sessionStorage\n                            let utmSource = sessionStorage.getItem('utm_source');\n                            let utmMedium = sessionStorage.getItem('utm_medium');\n                            let utmCampaign = sessionStorage.getItem('utm_campaign');\n                            let utmTerm = sessionStorage.getItem('utm_term');\n                            let utmContent = sessionStorage.getItem('utm_content');\n                            \n                            \/\/ If sessionStorage is empty, try to extract from URL directly\n                            if (!utmSource && !utmMedium && !utmCampaign && !utmTerm && !utmContent) {\n                                const params = new URLSearchParams(window.location.search);\n                                const utmKeys = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content'];\n                                \n                                utmKeys.forEach(key => {\n                                    if (params.has(key)) {\n                                        const value = params.get(key);\n                                        sessionStorage.setItem(key, value);\n                                        \n                                        \/\/ Update our variables\n                                        switch(key) {\n                                            case 'utm_source': utmSource = value; break;\n                                            case 'utm_medium': utmMedium = value; break;\n                                            case 'utm_campaign': utmCampaign = value; break;\n                                            case 'utm_term': utmTerm = value; break;\n                                            case 'utm_content': utmContent = value; break;\n                                        }\n                                    }\n                                });\n                            }\n                            \n                            \/\/ Query within this specific form only\n                            const utmInputs = {\n                                'utm_source': form.querySelector('input[name=\"utm_source\"]'),\n                                'utm_medium': form.querySelector('input[name=\"utm_medium\"]'),\n                                'utm_campaign': form.querySelector('input[name=\"utm_campaign\"]'),\n                                'utm_term': form.querySelector('input[name=\"utm_term\"]'),\n                                'utm_content': form.querySelector('input[name=\"utm_content\"]')\n                            };\n                            \n                            if (utmInputs.utm_source) utmInputs.utm_source.value = utmSource || '';\n                            if (utmInputs.utm_medium) utmInputs.utm_medium.value = utmMedium || '';\n                            if (utmInputs.utm_campaign) utmInputs.utm_campaign.value = utmCampaign || '';\n                            if (utmInputs.utm_term) utmInputs.utm_term.value = utmTerm || '';\n                            if (utmInputs.utm_content) utmInputs.utm_content.value = utmContent || '';\n                        });\n                    }\n                    \n                    \/\/ Try multiple times to ensure UTM parameters are captured\n                    document.addEventListener('DOMContentLoaded', populateUtmFields);\n                    \n                    \/\/ Also try after a short delay in case there's a timing issue\n                    setTimeout(populateUtmFields, 100);\n                    setTimeout(populateUtmFields, 500);\n                    setTimeout(populateUtmFields, 1000);\n                    \n                    \/\/ Also try on window load\n                    window.addEventListener('load', populateUtmFields);\n                <\/script>\n\n                <div class=\"hr-form-fields-wrapper\">\n                    \n                                                    <div class=\"hr-form-field-column hr-form-field-width-50 first-name hr-form-field-column-elementor-repeater-item-14707c7\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"first-name\" class=\"hr-form-label\">First Name <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <input id=\"first-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"first-name\" >\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 last-name hr-form-field-column-elementor-repeater-item-f1b0b8a\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"last-name\" class=\"hr-form-label\">Last Name <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <input id=\"last-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"last-name\" >\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 email hr-form-field-column-elementor-repeater-item-b145675\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"email\" class=\"hr-form-label\">Email <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <input id=\"email\" class=\"hr-form-input\" autocomplete=\"email\" type=\"email\" name=\"email\" >\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 phone hr-form-field-column-elementor-repeater-item-f04ee98\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"phone\" class=\"hr-form-label\">Mobile phone <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <div class=\"hr-phone-input-wrapper\">\n                                                    <input id=\"phone\" class=\"hr-form-input hr-phone-input\" autocomplete=\"tel\" type=\"tel\" name=\"phone\"                                                         data-preferred-countries=\"gb, us\"\n                                                        data-initial-country=\"\">\n                                                <\/div>\n                                                <div class=\"hr-phone-error-container\" id=\"phone-error-container\" aria-live=\"polite\"><\/div>\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 property-name hr-form-field-column-elementor-repeater-item-218998f\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"property-name\" class=\"hr-form-label\">Property name <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <input id=\"property-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"property-name\" >\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-50 country hr-form-field-column-elementor-repeater-item-8143090\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"country_d\" class=\"hr-form-label\">Country <span class=\"hr-form-required\">*<\/span><\/label>                                        \n                                                                                                                                        <div class=\"hr-country-field-wrapper\">\n                                                    <select id=\"country_d\" class=\"hr-form-input hr-country-select\" placeholder=\"Please select your country\" autocomplete=\"country-name\" name=\"country\"  data-placeholder=\"Please select your country\"\n                                                        name=\"country\">\n                                                        <option value=\"\" class=\"hr-select-placeholder\" disabled selected>\n                                                            Please select your country                                                        <\/option>\n                                                        <option value=\"GB\">United Kingdom<\/option><option value=\"US\">United States of America<\/option><option disabled>\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/option><option value=\"AF\">Afghanistan<\/option><option value=\"AX\">\u00c5land Islands<\/option><option value=\"AL\">Albania<\/option><option value=\"DZ\">Algeria<\/option><option value=\"AD\">Andorra<\/option><option value=\"AO\">Angola<\/option><option value=\"AI\">Anguilla<\/option><option value=\"AQ\">Antarctica<\/option><option value=\"AG\">Antigua and Barbuda<\/option><option value=\"AR\">Argentina<\/option><option value=\"AM\">Armenia<\/option><option value=\"AW\">Aruba<\/option><option value=\"AU\">Australia<\/option><option value=\"AT\">Austria<\/option><option value=\"AZ\">Azerbaijan<\/option><option value=\"BS\">Bahamas<\/option><option value=\"BH\">Bahrain<\/option><option value=\"BD\">Bangladesh<\/option><option value=\"BB\">Barbados<\/option><option value=\"BY\">Belarus<\/option><option value=\"BE\">Belgium<\/option><option value=\"BZ\">Belize<\/option><option value=\"BJ\">Benin<\/option><option value=\"BM\">Bermuda<\/option><option value=\"BT\">Bhutan<\/option><option value=\"BO\">Bolivia<\/option><option value=\"BQ\">Bonaire, Sint Eustatius and Saba<\/option><option value=\"BA\">Bosnia and Herzegovina<\/option><option value=\"BW\">Botswana<\/option><option value=\"BV\">Bouvet Island<\/option><option value=\"BR\">Brazil<\/option><option value=\"IO\">British Indian Ocean Territory<\/option><option value=\"BN\">Brune\u0130<\/option><option value=\"BG\">Bulgaria<\/option><option value=\"BF\">Burkina Faso<\/option><option value=\"BI\">Burundi<\/option><option value=\"KH\">Cambodia<\/option><option value=\"CM\">Cameroon<\/option><option value=\"CA\">Canada<\/option><option value=\"CV\">Cape Verde<\/option><option value=\"KY\">Cayman Islands<\/option><option value=\"CF\">Central African Republic<\/option><option value=\"TD\">Chad<\/option><option value=\"CL\">Chile<\/option><option value=\"CN\">China<\/option><option value=\"CX\">Christmas Island<\/option><option value=\"CC\">Cocos (Keeling) Islands<\/option><option value=\"CO\">Colombia<\/option><option value=\"KM\">Comoros<\/option><option value=\"CG\">Congo<\/option><option value=\"CK\">Cook Islands<\/option><option value=\"CR\">Costa Rica<\/option><option value=\"CI\">C\u00f4te d&#039;Ivoire<\/option><option value=\"HR\">Croatia<\/option><option value=\"CU\">Cuba<\/option><option value=\"CW\">Cura\u00e7ao<\/option><option value=\"CY\">Cyprus<\/option><option value=\"CZ\">Czechia<\/option><option value=\"CD\">Democratic Republic of the Congo<\/option><option value=\"DK\">Denmark<\/option><option value=\"DJ\">Djibouti<\/option><option value=\"DM\">Dominica<\/option><option value=\"DO\">Dominican Republic<\/option><option value=\"EC\">Ecuador<\/option><option value=\"EG\">Egypt<\/option><option value=\"SV\">El Salvador<\/option><option value=\"GQ\">Equatorial Guinea<\/option><option value=\"ER\">Eritrea<\/option><option value=\"EE\">Estonia<\/option><option value=\"SZ\">Eswatini<\/option><option value=\"ET\">Ethiopia<\/option><option value=\"FK\">Falkland Islands<\/option><option value=\"FO\">Faroe Islands<\/option><option value=\"FJ\">Fiji<\/option><option value=\"FI\">Finland<\/option><option value=\"FR\">France<\/option><option value=\"GF\">French Guiana<\/option><option value=\"PF\">French Polynesia<\/option><option value=\"TF\">French Southern Territories<\/option><option value=\"GA\">Gabon<\/option><option value=\"GM\">Gambia<\/option><option value=\"GE\">Georgia<\/option><option value=\"DE\">Germany<\/option><option value=\"GH\">Ghana<\/option><option value=\"GI\">Gibraltar<\/option><option value=\"GR\">Greece<\/option><option value=\"GL\">Greenland<\/option><option value=\"GD\">Grenada<\/option><option value=\"GP\">Guadeloupe<\/option><option value=\"GU\">Guam<\/option><option value=\"GT\">Guatemala<\/option><option value=\"GG\">Guernsey<\/option><option value=\"GN\">Guinea<\/option><option value=\"GW\">Guinea-Bissau<\/option><option value=\"GY\">Guyana<\/option><option value=\"HT\">Haiti<\/option><option value=\"HM\">Heard Island and McDonald Islands<\/option><option value=\"VA\">Holy See<\/option><option value=\"HN\">Honduras<\/option><option value=\"HK\">Hong Kong<\/option><option value=\"HU\">Hungary<\/option><option value=\"IS\">Iceland<\/option><option value=\"IN\">India<\/option><option value=\"ID\">Indonesia<\/option><option value=\"IR\">Iran<\/option><option value=\"IQ\">Iraq<\/option><option value=\"IE\">Ireland<\/option><option value=\"IM\">Isle of Man<\/option><option value=\"IL\">Israel<\/option><option value=\"IT\">Italy<\/option><option value=\"JM\">Jamaica<\/option><option value=\"JP\">Japan<\/option><option value=\"JE\">Jersey<\/option><option value=\"JO\">Jordan<\/option><option value=\"KZ\">Kazakhstan<\/option><option value=\"KE\">Kenya<\/option><option value=\"KI\">Kiribati<\/option><option value=\"KW\">Kuwait<\/option><option value=\"KG\">Kyrgyzstan<\/option><option value=\"LA\">Laos<\/option><option value=\"LV\">Latvia<\/option><option value=\"LB\">Lebanon<\/option><option value=\"LS\">Lesotho<\/option><option value=\"LR\">Liberia<\/option><option value=\"LY\">Libya<\/option><option value=\"LI\">Liechtenstein<\/option><option value=\"LT\">Lithuania<\/option><option value=\"LU\">Luxembourg<\/option><option value=\"MO\">Macao<\/option><option value=\"MG\">Madagascar<\/option><option value=\"MW\">Malawi<\/option><option value=\"MY\">Malaysia<\/option><option value=\"MV\">Maldives<\/option><option value=\"ML\">Mali<\/option><option value=\"MT\">Malta<\/option><option value=\"MH\">Marshall Islands<\/option><option value=\"MQ\">Martinique<\/option><option value=\"MR\">Mauritania<\/option><option value=\"MU\">Mauritius<\/option><option value=\"YT\">Mayotte<\/option><option value=\"MX\">Mexico<\/option><option value=\"FM\">Micronesia<\/option><option value=\"MD\">Moldova<\/option><option value=\"MC\">Monaco<\/option><option value=\"MN\">Mongolia<\/option><option value=\"ME\">Montenegro<\/option><option value=\"MS\">Montserrat<\/option><option value=\"MA\">Morocco<\/option><option value=\"MZ\">Mozambique<\/option><option value=\"MM\">Myanmar<\/option><option value=\"NA\">Namibia<\/option><option value=\"NR\">Nauru<\/option><option value=\"NP\">Nepal<\/option><option value=\"NL\">Netherlands<\/option><option value=\"NC\">New Caledonia<\/option><option value=\"NZ\">New Zealand<\/option><option value=\"NI\">Nicaragua<\/option><option value=\"NE\">Niger<\/option><option value=\"NG\">Nigeria<\/option><option value=\"NU\">Niue<\/option><option value=\"NF\">Norfolk Island<\/option><option value=\"KP\">North Korea<\/option><option value=\"MK\">North Macedonia<\/option><option value=\"NCY\">Northern Cyprus<\/option><option value=\"MP\">Northern Mariana Islands<\/option><option value=\"NO\">Norway<\/option><option value=\"OM\">Oman<\/option><option value=\"PK\">Pakistan<\/option><option value=\"PW\">Palau<\/option><option value=\"PS\">Palestine<\/option><option value=\"PA\">Panama<\/option><option value=\"PG\">Papua New Guinea<\/option><option value=\"PY\">Paraguay<\/option><option value=\"PE\">Peru<\/option><option value=\"PH\">Philippines<\/option><option value=\"PN\">Pitcairn<\/option><option value=\"PL\">Poland<\/option><option value=\"PT\">Portugal<\/option><option value=\"PR\">Puerto Rico<\/option><option value=\"QA\">Qatar<\/option><option value=\"RE\">R\u00e9union<\/option><option value=\"RO\">Romania<\/option><option value=\"RU\">Russia<\/option><option value=\"RW\">Rwanda<\/option><option value=\"BL\">Saint Barth\u00e9lemy<\/option><option value=\"SH\">Saint Helena, Ascension and Tristan da Cunha<\/option><option value=\"KN\">Saint Kitts And Nevis<\/option><option value=\"LC\">Saint Lucia<\/option><option value=\"MF\">Saint Martin (French part)<\/option><option value=\"PM\">Saint Pierre and Miquelon<\/option><option value=\"VC\">Saint Vincent and the Grenadines<\/option><option value=\"AS\">Samoa<\/option><option value=\"WS\">Samoa<\/option><option value=\"SM\">San Marino<\/option><option value=\"ST\">Sao Tome and Principe<\/option><option value=\"SA\">Saudi Arabia<\/option><option value=\"SN\">Senegal<\/option><option value=\"RS\">Serbia<\/option><option value=\"SC\">Seychelles<\/option><option value=\"SL\">Sierra Leone<\/option><option value=\"SG\">Singapore<\/option><option value=\"SX\">Sint Maarten (Dutch part)<\/option><option value=\"SK\">Slovakia<\/option><option value=\"SI\">Slovenia<\/option><option value=\"SB\">Solomon Islands<\/option><option value=\"SO\">Somalia<\/option><option value=\"ZA\">South Africa<\/option><option value=\"GS\">South Georgia and the South Sandwich Islands<\/option><option value=\"KR\">South Korea<\/option><option value=\"SS\">South Sudan<\/option><option value=\"ES\">Spain<\/option><option value=\"LK\">Sri Lanka<\/option><option value=\"SD\">Sudan<\/option><option value=\"SR\">Suriname<\/option><option value=\"SJ\">Svalbard and Jan Mayen<\/option><option value=\"SE\">Sweden<\/option><option value=\"CH\">Switzerland<\/option><option value=\"SY\">Syria<\/option><option value=\"TW\">Taiwan<\/option><option value=\"TJ\">Tajikistan<\/option><option value=\"TZ\">Tanzania<\/option><option value=\"TH\">Thailand<\/option><option value=\"TL\">Timor-Leste<\/option><option value=\"TG\">Togo<\/option><option value=\"TK\">Tokelau<\/option><option value=\"TO\">Tonga<\/option><option value=\"TT\">Trinidad And Tobago<\/option><option value=\"TN\">Tunisia<\/option><option value=\"TR\">T\u00fcrkiye<\/option><option value=\"TM\">Turkmenistan<\/option><option value=\"TC\">Turks and Caicos Islands<\/option><option value=\"TV\">Tuvalu<\/option><option value=\"UG\">Uganda<\/option><option value=\"UA\">Ukraine<\/option><option value=\"AE\">United Arab Emirates<\/option><option value=\"UM\">United States Minor Outlying Islands<\/option><option value=\"UY\">Uruguay<\/option><option value=\"UZ\">Uzbekistan<\/option><option value=\"VU\">Vanuatu<\/option><option value=\"VE\">Venezuela<\/option><option value=\"VN\">Viet nam<\/option><option value=\"VG\">Virgin Islands (British)<\/option><option value=\"VI\">Virgin Islands (U.S.)<\/option><option value=\"WF\">Wallis and Futuna<\/option><option value=\"EH\">Western Sahara<\/option><option value=\"YE\">Yemen<\/option><option value=\"ZM\">Zambia<\/option><option value=\"ZW\">Zimbabwe<\/option>                                                    <\/select>\n                                                <\/div>\n                                                                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-100 hr-form-field-column-elementor-repeater-item-bf3abe6\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-field-69d0b892ccdd2\" class=\"hr-form-label\"><\/label>                                        \n                                                                                        <input id=\"hr-field-69d0b892ccdd2\" class=\"hr-form-input\" value=\"Landing - Home- EN\" placeholder=\"\" autocomplete=\"name\" type=\"hidden\" name=\"form_name\" >\n                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-100 privacy_statement hr-form-field-column-elementor-repeater-item-effd43d\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                        \n                                                                                        <div class=\"hr-form-checkbox-wrapper\">\n                                                    <label class=\"hr-checkbox-label\">\n                                                        <input id=\"privacy_statement\" class=\"hr-form-checkbox\" placeholder=\"Enter your text here\" autocomplete=\"address-level1\" type=\"checkbox\" name=\"privacy_statement\" required=\"required\"  data-salesforce-field=\"no\">\n                                                        <span class=\"hr-checkbox-text\">I have read and understood the <a target=\"_blank\" href=\"https:\/\/hotelrunner.com\/privacy\/\">Privacy Statement for Request \/ Complaint \/ Suggestion Processes.<\/a><\/span>\n                                                                                                                    <span class=\"hr-form-required\">*<\/span>\n                                                                                                            <\/label>\n                                                                                                    <\/div>\n                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-100 commerical-text hr-form-field-column-elementor-repeater-item-1230e4e\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                        \n                                                                                        <div class=\"hr-form-checkbox-wrapper\">\n                                                    <label class=\"hr-checkbox-label\">\n                                                        <input id=\"commerical-text\" class=\"hr-form-checkbox\" placeholder=\"Enter your text here\" autocomplete=\"off\" type=\"checkbox\" name=\"commerical-text\"  data-salesforce-field=\"yes\">\n                                                        <span class=\"hr-checkbox-text\">I have read and accept the <a href=\"https:\/\/hotelrunner.com\/commercial-electronic-message-consent-text\/\" target=\"_blank\">Commercial Electronic Message Consent<\/a><\/span>\n                                                                                                            <\/label>\n                                                                                                                                                                    <input type=\"hidden\" name=\"commerical-text-value\" value=\"false\" data-salesforce-reverse=\"yes\">\n                                                                                                    <\/div>\n                                                                                    <\/div>\n                                <\/div>\n                                                <\/div>\n\n                                    <div class=\"hr-form-button-wrapper\">\n                        <button type=\"submit\" class=\"button hr-form-submit\">\n                            Request a demo                        <\/button>\n                    <\/div>\n                            <\/form>\n\n        <\/div>\n\n        \n        <!-- Hidden Fields Handler -->\n        <script>\n            (function ($) {\n                \"use strict\";\n\n                function initializePhoneInput(input) {\n                    \/\/ Check if intlTelInput is loaded and input is not already initialized\n                    if (typeof window.intlTelInput === \"function\" && !$(input).data(\"iti\")) {\n                        const initialCountry = input.dataset.initialCountry || \"\";\n                        const iti = window.intlTelInput(input, {\n                            initialCountry: initialCountry ? initialCountry : \"\", \/\/ Use preselected if set, else default\n                            separateDialCode: true,\n                            nationalMode: false,\n                            formatOnDisplay: true,\n                            autoPlaceholder: \"polite\",\n                            preferredCountries: (input.dataset.preferredCountries || \"tr,us,gb,de\").split(',').map(s => s.trim()),\n                            allowDropdown: true,\n                            dropdownContainer: document.body,\n                            utilsScript: \"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/js\/\/vendor\/utils.js\" \/\/ Changed to non-minified version\n                        });\n\n                        \/\/ Store the instance on the input element\n                        $(input).data(\"iti\", iti);\n\n                        \/\/ Handle input changes\n                        input.addEventListener('input', function (e) {\n                            const value = e.target.value;\n                            \/\/ Remove any non-numeric characters\n                            const numericValue = value.replace(\/\\D\/g, '');\n\n                            \/\/ Only remove the country code if it's at the start of the input\n                            if (value.startsWith('+')) {\n                                const countryCode = iti.getSelectedCountryData().dialCode;\n                                if (value.startsWith('+' + countryCode)) {\n                                    e.target.value = numericValue.substring(countryCode.length);\n                                }\n                            } else {\n                                e.target.value = numericValue;\n                            }\n                        });\n\n                        \/\/ Prevent non-numeric input\n                        input.addEventListener('keypress', function (e) {\n                            const charCode = (e.which) ? e.which : e.keyCode;\n                            if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n                                e.preventDefault();\n                            }\n                        });\n\n                        \/\/ Handle form submission\n                        $(input.form).on(\"submit\", function () {\n                            if (iti.isValidNumber()) {\n                                input.value = iti.getNumber();\n                            }\n                        });\n\n                        \/\/ Add validation class and store full number on blur\n                        input.addEventListener(\"blur\", function () {\n                            var fullNumber = iti.getNumber();\n                            \/\/ Store the full number in a hidden input\n                            var hiddenInput = document.createElement('input');\n                            hiddenInput.type = 'hidden';\n                            hiddenInput.name = input.name + '_full';\n                            hiddenInput.value = fullNumber;\n                            \/\/ Replace existing hidden input if any\n                            var existingHidden = input.parentNode.querySelector('input[name=\"' + input.name + '_full\"]');\n                            if (existingHidden) {\n                                existingHidden.remove();\n                            }\n                            input.parentNode.appendChild(hiddenInput);\n\n                            if (input.value.trim()) {\n                                if (iti.isValidNumber()) {\n                                    $(input).removeClass(\"error\").addClass(\"valid\");\n                                } else {\n                                    $(input).removeClass(\"valid\").addClass(\"error\");\n                                }\n                            }\n                        });\n                    }\n                }\n\n                function initializeFormPhoneInputs(formId) {\n                    const form = document.getElementById(formId);\n                    if (!form) return;\n                    \n                    const phoneInputs = $(form).find(\".hr-phone-input\");\n                    if (phoneInputs.length > 0 && typeof window.intlTelInput === \"function\") {\n                        phoneInputs.each(function () {\n                            if (!$(this).data(\"iti\")) {\n                                initializePhoneInput(this);\n                            }\n                        });\n                    }\n                }\n\n                \/\/ Initialize phone inputs for this specific form\n                initializeFormPhoneInputs('hr-form-69d0b892ccdab');\n\n                \/\/ Also initialize on document ready to ensure DOM is fully loaded\n                $(document).ready(function () {\n                    initializeFormPhoneInputs('hr-form-69d0b892ccdab');\n                });\n            })(jQuery);\n\n\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892ccdab');\n\n                \/\/ Function to get all hidden fields\n                const hiddenFields = form.querySelectorAll('input[type=\"hidden\"][data-field-type]');\n\n                hiddenFields.forEach(field => {\n                    const fieldType = field.getAttribute('data-field-type');\n\n                    switch (fieldType) {\n                        case 'browser_info':\n                            field.value = navigator.userAgent;\n                            break;\n\n                        case 'primary_language':\n                            field.value = navigator.language || 'unknown';\n                            break;\n\n                        case 'all_languages':\n                            field.value = navigator.languages ? navigator.languages.join(', ') : 'unknown';\n                            break;\n\n                        case 'cookies_enabled':\n                            field.value = navigator.cookieEnabled ? 'yes' : 'no';\n                            break;\n\n                        case 'screen_resolution':\n                            field.value = `${screen.width}x${screen.height}`;\n                            break;\n\n                        case 'available_screen':\n                            field.value = `${screen.availWidth}x${screen.availHeight}`;\n                            break;\n\n                        case 'window_size':\n                            field.value = `${window.outerWidth}x${window.outerHeight}`;\n                            \/\/ Update on resize\n                            window.addEventListener('resize', () => {\n                                field.value = `${window.outerWidth}x${window.outerHeight}`;\n                            });\n                            break;\n\n                        case 'timezone_name':\n                            try {\n                                field.value = Intl.DateTimeFormat().resolvedOptions().timeZone;\n                            } catch (e) {\n                                field.value = 'unknown';\n                            }\n                            break;\n\n                        case 'timezone_offset':\n                            field.value = new Date().getTimezoneOffset();\n                            break;\n\n                        case 'current_url':\n                            field.value = window.location.href;\n                            break;\n\n                        case 'referrer_url':\n                            field.value = document.referrer || 'direct';\n                            break;\n\n                        case 'page_load_time':\n                            field.value = Math.round(performance.now());\n                            break;\n\n                        case 'navigation_type':\n                            try {\n                                const navigation = performance.getEntriesByType('navigation')[0];\n                                field.value = navigation ? navigation.type : 'unknown';\n                            } catch (e) {\n                                field.value = 'unknown';\n                            }\n                            break;\n                    }\n                });\n            });\n        <\/script>\n\n        <!-- Checkbox Salesforce Field Handler -->\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892ccdab');\n                \n                \/\/ Handle Salesforce checkbox fields\n                form.querySelectorAll('input[type=\"checkbox\"][data-salesforce-field=\"yes\"]').forEach(checkbox => {\n                    const hiddenFieldName = checkbox.id + '-value';\n                    const hiddenField = form.querySelector(`input[type=\"hidden\"][name=\"${hiddenFieldName}\"]`);\n                    \n                    if (hiddenField) {\n                        const isReversed = hiddenField.getAttribute('data-salesforce-reverse') === 'yes';\n                        \n                        \/\/ Update hidden field on checkbox change\n                        checkbox.addEventListener('change', function () {\n                            let value;\n                            if (isReversed) {\n                                \/\/ Reverse logic: checked = false, unchecked = true\n                                value = this.checked ? 'false' : 'true';\n                            } else {\n                                \/\/ Normal logic: checked = true, unchecked = false\n                                value = this.checked ? 'true' : 'false';\n                            }\n                            hiddenField.value = value;\n                        });\n                        \n                        \/\/ Set initial value\n                        let initialValue;\n                        if (isReversed) {\n                            initialValue = checkbox.checked ? 'false' : 'true';\n                        } else {\n                            initialValue = checkbox.checked ? 'true' : 'false';\n                        }\n                        hiddenField.value = initialValue;\n                    }\n                });\n            });\n        <\/script>\n\n        <!-- Conditional Fields Logic -->\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892ccdab');\n                const conditions = {};\n\n                \n                function evaluateCondition(condition, value) {\n                    \/\/ Handle array values (for multiple select)\n                    if (Array.isArray(value)) {\n                        switch (condition.operator) {\n                            case 'equals':\n                                return value.includes(condition.value);\n                            case 'not_equals':\n                                return !value.includes(condition.value);\n                            case 'contains':\n                                return value.some(v => v.includes(condition.value));\n                            case 'not_contains':\n                                return !value.some(v => v.includes(condition.value));\n                            case 'greater_than':\n                                return value.some(v => parseFloat(v) > parseFloat(condition.value));\n                            case 'less_than':\n                                return value.some(v => parseFloat(v) < parseFloat(condition.value));\n                            default:\n                                return false;\n                        }\n                    }\n\n                    \/\/ Handle single values\n                    switch (condition.operator) {\n                        case 'equals':\n                            return value === condition.value;\n                        case 'not_equals':\n                            return value !== condition.value;\n                        case 'contains':\n                            return value.includes(condition.value);\n                        case 'not_contains':\n                            return !value.includes(condition.value);\n                        case 'greater_than':\n                            return parseFloat(value) > parseFloat(condition.value);\n                        case 'less_than':\n                            return parseFloat(value) < parseFloat(condition.value);\n                        default:\n                            return false;\n                    }\n                }\n\n                function updateConditionalFields() {\n                    for (const fieldId in conditions) {\n                        const condition = conditions[fieldId];\n                        \/\/ Ensure we only search for fields within the current form\n                        const targetInput = form.querySelector(`[name=\"${condition.targetField}\"]`);\n\n                        let fieldToToggle = form.querySelector(`#${fieldId}`) || form.querySelector(`[name=\"${fieldId}\"]`);\n                        fieldToToggle = fieldToToggle ? fieldToToggle.closest('.hr-form-field-column') : null;\n\n                        if (targetInput && fieldToToggle) {\n                            const targetValue = $(targetInput).hasClass('hr-select2-field') ? $(targetInput).val() : targetInput.value;\n                            const shouldShow = evaluateCondition(condition, targetValue);\n\n                            \/\/ Select all form elements within the current field to toggle\n                            const formElements = fieldToToggle.querySelectorAll('input, select, textarea');\n\n                            if (shouldShow) {\n                                fieldToToggle.classList.remove('hr-conditional-field');\n                                fieldToToggle.style.display = '';\n\n                                \/\/ Add the custom attribute to each form element\n                                formElements.forEach(el => el.classList.add('condition-false'));\n                                formElements.forEach(el => el.classList.remove('condition-false'));\n\n                            } else {\n                                fieldToToggle.classList.add('hr-conditional-field');\n                                fieldToToggle.style.display = 'none';\n                                formElements.forEach(el => el.classList.add('condition-false'));\n\n                                \/\/ Add the custom attribute to each form element\n                            }\n\n                            \/\/ Handle required fields\n                            formElements.forEach(input => {\n                                if (!shouldShow) {\n                                    input.dataset.wasRequired = input.required;\n                                    input.required = false;\n                                } else if (input.dataset.wasRequired) {\n                                    input.required = true;\n                                }\n                            });\n                        }\n                    }\n                }\n\n                \/\/ Update condition field options dynamically\n                form.querySelectorAll('input, select, textarea').forEach(input => {\n                    \/\/ Handle regular input events\n                    input.addEventListener('input', updateConditionalFields);\n                    input.addEventListener('change', updateConditionalFields);\n\n                    \/\/ Handle Select2 events if the field is a Select2\n                    if ($(input).hasClass('hr-select2-field')) {\n                        $(input).on('select2:select select2:unselect select2:clear', function () {\n                            updateConditionalFields();\n                        });\n                    }\n                });\n\n                \/\/ Initial check\n                updateConditionalFields();\n            });\n        <\/script>\n\n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892ccdab');\n                let isSubmitting = false;\n\n                \/\/ Initialize JustValidate with custom styling\n                const validator = new JustValidate('#hr-form-69d0b892ccdab', {\n                    validateBeforeSubmitting: false,\n                    lockForm: true,\n                    focusInvalidField: true,\n                    errorFieldCssClass: 'is-invalid',\n                    successFieldCssClass: 'is-valid',\n                    errorLabelCssClass: 'is-label-invalid',\n                    errorLabelStyle: {\n                        color: '#e3342f',\n                        fontSize: '12px',\n                        marginTop: '5px'\n                    },\n                    successFieldStyle: {\n                        borderColor: '#38c172'\n                    },\n                    errorFieldStyle: {\n                        borderColor: '#e3342f'\n                    },\n                    onValidate: ({ target }) => {\n                        \/\/ Handle Select2 validation classes\n                        if ($(target).hasClass('select2-hidden-accessible')) {\n                            const select2Container = $(target).next('.select2-container');\n                            if ($(target).hasClass('is-valid')) {\n                                select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                            } else if ($(target).hasClass('is-invalid')) {\n                                select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                            }\n                        }\n                    }\n                });\n                \/\/ Attach validator to form for stepper access\n                form._justValidateInstance = validator;\n\n                \/\/ Add honeypot validation rule\n                validator.addField('input[name=\"hr_website\"]', [\n                    {\n                        rule: 'maxLength',\n                        value: 0,\n                        errorMessage: 'Invalid submission detected'\n                    }\n                ]);\n\n                \/\/ Add validation rules for each field\n                                                            const fieldRules_0 = [];\n                                                                                fieldRules_0.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your first name.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#first-name', fieldRules_0);\n                                                                                                                            const fieldRules_1 = [];\n                                                                                fieldRules_1.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your last name.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#last-name', fieldRules_1);\n                                                                                                                            const fieldRules_2 = [];\n                                                                                fieldRules_2.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your email address.\"});\n                                                                                fieldRules_2.push({\"rule\":\"email\",\"errorMessage\":\"Please enter a valid email address.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#email', fieldRules_2);\n                                                                                                                            const fieldRules_3 = [];\n                                                                                fieldRules_3.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your mobile phone number.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#phone', fieldRules_3, { errorsContainer: '#phone-error-container' });\n                                                                                                                            const fieldRules_4 = [];\n                                                                                fieldRules_4.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your property name.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#property-name', fieldRules_4);\n                                                                                                                            const fieldRules_5 = [];\n                                                                                fieldRules_5.push({\"rule\":\"required\",\"errorMessage\":\"Please select your country.\"});\n                        \n                        \/\/ Add field to validator - use hidden field ID for country fields; phone: error label goes outside hr-phone-input-wrapper\n                                                validator.addField('#country_d', fieldRules_5);\n                                                                                                                                                                                                                                const fieldRules_7 = [{\"rule\":\"required\",\"errorMessage\":\"Ce champ est n\\u00e9cessaire.\"}];\n                        if (fieldRules_7.length > 0) {\n                            validator.addField('#privacy_statement', fieldRules_7);\n                        }\n                                                                                                                            const fieldRules_8 = [];\n                        if (fieldRules_8.length > 0) {\n                            validator.addField('#commerical-text', fieldRules_8);\n                        }\n                                    \n                \/\/ Add blur and focus event listeners for all form fields\n                form.querySelectorAll('input, select, textarea').forEach(input => {\n                    \/\/ Only add validation if the input has an ID\n                    if (input.id) {\n                        \/\/ Validate on blur\n                        input.addEventListener('blur', function () {\n                            validator.revalidateField('#' + this.id);\n                        });\n                    }\n                });\n\n                \/\/ Handle form submission\n                form.addEventListener('submit', function (e) {\n                    e.preventDefault();\n\n                    if (isSubmitting) {\n                        return;\n                    }\n\n                    \/\/ Check honeypot field\n                    const honeypotField = form.querySelector('input[name=\"hr_website\"]');\n                    if (honeypotField && honeypotField.value !== '') {\n                        \/\/ If honeypot is filled, show error and prevent submission\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const originalButtonText = submitButton.innerHTML;\n\n                        \/\/ Add error class to form\n                        form.classList.add('hr-form-error');\n\n                        \/\/ Show error message\n                        const errorMessage = document.createElement('div');\n                        errorMessage.className = 'hr-form-error-message';\n                        errorMessage.textContent = 'Invalid submission detected. Please try again.';\n\n                        \/\/ Remove any existing error message\n                        const existingError = form.querySelector('.hr-form-error-message');\n                        if (existingError) {\n                            existingError.remove();\n                        }\n\n                        \/\/ Insert error message after the form\n                        form.parentNode.insertBefore(errorMessage, form.nextSibling);\n\n                        \/\/ Reset form after 3 seconds\n                        setTimeout(() => {\n                            form.classList.remove('hr-form-error');\n                            errorMessage.remove();\n                            form.reset();\n                            submitButton.innerHTML = originalButtonText;\n                            submitButton.disabled = false;\n                            isSubmitting = false;\n                        }, 3000);\n\n                        return;\n                    }\n\n                    $.each(validator.fields, function (index, field) {\n                        if (field.elem.classList.contains('condition-false')) {\n                            field.isValid = true;\n                            \/\/change is-invalid to is-valid\n                            field.elem.classList.remove('is-invalid');\n                            field.elem.classList.add('is-valid');\n                        }\n                    });\n\n                    \/\/ Validate form\n                    if (!validator.isValid) {\n                        return;\n                    }\n\n                    if (validator.isValid) {\n                        isSubmitting = true;\n                        const submitButton = form.querySelector('.hr-form-submit');\n                        const originalButtonText = submitButton.innerHTML;\n                        submitButton.disabled = true;\n                        form.submit();\n                    }\n                });\n\n                \/\/ Add new code to handle submit button state based on validation\n                const submitButton = form.querySelector('.hr-form-submit');\n\n                \/\/ Function to check validation state and update submit button\n                function updateSubmitButtonState() {\n                    const invalidFields = form.querySelectorAll('.is-invalid');\n                    if (invalidFields.length > 0) {\n                        submitButton.disabled = true;\n                    } else {\n                                                    \/\/ If Turnstile is enabled, only enable button if Turnstile is completed\n                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                            submitButton.disabled = !turnstileResponse || !turnstileResponse.value;\n                                            }\n                }\n\n                \/\/ Add validation state check on input\/change for all form fields\n                form.querySelectorAll('input, select, textarea').forEach(input => {\n                    ['input', 'change', 'blur'].forEach(eventType => {\n                        input.addEventListener(eventType, () => {\n                            \/\/ Let validation complete before checking state\n                            setTimeout(updateSubmitButtonState, 100);\n                        });\n                    });\n                });\n\n                \/\/ Add validation state check for Select2 fields\n                jQuery('.hr-select2-field').on('select2:select select2:unselect select2:clear', function () {\n                    setTimeout(updateSubmitButtonState, 100);\n                });\n\n                \/\/ Update button state when JustValidate performs validation\n                validator.onValidate(async (validationResult) => {\n                    setTimeout(updateSubmitButtonState, 100);\n                });\n\n                \/\/ Initial button state check\n                updateSubmitButtonState();\n            });\n        <\/script>\n                    <script src=\"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/js\/\/vendor\/mailcheck.min.js\"><\/script>\n            <script>\n                document.addEventListener('DOMContentLoaded', function () {\n                    const form = document.getElementById('hr-form-69d0b892ccdab');\n                    const emailFields = form.querySelectorAll('input[type=\"email\"]');\n                    const suggestionText = 'Did you mean {suggestion}?';\n\n                    emailFields.forEach(function (emailField) {\n                        \/\/ Create suggestion element\n                        const suggestionElement = document.createElement('div');\n                        suggestionElement.className = 'hr-mailcheck-suggestion';\n                        emailField.parentNode.appendChild(suggestionElement);\n\n                        \/\/ Function to check email\n                        function checkEmail() {\n                            if (!emailField.value) return;\n\n                            Mailcheck.run({\n                                email: emailField.value,\n                                suggested: function (suggestion) {\n                                    const text = suggestionText.replace('{suggestion}', suggestion.full);\n                                    suggestionElement.innerHTML = text;\n                                    suggestionElement.dataset.suggestion = suggestion.full;\n                                    suggestionElement.style.display = 'block';\n                                },\n                                empty: function () {\n                                    suggestionElement.style.display = 'none';\n                                }\n                            });\n                        }\n\n                        \/\/ Check on blur\n                        emailField.addEventListener('blur', checkEmail);\n\n                        \/\/ Check while typing after a suggestion has been shown\n                        emailField.addEventListener('input', function () {\n                            if (suggestionElement.style.display === 'block') {\n                                checkEmail();\n                            }\n                        });\n\n                        \/\/ Handle suggestion click\n                        suggestionElement.addEventListener('click', function () {\n                            const suggestion = this.dataset.suggestion;\n                            if (suggestion) {\n                                emailField.value = suggestion;\n                                suggestionElement.style.display = 'none';\n\n                                \/\/ Trigger change event\n                                const event = new Event('change', { bubbles: true });\n                                emailField.dispatchEvent(event);\n\n                                \/\/ Focus the next field if available\n                                const inputs = Array.from(form.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\n                                const currentIndex = inputs.indexOf(emailField);\n                                if (currentIndex < inputs.length - 1) {\n                                    inputs[currentIndex + 1].focus();\n                                }\n                            }\n                        });\n                    });\n                });\n            <\/script>\n        \n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892ccdab');\n                const textareas = form.querySelectorAll('textarea');\n\n                textareas.forEach(textarea => {\n                    const maxChars = parseInt(textarea.dataset.maxChars) || 600;\n                    const counter = document.createElement('div');\n                    counter.className = 'hr-char-counter';\n                    counter.textContent = `0\/${maxChars} caract\u00e8res`;\n                    textarea.parentNode.appendChild(counter);\n\n                    \/\/ Update counter on input\n                    textarea.addEventListener('input', function () {\n                        const currentLength = this.value.length;\n                        counter.textContent = `${currentLength}\/${maxChars} caract\u00e8res`;\n\n                        if (currentLength > maxChars) {\n                            counter.classList.add('warning');\n                            textarea.classList.add('limit-reached');\n                            \/\/ Trim the text to max length\n                            this.value = this.value.substring(0, maxChars);\n                            \/\/ Update counter with trimmed length\n                            counter.textContent = `${maxChars}\/${maxChars} + characters`;\n                        } else {\n                            counter.classList.remove('warning');\n                            textarea.classList.remove('limit-reached');\n                        }\n                    });\n\n                    \/\/ Prevent paste of text that would exceed limit\n                    textarea.addEventListener('paste', function (e) {\n                        const pastedText = (e.clipboardData || window.clipboardData).getData('text');\n                        const currentLength = this.value.length;\n                        const remainingChars = maxChars - currentLength;\n\n                        if (pastedText.length > remainingChars) {\n                            e.preventDefault();\n                            const trimmedText = pastedText.substring(0, remainingChars);\n                            document.execCommand('insertText', false, trimmedText);\n                        }\n                    });\n\n                    \/\/ Initial count\n                    textarea.dispatchEvent(new Event('input'));\n                });\n            });\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function ($) {\n                \/\/ Initialize Select2 for country selects in this specific form\n                $('#hr-form-69d0b892ccdab .hr-country-select').each(function () {\n                    const $select = $(this);\n                    const formHasFloatingLabels = $select.closest('form').hasClass('hr-form-floating-labels');\n                    \/\/ Disable Select2 placeholder when floating labels are active (label acts as hint)\n                    const placeholder = formHasFloatingLabels ? null : $select.data('placeholder');\n\n                    \/\/ Skip if already initialized\n                    if ($select.hasClass('select2-hidden-accessible')) {\n                        return;\n                    }\n\n                    $select.select2({\n                        width: '100%',\n                        placeholder: placeholder,\n                        allowClear: !formHasFloatingLabels,\n                        language: {\n                            noResults: function () {\n                                return 'No countries found';\n                            }\n                        }\n                    });\n                });\n            });\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function ($) {\n                \/\/ Initialize Select2 for regular select fields in this specific form\n                $('#hr-form-69d0b892ccdab .hr-select2-field').each(function () {\n                    const $select = $(this);\n\n                    \/\/ Skip if already initialized\n                    if ($select.hasClass('select2-hidden-accessible')) {\n                        return;\n                    }\n\n                    const formHasFloatingLabels = $select.closest('form').hasClass('hr-form-floating-labels');\n                    const isMultiple = $select.prop('multiple');\n                    const placeholder = formHasFloatingLabels ? '' : ($select.data('placeholder') || 'Select an option');\n                    const allowClear = formHasFloatingLabels ? false : ($select.data('allow-clear') !== 'no');\n                    const enableSearch = $select.data('enable-search') !== 'no';\n                    const minSelection = parseInt($select.data('min-selection')) || 0;\n                    const searchPlaceholder = $select.data('search-placeholder') || 'Search';\n                    const maxSelection = parseInt($select.data('max-selection')) || 0;\n\n                    const select2Config = {\n                        placeholder: placeholder,\n                        allowClear: allowClear,\n                        width: 'resolve',\n                        searchPlaceholder: 'Search',\n                        multiple: isMultiple,\n                        searchEnabled: enableSearch,\n                        minimumResultsForSearch: enableSearch ? 0 : -1,\n                        language: {\n                            noResults: function () {\n                                return 'No results found';\n                            },\n                            maximumSelected: function (e) {\n                                const message = 'You can only select %s items';\n                                return message.replace('%s', e.maximum);\n                            }\n                        },\n                        templateResult: function (data) {\n                            if (data.loading) return data.text;\n                            if (data.element && $(data.element).hasClass('hr-select-placeholder')) return null;\n                            return data.text;\n                        }\n                    };\n\n                    \/\/ Add maximum selection limit if set\n                    if (isMultiple && maxSelection > 0) {\n                        select2Config.maximumSelectionLength = maxSelection;\n                    }\n\n                    $select.select2(select2Config)\n                        .on('select2:open', function () {\n                            if (enableSearch) {\n                                setTimeout(function () {\n                                    $('.select2-search__field').focus();\n                                }, 0);\n                            }\n                        })\n                        .on('change', function (e) {\n                            const hasSelection = $(this).val() && $(this).val().length > 0;\n                            $(this).next('.select2-container').find('.select2-selection--multiple')\n                                .toggleClass('select2-selection--multiple--has-selection', hasSelection);\n\n                            \/\/ Update hidden input for multiple select\n                            if (isMultiple) {\n                                const selectedValues = $(this).val() || [];\n                                const hiddenInput = $(this).siblings('.hr-form-select2-multiple-values');\n                                hiddenInput.val(selectedValues.join(','));\n                            }\n                        });\n\n                    \/\/ Trigger initial state\n                    const hasInitialSelection = $select.val() && $select.val().length > 0;\n                    $select.next('.select2-container').find('.select2-selection--multiple')\n                        .toggleClass('select2-selection--multiple--has-selection', hasInitialSelection);\n\n                    \/\/ Set initial value for hidden input if there are pre-selected values\n                    if (isMultiple && hasInitialSelection) {\n                        const initialValues = $select.val();\n                        const hiddenInput = $select.siblings('.hr-form-select2-multiple-values');\n                        hiddenInput.val(initialValues.join(','));\n                    }\n                });\n            });\n        <\/script>\n\n        <script>\n            \/\/ Create unique callback function for this form instance\n            window['onTurnstileCallback_hr-form-69d0b892ccdab'] = function () {\n                \/\/ Enable submit button when Turnstile is ready\n                const form = document.getElementById('hr-form-69d0b892ccdab');\n                const submitButton = form.querySelector('.hr-form-submit');\n                if (submitButton) {\n                    submitButton.disabled = false;\n                }\n            };\n\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69d0b892ccdab');\n                const submitButton = form.querySelector('.hr-form-submit');\n\n                \/\/ Disable submit button initially if Turnstile is enabled\n                                    if (submitButton) {\n                        submitButton.disabled = true;\n                    }\n\n                    \/\/ Initialize Turnstile when the script is ready\n                    function initTurnstile() {\n                        if (typeof turnstile !== 'undefined') {\n                            const turnstileContainer = form.querySelector('.cf-turnstile:not([data-widget-id])');\n                            if (turnstileContainer && !turnstileContainer.hasAttribute('data-widget-id')) {\n                                turnstile.render(turnstileContainer);\n                            }\n                        } else {\n                            setTimeout(initTurnstile, 100);\n                        }\n                    }\n                    initTurnstile();\n                \n                form.addEventListener('submit', function (e) {\n                                            const turnstileResponse = form.querySelector('[name=\"cf-turnstile-response\"]');\n                        if (!turnstileResponse || !turnstileResponse.value) {\n                            e.preventDefault();\n                            alert('Please wait for the security check to complete.');\n                            return false;\n                        }\n                                    });\n            });\n\n            \/\/ Global callback when Turnstile script is loaded\n            window.onTurnstileLoad = function () {\n                \/\/ Render all Turnstile widgets that haven't been rendered yet\n                document.querySelectorAll('.cf-turnstile:not([data-widget-id])').forEach(function (element) {\n                    if (!element.hasAttribute('data-widget-id')) {\n                        turnstile.render(element);\n                    }\n                });\n            };\n        <\/script>\n\n        <script>\n            jQuery(document).ready(function () {\n                const $currentForm = jQuery('#hr-form-69d0b892ccdab');\n                \n                \/\/ Function to validate step fields\n                function validateStepFields($stepFields, shouldShowError = true) {\n                    var validator = $currentForm.length > 0 && $currentForm[0]._justValidateInstance;\n\n                    \/\/ If validator is not ready, wait a bit and try again\n                    if (!validator) {\n                        return new Promise((resolve) => {\n                            setTimeout(() => {\n                                resolve(validateStepFields($stepFields, shouldShowError));\n                            }, 100);\n                        });\n                    }\n\n                    var allFieldsValid = true;\n                    var validationPromises = [];\n\n                    \/\/ Force validation of all fields in the step\n                    $stepFields.find('input, select, textarea').each(function () {\n                        if (this.id) {\n                            \/\/ Mark the field as touched to ensure validation runs\n                            jQuery(this).addClass('was-validated');\n                            try {\n                                \/\/ For Select2 fields, ensure the value is properly set before validation\n                                if (jQuery(this).hasClass('hr-select2-field')) {\n                                    const value = jQuery(this).val();\n                                    \/\/ For required fields, empty array or null\/undefined is invalid\n                                    if (jQuery(this).prop('required') && (!value || (Array.isArray(value) && value.length === 0))) {\n                                        jQuery(this).addClass('is-invalid').removeClass('is-valid');\n                                        const select2Container = jQuery(this).next('.select2-container');\n                                        select2Container.find('.select2-selection').addClass('is-invalid').removeClass('is-valid');\n                                        allFieldsValid = false;\n                                    } else {\n                                        jQuery(this).addClass('is-valid').removeClass('is-invalid');\n                                        const select2Container = jQuery(this).next('.select2-container');\n                                        select2Container.find('.select2-selection').addClass('is-valid').removeClass('is-invalid');\n                                    }\n                                }\n\n                                \/\/ Store the validation promise\n                                validationPromises.push(\n                                    validator.revalidateField('#' + this.id)\n                                        .then(isValid => {\n                                            if (!isValid) {\n                                                allFieldsValid = false;\n                                            }\n                                        })\n                                        .catch(error => {\n                                            allFieldsValid = false;\n                                        })\n                                );\n                            } catch (error) {\n                                allFieldsValid = false;\n                            }\n                        }\n                    });\n\n                    \/\/ Return a promise that resolves when all validations are complete\n                    return Promise.all(validationPromises).then(() => allFieldsValid);\n                }\n\n                \/\/ Handle Select2 events for this form only\n                $currentForm.find('.hr-select2-field').on('select2:select select2:unselect select2:clear', function () {\n                    const $field = jQuery(this);\n                    const value = $field.val();\n                    const isRequired = $field.prop('required');                    \n                    \/\/ Update validation state\n                    if (isRequired && (!value || (Array.isArray(value) && value.length === 0))) {\n                        $field.addClass('is-invalid').removeClass('is-valid');\n                        const select2Container = $field.next('.select2');\n                        select2Container.addClass('is-invalid').removeClass('is-valid');\n                    } else {\n                        $field.addClass('is-valid').removeClass('is-invalid');\n                        const select2Container = $field.next('.select2');\n                        select2Container.addClass('is-valid').removeClass('is-invalid');\n                    }\n\n                    \/\/ Trigger validation\n                    if (this.id) {\n                        var validator = $currentForm[0] && $currentForm[0]._justValidateInstance;\n                        if (validator) {\n                            validator.revalidateField('#' + this.id);\n                        }\n                    }\n                });\n                \n                \/\/ Handle country select events for this form only\n                $currentForm.find('.hr-country-select').on('select2:select select2:unselect select2:clear', function () {\n                    const $field = jQuery(this);\n                    const value = $field.val();\n                    const isRequired = $field.prop('required');                    \n                    \/\/ Update validation state\n                    if (isRequired && (!value || (Array.isArray(value) && value.length === 0))) {\n                        $field.addClass('is-invalid').removeClass('is-valid');\n                        const select2Container = $field.next('.select2');\n                        select2Container.addClass('is-invalid').removeClass('is-valid');\n                    } else {\n                        $field.addClass('is-valid').removeClass('is-invalid');\n                        const select2Container = $field.next('.select2');\n                        select2Container.addClass('is-valid').removeClass('is-invalid');\n                    }\n\n                    \/\/ Trigger validation\n                    if (this.id) {\n                        var validator = $currentForm[0] && $currentForm[0]._justValidateInstance;\n                        if (validator) {\n                            validator.revalidateField('#' + this.id);\n                        }\n                    }\n                });\n\n                \/\/ Handle field blur events for validation in this form only\n                $currentForm.on('blur', 'input, select, textarea', function () {\n                    if (this.id) {\n                        jQuery(this).addClass('was-validated');\n                        var validator = $currentForm[0] && $currentForm[0]._justValidateInstance;\n                        if (validator) {\n                            validator.revalidateField('#' + this.id);\n                        }\n                    }\n                });\n\n                $currentForm.find('.hr-form-step-next').on('click', async function () {\n                    var $currentStepFields = jQuery(this).closest('.hr-form-step-fields');\n                    var currentStepIndex = $currentStepFields.data('step-index');\n                    var $stepNavigation = $currentForm.find('.hr-form-step-nav');\n\n                    \/\/ Disable the button while validating\n                    jQuery(this).prop('disabled', true);\n\n                    try {\n                        \/\/ Force validation of all fields in current step\n                        const allFieldsValid = await validateStepFields($currentStepFields, true);\n\n                        if (allFieldsValid) {\n                            \/\/ Update step navigation\n                            $stepNavigation.removeClass('active');\n                            $stepNavigation.filter('[data-step-index=\"' + (currentStepIndex + 1) + '\"]').addClass('active');\n\n                            \/\/ Hide current step and show next step\n                            $currentStepFields.hide();\n                            $currentForm.find('.hr-form-step-fields[data-step-index=\"' + (currentStepIndex + 1) + '\"]').show();\n                        }\n                    } catch (error) {\n                        \/\/ Error during validation\n                    } finally {\n                        \/\/ Re-enable the button\n                        jQuery(this).prop('disabled', false);\n                    }\n                });\n\n                $currentForm.find('.hr-form-step-prev').on('click', function () {\n                    var $currentStepFields = jQuery(this).closest('.hr-form-step-fields');\n                    var currentStepIndex = $currentStepFields.data('step-index');\n                    var $stepNavigation = $currentForm.find('.hr-form-step-nav');\n\n                    \/\/ Clear any existing validation errors before moving back\n                    $currentStepFields.find('.hr-form-step-error').remove();\n\n                    \/\/ Update step navigation\n                    $stepNavigation.removeClass('active');\n                    $stepNavigation.filter('[data-step-index=\"' + (currentStepIndex - 1) + '\"]').addClass('active');\n\n                    \/\/ Hide current step and show previous step\n                    $currentStepFields.hide();\n                    $currentForm.find('.hr-form-step-fields[data-step-index=\"' + (currentStepIndex - 1) + '\"]').show();\n                });\n\n                \/\/ Initialize active state for the first step on load\n                $currentForm.find('.hr-form-step-nav[data-step-index=\"0\"]').addClass('active');\n            });\n        <\/script>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\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>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Google Hotel Ads Boost direct bookings with \u2028Google Hotel Ads Appear on Google Search, and Maps Pay commission only after the guest\u2019s stay HotelRunner is an authorized partner\u2028of the Google Hotel Ads Commission Program worldwide. Request a demo List your hotel on Google Showcase your rooms on Google Search and Google Maps to attract high-intent [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"page_category":[],"page_type":[],"class_list":["post-131881","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/pages\/131881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/comments?post=131881"}],"version-history":[{"count":0,"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/pages\/131881\/revisions"}],"wp:attachment":[{"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/media?parent=131881"}],"wp:term":[{"taxonomy":"page_category","embeddable":true,"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/page_category?post=131881"},{"taxonomy":"page_type","embeddable":true,"href":"https:\/\/hotelrunner.com\/fr\/wp-json\/wp\/v2\/page_type?post=131881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}