




{"id":121387,"date":"2025-05-16T07:41:58","date_gmt":"2025-05-16T07:41:58","guid":{"rendered":"https:\/\/hotelrunner.com\/rezervasyon-modulu\/"},"modified":"2026-01-07T16:40:49","modified_gmt":"2026-01-07T13:40:49","slug":"booking-engine","status":"publish","type":"page","link":"https:\/\/hotelrunner.com\/en\/lp\/booking-engine\/","title":{"rendered":"Booking Engine"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"121387\" class=\"elementor elementor-121387 elementor-110567\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2720f35 elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"2720f35\" 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-d704f77\" data-id=\"d704f77\" 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-3a15d2b elementor-reverse-mobile elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3a15d2b\" 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-6f10df6\" data-id=\"6f10df6\" 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-86b4a09 elementor-widget elementor-widget-hr_label_icon\" data-id=\"86b4a09\" 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                                            <img decoding=\"async\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/05\/booking-engine-orange.svg\" alt=\"\">\n                                        <span>Booking Engine<\/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-fc56341 elementor-widget elementor-widget-heading\" data-id=\"fc56341\" 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\">Drive direct sales with a powerful booking system for your hotel\n<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d9cb23 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=\"3d9cb23\" 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\">Earn more with commission-free bookings<\/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\">Provide a secure and mobile-friendly payment system<\/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\">Offer your guests a flawless booking experience<\/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-794b12d elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-widget elementor-widget-hr_button\" data-id=\"794b12d\" 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-be-tr\" 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-a56dd93 elementor-widget elementor-widget-template\" data-id=\"a56dd93\" 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-fadebe2 elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile hr-form-submit-auto elementor-widget elementor-widget-hr_form\" data-id=\"fadebe2\" 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-69f41803cadc9\" class=\"hr-form hr-select2-booting hr-form-direction-horizontal\" method=\"POST\" name=\"Landing Booking - 1\"                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-69f41803cadc9 {\n                        position: relative;\n                    } *\/\n\n                    #hr-form-69f41803cadc9 .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-69f41803cadc9 .hr-form-overlay-content {\n                        text-align: center;\n                    }\n\n                    #hr-form-69f41803cadc9 .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-69f41803cadc9.submitting {\n                        pointer-events: none;\n                    }\n\n                    #hr-form-69f41803cadc9.submitting .hr-form-overlay {\n                        display: flex;\n                    }\n                    @media (max-width: 1024px) {\n                        #hr-form-69f41803cadc9 .hr-form-button-wrapper { text-align: left !important; }\n                        #hr-form-69f41803cadc9 .hr-form-step-buttons-wrapper { justify-content: flex-start !important; }\n                    }\n                    @media (max-width: 767px) {\n                        #hr-form-69f41803cadc9 .hr-form-button-wrapper { text-align: left !important; }\n                        #hr-form-69f41803cadc9 .hr-form-step-buttons-wrapper { justify-content: flex-start !important; }\n                    }\n                <\/style>\n\n                <script>\n                    document.addEventListener('DOMContentLoaded', function () {\n                        const form = document.getElementById('hr-form-69f41803cadc9');\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-69f41803cadc9', {\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                            },\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-69f41803cadc9\"><\/div>\n                \n                                        <input type=\"hidden\" name=\"hr_ip_address\" value=\"10.0.18.238\"\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=\"EN\">\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<\/label>                                        \n                                                                                        <input id=\"first-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"first-name\" ><div id=\"first-name-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/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<\/label>                                        \n                                                                                        <input id=\"last-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"last-name\" ><div id=\"last-name-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/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<\/label>                                        \n                                                                                        <input id=\"email\" class=\"hr-form-input\" autocomplete=\"email\" type=\"email\" name=\"email\" ><div id=\"email-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/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<\/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-enable-geoip-lookup=\"yes\"\n                                                        data-initial-country=\"\">\n                                                <\/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<\/label>                                        \n                                                                                        <input id=\"property-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"property-name\" ><div id=\"property-name-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/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<\/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=\"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=\"GB\">United Kingdom<\/option><option value=\"UM\">United States Minor Outlying Islands<\/option><option value=\"US\">United States of America<\/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 id=\"country_d-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-100 hidden hr-form-field-column-elementor-repeater-item-bf3abe6\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-field-69f41803cb00e\" class=\"hr-form-label\"><\/label>                                        \n                                                                                        <input id=\"hr-field-69f41803cb00e\" class=\"hr-form-input\" value=\"Landing - HotelRunner is attending EMITT, one of the world\u2019s biggest tourism exhibitions- 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                                                    <\/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\" style=\"text-align: right;\">\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 || \"\").trim();\n\n                        \/\/ WPML fallback country mapping (based on current WPML language).\n                        \/\/ This is used when the geoIpLookup API times out or errors.\n                        const wpmlLang = \"en\";\n                        let fallbackCountry = \"us\";\n                        if (wpmlLang.startsWith(\"tr\")) {\n                            fallbackCountry = \"tr\";\n                        } else if (wpmlLang.startsWith(\"es\")) {\n                            fallbackCountry = \"es\";\n                        } else if (wpmlLang.startsWith(\"fr\")) {\n                            fallbackCountry = \"fr\";\n                        } else {\n                            fallbackCountry = \"us\";\n                        }\n\n                        const enableGeoIpLookup = (input.dataset.enableGeoipLookup || \"yes\") === \"yes\";\n                        const shouldUseGeoIpLookup = enableGeoIpLookup && !initialCountry;\n                        const preferredAttr = input.getAttribute('data-preferred-countries');\n                        const preferredCountries = (preferredAttr === null)\n                            ? []\n                            : preferredAttr.split(',').map(s => s.trim()).filter(Boolean);\n\n                        const geoIpLookup = (success, failure) => {\n                            const timeoutMs = 2500; \/\/ Fail fast so it doesn't block UX.\n                            let settled = false;\n\n                            \/\/ Make sure we always resolve, even on network stalls.\n                            const timeoutId = setTimeout(() => {\n                                if (settled) return;\n                                settled = true;\n                                if (controller) controller.abort();\n                                success(fallbackCountry);\n                            }, timeoutMs);\n\n                            const controller = typeof AbortController !== \"undefined\" ? new AbortController() : null;\n\n                            fetch(\"https:\/\/ipapi.co\/json\", {\n                                signal: controller ? controller.signal : undefined\n                            })\n                                .then(res => res.json())\n                                .then(data => {\n                                    if (settled) return;\n                                    settled = true;\n                                    const code = (data && data.country_code) ? String(data.country_code).toLowerCase() : fallbackCountry;\n                                    success(code);\n                                })\n                                .catch(() => {\n                                    if (settled) return;\n                                    settled = true;\n                                    success(fallbackCountry);\n                                })\n                                .finally(() => {\n                                    clearTimeout(timeoutId);\n                                });\n                        };\n\n                        const itiOptions = {\n                            initialCountry: shouldUseGeoIpLookup ? \"auto\" : (initialCountry ? initialCountry : fallbackCountry),\n                            separateDialCode: true,\n                            nationalMode: false,\n                            formatOnDisplay: true,\n                            autoPlaceholder: \"polite\",\n                            preferredCountries: preferredCountries,\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                        if (shouldUseGeoIpLookup) {\n                            itiOptions.geoIpLookup = geoIpLookup;\n                        }\n\n                        const iti = window.intlTelInput(input, itiOptions);\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-69f41803cadc9');\n\n                \/\/ Also initialize on document ready to ensure DOM is fully loaded\n                $(document).ready(function () {\n                    initializeFormPhoneInputs('hr-form-69f41803cadc9');\n                });\n            })(jQuery);\n\n\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69f41803cadc9');\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-69f41803cadc9');\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-69f41803cadc9');\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-69f41803cadc9');\n                let isSubmitting = false;\n                \/\/ Strict Latin-only allowlist:\n                \/\/ - Latin letters (including accented Latin letters)\n                \/\/ - Latin combining diacritics block (U+0300-U+036F)\n                \/\/ - Numbers, whitespace\n                \/\/ - ASCII punctuation only\n                const allowedLatinPattern = \/[^\\p{Script=Latin}\\u0300-\\u036F\\p{N}\\p{Zs}\\r\\n\\t!\"#$%&'()*+,\\-.\/:;<=>?@[\\\\\\]^_`{|}~]\/gu;\n                const blockedCharsDetector = \/[^\\p{Script=Latin}\\u0300-\\u036F\\p{N}\\p{Zs}\\r\\n\\t!\"#$%&'()*+,\\-.\/:;<=>?@[\\\\\\]^_`{|}~]\/u;\n                const hasBlockedChars = (value) => blockedCharsDetector.test(value || '');\n                const blockedCharsMessage = 'Please use Latin characters only (A-Z).';\n\n                function getArabicRestrictedFields() {\n                    return form.querySelectorAll('input:not([type=\"hidden\"]):not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"submit\"]):not([type=\"button\"]):not([type=\"file\"]), textarea');\n                }\n\n                function getErrorContainer(input) {\n                    if (!input || !input.id) return null;\n                    return form.querySelector('#' + input.id + '-error-container');\n                }\n\n                function showNativeBlockedCharsMessage(input) {\n                    if (!input || typeof input.setCustomValidity !== 'function' || typeof input.reportValidity !== 'function') {\n                        return;\n                    }\n                    input.setCustomValidity(blockedCharsMessage);\n                    input.reportValidity();\n                    setTimeout(function () {\n                        input.setCustomValidity('');\n                    }, 1500);\n                }\n\n                function showBlockedCharsMessage(input) {\n                    showNativeBlockedCharsMessage(input);\n                }\n\n                function clearBlockedCharsMessage(input) {\n                    if (input && typeof input.setCustomValidity === 'function') {\n                        input.setCustomValidity('');\n                    }\n                }\n\n                \/\/ Initialize JustValidate with custom styling\n                const validator = new JustValidate('#hr-form-69f41803cadc9', {\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                    },\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 \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#first-name', fieldRules_0, { errorsContainer: '#first-name-error-container' });\n                                                                                                                                                const fieldRules_1 = [];\n                                                                                fieldRules_1.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your last name.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#last-name', fieldRules_1, { errorsContainer: '#last-name-error-container' });\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 \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#email', fieldRules_2, { errorsContainer: '#email-error-container' });\n                                                                                                                                                const fieldRules_3 = [];\n                                                                                fieldRules_3.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your mobile phone number.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\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 \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#property-name', fieldRules_4, { errorsContainer: '#property-name-error-container' });\n                                                                                                                                                const fieldRules_5 = [];\n                                                                                fieldRules_5.push({\"rule\":\"required\",\"errorMessage\":\"Please select your country.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#country_d', fieldRules_5, { errorsContainer: '#country_d-error-container' });\n                                                                                                                                                                                                                                                                                            const fieldRules_7 = [{\"rule\":\"required\",\"errorMessage\":\"This field is required\"}];\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                \/\/ Block Arabic characters on typing and pasting.\n                getArabicRestrictedFields().forEach((input) => {\n                    input.addEventListener('beforeinput', function (event) {\n                        if (typeof event.data === 'string' && hasBlockedChars(event.data)) {\n                            event.preventDefault();\n                            showBlockedCharsMessage(this);\n                        }\n                    });\n\n                    input.addEventListener('paste', function (event) {\n                        event.preventDefault();\n                        showBlockedCharsMessage(this);\n                    });\n\n                    input.addEventListener('drop', function (event) {\n                        event.preventDefault();\n                        showBlockedCharsMessage(this);\n                    });\n\n                    input.addEventListener('copy', function (event) {\n                        event.preventDefault();\n                    });\n\n                    \/\/ Fallback for drag-drop\/autofill\/IME edge cases.\n                    input.addEventListener('input', function () {\n                        if (hasBlockedChars(this.value)) {\n                            this.value = this.value.replace(allowedLatinPattern, '');\n                            showBlockedCharsMessage(this);\n                        } else {\n                            clearBlockedCharsMessage(this);\n                        }\n                    });\n                });\n\n                function splitFullNameField(input) {\n                    const fullName = (input.value || '').trim();\n                    const firstTarget = input.getAttribute('data-fullname-first-target');\n                    const lastTarget = input.getAttribute('data-fullname-last-target');\n                    const firstHidden = firstTarget ? form.querySelector('input[type=\"hidden\"][name=\"' + CSS.escape(firstTarget) + '\"]') : null;\n                    const lastHidden = lastTarget ? form.querySelector('input[type=\"hidden\"][name=\"' + CSS.escape(lastTarget) + '\"]') : null;\n\n                    if (!firstHidden || !lastHidden) {\n                        return;\n                    }\n\n                    if (!fullName) {\n                        firstHidden.value = '';\n                        lastHidden.value = '';\n                        return;\n                    }\n\n                    const nameParts = fullName.split(\/\\s+\/).filter(Boolean);\n                    if (nameParts.length === 1) {\n                        firstHidden.value = nameParts[0];\n                        lastHidden.value = '';\n                        return;\n                    }\n\n                    firstHidden.value = nameParts.shift();\n                    lastHidden.value = nameParts.join(' ');\n                }\n\n                function splitAllFullNameFields() {\n                    form.querySelectorAll('input[data-fullname-splitter=\"yes\"]').forEach(function (input) {\n                        splitFullNameField(input);\n                    });\n                }\n\n                \/\/ Split when user blurs the field (including tab navigation)\n                form.querySelectorAll('input[data-fullname-splitter=\"yes\"]').forEach(function (input) {\n                    input.addEventListener('blur', function () {\n                        splitFullNameField(this);\n                    });\n\n                    input.addEventListener('keydown', function (event) {\n                        if (event.key === 'Tab') {\n                            splitFullNameField(this);\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                    \/\/ Ensure hidden first\/last values are synced before submit.\n                    splitAllFullNameFields();\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-69f41803cadc9');\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        \n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69f41803cadc9');\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} characters`;\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} characters`;\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                const $form = $('#hr-form-69f41803cadc9');\n\n                \/\/ Prevent Select2 pre-init visual glitch on first paint.\n                setTimeout(function () {\n                    $form.removeClass('hr-select2-booting');\n                }, 1000);\n\n                \/\/ Initialize Select2 for country selects in this specific form\n                $('#hr-form-69f41803cadc9 .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                    const countryConfig = {\n                        width: '100%',\n                        placeholder: placeholder,\n                        allowClear: !formHasFloatingLabels,\n                        language: {\n                            noResults: function () {\n                                return 'No countries found';\n                            }\n                        }\n                    };\n                    if (formHasFloatingLabels) {\n                        countryConfig.templateSelection = function (data) {\n                            if (!data.id || data.id === '' || (data.element && $(data.element).hasClass('hr-select-placeholder'))) {\n                                return '';\n                            }\n                            return data.text;\n                        };\n                    }\n                    $select.select2(countryConfig);\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-69f41803cadc9 .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                    if (formHasFloatingLabels) {\n                        select2Config.templateSelection = function (data) {\n                            if (!data.id || data.id === '' || (Array.isArray(data.id) && data.id.length === 0) || (data.element && $(data.element).hasClass('hr-select-placeholder'))) {\n                                return '';\n                            }\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                    const hasRealSelection = function ($el) {\n                        const value = $el.val();\n                        if (Array.isArray(value)) {\n                            return value.some(function (item) {\n                                return item !== null && item !== undefined && String(item).trim() !== '';\n                            });\n                        }\n                        return value !== null && value !== undefined && String(value).trim() !== '';\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 = hasRealSelection($(this));\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 = hasRealSelection($select);\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-69f41803cadc9'] = function () {\n                \/\/ Enable submit button when Turnstile is ready\n                const form = document.getElementById('hr-form-69f41803cadc9');\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-69f41803cadc9');\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                    const formData = new FormData(form);\n                    const thankYouData = {};\n                    const fieldsToCapture = [\"first-name\",\"last-name\",\"email\",\"phone\",\"property-name\",\"country\",\"form_name\",\"privacy_statement\",\"commerical-text\",\"hr_ip_address\",\"hr_browser_info\",\"hr_primary_language\",\"hr_all_languages\",\"hr_window_size\",\"hr_timezone_name\",\"hr_current_url\",\"hr_referrer_url\",\"hr_page_load_time\"];\n                    if (fieldsToCapture && fieldsToCapture.length) {\n                        fieldsToCapture.forEach(function(fieldName) {\n                            if (formData.has(fieldName)) {\n                                thankYouData[fieldName] = formData.get(fieldName);\n                            }\n                        });\n                    }\n                    sessionStorage.setItem('formSessionData', JSON.stringify(thankYouData));\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-69f41803cadc9');\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-14796fb elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile\" data-id=\"14796fb\" 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-a7ee6d2 elementor-widget elementor-widget-image\" data-id=\"a7ee6d2\" 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=\"1113\" height=\"736\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/05\/landing-booking-engine-tr.webp\" class=\"attachment-full size-full wp-image-110580\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/05\/landing-booking-engine-tr.webp 1113w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/05\/landing-booking-engine-tr-550x364.webp 550w\" sizes=\"(max-width: 1113px) 100vw, 1113px\">\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-f1767ba 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=\"f1767ba\" 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-66 elementor-inner-column elementor-element elementor-element-b7fde1a\" data-id=\"b7fde1a\" 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-26b8a16 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"26b8a16\" 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\">Earn more with commission-free bookings<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8bc9540 elementor-widget__width-inherit elementor-widget-laptop__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"8bc9540\" 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>Maximize your revenue by accepting direct bookings through your own website without relying on Online Travel Agencies (OTAs). With the HotelRunner Booking Engine, offer your guests a fast, secure, and hassle-free booking experience.<\/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-33 elementor-inner-column elementor-element elementor-element-92d13da\" data-id=\"92d13da\" 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-74d946a elementor-widget elementor-widget-image\" data-id=\"74d946a\" 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=\"680\" height=\"425\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-2.webp\" class=\"attachment-full size-full wp-image-121404\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-2.webp 680w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-2-582x364.webp 582w\" sizes=\"(max-width: 680px) 100vw, 680px\">\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-a1e6e88 elementor-widget__width-initial elementor-widget-laptop__width-initial elementor-widget elementor-widget-heading\" data-id=\"a1e6e88\" 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\">Turn visitors into guests\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2743d7e elementor-widget__width-initial elementor-widget-laptop__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"2743d7e\" 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 a user-friendly and mobile-compatible structure, easily convert website visitors into booking guests. Take your conversion rates to the next level with an optimized booking flow.\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-ecc7227 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=\"ecc7227\" 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-33 elementor-inner-column elementor-element elementor-element-b7c0873\" data-id=\"b7c0873\" 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-10eb8fa elementor-widget elementor-widget-image\" data-id=\"10eb8fa\" 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=\"680\" height=\"425\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-3.webp\" class=\"attachment-full size-full wp-image-121408\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-3.webp 680w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-3-582x364.webp 582w\" sizes=\"(max-width: 680px) 100vw, 680px\">\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-2d82551 elementor-widget__width-initial elementor-widget-laptop__width-initial elementor-widget elementor-widget-heading\" data-id=\"2d82551\" 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\">Ensure a secure and fast payment system<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a41cf4 elementor-widget elementor-widget-text-editor\" data-id=\"9a41cf4\" 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\tSeamlessly and securely accept online payments from your guests. Manage international bookings with ease through support for multiple currencies and payment methods.\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-33 elementor-inner-column elementor-element elementor-element-4063077\" data-id=\"4063077\" 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-00242f7 elementor-widget elementor-widget-image\" data-id=\"00242f7\" 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 loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"425\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-4.webp\" class=\"attachment-full size-full wp-image-121412\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-4.webp 680w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-4-582x364.webp 582w\" sizes=\"(max-width: 680px) 100vw, 680px\">\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-6753644 elementor-widget__width-initial elementor-widget-laptop__width-initial elementor-widget elementor-widget-heading\" data-id=\"6753644\" 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\">Customize to your brand\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ecc3d11 elementor-widget elementor-widget-text-editor\" data-id=\"ecc3d11\" 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\tThe HotelRunner Booking Engine is fully customizable. Deliver a professional booking experience with designs and integrations tailored to match your hotel\u2019s branding.\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-33 elementor-inner-column elementor-element elementor-element-ed9eddb\" data-id=\"ed9eddb\" 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-ca56051 elementor-widget elementor-widget-image\" data-id=\"ca56051\" 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 loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"425\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-5.webp\" class=\"attachment-full size-full wp-image-121416\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-5.webp 680w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-5-582x364.webp 582w\" sizes=\"(max-width: 680px) 100vw, 680px\">\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-c059e7c elementor-widget__width-initial elementor-widget-laptop__width-inherit elementor-widget elementor-widget-heading\" data-id=\"c059e7c\" 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\">Manage your inventory in real-time<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-06b4ee1 elementor-widget elementor-widget-text-editor\" data-id=\"06b4ee1\" 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\tThe booking engine updates your room availability in real-time. Easily manage your entire inventory and boost direct sales without delay.\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-7834bb7 elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7834bb7\" 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-16 elementor-top-column elementor-element elementor-element-429a76a\" data-id=\"429a76a\" 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-28a41be elementor-widget elementor-widget-image\" data-id=\"28a41be\" 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 loading=\"lazy\" decoding=\"async\" width=\"601\" height=\"401\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/Visual-1-EN-Booking-Engine.webp\" class=\"attachment-full size-full wp-image-121625\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/Visual-1-EN-Booking-Engine.webp 601w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/Visual-1-EN-Booking-Engine-546x364.webp 546w\" sizes=\"(max-width: 601px) 100vw, 601px\">\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-3656c02 elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"3656c02\" 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-ec61e45\" data-id=\"ec61e45\" 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-98c880d elementor-widget elementor-widget-heading\" data-id=\"98c880d\" 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\">Earn more with commission-free bookings<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1f68a74 elementor-widget elementor-widget-text-editor\" data-id=\"1f68a74\" 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\tMaximize your revenue by accepting direct bookings through your own website without relying on Online Travel Agencies (OTAs). With the HotelRunner Booking Engine, offer your guests a fast, secure, and hassle-free booking experience.\n\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-16 elementor-top-column elementor-element elementor-element-17ea4fe\" data-id=\"17ea4fe\" 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-27b3594 elementor-widget elementor-widget-image\" data-id=\"27b3594\" 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=\"680\" height=\"425\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-2.webp\" class=\"attachment-full size-full wp-image-121404\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-2.webp 680w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-2-582x364.webp 582w\" sizes=\"(max-width: 680px) 100vw, 680px\">\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-7f3fc09 elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"7f3fc09\" 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-9dde098\" data-id=\"9dde098\" 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-2f14db9 elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading\" data-id=\"2f14db9\" 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\">Turn visitors into guests\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a2e9502 elementor-widget elementor-widget-text-editor\" data-id=\"a2e9502\" 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 a user-friendly and mobile-compatible structure, easily convert website visitors into booking guests. Take your conversion rates to the next level with an optimized booking flow.\n\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-16 elementor-top-column elementor-element elementor-element-f77e1ee\" data-id=\"f77e1ee\" 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-9ad4c7c elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"9ad4c7c\" 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-45b8de1 elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-widget elementor-widget-hr_button\" data-id=\"45b8de1\" 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-be-tr\" 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-16 elementor-top-column elementor-element elementor-element-c8f078d\" data-id=\"c8f078d\" 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-15dd55e elementor-widget elementor-widget-image\" data-id=\"15dd55e\" 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=\"680\" height=\"425\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-3.webp\" class=\"attachment-full size-full wp-image-121408\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-3.webp 680w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-3-582x364.webp 582w\" sizes=\"(max-width: 680px) 100vw, 680px\">\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-a3266af elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"a3266af\" 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-37f1070\" data-id=\"37f1070\" 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-f8f50a6 elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading\" data-id=\"f8f50a6\" 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\">Ensure a secure and fast payment system<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bf4cc99 elementor-widget elementor-widget-text-editor\" data-id=\"bf4cc99\" 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\tSeamlessly and securely accept online payments from your guests. Manage international bookings with ease through support for multiple currencies and payment methods.\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-16 elementor-top-column elementor-element elementor-element-f3e79bf\" data-id=\"f3e79bf\" 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-68513d0 elementor-widget elementor-widget-image\" data-id=\"68513d0\" 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 loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"425\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-4.webp\" class=\"attachment-full size-full wp-image-121412\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-4.webp 680w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-4-582x364.webp 582w\" sizes=\"(max-width: 680px) 100vw, 680px\">\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-0fae9fc elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"0fae9fc\" 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-23e6b11\" data-id=\"23e6b11\" 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-4d82f2c elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading\" data-id=\"4d82f2c\" 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\">Customize to your brand\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e496c6 elementor-widget elementor-widget-text-editor\" data-id=\"5e496c6\" 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\tThe HotelRunner Booking Engine is fully customizable. Deliver a professional booking experience with designs and integrations tailored to match your hotel\u2019s branding.\n\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-16 elementor-top-column elementor-element elementor-element-2800e96\" data-id=\"2800e96\" 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-e61b7a5 elementor-widget elementor-widget-image\" data-id=\"e61b7a5\" 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 loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"425\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-5.webp\" class=\"attachment-full size-full wp-image-121416\" alt=\"\" srcset=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-5.webp 680w, https:\/\/hotelrunner.com\/wp-content\/uploads\/2025\/08\/booking-engine-en-5-582x364.webp 582w\" sizes=\"(max-width: 680px) 100vw, 680px\">\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-6e27514 elementor-reverse-mobile elementor-section-content-middle elementor-section-full_width elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"6e27514\" 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-9417463\" data-id=\"9417463\" 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-2810dfa elementor-widget-mobile__width-initial elementor-widget elementor-widget-heading\" data-id=\"2810dfa\" 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\">Manage your inventory in real-time<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-52a9a5d elementor-widget elementor-widget-text-editor\" data-id=\"52a9a5d\" 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\tThe booking engine updates your room availability in real-time. Easily manage your entire inventory and boost direct sales without delay.\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-ec1ce5d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ec1ce5d\" data-element_type=\"section\" data-e-type=\"section\" 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-51e0380\" data-id=\"51e0380\" 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-f8552a8 elementor-widget__width-initial elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-widget elementor-widget-hr_label_icon\" data-id=\"f8552a8\" 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 xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"26\" height=\"26\" viewBox=\"0 0 26 26\" fill=\"none\">\n  <g clip-path=\"url(#clip0_2835_6229)\">\n    <path d=\"M9.79085 19.1478C10.6044 19.9614 10.6044 21.2805 9.79085 22.0941C8.97726 22.9077 7.65816 22.9077 6.84457 22.0941C6.03098 21.2805 6.03098 19.9614 6.84457 19.1478C7.65816 18.3342 8.97726 18.3342 9.79085 19.1478Z\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M19.1541 19.1478C19.9677 19.9614 19.9677 21.2805 19.1541 22.0941C18.3405 22.9077 17.0214 22.9077 16.2079 22.0941C15.3943 21.2805 15.3943 19.9614 16.2079 19.1478C17.0214 18.3342 18.3405 18.3342 19.1541 19.1478Z\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M6.89827 10.2447C7.71187 11.0583 7.71187 12.3774 6.89827 13.191C6.08468 14.0046 4.76559 14.0046 3.95199 13.191C3.1384 12.3774 3.1384 11.0583 3.95199 10.2447C4.76558 9.43112 6.08468 9.43112 6.89827 10.2447Z\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M14.4725 4.74154C15.2861 5.55514 15.2861 6.87423 14.4725 7.68782C13.6589 8.50142 12.3398 8.50142 11.5262 7.68782C10.7126 6.87423 10.7126 5.55514 11.5262 4.74154C12.3398 3.92795 13.6589 3.92795 14.4725 4.74154Z\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M22.0467 10.2445C22.8603 11.0581 22.8603 12.3772 22.0467 13.1908C21.2331 14.0043 19.914 14.0043 19.1004 13.1908C18.2868 12.3772 18.2868 11.0581 19.1004 10.2445C19.914 9.43088 21.2331 9.43088 22.0467 10.2445Z\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M14.4725 12.4071C15.2861 13.2207 15.2861 14.5398 14.4725 15.3534C13.6589 16.1669 12.3398 16.1669 11.5262 15.3534C10.7126 14.5398 10.7126 13.2207 11.5262 12.4071C12.3398 11.5935 13.6589 11.5935 14.4725 12.4071Z\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M14.1875 15.5845L16.4896 18.9178\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M11.8118 15.5845L9.50977 18.9074\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M11.0098 13.3135L7.41602 12.2822\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M13 11.7928V8.30322\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <path d=\"M14.9883 13.3135L18.582 12.2822\" stroke=\"#017C9F\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n  <\/g>\n  <defs>\n    <clipPath id=\"clip0_2835_6229\">\n      <rect width=\"25\" height=\"25\" fill=\"white\" transform=\"translate(0.5 0.917969)\"\/>\n    <\/clipPath>\n  <\/defs>\n<\/svg>                        <\/svg>\n                                        <span>Why choose the HotelRunner Booking Engine?<\/span>\n                <\/div>\n            <\/div>\n            \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-052c615 elementor-reverse-mobile elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"052c615\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-narrow\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-ed0c6c2\" data-id=\"ed0c6c2\" 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-ee8bde0 elementor-widget elementor-widget-hr_icon_box\" data-id=\"ee8bde0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<div class=\"hr-icon-box left \" data-title=\"Customizable & mobile-friendly\">\n    <div class=\"icon-box-header\">\n                                    <div class=\"content-wrapper\">\n                    <?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 29.8.2, SVG Export Plug-In . SVG Version: 9.03 Build 0)  -->\n<svg version=\"1.0\" id=\"katman_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 500 500\" style=\"enable-background:new 0 0 500 500;\" xml:space=\"preserve\">\n<style type=\"text\/css\">\n\t.st0{fill:#017C9F;}\n<\/style>\n<g>\n\t<g>\n\t\t<path class=\"st0\" d=\"M284.82,206.71c-12.51,12.51-30.45,16.86-46.22,12.51l-23.38,23.38L167.37,291l-23.38,23.38\n\t\t\tc4.35,16.31,0,33.71-12.51,46.76c-11.42,11.42-26.64,15.77-41.33,13.59l20.66-20.66l-8.16-32.63l-32.63-7.61l-20.66,20.66\n\t\t\tc-2.18-14.68,2.18-29.91,13.59-41.33c12.51-12.51,30.45-16.86,46.76-12.51l23.38-23.38l48.4-47.85l23.38-23.38\n\t\t\tc-4.35-16.31,0-33.71,12.51-46.22c11.42-11.42,26.64-15.77,41.33-13.59l-20.66,20.66l8.16,32.63l32.63,8.16l20.66-20.66\n\t\t\tC300.59,180.06,296.24,195.29,284.82,206.71z\"\/>\n\t\t<path class=\"st0\" d=\"M173.34,200.73l-48.4,48.4l-29.36-29.36l48.4-48.4L173.34,200.73z M264.7,292.08l-48.4,48.4l-41.87-41.87\n\t\t\tl48.4-48.4C222.83,250.21,264.7,292.08,264.7,292.08z M135.82,163.75l-23.38-23.38c-5.98-5.98-15.77-5.98-21.75,0l-26.64,26.64\n\t\t\tc-5.98,5.98-5.98,15.77,0,21.75l23.38,23.38C87.43,212.15,135.82,163.75,135.82,163.75z M223.92,348.09\n\t\t\tc3.81,3.26,8.16,5.98,13.05,7.07l44.05,8.7c3.81,0.54,7.07-2.72,6.53-6.53l-8.7-44.05c-1.09-4.89-3.26-9.24-7.07-13.05\n\t\t\tC271.77,300.24,223.92,348.09,223.92,348.09z\"\/>\n\t<\/g>\n\t<path class=\"st0\" d=\"M408.37,8.53H188.49c-24.22,0-44.03,19.81-44.03,44.03v43.41c0,11.42,8.49,21.35,19.87,22.44\n\t\tc13.04,1.24,24.13-9.09,24.13-21.89V74.56c0-0.02,0.02-0.04,0.04-0.04h219.87c0.02,0,0.04,0.02,0.04,0.04v351.86\n\t\tc0,0.02-0.02,0.04-0.04,0.04H188.49c-0.02,0-0.04-0.02-0.04-0.04V405c0-11.42-8.49-21.35-19.87-22.44\n\t\tc-13.04-1.24-24.13,9.09-24.13,21.89v43.95c0,24.22,19.81,44.03,44.03,44.03h219.89c24.22,0,44.03-19.81,44.03-44.03V52.56\n\t\tC452.4,28.34,432.59,8.53,408.37,8.53z\"\/>\n<\/g>\n<\/svg>\n                <\/div>\n                                            <div class=\"left-stacked\">\n                <div class=\"content-wrapper\">\n                    <span>Customizable & mobile-friendly<\/span>\n                    <p>Tailor the module to match your brand and deliver a flawless experience across all devices. Boost your revenue with packages and upselling options.<\/p>\n                <\/div>\n            <\/div>\n            <\/div>\n    <\/div>\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-33 elementor-inner-column elementor-element elementor-element-b938837\" data-id=\"b938837\" 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-2327d2e elementor-widget elementor-widget-hr_icon_box\" data-id=\"2327d2e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<div class=\"hr-icon-box left \" data-title=\"User-friendly interface\">\n    <div class=\"icon-box-header\">\n                                    <div class=\"content-wrapper\">\n                    <?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 29.8.2, SVG Export Plug-In . SVG Version: 9.03 Build 0)  -->\n<svg version=\"1.0\" id=\"katman_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 500 500\" style=\"enable-background:new 0 0 500 500;\" xml:space=\"preserve\">\n<style type=\"text\/css\">\n\t.st0{fill:#017C9F;}\n<\/style>\n<g>\n\t<path class=\"st0\" d=\"M217.31,100.02V21.19c0-3.48,1.38-6.83,3.85-9.29c2.46-2.46,5.81-3.85,9.29-3.85c3.49,0,6.83,1.38,9.29,3.85\n\t\tc2.46,2.46,3.85,5.81,3.85,9.29v78.83c0,3.48-1.38,6.83-3.85,9.29c-2.46,2.46-5.81,3.85-9.29,3.85s-6.83-1.38-9.29-3.85\n\t\tC218.7,106.85,217.31,103.5,217.31,100.02z\"\/>\n\t<path class=\"st0\" d=\"M259.43,101.88l14.87-41.2c1.18-3.28,3.62-5.95,6.77-7.43s6.77-1.65,10.05-0.47c3.28,1.18,5.95,3.62,7.43,6.77\n\t\tc1.48,3.15,1.65,6.77,0.47,10.05l-14.87,41.2c-1.18,3.28-3.62,5.95-6.77,7.43s-6.77,1.65-10.05,0.47\n\t\tc-3.28-1.18-5.95-3.62-7.43-6.77C258.42,108.77,258.25,105.15,259.43,101.88z\"\/>\n\t<path class=\"st0\" d=\"M176.69,110.72L162.45,69.3c-1.13-3.3-0.91-6.91,0.62-10.04s4.24-5.53,7.53-6.66\n\t\tc3.29-1.13,6.91-0.91,10.04,0.62c3.13,1.53,5.53,4.24,6.66,7.53l14.24,41.42c1.13,3.3,0.91,6.91-0.62,10.04s-4.24,5.53-7.53,6.66\n\t\tc-3.3,1.13-6.91,0.91-10.04-0.62C180.22,116.73,177.82,114.02,176.69,110.72z\"\/>\n\t<path class=\"st0\" d=\"M398.37,105.45c11.66,12.13,11.24,31.42-0.93,43.03l-104.82,99.96c11.97-11.3,31.78-10.76,43.25,1.57\n\t\tc10.47,11.24,9.23,28.4-1.89,38.89l-14.26,13.46c13.89-13.11,38.32-10.28,48.06,8.39c6.76,12.96,3.36,28.57-7.38,38.7l-15.55,14.69\n\t\tc11.51-10.87,30.27-10.78,41.89,0.2l0.04,0.03c12.68,11.97,12.76,31.3,0.19,43.17l-58.51,55.26\n\t\tc-41.41,39.11-108.84,38.84-150.61-0.6l-47.47-44.83c-32.61-30.79-40.82-77.69-20.36-116.36c15.09-27.41,19.22-54.71,13.64-85.38\n\t\tc-1.93-9.77,1.32-19.75,8.7-26.72c17.71-16.72,48.24-8.26,54.03,14.98l9.19,53.06l10.69-10.1L355.52,104.5\n\t\tC367.62,92.97,386.78,93.39,398.37,105.45z\"\/>\n<\/g>\n<\/svg>\n                <\/div>\n                                            <div class=\"left-stacked\">\n                <div class=\"content-wrapper\">\n                    <span>User-friendly interface<\/span>\n                    <p>Easily manage your availability and prices.<\/p>\n                <\/div>\n            <\/div>\n            <\/div>\n    <\/div>\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-33 elementor-inner-column elementor-element elementor-element-f83114c\" data-id=\"f83114c\" 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-4203c33 elementor-widget-mobile__width-inherit elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-widget elementor-widget-heading\" data-id=\"4203c33\" 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\">Why choose the HotelRunner Booking Engine?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a052d8 elementor-widget elementor-widget-hr_icon_box\" data-id=\"7a052d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<div class=\"hr-icon-box left \" data-title=\"Accurate updates\">\n    <div class=\"icon-box-header\">\n                                    <div class=\"content-wrapper\">\n                    <?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 29.8.2, SVG Export Plug-In . SVG Version: 9.03 Build 0)  -->\n<svg version=\"1.0\" id=\"katman_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 500 500\" style=\"enable-background:new 0 0 500 500;\" xml:space=\"preserve\">\n<style type=\"text\/css\">\n\t.st0{fill:#017C9F;}\n\t.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#017C9F;}\n<\/style>\n<g>\n\t<g>\n\t\t<path class=\"st0\" d=\"M423.07,114.13c-3.27-2.86-7.62-3.54-11.71-1.77l-23.42,9.94C373.1,94.94,352,71.52,326.54,54.09\n\t\t\tC291.82,30.13,249.2,17.06,204,19.51c-36.08,1.91-69.58,13.48-97.76,32.13C88.4,63.35,72.75,77.92,59.54,94.66\n\t\t\tc-6.13,7.9-4.9,19.47,2.86,25.73l15.25,12.39c4.08,3.27,8.58,4.49,13.75,3.95c5.04-0.54,9.26-2.86,12.39-6.94\n\t\t\tc9.39-11.85,20.7-22.33,33.63-30.77c20.01-13.34,43.84-21.51,69.71-22.87c32.41-1.77,62.77,7.49,87.41,24.51\n\t\t\tc16.61,11.44,30.64,26.41,41.12,43.84l-23.83,10.08c-3.95,1.63-6.54,5.04-6.94,9.39c-0.41,4.22,1.5,8.03,5.04,10.48l76.93,51.47\n\t\t\tc3.13,2.18,6.81,2.59,10.35,1.23s5.99-4.22,6.94-7.9l22.6-93.81C427.84,121.21,426.48,116.99,423.07,114.13z M219.66,357.17\n\t\t\tc-23.28,0.82-46.02-4.08-66.04-13.89c-18.24-8.71-34.45-21.38-47.38-37.03l21.92-13.62c3.68-2.31,5.58-5.99,5.45-10.35\n\t\t\tc-0.27-4.22-2.72-7.76-6.54-9.53L43.2,233.54c-3.54-1.63-7.22-1.5-10.48,0.41s-5.31,5.04-5.58,8.85l-8.17,96.13\n\t\t\tc-0.27,4.36,1.63,8.31,5.45,10.62c3.68,2.31,8.17,2.31,11.85,0L57.9,336.2c18.93,24.78,43.3,44.52,71.07,58\n\t\t\tc29.95,14.43,63.72,21.38,98.3,19.06c-4.36-12.66-7.08-26.01-7.76-40.03C219.25,367.79,219.38,362.48,219.66,357.17z\"\/>\n\t\t<path class=\"st1\" d=\"M386.99,251.92c-62.63-11.85-123.08,29.41-134.79,92.04c-11.85,62.63,29.41,122.95,92.04,134.79\n\t\t\tc62.63,11.85,122.95-29.41,134.79-92.04C490.88,324.09,449.62,263.63,386.99,251.92z M438.73,335.66L438.73,335.66l-80.33,80.2\n\t\t\tl-8.17,8.31c-2.59,2.59-6.81,2.59-9.39,0l-8.31-8.03l-41.26-40.03c-3-2.86-3-7.62-0.14-10.48l15.39-15.93\n\t\t\tc2.86-2.86,7.49-3,10.48-0.14l28.18,27.37l67.4-67.4c2.86-2.86,7.62-2.86,10.48,0l15.66,15.66\n\t\t\tC441.59,328.03,441.59,332.8,438.73,335.66z\"\/>\n\t<\/g>\n<\/g>\n<\/svg>\n                <\/div>\n                                            <div class=\"left-stacked\">\n                <div class=\"content-wrapper\">\n                    <span>Accurate updates<\/span>\n                    <p>Fast and reliable updates to maximize occupancy and revenue.<\/p>\n                <\/div>\n            <\/div>\n            <\/div>\n    <\/div>\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-aa83b32 elementor-reverse-mobile elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aa83b32\" 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-33 elementor-inner-column elementor-element elementor-element-69f4157\" data-id=\"69f4157\" 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-bb205af elementor-widget elementor-widget-hr_icon_box\" data-id=\"bb205af\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<div class=\"hr-icon-box left \" data-title=\"Free training & support\">\n    <div class=\"icon-box-header\">\n                                    <div class=\"content-wrapper\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\n  <path d=\"M19.5 14.1655V17.428C19.5 18.613 18.8025 19.6705 17.7225 20.1655C16.41 20.7655 14.4225 21.418 12 21.418C9.5775 21.418 7.59 20.7655 6.27 20.1655C5.1975 19.6705 4.5 18.613 4.5 17.428V14.1655L9.8325 16.603C10.515 16.918 11.25 17.0755 12 17.0755C12.75 17.0755 13.485 16.918 14.1675 16.603L19.5 14.1655Z\" fill=\"#017C9F\"\/>\n  <path d=\"M22.5 12.793V17.668C22.5 18.0805 22.1625 18.418 21.75 18.418C21.3375 18.418 21 18.0805 21 17.668V13.483L22.5 12.793Z\" fill=\"#017C9F\"\/>\n  <path d=\"M10.4535 15.2409C10.9447 15.4651 11.472 15.5776 12 15.5776C12.528 15.5776 13.0545 15.4659 13.5465 15.2409L23.1248 10.8624C23.6648 10.6156 24 10.0929 24 9.49815C24 8.9034 23.6648 8.37989 23.1248 8.13314L13.5465 3.75539C12.5633 3.30614 11.4375 3.30614 10.4543 3.75539L0.87525 8.13239C0.33525 8.3799 0 8.90264 0 9.49739C0 10.0921 0.33525 10.6149 0.87525 10.8624L10.4535 15.2409Z\" fill=\"#017C9F\"\/>\n<\/svg>                <\/div>\n                                            <div class=\"left-stacked\">\n                <div class=\"content-wrapper\">\n                    <span>Free training & support<\/span>\n                    <p>Our live support team is available 7 days a week, including weekends, at no additional cost.<\/p>\n                <\/div>\n            <\/div>\n            <\/div>\n    <\/div>\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-33 elementor-inner-column elementor-element elementor-element-90e5a28\" data-id=\"90e5a28\" 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-38e46c2 elementor-widget elementor-widget-hr_icon_box\" data-id=\"38e46c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<div class=\"hr-icon-box left \" data-title=\"Flexible pricing\">\n    <div class=\"icon-box-header\">\n                                    <div class=\"content-wrapper\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"28\" height=\"29\" viewBox=\"0 0 28 29\" fill=\"none\">\n  <path d=\"M7.98125 13.9764L7.08685 14.1302C6.85897 14.1701 6.65389 13.9878 6.66528 13.7599C6.79061 11.2077 8.17495 8.76945 10.5505 7.39081C13.5015 5.68746 17.1076 6.13181 19.5515 8.25104C19.7908 8.45612 20.144 8.44473 20.3662 8.22255L21.6138 6.97494C21.7334 6.85531 21.7961 6.7015 21.7904 6.53059C21.7847 6.35969 21.7164 6.21157 21.591 6.09763C18.2242 3.10679 13.1882 2.45165 9.06935 4.82723C5.731 6.75277 3.81686 10.1994 3.69722 13.7884C3.69153 14.0105 3.49214 14.1701 3.27566 14.1302L2.44961 13.9821C1.91411 13.8909 1.53812 14.5119 1.87993 14.9448L4.74544 18.6193C4.98471 18.9269 5.45185 18.9269 5.69112 18.6193L8.56233 14.9391C8.89275 14.5062 8.52245 13.8852 7.98125 13.9764Z\" fill=\"#017C9F\"\/>\n  <path d=\"M26.1201 13.891L23.2603 10.2166C23.0211 9.90893 22.5539 9.90893 22.3146 10.2166L19.4434 13.8967C19.1073 14.324 19.4833 14.9506 20.0188 14.8595L20.9132 14.7057C21.1411 14.6658 21.3462 14.8481 21.3348 15.076C21.2095 17.6282 19.8251 20.0664 17.4495 21.445C14.4986 23.1484 10.8925 22.704 8.44853 20.5848C8.20926 20.3797 7.85605 20.3911 7.63388 20.6133L6.38057 21.8666C6.26094 21.9862 6.19827 22.1401 6.20397 22.311C6.20967 22.4819 6.27803 22.63 6.40336 22.7439C9.77019 25.7348 14.8062 26.3899 18.925 24.0143C22.2634 22.0888 24.1775 18.6422 24.2971 15.0532C24.3028 14.831 24.5022 14.6715 24.7187 14.7114L25.5448 14.8595C26.086 14.9449 26.4619 14.324 26.1201 13.891Z\" fill=\"#017C9F\"\/>\n<\/svg>                <\/div>\n                                            <div class=\"left-stacked\">\n                <div class=\"content-wrapper\">\n                    <span>Flexible pricing<\/span>\n                    <p>Multiple plans available to suit accommodation businesses of every size.<\/p>\n                <\/div>\n            <\/div>\n            <\/div>\n    <\/div>\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-33 elementor-inner-column elementor-element elementor-element-4dde79c\" data-id=\"4dde79c\" 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-52475a4 elementor-widget elementor-widget-hr_icon_box\" data-id=\"52475a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n<div class=\"hr-icon-box left \" data-title=\"Fully integrated platform\">\n    <div class=\"icon-box-header\">\n                                    <div class=\"content-wrapper\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\n  <path d=\"M22.0003 0.417969H13.6875C13.1376 0.417969 12.369 0.736546 11.9805 1.12479L0.583643 12.5216C-0.194548 13.2989 -0.194548 14.5733 0.583643 15.3497L9.06951 23.8352C9.84594 24.6126 11.1191 24.6126 11.8967 23.8344L23.2936 12.4394C23.6818 12.0512 24.0004 11.2814 24.0004 10.7326V2.41809C24.0004 1.31827 23.1 0.417969 22.0003 0.417969ZM18 8.41815C16.8954 8.41815 15.9999 7.52171 15.9999 6.41803C15.9999 5.31253 16.8954 4.41791 18 4.41791C19.1046 4.41791 20.0004 5.31253 20.0004 6.41803C20.0005 7.52171 19.1046 8.41815 18 8.41815Z\" fill=\"#017C9F\"\/>\n<\/svg>                <\/div>\n                                            <div class=\"left-stacked\">\n                <div class=\"content-wrapper\">\n                    <span>Fully integrated platform<\/span>\n                    <p>Manage your PMS, Booking Engine, and Channel Manager from a single dashboard, saving time, cost, and effort.\n<\/p>\n                <\/div>\n            <\/div>\n            <\/div>\n    <\/div>\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-34ef14e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"34ef14e\" data-element_type=\"section\" data-e-type=\"section\" 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-25a0f7d\" data-id=\"25a0f7d\" 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-3e8b0f6 elementor-widget elementor-widget-global elementor-global-79179 elementor-widget-hr_title_with_badges\" data-id=\"3e8b0f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_title_with_badges.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class='hr-title'>Trusted by hospitality professionals worldwide<\/h2><div class=\"hr-badges\"><div class=\"hr-badge\"><img decoding=\"async\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2024\/10\/htr-logo-horizontal.png\" alt=\"HTR\"><\/div><\/div>\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-7c9e5c4 elementor-reverse-mobile elementor-section-content-middle testimonial-section elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"7c9e5c4\" 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-33 elementor-inner-column elementor-element elementor-element-e5a570f\" data-id=\"e5a570f\" 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-790ff9a elementor-widget elementor-widget-hr_testimonial_card\" data-id=\"790ff9a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_testimonial_card.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"testimonial-card-v3\" data-mode=\"single\" data-title=\"Boutique in Matara\">\n                <img decoding=\"async\" src=\"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                <div class=\"testimonial-inner\">\n                    <p>We've been using HotelRunner for our business for a long time now and it works flawlessly across all sales channels. They also provide you the platform to accept direct booking from your own website and it saved us lots of fees to third parties. I can recommend HotelRunner to anyone.<\/p>                <\/div>\n                <div class=\"testimonial-bottom\">\n                    <div class=\"testimonial-seperator\">\n                        <div class=\"seperator-line\"><\/div>\n                    <\/div>\n                    <div class=\"testimonial-author\">\n                        <div class=\"author-info\">\n                            <span>Boutique in Matara<\/span>\n                            <small>Sri Lanka<\/small>\n                        <\/div>\n                        <div class=\"author-image\">\n                            <img decoding=\"async\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2024\/09\/srilanka.svg\" alt=\"Boutique in Matara\"\n                                title=\"Boutique in Matara\">\n                        <\/div>\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<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-b69dcb0\" data-id=\"b69dcb0\" 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-cb34688 elementor-widget elementor-widget-hr_testimonial_card\" data-id=\"cb34688\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_testimonial_card.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"testimonial-card-v3\" data-mode=\"single\" data-title=\"Bed &amp; Breakfast &amp; Inn\">\n                <img decoding=\"async\" src=\"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                <div class=\"testimonial-inner\">\n                    <p>The booking engine is great for driving direct bookings, and being able to create some extras and specific packages is really useful. I also like the easy way to create and publish a website. HotelRunner is the perfect solution to have a website, booking engine, and channel manager.<\/p>                <\/div>\n                <div class=\"testimonial-bottom\">\n                    <div class=\"testimonial-seperator\">\n                        <div class=\"seperator-line\"><\/div>\n                    <\/div>\n                    <div class=\"testimonial-author\">\n                        <div class=\"author-info\">\n                            <span>Bed & Breakfast & Inn<\/span>\n                            <small>Marrakech, Morocco<\/small>\n                        <\/div>\n                        <div class=\"author-image\">\n                            <img decoding=\"async\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2024\/09\/morocco-1.svg\" alt=\"Bed &amp; Breakfast &amp; Inn\"\n                                title=\"Bed &amp; Breakfast &amp; Inn\">\n                        <\/div>\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<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-4b12151\" data-id=\"4b12151\" 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-67e57dc elementor-widget elementor-widget-hr_testimonial_card\" data-id=\"67e57dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"hr_testimonial_card.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                    <div class=\"testimonial-card-v3\" data-mode=\"single\" data-title=\"Hostel\">\n                <img decoding=\"async\" src=\"https:\/\/hotelrunner.com\/wp-content\/themes\/hotelrunner\/assets\/images\/\/quote-1.svg\" alt=\"quote\" class=\"quote-1\">\n                <div class=\"testimonial-inner\">\n                    An easy-to-use user-friendly interface. Reliable communication with OTAs in any situation, whether booked through OTAs, or the booking engine.                <\/div>\n                <div class=\"testimonial-bottom\">\n                    <div class=\"testimonial-seperator\">\n                        <div class=\"seperator-line\"><\/div>\n                    <\/div>\n                    <div class=\"testimonial-author\">\n                        <div class=\"author-info\">\n                            <span>Hostel<\/span>\n                            <small>Figueira da Foz, Portugal<\/small>\n                        <\/div>\n                        <div class=\"author-image\">\n                            <img decoding=\"async\" src=\"https:\/\/hotelrunner.com\/wp-content\/uploads\/2024\/09\/portugal-1.svg\" alt=\"Hostel\"\n                                title=\"Hostel\">\n                        <\/div>\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\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-9ec2bdd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9ec2bdd\" 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-9885cb9\" data-id=\"9885cb9\" 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-d341069 elementor-widget elementor-widget-heading\" data-id=\"d341069\" 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-dcda79b elementor-widget elementor-widget-hr_faq\" data-id=\"dcda79b\" 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 is a booking engine?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"A booking engine is an online system that allows you to sell rooms directly from your hotel website. Guests can easily book without relying on OTAs.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"Why should I use a booking engine?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"Direct bookings eliminate commission fees and maximize your revenue. You also maintain full control over guest data.\"\n            }\n        },\n        {\n            \"@type\": \"Question\",\n            \"name\": \"What features does the HotelRunner Booking Engine offer?\",\n            \"acceptedAnswer\": {\n                \"@type\": \"Answer\",\n                \"text\": \"User-friendly, mobile-compatible designReal-time inventory and pricing managementSecure online payment integrationsDynamic pricing and promotion optionsSupport for 84 languages and 159 currencies\"\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 width=\"100%\" style=\"\" viewBox=\"0 0 30 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"> <path d=\"M0 8.36694C0 3.94867 3.58172 0.366943 8 0.366943H22C26.4183 0.366943 30 3.94867 30 8.36694V23.3669C30 27.7852 26.4183 31.3669 22 31.3669H8C3.58172 31.3669 0 27.7852 0 23.3669V8.36694Z\" fill=\"#F9BFA7\"\/> <path d=\"M16.3598 21.1296C16.0007 20.7744 15.5102 20.5751 14.9956 20.5751H14.9611C13.8697 20.5751 12.9891 21.4251 12.9891 22.471C12.9891 23.5169 13.8697 24.3669 14.9611 24.3669H14.9956C16.087 24.3503 16.9539 23.4871 16.9366 22.4378C16.9262 21.9464 16.719 21.4783 16.3598 21.1296ZM18.6772 8.67183C17.8069 7.81187 16.5671 7.37358 14.9956 7.36694H14.9611C13.7178 7.36694 12.6575 7.69233 11.8079 8.33647C11.4038 8.64194 11.0447 8.99722 10.7373 9.39233C10.4403 9.77749 10.1985 10.2025 10.0258 10.6541C9.94984 10.8566 10.0465 11.0791 10.2503 11.1654L12.1118 11.9523C12.326 12.0419 12.5746 11.9523 12.6679 11.7464C12.6713 11.7431 12.6713 11.7365 12.6748 11.7332C12.8475 11.3281 13.1238 10.9296 13.4968 10.5511C13.8283 10.2125 14.3084 10.0498 14.9611 10.0498H14.9956C15.6657 10.0564 16.1664 10.2257 16.5256 10.571C16.8882 10.923 17.0644 11.348 17.0644 11.8792C17.0644 12.3242 16.9262 12.7326 16.643 13.1277C16.3322 13.5626 15.8729 14.0441 15.2788 14.5587C15.1821 14.6451 15.0854 14.7281 14.9991 14.8111C14.4707 15.3091 14.1046 15.7707 13.887 16.2189C13.7592 16.4812 13.6625 16.8099 13.5935 17.2083C13.5209 17.6765 13.4829 18.148 13.4829 18.6228C13.4795 18.8486 13.666 19.0312 13.8974 19.0378H13.9077H16.125C16.3564 19.0378 16.5429 18.8619 16.5463 18.6394C16.5636 17.733 16.6707 17.2914 16.7605 17.0789C16.8468 16.873 17.1266 16.4646 17.9658 15.6876C18.66 15.0501 19.178 14.4259 19.4992 13.8349C19.8308 13.224 20 12.5367 20 11.7929C19.9931 10.5876 19.551 9.53511 18.6772 8.67183Z\" fill=\"#F15F22\"\/> <\/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 is a booking engine?<\/h3>\n                                \n                        <\/div>\n                        <div id=\"hr-faq-content-0\" class=\"hr-faq-content\" style=\"display: block;\">\n                            <p>A booking engine is an online system that allows you to sell rooms directly from your hotel website. Guests can easily book without relying on OTAs.<\/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 width=\"100%\" style=\"\" viewBox=\"0 0 30 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"> <path d=\"M0 8.36694C0 3.94867 3.58172 0.366943 8 0.366943H22C26.4183 0.366943 30 3.94867 30 8.36694V23.3669C30 27.7852 26.4183 31.3669 22 31.3669H8C3.58172 31.3669 0 27.7852 0 23.3669V8.36694Z\" fill=\"#F9BFA7\"\/> <path d=\"M16.3598 21.1296C16.0007 20.7744 15.5102 20.5751 14.9956 20.5751H14.9611C13.8697 20.5751 12.9891 21.4251 12.9891 22.471C12.9891 23.5169 13.8697 24.3669 14.9611 24.3669H14.9956C16.087 24.3503 16.9539 23.4871 16.9366 22.4378C16.9262 21.9464 16.719 21.4783 16.3598 21.1296ZM18.6772 8.67183C17.8069 7.81187 16.5671 7.37358 14.9956 7.36694H14.9611C13.7178 7.36694 12.6575 7.69233 11.8079 8.33647C11.4038 8.64194 11.0447 8.99722 10.7373 9.39233C10.4403 9.77749 10.1985 10.2025 10.0258 10.6541C9.94984 10.8566 10.0465 11.0791 10.2503 11.1654L12.1118 11.9523C12.326 12.0419 12.5746 11.9523 12.6679 11.7464C12.6713 11.7431 12.6713 11.7365 12.6748 11.7332C12.8475 11.3281 13.1238 10.9296 13.4968 10.5511C13.8283 10.2125 14.3084 10.0498 14.9611 10.0498H14.9956C15.6657 10.0564 16.1664 10.2257 16.5256 10.571C16.8882 10.923 17.0644 11.348 17.0644 11.8792C17.0644 12.3242 16.9262 12.7326 16.643 13.1277C16.3322 13.5626 15.8729 14.0441 15.2788 14.5587C15.1821 14.6451 15.0854 14.7281 14.9991 14.8111C14.4707 15.3091 14.1046 15.7707 13.887 16.2189C13.7592 16.4812 13.6625 16.8099 13.5935 17.2083C13.5209 17.6765 13.4829 18.148 13.4829 18.6228C13.4795 18.8486 13.666 19.0312 13.8974 19.0378H13.9077H16.125C16.3564 19.0378 16.5429 18.8619 16.5463 18.6394C16.5636 17.733 16.6707 17.2914 16.7605 17.0789C16.8468 16.873 17.1266 16.4646 17.9658 15.6876C18.66 15.0501 19.178 14.4259 19.4992 13.8349C19.8308 13.224 20 12.5367 20 11.7929C19.9931 10.5876 19.551 9.53511 18.6772 8.67183Z\" fill=\"#F15F22\"\/> <\/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 a booking engine?<\/h3>\n                                \n                        <\/div>\n                        <div id=\"hr-faq-content-1\" class=\"hr-faq-content\" >\n                            <p>Direct bookings eliminate commission fees and maximize your revenue. You also maintain full control over guest data.<\/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 width=\"100%\" style=\"\" viewBox=\"0 0 30 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"> <path d=\"M0 8.36694C0 3.94867 3.58172 0.366943 8 0.366943H22C26.4183 0.366943 30 3.94867 30 8.36694V23.3669C30 27.7852 26.4183 31.3669 22 31.3669H8C3.58172 31.3669 0 27.7852 0 23.3669V8.36694Z\" fill=\"#F9BFA7\"\/> <path d=\"M21.4721 15.5262L19.5411 14.9744C18.6716 14.7293 17.8795 14.2651 17.2407 13.6263C16.6019 12.9874 16.1377 12.1953 15.8925 11.3258L15.3407 9.39488C15.313 9.32733 15.2658 9.26954 15.2051 9.22888C15.1444 9.18822 15.073 9.1665 15 9.1665C14.927 9.1665 14.8556 9.18822 14.7949 9.22888C14.7343 9.26954 14.6871 9.32733 14.6593 9.39488L14.1075 11.3258C13.8624 12.1953 13.3982 12.9874 12.7593 13.6263C12.1205 14.2651 11.3284 14.7293 10.4589 14.9744L8.52797 15.5262C8.45383 15.5473 8.38858 15.5919 8.34211 15.6534C8.29565 15.7149 8.27051 15.7899 8.27051 15.8669C8.27051 15.944 8.29565 16.019 8.34211 16.0804C8.38858 16.1419 8.45383 16.1866 8.52797 16.2076L10.4589 16.7594C11.3284 17.0046 12.1205 17.4688 12.7593 18.1076C13.3982 18.7464 13.8624 19.5385 14.1075 20.408L14.6593 22.339C14.6803 22.4131 14.725 22.4784 14.7865 22.5248C14.848 22.5713 14.9229 22.5964 15 22.5964C15.0771 22.5964 15.152 22.5713 15.2135 22.5248C15.275 22.4784 15.3197 22.4131 15.3407 22.339L15.8925 20.408C16.1377 19.5385 16.6019 18.7464 17.2407 18.1076C17.8795 17.4688 18.6716 17.0046 19.5411 16.7594L21.4721 16.2076C21.5462 16.1866 21.6114 16.1419 21.6579 16.0804C21.7044 16.019 21.7295 15.944 21.7295 15.8669C21.7295 15.7899 21.7044 15.7149 21.6579 15.6534C21.6114 15.5919 21.5462 15.5473 21.4721 15.5262Z\" fill=\"#F15F22\"\/> <\/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\">What features does the HotelRunner Booking Engine offer?<\/h3>\n                                \n                        <\/div>\n                        <div id=\"hr-faq-content-2\" class=\"hr-faq-content\" >\n                            <ul><li>User-friendly, mobile-compatible design<\/li><li>Real-time inventory and pricing management<\/li><li>Secure online payment integrations<\/li><li>Dynamic pricing and promotion options<\/li><li>Support for 84 languages and 159 currencies<\/li><\/ul>                        <\/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>\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-a7caa30 elementor-hidden-widescreen elementor-hidden-desktop elementor-hidden-laptop elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a7caa30\" data-element_type=\"section\" data-e-type=\"section\" id=\"mobile-form-be-tr\" 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-1ea17bb\" data-id=\"1ea17bb\" 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-267c207 elementor-widget elementor-widget-template\" data-id=\"267c207\" 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-69f41803e0081\" class=\"hr-form hr-select2-booting hr-form-direction-horizontal\" method=\"POST\" name=\"Landing Booking - 1\"                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-69f41803e0081 {\n                        position: relative;\n                    } *\/\n\n                    #hr-form-69f41803e0081 .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-69f41803e0081 .hr-form-overlay-content {\n                        text-align: center;\n                    }\n\n                    #hr-form-69f41803e0081 .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-69f41803e0081.submitting {\n                        pointer-events: none;\n                    }\n\n                    #hr-form-69f41803e0081.submitting .hr-form-overlay {\n                        display: flex;\n                    }\n                    @media (max-width: 1024px) {\n                        #hr-form-69f41803e0081 .hr-form-button-wrapper { text-align: left !important; }\n                        #hr-form-69f41803e0081 .hr-form-step-buttons-wrapper { justify-content: flex-start !important; }\n                    }\n                    @media (max-width: 767px) {\n                        #hr-form-69f41803e0081 .hr-form-button-wrapper { text-align: left !important; }\n                        #hr-form-69f41803e0081 .hr-form-step-buttons-wrapper { justify-content: flex-start !important; }\n                    }\n                <\/style>\n\n                <script>\n                    document.addEventListener('DOMContentLoaded', function () {\n                        const form = document.getElementById('hr-form-69f41803e0081');\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-69f41803e0081', {\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                            },\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-69f41803e0081\"><\/div>\n                \n                                        <input type=\"hidden\" name=\"hr_ip_address\" value=\"10.0.18.238\"\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=\"EN\">\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<\/label>                                        \n                                                                                        <input id=\"first-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"first-name\" ><div id=\"first-name-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/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<\/label>                                        \n                                                                                        <input id=\"last-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"last-name\" ><div id=\"last-name-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/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<\/label>                                        \n                                                                                        <input id=\"email\" class=\"hr-form-input\" autocomplete=\"email\" type=\"email\" name=\"email\" ><div id=\"email-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/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<\/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-enable-geoip-lookup=\"yes\"\n                                                        data-initial-country=\"\">\n                                                <\/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<\/label>                                        \n                                                                                        <input id=\"property-name\" class=\"hr-form-input\" autocomplete=\"name\" type=\"text\" name=\"property-name\" ><div id=\"property-name-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/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<\/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=\"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=\"GB\">United Kingdom<\/option><option value=\"UM\">United States Minor Outlying Islands<\/option><option value=\"US\">United States of America<\/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 id=\"country_d-error-container\" class=\"just-validate-error-label hr-field-error-container\" aria-live=\"polite\"><\/div>                                                                                    <\/div>\n                                <\/div>\n                                                                <div class=\"hr-form-field-column hr-form-field-width-100 hidden hr-form-field-column-elementor-repeater-item-bf3abe6\"\n                                    >\n                                    <div class=\"hr-form-field\">\n                                                                                    <label for=\"hr-field-69f41803e00b1\" class=\"hr-form-label\"><\/label>                                        \n                                                                                        <input id=\"hr-field-69f41803e00b1\" class=\"hr-form-input\" value=\"Landing - HotelRunner is attending EMITT, one of the world\u2019s biggest tourism exhibitions- 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                                                    <\/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\" style=\"text-align: right;\">\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 || \"\").trim();\n\n                        \/\/ WPML fallback country mapping (based on current WPML language).\n                        \/\/ This is used when the geoIpLookup API times out or errors.\n                        const wpmlLang = \"en\";\n                        let fallbackCountry = \"us\";\n                        if (wpmlLang.startsWith(\"tr\")) {\n                            fallbackCountry = \"tr\";\n                        } else if (wpmlLang.startsWith(\"es\")) {\n                            fallbackCountry = \"es\";\n                        } else if (wpmlLang.startsWith(\"fr\")) {\n                            fallbackCountry = \"fr\";\n                        } else {\n                            fallbackCountry = \"us\";\n                        }\n\n                        const enableGeoIpLookup = (input.dataset.enableGeoipLookup || \"yes\") === \"yes\";\n                        const shouldUseGeoIpLookup = enableGeoIpLookup && !initialCountry;\n                        const preferredAttr = input.getAttribute('data-preferred-countries');\n                        const preferredCountries = (preferredAttr === null)\n                            ? []\n                            : preferredAttr.split(',').map(s => s.trim()).filter(Boolean);\n\n                        const geoIpLookup = (success, failure) => {\n                            const timeoutMs = 2500; \/\/ Fail fast so it doesn't block UX.\n                            let settled = false;\n\n                            \/\/ Make sure we always resolve, even on network stalls.\n                            const timeoutId = setTimeout(() => {\n                                if (settled) return;\n                                settled = true;\n                                if (controller) controller.abort();\n                                success(fallbackCountry);\n                            }, timeoutMs);\n\n                            const controller = typeof AbortController !== \"undefined\" ? new AbortController() : null;\n\n                            fetch(\"https:\/\/ipapi.co\/json\", {\n                                signal: controller ? controller.signal : undefined\n                            })\n                                .then(res => res.json())\n                                .then(data => {\n                                    if (settled) return;\n                                    settled = true;\n                                    const code = (data && data.country_code) ? String(data.country_code).toLowerCase() : fallbackCountry;\n                                    success(code);\n                                })\n                                .catch(() => {\n                                    if (settled) return;\n                                    settled = true;\n                                    success(fallbackCountry);\n                                })\n                                .finally(() => {\n                                    clearTimeout(timeoutId);\n                                });\n                        };\n\n                        const itiOptions = {\n                            initialCountry: shouldUseGeoIpLookup ? \"auto\" : (initialCountry ? initialCountry : fallbackCountry),\n                            separateDialCode: true,\n                            nationalMode: false,\n                            formatOnDisplay: true,\n                            autoPlaceholder: \"polite\",\n                            preferredCountries: preferredCountries,\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                        if (shouldUseGeoIpLookup) {\n                            itiOptions.geoIpLookup = geoIpLookup;\n                        }\n\n                        const iti = window.intlTelInput(input, itiOptions);\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-69f41803e0081');\n\n                \/\/ Also initialize on document ready to ensure DOM is fully loaded\n                $(document).ready(function () {\n                    initializeFormPhoneInputs('hr-form-69f41803e0081');\n                });\n            })(jQuery);\n\n\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69f41803e0081');\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-69f41803e0081');\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-69f41803e0081');\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-69f41803e0081');\n                let isSubmitting = false;\n                \/\/ Strict Latin-only allowlist:\n                \/\/ - Latin letters (including accented Latin letters)\n                \/\/ - Latin combining diacritics block (U+0300-U+036F)\n                \/\/ - Numbers, whitespace\n                \/\/ - ASCII punctuation only\n                const allowedLatinPattern = \/[^\\p{Script=Latin}\\u0300-\\u036F\\p{N}\\p{Zs}\\r\\n\\t!\"#$%&'()*+,\\-.\/:;<=>?@[\\\\\\]^_`{|}~]\/gu;\n                const blockedCharsDetector = \/[^\\p{Script=Latin}\\u0300-\\u036F\\p{N}\\p{Zs}\\r\\n\\t!\"#$%&'()*+,\\-.\/:;<=>?@[\\\\\\]^_`{|}~]\/u;\n                const hasBlockedChars = (value) => blockedCharsDetector.test(value || '');\n                const blockedCharsMessage = 'Please use Latin characters only (A-Z).';\n\n                function getArabicRestrictedFields() {\n                    return form.querySelectorAll('input:not([type=\"hidden\"]):not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"submit\"]):not([type=\"button\"]):not([type=\"file\"]), textarea');\n                }\n\n                function getErrorContainer(input) {\n                    if (!input || !input.id) return null;\n                    return form.querySelector('#' + input.id + '-error-container');\n                }\n\n                function showNativeBlockedCharsMessage(input) {\n                    if (!input || typeof input.setCustomValidity !== 'function' || typeof input.reportValidity !== 'function') {\n                        return;\n                    }\n                    input.setCustomValidity(blockedCharsMessage);\n                    input.reportValidity();\n                    setTimeout(function () {\n                        input.setCustomValidity('');\n                    }, 1500);\n                }\n\n                function showBlockedCharsMessage(input) {\n                    showNativeBlockedCharsMessage(input);\n                }\n\n                function clearBlockedCharsMessage(input) {\n                    if (input && typeof input.setCustomValidity === 'function') {\n                        input.setCustomValidity('');\n                    }\n                }\n\n                \/\/ Initialize JustValidate with custom styling\n                const validator = new JustValidate('#hr-form-69f41803e0081', {\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                    },\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 \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#first-name', fieldRules_0, { errorsContainer: '#first-name-error-container' });\n                                                                                                                                                const fieldRules_1 = [];\n                                                                                fieldRules_1.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your last name.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#last-name', fieldRules_1, { errorsContainer: '#last-name-error-container' });\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 \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#email', fieldRules_2, { errorsContainer: '#email-error-container' });\n                                                                                                                                                const fieldRules_3 = [];\n                                                                                fieldRules_3.push({\"rule\":\"required\",\"errorMessage\":\"Please enter your mobile phone number.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\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 \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#property-name', fieldRules_4, { errorsContainer: '#property-name-error-container' });\n                                                                                                                                                const fieldRules_5 = [];\n                                                                                fieldRules_5.push({\"rule\":\"required\",\"errorMessage\":\"Please select your country.\"});\n                        \n                        \/\/ Add field to validator \u2013 errorsContainer routes errors outside inner so label stays centered\n                                                validator.addField('#country_d', fieldRules_5, { errorsContainer: '#country_d-error-container' });\n                                                                                                                                                                                                                                                                                            const fieldRules_7 = [{\"rule\":\"required\",\"errorMessage\":\"This field is required\"}];\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                \/\/ Block Arabic characters on typing and pasting.\n                getArabicRestrictedFields().forEach((input) => {\n                    input.addEventListener('beforeinput', function (event) {\n                        if (typeof event.data === 'string' && hasBlockedChars(event.data)) {\n                            event.preventDefault();\n                            showBlockedCharsMessage(this);\n                        }\n                    });\n\n                    input.addEventListener('paste', function (event) {\n                        event.preventDefault();\n                        showBlockedCharsMessage(this);\n                    });\n\n                    input.addEventListener('drop', function (event) {\n                        event.preventDefault();\n                        showBlockedCharsMessage(this);\n                    });\n\n                    input.addEventListener('copy', function (event) {\n                        event.preventDefault();\n                    });\n\n                    \/\/ Fallback for drag-drop\/autofill\/IME edge cases.\n                    input.addEventListener('input', function () {\n                        if (hasBlockedChars(this.value)) {\n                            this.value = this.value.replace(allowedLatinPattern, '');\n                            showBlockedCharsMessage(this);\n                        } else {\n                            clearBlockedCharsMessage(this);\n                        }\n                    });\n                });\n\n                function splitFullNameField(input) {\n                    const fullName = (input.value || '').trim();\n                    const firstTarget = input.getAttribute('data-fullname-first-target');\n                    const lastTarget = input.getAttribute('data-fullname-last-target');\n                    const firstHidden = firstTarget ? form.querySelector('input[type=\"hidden\"][name=\"' + CSS.escape(firstTarget) + '\"]') : null;\n                    const lastHidden = lastTarget ? form.querySelector('input[type=\"hidden\"][name=\"' + CSS.escape(lastTarget) + '\"]') : null;\n\n                    if (!firstHidden || !lastHidden) {\n                        return;\n                    }\n\n                    if (!fullName) {\n                        firstHidden.value = '';\n                        lastHidden.value = '';\n                        return;\n                    }\n\n                    const nameParts = fullName.split(\/\\s+\/).filter(Boolean);\n                    if (nameParts.length === 1) {\n                        firstHidden.value = nameParts[0];\n                        lastHidden.value = '';\n                        return;\n                    }\n\n                    firstHidden.value = nameParts.shift();\n                    lastHidden.value = nameParts.join(' ');\n                }\n\n                function splitAllFullNameFields() {\n                    form.querySelectorAll('input[data-fullname-splitter=\"yes\"]').forEach(function (input) {\n                        splitFullNameField(input);\n                    });\n                }\n\n                \/\/ Split when user blurs the field (including tab navigation)\n                form.querySelectorAll('input[data-fullname-splitter=\"yes\"]').forEach(function (input) {\n                    input.addEventListener('blur', function () {\n                        splitFullNameField(this);\n                    });\n\n                    input.addEventListener('keydown', function (event) {\n                        if (event.key === 'Tab') {\n                            splitFullNameField(this);\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                    \/\/ Ensure hidden first\/last values are synced before submit.\n                    splitAllFullNameFields();\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-69f41803e0081');\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        \n        <script>\n            document.addEventListener('DOMContentLoaded', function () {\n                const form = document.getElementById('hr-form-69f41803e0081');\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} characters`;\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} characters`;\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                const $form = $('#hr-form-69f41803e0081');\n\n                \/\/ Prevent Select2 pre-init visual glitch on first paint.\n                setTimeout(function () {\n                    $form.removeClass('hr-select2-booting');\n                }, 1000);\n\n                \/\/ Initialize Select2 for country selects in this specific form\n                $('#hr-form-69f41803e0081 .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                    const countryConfig = {\n                        width: '100%',\n                        placeholder: placeholder,\n                        allowClear: !formHasFloatingLabels,\n                        language: {\n                            noResults: function () {\n                                return 'No countries found';\n                            }\n                        }\n                    };\n                    if (formHasFloatingLabels) {\n                        countryConfig.templateSelection = function (data) {\n                            if (!data.id || data.id === '' || (data.element && $(data.element).hasClass('hr-select-placeholder'))) {\n                                return '';\n                            }\n                            return data.text;\n                        };\n                    }\n                    $select.select2(countryConfig);\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-69f41803e0081 .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                    if (formHasFloatingLabels) {\n                        select2Config.templateSelection = function (data) {\n                            if (!data.id || data.id === '' || (Array.isArray(data.id) && data.id.length === 0) || (data.element && $(data.element).hasClass('hr-select-placeholder'))) {\n                                return '';\n                            }\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                    const hasRealSelection = function ($el) {\n                        const value = $el.val();\n                        if (Array.isArray(value)) {\n                            return value.some(function (item) {\n                                return item !== null && item !== undefined && String(item).trim() !== '';\n                            });\n                        }\n                        return value !== null && value !== undefined && String(value).trim() !== '';\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 = hasRealSelection($(this));\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 = hasRealSelection($select);\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-69f41803e0081'] = function () {\n                \/\/ Enable submit button when Turnstile is ready\n                const form = document.getElementById('hr-form-69f41803e0081');\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-69f41803e0081');\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                    const formData = new FormData(form);\n                    const thankYouData = {};\n                    const fieldsToCapture = [\"first-name\",\"last-name\",\"email\",\"phone\",\"property-name\",\"country\",\"form_name\",\"privacy_statement\",\"commerical-text\",\"hr_ip_address\",\"hr_browser_info\",\"hr_primary_language\",\"hr_all_languages\",\"hr_window_size\",\"hr_timezone_name\",\"hr_current_url\",\"hr_referrer_url\",\"hr_page_load_time\"];\n                    if (fieldsToCapture && fieldsToCapture.length) {\n                        fieldsToCapture.forEach(function(fieldName) {\n                            if (formData.has(fieldName)) {\n                                thankYouData[fieldName] = formData.get(fieldName);\n                            }\n                        });\n                    }\n                    sessionStorage.setItem('formSessionData', JSON.stringify(thankYouData));\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-69f41803e0081');\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>Booking Engine Drive direct sales with a powerful booking system for your hotel Earn more with commission-free bookings Provide a secure and mobile-friendly payment system Offer your guests a flawless booking experience Request a demo Earn more with commission-free bookings Maximize your revenue by accepting direct bookings through your own website without relying on Online [&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":[909],"class_list":["post-121387","page","type-page","status-publish","hentry","page_type-lp-2"],"acf":[],"_links":{"self":[{"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/pages\/121387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/comments?post=121387"}],"version-history":[{"count":0,"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/pages\/121387\/revisions"}],"wp:attachment":[{"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/media?parent=121387"}],"wp:term":[{"taxonomy":"page_category","embeddable":true,"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/page_category?post=121387"},{"taxonomy":"page_type","embeddable":true,"href":"https:\/\/hotelrunner.com\/en\/wp-json\/wp\/v2\/page_type?post=121387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}