{"id":2369,"date":"2026-10-22T18:19:21","date_gmt":"2026-10-22T18:19:21","guid":{"rendered":"https:\/\/montrealroyallimo.ca\/?page_id=2369"},"modified":"2026-10-25T13:16:07","modified_gmt":"2026-10-25T13:16:07","slug":"airport-quote","status":"publish","type":"page","link":"https:\/\/montrealroyallimo.ca\/fr\/airport-quote\/","title":{"rendered":"Instant Airport Quote"},"content":{"rendered":"\n<div id=\"mrlq-quote\" class=\"mrlq\">\n<div class=\"mrlq-hero\">\n<p class=\"mrlq-eyebrow\">Montreal Royal Limo &bull; YUL Airport Transfers<\/p>\n<h1>Instant Airport Quote<\/h1>\n<p class=\"mrlq-lede\">Get your exact airport fare in seconds. Enter your pickup and drop-off, choose your vehicle, and your live fare appears instantly &mdash; then send your booking request and receive your reservation number on the spot.<\/p>\n<\/div>\n<div class=\"mrlq-farepanel\" aria-live=\"polite\">\n<div class=\"mrlq-farerow\"><span>Your booking reference<\/span><strong id=\"mrlq-ref\">MRL-2026-&hellip;<\/strong><\/div>\n<div class=\"mrlq-farerow mrlq-faremain\"><span>Your fare<\/span><strong id=\"mrlq-fare\">Enter your pickup and drop-off to see your fare.<\/strong><\/div>\n<div class=\"mrlq-dist\" id=\"mrlq-dist\"><\/div>\n<div class=\"mrlq-breakdown\" id=\"mrlq-breakdown\"><\/div>\n<\/div>\n<p class=\"mrlq-note\"><strong>Please note:<\/strong> Instant bookings require at least 3 hours&rsquo; notice before pickup.<\/p>\n<div id=\"mrlq-form-area\">\n<p class=\"mrlq-error\" id=\"mrlq-error\" style=\"display:none\" role=\"alert\"><\/p>\n<div id=\"mrlq-form-wrap\">\n\n\n\t\t<div\n\t\t\tid=\"metform-wrap-2364-1\"\n\t\t\tclass=\"mf-form-wrapper mfb-form metform-2364\"\n\t\t\tdata-metform-form=\"2364\"\n\t\t\tdata-form-id=\"2364\"\n\t\t\tdata-action=\"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/metform\/v1\/entries\/insert\/2364\"\n\t\t\tdata-wp-nonce=\"56702dee68\"\n\t\t\tdata-form-nonce=\"420bca421a\"\n\t\t\tdata-form-type=\"general-form\"\n\t\t\tdata-quiz-summery=\"false\"\n\t\t\tdata-mf-renderer=\"php\"\n\t\t\tdata-mf-editor=\"false\"\n\t\t\t\t\t>\n\t\t<form class=\"metform-form-content\" method=\"post\" action=\"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/metform\/v1\/entries\/insert\/2364\" enctype=\"multipart\/form-data\" novalidate>\n\t\t\t<input type=\"hidden\" name=\"form_nonce\" value=\"420bca421a\">\n\t\t\t<input type=\"hidden\" name=\"id\" value=\"2364\">\n\t\t\t<input type=\"hidden\" name=\"hidden-fields\" value=\"[]\">\n\t\t\t<div class=\"mf-form-response mfb-form__response\" role=\"status\" aria-live=\"polite\"><\/div>\n\t\t\t<div class=\"metform-form-main-wrapper mfb-form__content\">\n\t\t\t\t<div class=\"mfb-paragraph__wrapper metform-element-el-2bedf93f-a0dd-477b-be8d-f98f3d854d75\" data-mf-block-id=\"el-2bedf93f-a0dd-477b-be8d-f98f3d854d75\"><p class=\"mfb-paragraph__text\"><\/p><\/div><div class=\"mfb-field__wrapper mfb-field__input metform-element-el-f82b775c-2c40-44c0-a06e-78ed7083f567 mfb-required\" data-mf-block-id=\"el-f82b775c-2c40-44c0-a06e-78ed7083f567\" data-mf-field-type=\"input\" data-mf-required=\"true\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-f82b775c-2c40-44c0-a06e-78ed7083f567\">Pickup location<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\">\t\t<input id=\"mfb-2364-el-f82b775c-2c40-44c0-a06e-78ed7083f567\" type=\"text\" name=\"pickup_location\" class=\"mfb-field__input\" value=\"\" placeholder=\"Start typing \u2014 e.g. YUL\" required>\n\t\t<div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__input metform-element-el-bea261f5-aad4-498e-be1c-57abb038f372 mfb-required\" data-mf-block-id=\"el-bea261f5-aad4-498e-be1c-57abb038f372\" data-mf-field-type=\"input\" data-mf-required=\"true\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-bea261f5-aad4-498e-be1c-57abb038f372\">Drop-off location<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\">\t\t<input id=\"mfb-2364-el-bea261f5-aad4-498e-be1c-57abb038f372\" type=\"text\" name=\"dropoff_location\" class=\"mfb-field__input\" value=\"\" placeholder=\"Where to? \u2014 e.g. Le Germain Hotel\" required>\n\t\t<div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__date metform-element-el-7875581c-f701-4356-b9ee-6de1ea06fd11 mfb-required\" data-mf-block-id=\"el-7875581c-f701-4356-b9ee-6de1ea06fd11\" data-mf-field-type=\"date\" data-mf-required=\"true\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-7875581c-f701-4356-b9ee-6de1ea06fd11\">Pickup date<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\">\t\t<input\n\t\t\tid=\"mfb-2364-el-7875581c-f701-4356-b9ee-6de1ea06fd11\"\n\t\t\ttype=\"text\"\n\t\t\tname=\"pickup_date\"\n\t\t\tclass=\"mfb-field__input mfb-date__input\"\n\t\t\tplaceholder=\"Select a date\"\n\t\t\tautocomplete=\"off\"\n\t\t\tdata-mf-date=\"1\"\n\t\t\tdata-mf-format=\"d-m-Y\"\n\t\t\tdata-mf-mode=\"single\"\n\t\t\tdata-mf-enable-time=\"false\"\n\t\t\tdata-mf-time24hr=\"false\"\n\t\t\tdata-mf-today-min=\"false\"\n\t\t\t\t\t\t\t\t\t\t\t\trequired\t\t>\n\t\t<p class=\"mfb-field__help\">Instant bookings require at least 3 hours&#039; notice before pickup.<\/p><div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__time metform-element-el-447e9b6a-56af-4e2e-9658-6b0ed094d5dd mfb-required\" data-mf-block-id=\"el-447e9b6a-56af-4e2e-9658-6b0ed094d5dd\" data-mf-field-type=\"time\" data-mf-required=\"true\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-447e9b6a-56af-4e2e-9658-6b0ed094d5dd\">Pickup time<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\">\t\t<span class=\"mfb-time__wrap\">\n\t\t\t<input\n\t\t\t\tid=\"mfb-2364-el-447e9b6a-56af-4e2e-9658-6b0ed094d5dd\"\n\t\t\t\ttype=\"text\"\n\t\t\t\tname=\"pickup_time\"\n\t\t\t\tclass=\"mfb-field__input mfb-time__input\"\n\t\t\t\tplaceholder=\"Select a time\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\taria-controls=\"mfb-2364-el-447e9b6a-56af-4e2e-9658-6b0ed094d5dd-picker\"\n\t\t\t\taria-expanded=\"false\"\n\t\t\t\tdata-mf-time=\"1\"\n\t\t\t\tdata-mf-use24h=\"false\"\n\t\t\t\tdata-mf-step=\"5\"\n\t\t\t\tdata-mf-i18n=\"{&quot;amPm&quot;:&quot;AM or PM&quot;,&quot;notSet&quot;:&quot;Not set&quot;,&quot;invalid&quot;:&quot;Enter a time like 9:30 PM&quot;}\"\n\t\t\t\trequired\t\t\t>\n\t\t\t<button type=\"button\" class=\"mfb-time__clear\" aria-label=\"Clear\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M18 6L6 18M6 6l12 12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg><\/button>\n\t\t<\/span>\n\t\t<div id=\"mfb-2364-el-447e9b6a-56af-4e2e-9658-6b0ed094d5dd-picker\" class=\"mfb-time__popup\" role=\"dialog\" aria-label=\"Set time\" hidden>\n\t\t\t<div class=\"mfb-time__row\">\n\t\t\t\t\t\t<div class=\"mfb-time__seg\">\n\t\t\t<div class=\"mfb-time__value\" data-target=\"hour\" tabindex=\"0\" role=\"spinbutton\" aria-label=\"Hour\" aria-valuemin=\"1\" aria-valuemax=\"12\"><\/div>\n\t\t\t\t\t<button type=\"button\" class=\"mfb-time__step mfb-time__step--up\" data-target=\"hour\" data-dir=\"1\" tabindex=\"-1\" aria-label=\"Increase hour\"><svg width=\"8\" height=\"5\" viewBox=\"0 0 8 5\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1 4l3-3 3 3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/button>\n\t\t\t\t<button type=\"button\" class=\"mfb-time__step mfb-time__step--down\" data-target=\"hour\" data-dir=\"-1\" tabindex=\"-1\" aria-label=\"Decrease hour\"><svg width=\"8\" height=\"5\" viewBox=\"0 0 8 5\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1 1l3 3 3-3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<span class=\"mfb-time__sep\" aria-hidden=\"true\">:<\/span>\n\t\t\t\t\t\t<div class=\"mfb-time__seg\">\n\t\t\t<div class=\"mfb-time__value\" data-target=\"minute\" tabindex=\"0\" role=\"spinbutton\" aria-label=\"Minute\" aria-valuemin=\"0\" aria-valuemax=\"59\"><\/div>\n\t\t\t\t\t<button type=\"button\" class=\"mfb-time__step mfb-time__step--up\" data-target=\"minute\" data-dir=\"1\" tabindex=\"-1\" aria-label=\"Increase minute\"><svg width=\"8\" height=\"5\" viewBox=\"0 0 8 5\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1 4l3-3 3 3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/button>\n\t\t\t\t<button type=\"button\" class=\"mfb-time__step mfb-time__step--down\" data-target=\"minute\" data-dir=\"-1\" tabindex=\"-1\" aria-label=\"Decrease minute\"><svg width=\"8\" height=\"5\" viewBox=\"0 0 8 5\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M1 1l3 3 3-3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/button>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<button type=\"button\" class=\"mfb-time__ampm\"><\/button>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"mfb-time__list\" role=\"group\" hidden><\/div>\n\t\t<\/div>\n\t\t<div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__input metform-element-el-998eb28a-4e65-4132-be3a-a8be999a459d\" data-mf-block-id=\"el-998eb28a-4e65-4132-be3a-a8be999a459d\" data-mf-field-type=\"input\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-998eb28a-4e65-4132-be3a-a8be999a459d\">Flight number<\/label><div class=\"mfb-field__control\">\t\t<input id=\"mfb-2364-el-998eb28a-4e65-4132-be3a-a8be999a459d\" type=\"text\" name=\"flight_number\" class=\"mfb-field__input\" value=\"\" placeholder=\"e.g. AC 771 (optional)\" >\n\t\t<div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__select metform-element-el-dba812ba-23bc-4fa2-9f21-f5cd5e184223 mfb-required\" data-mf-block-id=\"el-dba812ba-23bc-4fa2-9f21-f5cd5e184223\" data-mf-field-type=\"select\" data-mf-required=\"true\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-dba812ba-23bc-4fa2-9f21-f5cd5e184223\">Passengers<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\"><select id=\"mfb-2364-el-dba812ba-23bc-4fa2-9f21-f5cd5e184223\" name=\"passengers\" class=\"mfb-field__input\"  required  ><option value=\"1\"   >1<\/option><option value=\"2\"   >2<\/option><option value=\"3\"   >3<\/option><option value=\"4\"   >4<\/option><option value=\"5\"   >5<\/option><option value=\"6\"   >6<\/option><option value=\"7\"   >7<\/option><option value=\"8\"   >8<\/option><option value=\"9\"   >9<\/option><option value=\"10\"   >10<\/option><option value=\"11\"   >11<\/option><option value=\"12\"   >12<\/option><\/select><div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__select metform-element-el-f4145944-7c52-425f-992f-5e30e9ed1d57 mfb-required\" data-mf-block-id=\"el-f4145944-7c52-425f-992f-5e30e9ed1d57\" data-mf-field-type=\"select\" data-mf-required=\"true\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-f4145944-7c52-425f-992f-5e30e9ed1d57\">Vehicle<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\"><select id=\"mfb-2364-el-f4145944-7c52-425f-992f-5e30e9ed1d57\" name=\"vehicle\" class=\"mfb-field__input\"  required  ><option value=\"Cadillac Escalade\"   >Cadillac Escalade<\/option><option value=\"Chevrolet Suburban\"   >Chevrolet Suburban<\/option><option value=\"Mercedes Sprinter\"   >Mercedes Sprinter<\/option><\/select><div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__input metform-element-el-dea777f7-bdf1-476c-bb00-3030d353697e mfb-required\" data-mf-block-id=\"el-dea777f7-bdf1-476c-bb00-3030d353697e\" data-mf-field-type=\"input\" data-mf-required=\"true\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-dea777f7-bdf1-476c-bb00-3030d353697e\">Full name<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\">\t\t<input id=\"mfb-2364-el-dea777f7-bdf1-476c-bb00-3030d353697e\" type=\"text\" name=\"full_name\" class=\"mfb-field__input\" value=\"\" placeholder=\"\" required>\n\t\t<div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__email metform-element-el-aada9f21-eef3-4254-b9c3-d5cee28128e4 mfb-required\" data-mf-block-id=\"el-aada9f21-eef3-4254-b9c3-d5cee28128e4\" data-mf-field-type=\"email\" data-mf-required=\"true\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-aada9f21-eef3-4254-b9c3-d5cee28128e4\">Email<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\">\t\t<input id=\"mfb-2364-el-aada9f21-eef3-4254-b9c3-d5cee28128e4\" type=\"email\" name=\"email\" class=\"mfb-field__input\" value=\"\" placeholder=\"\" required>\n\t\t<div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__telephone metform-element-el-e1ed2120-0470-480d-bf97-42a7317ec7c9 mfb-required\" data-mf-block-id=\"el-e1ed2120-0470-480d-bf97-42a7317ec7c9\" data-mf-field-type=\"telephone\" data-mf-required=\"true\" data-mf-validation=\"{&quot;type&quot;:&quot;pattern&quot;,&quot;value&quot;:&quot;^[0-9+()\\\\-\\\\s]{7,20}$&quot;,&quot;message&quot;:&quot;Please enter a valid phone number.&quot;}\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-e1ed2120-0470-480d-bf97-42a7317ec7c9\">Phone<span class=\"mfb-field__required\">*<\/span><\/label><div class=\"mfb-field__control\">\t\t<input id=\"mfb-2364-el-e1ed2120-0470-480d-bf97-42a7317ec7c9\" type=\"tel\" name=\"phone\" class=\"mfb-field__input\" value=\"\" placeholder=\"\" required pattern=\"^[0-9+()\\-\\s]{7,20}$\">\n\t\t<div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__checkbox metform-element-el-210c5056-e635-4061-a1b2-7b8fd8228f70\" data-mf-block-id=\"el-210c5056-e635-4061-a1b2-7b8fd8228f70\" data-mf-field-type=\"checkbox\"><div class=\"mfb-field__row\"><div class=\"mfb-field__control\"><div class=\"mfb-field-option__group mfb-options--horizontal\"  ><label class=\"mfb-option mfb-field-option\"><span class=\"mfb-option__box-wrap\">\n\t<input type=\"checkbox\" name=\"meet_greet[]\" value=\"yes\" class=\"mfb-option__input-native\"   >\n\t<span class=\"mfb-option__input mfb-field-option__input-checkbox\" aria-hidden=\"true\">\n\t\t<svg class=\"mfb-option__check-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"><\/polyline><\/svg>\n\t<\/span>\n<\/span>\n\t\t<span class=\"mfb-option__label mfb-field-option__label\">Meet &amp; greet at arrivals with a name sign<\/span><\/label><\/div><div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div>\t\t<div class=\"mfb-button__wrapper mfb-align--left metform-element-el-9d4d7de6-4659-4302-9a1f-f4393362cab2\" data-mf-block-id=\"el-9d4d7de6-4659-4302-9a1f-f4393362cab2\">\n\t\t\t<button type=\"submit\" class=\"mfb-button\" data-submitting-text=\"Submitting...\">\n\t\t\t\t<span class=\"mfb-button__content\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"mfb-button__text\">Submit<\/span>\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t<\/button>\n\t\t<\/div>\n\t\t<input type=\"hidden\" name=\"booking_reference\" value=\"\" data-mf-block-id=\"el-cdd7adb2-8e7a-4874-884c-6c67fc3bb3f3\"><input type=\"hidden\" name=\"company_name\" value=\"\" data-mf-block-id=\"cl-5f121f5f-8f49-4675-bc3c-170d80f1618a\"><div class=\"mfb-paragraph__wrapper metform-element-el-bc9d342d-6746-41fc-ac0a-300583e82d8b\" data-mf-block-id=\"el-bc9d342d-6746-41fc-ac0a-300583e82d8b\"><p class=\"mfb-paragraph__text\"><\/p><\/div><div class=\"mfb-field__wrapper mfb-field__select metform-element-el-35114a2c-bbaa-4580-8500-f8c9260400fb\" data-mf-block-id=\"el-35114a2c-bbaa-4580-8500-f8c9260400fb\" data-mf-field-type=\"select\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-35114a2c-bbaa-4580-8500-f8c9260400fb\">Sprinter hours<\/label><div class=\"mfb-field__control\"><select id=\"mfb-2364-el-35114a2c-bbaa-4580-8500-f8c9260400fb\" name=\"sprinter_hours\" class=\"mfb-field__input\"    ><option value=\"1\"  selected >1<\/option><option value=\"2\"   >2<\/option><option value=\"3\"   >3<\/option><option value=\"4\"   >4<\/option><option value=\"5\"   >5<\/option><option value=\"6\"   >6<\/option><option value=\"7\"   >7<\/option><option value=\"8\"   >8<\/option><\/select><p class=\"mfb-field__help\">For Sprinter van bookings only. Billed at $250 per hour.<\/p><div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__select metform-element-el-bce3f3aa-d4bc-4c4e-a8fd-ce419c7f1ce4\" data-mf-block-id=\"el-bce3f3aa-d4bc-4c4e-a8fd-ce419c7f1ce4\" data-mf-field-type=\"select\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-bce3f3aa-d4bc-4c4e-a8fd-ce419c7f1ce4\">Child seat<\/label><div class=\"mfb-field__control\"><select id=\"mfb-2364-el-bce3f3aa-d4bc-4c4e-a8fd-ce419c7f1ce4\" name=\"child_seat\" class=\"mfb-field__input\"    ><option value=\"0\"  selected >0<\/option><option value=\"1\"   >1<\/option><option value=\"2\"   >2<\/option><option value=\"3\"   >3<\/option><option value=\"4\"   >4<\/option><\/select><p class=\"mfb-field__help\">Billed at $25 per seat.<\/p><div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><div class=\"mfb-field__wrapper mfb-field__select metform-element-el-8d7155ee-e25d-445d-9c70-3a8d40dd2191\" data-mf-block-id=\"el-8d7155ee-e25d-445d-9c70-3a8d40dd2191\" data-mf-field-type=\"select\"><div class=\"mfb-field__row\"><label class=\"mfb-field__label mfb-label\" for=\"mfb-2364-el-8d7155ee-e25d-445d-9c70-3a8d40dd2191\">Booster seat<\/label><div class=\"mfb-field__control\"><select id=\"mfb-2364-el-8d7155ee-e25d-445d-9c70-3a8d40dd2191\" name=\"booster_seat\" class=\"mfb-field__input\"    ><option value=\"0\"  selected >0<\/option><option value=\"1\"   >1<\/option><option value=\"2\"   >2<\/option><option value=\"3\"   >3<\/option><option value=\"4\"   >4<\/option><\/select><p class=\"mfb-field__help\">Billed at $15 per seat.<\/p><div class=\"mfb-field__error\" style=\"display:none;\" role=\"alert\" aria-live=\"polite\"><\/div><\/div><\/div><\/div><input type=\"hidden\" name=\"quoted_total\" value=\"\" data-mf-block-id=\"el-f7fdcb41-705f-41a2-a6e7-49f2145da6aa\">\t\t\t<\/div>\n\t\t<\/form>\n\t\t<\/div>\n\t\t\n\n\n\n<script>\n(function(){\n\"use strict\";\nfunction qsa(s,r){return (r||document).querySelectorAll(s);}\nfunction fieldEl(n){return document.querySelector('[name=\"'+n+'\"]')||document.querySelector('[name=\"'+n+'[]\"]');}\nfunction norm(s){return (s||'').replace(\/\\s+\/g,' ').replace(\/\\s*\\*\\s*$\/,'').trim().toLowerCase();}\nfunction hasCtl(e){return e.querySelectorAll('input,select,textarea,button').length>0;}\nvar LABELS={vehicle:['vehicle'],sprinter_hours:['sprinter hours','heures de sprinter'],child_seat:['child seat',\"si\u00e8ge d'auto\"],booster_seat:['booster seat',\"si\u00e8ge d'appoint\"]};\nvar HELPS={sprinter_hours:['For Sprinter van bookings only. Billed at $295 per hour.','Pour les r\u00e9servations en Sprinter seulement. Factur\u00e9 295 $ par heure.'],child_seat:['Billed at $25 per seat.','Factur\u00e9 25 $ par si\u00e8ge.'],booster_seat:['Billed at $15 per seat.','Factur\u00e9 15 $ par si\u00e8ge.']};\nfunction findByText(scope,texts,host){var all=qsa('label,span,div,p,legend',scope),i,e,t,j,best=null,bt='';for(i=0;all.length>i;i++){e=all[i];if(host.contains(e))continue;if(e.contains(host))continue;if(hasCtl(e))continue;t=norm(e.textContent);for(j=0;texts.length>j;j++){var w=norm(texts[j]);if(t===w)return e;if(t.indexOf(w)===0&&(!best||bt.length>t.length)){best=e;bt=t;}}}return best;}\nfunction findHelp(scope,host,texts){var all=qsa('span,small,div,p',scope),i,e,t,j;for(i=0;all.length>i;i++){e=all[i];if(e.children.length)continue;if(host.contains(e))continue;t=(e.textContent||'').replace(\/\\s+\/g,' ').trim();for(j=0;texts.length>j;j++){if(t===texts[j])return e;}}return null;}\nfunction prep(name){\ntry{\nvar el=fieldEl(name);if(!el)return;\nvar host=el.parentNode;if(!host)return;\nvar form=el.closest?el.closest('form'):null;\nvar scope=form||document;\nvar lt=LABELS[name];\nif(lt){\nvar lab=null;\nif(el.id){try{lab=scope.querySelector('label[for=\"'+el.id+'\"]');}catch(e1){lab=null;}}\nif(lab&&(lab.contains(el)||hasCtl(lab)))lab=null;\nif(!lab)lab=findByText(scope,lt,host);\nif(lab&&!host.contains(lab))host.insertBefore(lab,host.firstChild);\n}\nvar ht=HELPS[name];\nif(ht){var hp=findHelp(scope,host,ht);if(hp)host.appendChild(hp);}\n}catch(e){}\n}\nvar NAMES=['vehicle','sprinter_hours','child_seat','booster_seat'];\nvar FR=false;\ntry{var pp=location.pathname||'';if(\/^\\\/fr(\\\/|$)\/i.test(pp)){FR=true;}else{var ll=document.documentElement.getAttribute('lang')||'';if(\/^fr\/i.test(ll))FR=true;}}catch(e){}\nvar ACKTXT=FR?'Je reconnais et j\u2019accepte de proc\u00e9der':'I acknowledge and agree to proceed';\nvar ACKREQ=FR?'Veuillez cocher la case de confirmation pour continuer.':'Please tick the acknowledgment checkbox to continue.';\nvar PAYLINE=FR?'R\u00e9servation re\u00e7ue \u2014 notre \u00e9quipe vous enverra un lien de paiement.':'Booking received \u2014 our team will send you a payment link.';\nvar ackDiv=null,ackCheck=null,ackWired=false,blockerWired=false;\nfunction hasQuote(){var b=document.getElementById('mrlq-breakdown');if(!b)return false;return b.querySelector('.mrlq-brow-total')!==null;}\nfunction submitBtn(){return document.querySelector('#mrlq-form-wrap button[type=\"submit\"]');}\nfunction injectAckCSS(){\nif(document.getElementById('mrlq-ack-css'))return;\nvar st=document.createElement('style');st.id='mrlq-ack-css';\nst.textContent='.mrlq-ack{grid-column:1\/-1;margin-top:14px;padding-top:14px;border-top:1px solid rgba(198,161,91,.35);}.mrlq-ack-label{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#ece7db;cursor:pointer;line-height:1.5;font-family:Jost,sans-serif;}.mrlq-ack-label input{width:18px;height:18px;margin-top:2px;accent-color:#c6a15b;flex-shrink:0;}.mfb-button:disabled{opacity:.45;cursor:not-allowed;}';\ndocument.head.appendChild(st);\n}\nfunction ensureAck(){\nvar b=document.getElementById('mrlq-breakdown');if(!b)return;\nif(!ackDiv){\nvar existing=document.getElementById('mrlq-ack');\nif(existing){ackDiv=existing;ackCheck=document.getElementById('mrlq-ack-check');}\n}\nif(!ackDiv){\ninjectAckCSS();\nackDiv=document.createElement('div');ackDiv.className='mrlq-ack';ackDiv.id='mrlq-ack';ackDiv.style.display='none';\nvar lab=document.createElement('label');lab.className='mrlq-ack-label';\nackCheck=document.createElement('input');ackCheck.type='checkbox';ackCheck.id='mrlq-ack-check';\nvar sp=document.createElement('span');sp.id='mrlq-ack-text';sp.textContent=ACKTXT;\nlab.appendChild(ackCheck);lab.appendChild(sp);ackDiv.appendChild(lab);\nif(b.parentNode)b.parentNode.insertBefore(ackDiv,b.nextSibling);\n}\nif(ackCheck&&!ackWired){ackWired=true;ackCheck.addEventListener('change',function(){updAck();});}\n}\nfunction updAck(){\nensureAck();\nvar q=hasQuote();\nif(ackDiv){ackDiv.style.display=q?'':'none';if(!q&&ackCheck)ackCheck.checked=false;}\nvar pl=document.querySelector('.mrlq-payline');if(pl&&pl.textContent!==PAYLINE)pl.textContent=PAYLINE;\nvar btn=submitBtn();if(btn){btn.disabled=q?!(ackCheck&&ackCheck.checked):false;}\n}\nfunction wireBlocker(){\nif(blockerWired)return;blockerWired=true;\ndocument.addEventListener('submit',function(e){\nvar f=e.target;if(!f||f.tagName!=='FORM')return;\nif(!f.querySelector('input[name=\"pickup_location\"]'))return;\nif(!hasQuote())return;\nvar ac=document.getElementById('mrlq-ack-check');\nif(ac&&!ac.checked){\ne.preventDefault();e.stopPropagation();if(e.stopImmediatePropagation)e.stopImmediatePropagation();\nvar er=document.getElementById('mrlq-error');if(er){er.textContent=ACKREQ;er.style.display='block';}\nvar ad=document.getElementById('mrlq-ack');if(ad&&ad.scrollIntoView)ad.scrollIntoView({behavior:'smooth',block:'center'});\n}\n},true);\n}\nvar tries=0,scheduled=false,observing=false;\nfunction run(){for(var i=0;NAMES.length>i;i++)prep(NAMES[i]);updAck();wireBlocker();armObs();}\nfunction armObs(){\nif(observing)return;\nvar t=document.getElementById('mrlq-quote')||document.getElementById('mrlq-form-wrap')||document.body;\nif(!t)return;\ntry{new MutationObserver(function(){schedule();}).observe(t,{childList:true,subtree:true});observing=true;}catch(e){}\n}\nfunction schedule(){if(scheduled)return;scheduled=true;setTimeout(function(){scheduled=false;run();},150);}\nfunction boot(){run();tries++;if(40>tries)setTimeout(boot,500);}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',boot);}else{boot();}\nwindow.addEventListener('load',function(){setTimeout(run,300);});\ndocument.addEventListener('change',function(e){var n=e.target&&e.target.name?e.target.name:'';if(n==='vehicle'||n==='sprinter_hours'||n==='child_seat'||n==='booster_seat'||n==='meet_greet'||n==='meet_greet[]'){setTimeout(run,80);}});\n})();\n<\/script>\n\n\n\n<\/div>\n<\/div>\n<div class=\"mrlq-success\" id=\"mrlq-success\" style=\"display:none\">\n<h2>Booking received<\/h2>\n<p>Your reservation number is <strong id=\"mrlq-success-ref\">MRL-2026-&hellip;<\/strong>.<\/p>\n<p class=\"mrlq-payline\">Booking received &mdash; our team will reach out to you for payment.<\/p>\n<p class=\"mrlq-small\">Our dispatch team now has your trip details. Please keep your reservation number handy when you contact us.<\/p>\n<\/div>\n<\/div>\n<style>\n.mrlq{font-family:'Jost',sans-serif;color:#ece7db;max-width:1180px;margin:0 auto;padding:22px 0;}\n.mrlq-hero{padding:100px 60px;text-align:center;background:radial-gradient(1000px 500px at 50% -10%,rgba(198,161,91,.18),transparent 60%),linear-gradient(180deg,#0c0c0e,#101014);border:1px solid rgba(198,161,91,.35);}\n.mrlq-eyebrow{color:#c6a15b;letter-spacing:.32em;text-transform:uppercase;font-size:12px;margin:0 0 16px;font-weight:600;}\n.mrlq-hero h1{font-family:'Playfair Display',serif;color:#fff;font-size:52px;margin:0 0 14px;}\n.mrlq-lede{max-width:720px;margin:0 auto;font-size:14px;line-height:1.65;color:#ece7db;}\n.mrlq-farepanel{margin:34px 0 0;padding:36px 30px;border:1px dashed #c6a15b;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;background:#141416;}\n.mrlq-farerow span{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#c6a15b;margin-bottom:8px;font-weight:600;}\n.mrlq-farerow strong{font-size:17px;}\n.mrlq-faremain strong{font-family:'Playfair Display',serif;font-size:34px;color:#e7cd8a;line-height:1.1;font-weight:400;}\n.mrlq-dist{grid-column:1\/-1;font-size:13.5px;color:#8f8b97;min-height:1em;}\n.mrlq-note{margin-top:14px;font-size:13.5px;color:#8f8b97;}\n.mrlq-error{display:none;background:#3a1010;border:1px solid #a33;color:#ffd9d9;padding:14px 18px;margin:18px 0 0;font-weight:600;}\n.mrlq-suggest{position:absolute;top:100%;left:0;right:0;background:#fff;color:#111;z-index:9999;border:1px solid #c6a15b;max-height:280px;overflow:auto;display:none;text-align:left;}\n.mrlq-sug{padding:10px 14px;cursor:pointer;border-bottom:1px solid #eee;}\n.mrlq-sug:hover{background:#f6f1e3;}\n.mrlq-sug strong{display:block;font-size:14px;}\n.mrlq-sug span{font-size:12px;color:#666;}\n.mrlq-success{margin:34px 0 0;padding:38px 30px;border:1px solid #c6a15b;background:#141416;text-align:center;}\n.mrlq-success h2{font-family:'Playfair Display',serif;color:#e7cd8a;font-size:38px;margin:0 0 12px;}\n.mrlq-payline{font-weight:600;color:#fff;}\n.mrlq-small{font-size:13px;color:#8f8b97;}\n.mrlq-breakdown{grid-column:1\/-1;margin-top:2px;border-top:1px solid rgba(198,161,91,.35);padding-top:12px;}\n.mrlq-brow{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:#ece7db;padding:4px 0;}\n.mrlq-brow span:last-child{white-space:nowrap;color:#fff;}\n.mrlq-brow-total{margin-top:8px;padding-top:10px;border-top:1px solid rgba(198,161,91,.35);font-size:19px;font-weight:700;color:#e7cd8a;}\n.mrlq-brow-total span:last-child{color:#e7cd8a;}\n.mrlq-incl{font-family:'Jost',sans-serif;font-size:13px;color:#8f8b97;}\n@media(max-width:700px){.mrlq-hero{padding:60px 24px;}.mrlq-hero h1{font-size:34px;}.mrlq-farepanel{grid-template-columns:1fr;}}\n<\/style>\n<script>\n(function(){\n\"use strict\";\nfunction $(s,r){return (r||document).querySelector(s);}\nfunction setText(id,t){var e=document.getElementById(id);if(e)e.textContent=t;}\nfunction fire(el){if(!el)return;try{el.dispatchEvent(new Event('input',{bubbles:true}));}catch(e){}try{el.dispatchEvent(new Event('change',{bubbles:true}));}catch(e){}}\nfunction esc(s){return String(s).replace(\/[\\u0026<>\"']\/g,function(c){return {'\\u0026':'\\u0026amp;','<':'\\u0026lt;','>':'\\u0026gt;','\"':'\\u0026quot;',\"'\":'\\u0026#39;'}[c];});}\nfunction r2(n){return Math.round(n*100)\/100;}\nfunction money(n){return '$'+n.toFixed(2)+' CAD';}\nvar FR=(function(){try{var p=location.pathname||'';if(\/^\\\/fr(\\\/|$)\/i.test(p))return true;var l=document.documentElement.getAttribute('lang')||'';return \/^fr\/i.test(l);}catch(e){return false;}})();\nvar T={\nenter:FR?'Saisissez votre lieu de prise en charge et de d\\u00e9pose pour voir votre tarif.':'Enter your pickup and drop-off to see your fare.',\ncalculating:FR?'Calcul de l\\u2019itin\\u00e9raire\\u2026':'Calculating route\\u2026',\nconfirm:FR?'Notre \\u00e9quipe confirmera votre tarif exact par courriel.':'Our team will confirm your exact fare by email.',\nyourTotal:FR?'Votre total':'Your total',\nincl:FR?'taxes et pourboire inclus':'taxes \\u0026 gratuity included',\nbase:FR?'Tarif de base':'Base fare',\nsubtotal:FR?'Sous-total':'Subtotal',\ntaxes:FR?'Taxes (14,975 %)':'Taxes (14.975%)',\ngrat:FR?'Pourboire (15 %)':'Gratuity (15%)',\ntotal:FR?'Total':'Total',\nmeet:FR?'Accueil \\u00e0 l\\u2019arriv\\u00e9e':'Meet-and-greet',\nchild:FR?'Si\\u00e8ge d\\u2019auto':'Child seat',\nbooster:FR?'Si\\u00e8ge d\\u2019appoint':'Booster seat',\nhours:FR?'Heures de Sprinter':'Sprinter hours',\nhoursHelp:FR?'Pour les r\\u00e9servations en Sprinter seulement. Factur\\u00e9 295 $ par heure.':'For Sprinter van bookings only. Billed at $295 per hour.',\nchildHelp:FR?'Factur\\u00e9 25 $ par si\\u00e8ge.':'Billed at $25 per seat.',\nboosterHelp:FR?'Factur\\u00e9 15 $ par si\\u00e8ge.':'Billed at $15 per seat.',\ntooSoon:FR?'Les r\\u00e9servations instantan\\u00e9es exigent un pr\\u00e9avis d\\u2019au moins 3 heures avant la prise en charge.':'Instant bookings require at least 3 hours\\u2019 notice before pickup.'\n};\nvar ref='MRL-2026-'+Math.floor(1000+Math.random()*9000);\nsetText('mrlq-ref',ref);\nvar PLACES=[\n{name:'Montreal-Trudeau Airport (YUL)',addr:'975 boul. Rom\\u00e9o-Vachon N, Dorval, QC H4Y 1H1',lat:45.4657,lon:-73.7455},\n{name:'Le Germain Hotel Montreal',addr:'2050 Mansfield St, Montreal, QC H3A 1Y9',lat:45.5025,lon:-73.5747},\n{name:'Fairmont The Queen Elizabeth',addr:'900 boul. Ren\\u00e9-L\\u00e9vesque O, Montreal, QC',lat:45.5007,lon:-73.5669},\n{name:'Four Seasons Hotel Montreal',addr:'1440 rue de la Montagne, Montreal, QC',lat:45.5005,lon:-73.5744},\n{name:'Ritz-Carlton Montreal',addr:'1228 rue Sherbrooke O, Montreal, QC',lat:45.4989,lon:-73.5785},\n{name:'Hotel Nelligan',addr:'106 rue Saint-Paul O, Montreal, QC',lat:45.5077,lon:-73.5538},\n{name:'Montreal Marriott Chateau Champlain',addr:'1050 rue de la Gaucheti\\u00e8re O, Montreal, QC',lat:45.4997,lon:-73.5673},\n{name:'Palais des congr\\u00e8s de Montr\\u00e9al',addr:'1001 place Jean-Paul-Riopelle, Montreal, QC',lat:45.5049,lon:-73.5640},\n{name:'Old Port of Montreal',addr:'Vieux-Port de Montr\\u00e9al, Montreal, QC',lat:45.5070,lon:-73.5543},\n{name:'Quebec City',addr:'Quebec City, QC',lat:46.8139,lon:-71.2080},\n{name:'Ottawa',addr:'Ottawa, ON',lat:45.4215,lon:-75.6972},\n{name:'Mont-Tremblant',addr:'Mont-Tremblant, QC',lat:46.1185,lon:-74.5967}\n];\nvar from=null,to=null,lastKm=null;\nfunction vehicleKey(){var s=$('select[name=\"vehicle\"]');var v=s?(s.value||''):'';if(\/escalade\/i.test(v))return 'escalade';if(\/suburban\/i.test(v))return 'suburban';return 'sprinter';}\nfunction vehicleLabel(){var k=vehicleKey();return k==='escalade'?'Cadillac Escalade':(k==='suburban'?'Chevrolet Suburban':'Mercedes Sprinter');}\nfunction fieldEl(n){return document.querySelector('[name=\"'+n+'\"]')||document.querySelector('[name=\"'+n+'[]\"]');}\nfunction fieldVal(n){var el=fieldEl(n);if(!el)return null;if(el.type==='checkbox')return el.checked;return el.value;}\nfunction qty(n){var v=parseInt(fieldVal(n),10);return (isNaN(v)||v<0)?0:v;}\nfunction sprinterHours(){var h=parseInt(fieldVal('sprinter_hours'),10);return (isNaN(h)||h<1)?1:h;}\nfunction computeQuote(){\nvar k=vehicleKey(),addons=[];\nif(fieldVal('meet_greet')===true)addons.push({label:T.meet,amount:45});\nvar cs=qty('child_seat');if(cs>0)addons.push({label:T.child+' \\u00d7 '+cs,amount:25*cs});\nvar bs=qty('booster_seat');if(bs>0)addons.push({label:T.booster+' \\u00d7 '+bs,amount:15*bs});\nvar addTotal=0,i;for(i=0;i<addons.length;i++)addTotal+=addons[i].amount;\nvar base=null,baseNote=vehicleLabel();\nif(k==='sprinter'){var h=sprinterHours();base=295*h;baseNote='Mercedes Sprinter \\u2014 '+h+(h>1?(FR?' heures':' hours'):(FR?' heure':' hour'));}\nelse{if(!(lastKm>0))return null;if(k==='suburban'){base=115;}else{var km=lastKm;if(km<20)base=150;else if(km<30)base=175;else if(km<=40)base=200;else base=200+5*(Math.round(km)-40);}}\nvar subtotal=base+addTotal,taxes=r2(subtotal*0.14975),grat=r2(subtotal*0.15),total=r2(subtotal+taxes+grat);\nreturn {base:base,baseNote:baseNote,addons:addons,subtotal:subtotal,taxes:taxes,grat:grat,total:total,km:(lastKm>0?lastKm:null)};\n}\nfunction setQuotedTotal(v){var el=document.querySelector('input[name=\"quoted_total\"]');if(el){el.value=(v==null?'':v);fire(el);}}\nfunction clearQuote(msg){var f=document.getElementById('mrlq-fare');if(f)f.textContent=msg;setText('mrlq-dist','');var b=document.getElementById('mrlq-breakdown');if(b)b.innerHTML='';setQuotedTotal(null);}\nfunction renderQuote(){\nvar k=vehicleKey();\nif(k!=='sprinter'){if(!from||!to){clearQuote(T.enter);return;}}\nif(k!=='sprinter'){if(!(lastKm>0)){var f0=document.getElementById('mrlq-fare');if(f0)f0.textContent=T.calculating;return;}}\nvar q=computeQuote();\nif(!q){clearQuote(T.confirm);return;}\nsetText('mrlq-dist',(q.km!=null?q.km.toFixed(1)+' km \\u00b7 ':'')+vehicleLabel());\nvar f=document.getElementById('mrlq-fare');\nif(f)f.innerHTML=esc(T.yourTotal)+': <strong>'+money(q.total)+'<\/strong> <span class=\"mrlq-incl\">'+esc(T.incl)+'<\/span>';\nvar b=document.getElementById('mrlq-breakdown');\nif(b){var rows='<div class=\"mrlq-brow\"><span>'+esc(T.base)+' \\u2014 '+esc(q.baseNote)+'<\/span><span>'+money(q.base)+'<\/span><\/div>',i;\nfor(i=0;i<q.addons.length;i++)rows+='<div class=\"mrlq-brow\"><span>'+esc(q.addons[i].label)+'<\/span><span>'+money(q.addons[i].amount)+'<\/span><\/div>';\nrows+='<div class=\"mrlq-brow\"><span>'+esc(T.subtotal)+'<\/span><span>'+money(q.subtotal)+'<\/span><\/div>';\nrows+='<div class=\"mrlq-brow\"><span>'+esc(T.taxes)+'<\/span><span>'+money(q.taxes)+'<\/span><\/div>';\nrows+='<div class=\"mrlq-brow\"><span>'+esc(T.grat)+'<\/span><span>'+money(q.grat)+'<\/span><\/div>';\nrows+='<div class=\"mrlq-brow mrlq-brow-total\"><span>'+esc(T.total)+'<\/span><span>'+money(q.total)+'<\/span><\/div>';\nb.innerHTML=rows;}\nsetQuotedTotal(q.total.toFixed(2));\n}\nfunction updateFare(){\nvar f=document.getElementById('mrlq-fare');\nif(!from||!to){renderQuote();return;}\nif(f)f.textContent=T.calculating;\nvar url='https:\/\/router.project-osrm.org\/route\/v1\/driving\/'+from.lon+','+from.lat+';'+to.lon+','+to.lat+'?overview=false';\nfetch(url).then(function(r){return r.json();}).then(function(j){\nvar km=null;if(j){if(j.routes){if(j.routes[0]){if(j.routes[0].distance)km=j.routes[0].distance\/1000;}}}\nlastKm=(km>0)?km:null;\nrenderQuote();\n}).catch(function(){lastKm=null;clearQuote(T.confirm);});\n}\nfunction attachAutocomplete(input,onPick){\nvar par=input.parentNode;if(par)par.style.position='relative';\nvar box=document.createElement('div');box.className='mrlq-suggest';if(par)par.appendChild(box);\nvar timer=null;\nfunction close(){box.style.display='none';box.innerHTML='';}\nfunction pick(p){input.value=p.addr?(p.name+', '+p.addr):p.name;fire(input);onPick({lat:p.lat,lon:p.lon});close();}\nfunction render(list){box.innerHTML='';if(!list.length){close();return;}list.slice(0,7).forEach(function(p){var d=document.createElement('div');d.className='mrlq-sug';d.innerHTML='<strong>'+esc(p.name)+'<\/strong><span>'+esc(p.addr||'')+'<\/span>';d.addEventListener('mousedown',function(){pick(p);});box.appendChild(d);});box.style.display='block';}\ninput.addEventListener('input',function(){\nonPick(null);\nvar q=input.value.trim();clearTimeout(timer);\nif(q.length<2){close();return;}\nvar seeds=PLACES.filter(function(p){return (p.name+' '+(p.addr||'')).toLowerCase().indexOf(q.toLowerCase())!==-1;});\nif(seeds.length){render(seeds);return;}\ntimer=setTimeout(function(){\nfetch('https:\/\/nominatim.openstreetmap.org\/search?format=jsonv2\\u0026limit=6\\u0026countrycodes=ca\\u0026q='+encodeURIComponent(q),{headers:{'Accept':'application\/json'}})\n.then(function(r){return r.json();})\n.then(function(arr){render((arr||[]).map(function(a){return {name:String(a.display_name).split(',').slice(0,2).join(','),addr:a.display_name,lat:parseFloat(a.lat),lon:parseFloat(a.lon)};}));})\n.catch(function(){close();});\n},350);\n});\ninput.addEventListener('blur',function(){setTimeout(close,200);});\n}\nfunction parsePickup(){\nvar d=$('input[name=\"pickup_date\"]'),t=$('input[name=\"pickup_time\"]');\nif(!d||!t)return null;\nvar ds=(d.value||'').trim(),ts=(t.value||'').trim();if(!ds||!ts)return null;\nvar y,mo,da,m1=ds.match(\/^(\\d{4})-(\\d{1,2})-(\\d{1,2})\/),m2=ds.match(\/^(\\d{1,2})\\\/(\\d{1,2})\\\/(\\d{4})\/);\nif(m1){y=+m1[1];mo=+m1[2];da=+m1[3];}else if(m2){y=+m2[3];mo=+m2[1];da=+m2[2];}else return null;\nvar h,mi,mt=ts.match(\/(\\d{1,2}):(\\d{2})\\s*([AaPp])\\.?\\s*[Mm]\\.?\/);\nif(mt){h=(+mt[1])%12;if(\/p\/i.test(mt[3]))h+=12;mi=+mt[2];}\nelse{var mt2=ts.match(\/(\\d{1,2}):(\\d{2})\/);if(!mt2)return null;h=+mt2[1];mi=+mt2[2];}\nreturn new Date(y,mo-1,da,h,mi,0);\n}\nfunction tooSoon(){var p=parsePickup();if(!p)return false;return (p.getTime()-Date.now()<3*3600*1000);}\nfunction showErr(msg){var e=document.getElementById('mrlq-error');if(!e)return;if(msg){e.textContent=msg;e.style.display='block';}else{e.textContent='';e.style.display='none';}}\nfunction widgetOf(name){var el=fieldEl(name);if(!el)return null;var n=el;while(n){if(n===document.body)break;if(n.classList){if(n.classList.contains('elementor-widget'))return n;}n=n.parentNode;}return el.parentNode;}\nfunction moveAfter(w,afterW){if(!w||!afterW||w===afterW)return;if(w.previousElementSibling===afterW)return;afterW.parentNode.insertBefore(w,afterW.nextSibling);}\nfunction setHelpFR(name,en,fr){var w=widgetOf(name);if(!w)return;var els=w.querySelectorAll('span,small,div,p'),i;for(i=0;i<els.length;i++){var el=els[i];if(el.children.length)continue;var t=el.textContent.trim();if(t===en||t===fr){el.textContent=fr;return;}}}\nfunction arrangeFields(){\ntry{\nvar vw=widgetOf('vehicle'),hw=widgetOf('sprinter_hours');\nif(vw){if(hw)moveAfter(hw,vw);}\nvar mg=widgetOf('meet_greet'),cs=widgetOf('child_seat'),bs=widgetOf('booster_seat');\nif(mg){if(cs)moveAfter(cs,mg);}\nif(mg){if(bs){var tgt=mg;if(cs){if(cs.parentNode===mg.parentNode)tgt=cs;}moveAfter(bs,tgt);}}\nif(hw)hw.style.display=(vehicleKey()==='sprinter')?'':'none';\nif(FR){\nvar w=widgetOf('sprinter_hours');if(w){var l=w.querySelector('label');if(l)l.textContent=T.hours;}\nw=widgetOf('child_seat');if(w){var l2=w.querySelector('label');if(l2)l2.textContent=T.child;}\nw=widgetOf('booster_seat');if(w){var l3=w.querySelector('label');if(l3)l3.textContent=T.booster;}\nsetHelpFR('sprinter_hours','For Sprinter van bookings only. Billed at $295 per hour.',T.hoursHelp);\nsetHelpFR('child_seat','Billed at $25 per seat.',T.childHelp);\nsetHelpFR('booster_seat','Billed at $15 per seat.',T.boosterHelp);\n}\n}catch(e){}\n}\nvar booted=false;\nfunction boot(){\nvar pi=$('input[name=\"pickup_location\"]'),di=$('input[name=\"dropoff_location\"]');\nif(!pi||!di){setTimeout(boot,700);return;}\nif(booted)return;booted=true;\nattachAutocomplete(pi,function(p){from=p;updateFare();});\nattachAutocomplete(di,function(p){to=p;updateFare();});\nvar vs=$('select[name=\"vehicle\"]');\nif(vs)vs.addEventListener('change',function(){arrangeFields();updateFare();});\n['sprinter_hours','child_seat','booster_seat'].forEach(function(n){var el=document.querySelector('[name=\"'+n+'\"]');if(el)el.addEventListener('change',function(){renderQuote();});});\nvar mgEl=fieldEl('meet_greet');\nif(mgEl)mgEl.addEventListener('change',function(){renderQuote();});\nvar h=$('input[name=\"booking_reference\"]');if(h){h.value=ref;fire(h);}\narrangeFields();setTimeout(arrangeFields,1200);\nrenderQuote();\nvar form=pi.closest?pi.closest('form'):null;\nif(form){\nform.addEventListener('submit',function(e){\nif(tooSoon()){e.preventDefault();e.stopPropagation();if(e.stopImmediatePropagation)e.stopImmediatePropagation();showErr(T.tooSoon);var er=document.getElementById('mrlq-error');if(er){if(er.scrollIntoView)er.scrollIntoView({behavior:'smooth',block:'center'});}return false;}\nshowErr(null);\n},true);\n['pickup_date','pickup_time'].forEach(function(n){var i=$('input[name=\"'+n+'\"]');if(i)i.addEventListener('change',function(){if(!tooSoon())showErr(null);});});\n}\nvar wrap=document.getElementById('mrlq-form-wrap'),done=false;\nif(wrap){if(window.MutationObserver){\nvar obs=new MutationObserver(function(){\nif(done)return;\nvar t=wrap.innerText||'';\nif(\/thank you\/i.test(t)){if(\/submitted successfully\/i.test(t)){\ndone=true;obs.disconnect();\nvar hh=$('input[name=\"booking_reference\"]',wrap);\nvar hv=ref;if(hh){if(hh.value)hv=hh.value;}\nsetText('mrlq-success-ref',hv);\nvar area=document.getElementById('mrlq-form-area');if(area)area.style.display='none';\nvar s=document.getElementById('mrlq-success');if(s){s.style.display='block';if(s.scrollIntoView)s.scrollIntoView();}\n}}\n});\nobs.observe(wrap,{childList:true,subtree:true,characterData:true});\n}}\n}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot);else boot();\n})();\n<\/script>\n\n\n\n<script>\n(function(){\n\"use strict\";\nfunction $(s,r){return (r||document).querySelector(s);}\nfunction esc(s){return String(s).replace(\/[\\u0026<>\"']\/g,function(c){return {'\\u0026':'\\u0026amp;','<':'\\u0026lt;','>':'\\u0026gt;','\"':'\\u0026quot;',\"'\":'\\u0026#39;'}[c];});}\nvar FR=(function(){try{var p=location.pathname||'';if(\/^\\\/fr(\\\/|$)\/i.test(p))return true;var l=document.documentElement.getAttribute('lang')||'';return \/^fr\/i.test(l);}catch(e){return false;}})();\nvar T={\noptionsTitle:FR?'Ajoutez des options':'Add options',\nmeet:FR?'Accueil \\u00e0 l\\u2019arriv\\u00e9e':'Meet-and-greet',\nchild:FR?'Si\\u00e8ge d\\u2019auto':'Child seat',\nbooster:FR?'Si\\u00e8ge d\\u2019appoint':'Booster seat',\nadd:FR?'Ajouter':'Add',\nadded:FR?'Ajout\\u00e9':'Added',\nperSeat:FR?'\/si\\u00e8ge':'\/seat',\nack:FR?'Je reconnais et j\\u2019accepte de proc\\u00e9der':'I acknowledge and agree to proceed',\nackRequired:FR?'Veuillez cocher la case de confirmation pour continuer.':'Please tick the acknowledgment checkbox to continue.',\npayline:FR?'R\\u00e9servation re\\u00e7ue \\u2014 notre \\u00e9quipe vous enverra un lien de paiement.':'Booking received \\u2014 our team will send you a payment link.'\n};\nfunction fieldEl(n){return document.querySelector('[name=\"'+n+'\"]')||document.querySelector('[name=\"'+n+'[]\"]');}\nfunction fieldVal(n){var el=fieldEl(n);if(!el)return null;if(el.type==='checkbox')return el.checked;return el.value;}\nfunction qty(n){var v=parseInt(fieldVal(n),10);return (isNaN(v)||v<0)?0:v;}\nfunction fire(el){if(!el)return;try{el.dispatchEvent(new Event('input',{bubbles:true}));}catch(e){}try{el.dispatchEvent(new Event('change',{bubbles:true}));}catch(e){}}\nfunction injectCSS(){\nvar css='.mrlq-options{grid-column:1\/-1;margin-top:14px;border-top:1px solid rgba(198,161,91,.35);padding-top:12px;}'\n+'.mrlq-options-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#c6a15b;margin-bottom:6px;font-weight:600;}'\n+'.mrlq-option{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(198,161,91,.15);}'\n+'.mrlq-opt-name{flex:1;font-size:14px;color:#ece7db;}'\n+'.mrlq-opt-price{font-size:14px;color:#e7cd8a;white-space:nowrap;}'\n+'.mrlq-opt-btn{background:#c6a15b;color:#141416;border:none;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;border-radius:3px;font-family:inherit;}'\n+'.mrlq-opt-btn:hover{background:#d4b06a;}'\n+'.mrlq-opt-btn.is-added{background:#3a352c;color:#e7cd8a;}'\n+'.mrlq-stepper{display:flex;align-items:center;gap:8px;}'\n+'.mrlq-step-btn{width:32px;height:32px;background:#2a2a2e;color:#e7cd8a;border:1px solid #c6a15b;font-size:18px;cursor:pointer;border-radius:3px;line-height:1;font-family:inherit;padding:0;}'\n+'.mrlq-step-btn:hover{background:#3a3a40;}'\n+'.mrlq-opt-qty{min-width:24px;text-align:center;font-size:15px;font-weight:700;color:#fff;}'\n+'.mrlq-ack{grid-column:1\/-1;margin-top:14px;padding-top:14px;border-top:1px solid rgba(198,161,91,.35);}'\n+'.mrlq-ack-label{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#ece7db;cursor:pointer;line-height:1.5;}'\n+'.mrlq-ack-label input{width:18px;height:18px;margin-top:2px;accent-color:#c6a15b;flex-shrink:0;}'\n+'.mfb-button:disabled{opacity:.45;cursor:not-allowed;}';\nvar st=document.createElement('style');st.textContent=css;document.head.appendChild(st);\n}\nvar optionsDiv=null,ackDiv=null,ackCheck=null,submitBtn=null;\nfunction getSubmitBtn(){return document.querySelector('#mrlq-form-wrap button[type=\"submit\"]');}\nfunction updateSubmitState(){\nif(!submitBtn)submitBtn=getSubmitBtn();\nif(submitBtn){var ok=ackCheck&#038;&#038;ackCheck.checked;submitBtn.disabled=!ok;}\n}\nfunction hasQuote(){\nvar b=document.getElementById('mrlq-breakdown');\nif(!b)return false;\nreturn b.querySelector('.mrlq-brow-total')!==null;\n}\nfunction renderOptionsUI(){\nif(!optionsDiv)return;\nif(!hasQuote()){optionsDiv.style.display='none';optionsDiv.innerHTML='';return;}\noptionsDiv.style.display='';\nvar meetOn=fieldVal('meet_greet')===true;\nvar cs=qty('child_seat');\nvar bs=qty('booster_seat');\nvar h='<div class=\"mrlq-options-title\">'+esc(T.optionsTitle)+'<\/div>';\nh+='<div class=\"mrlq-option\"><span class=\"mrlq-opt-name\">'+esc(T.meet)+'<\/span><span class=\"mrlq-opt-price\">+$45.00<\/span><button type=\"button\" class=\"mrlq-opt-btn'+(meetOn?' is-added':'')+'\" data-opt=\"meet\" data-action=\"'+(meetOn?'remove':'add')+'\">'+esc(meetOn?T.added:T.add)+'<\/button><\/div>';\nh+='<div class=\"mrlq-option\"><span class=\"mrlq-opt-name\">'+esc(T.child)+'<\/span><span class=\"mrlq-opt-price\">+$25.00'+esc(T.perSeat)+'<\/span><span class=\"mrlq-stepper\"><button type=\"button\" class=\"mrlq-step-btn\" data-opt=\"child\" data-action=\"dec\">\\u2212<\/button><span class=\"mrlq-opt-qty\">'+cs+'<\/span><button type=\"button\" class=\"mrlq-step-btn\" data-opt=\"child\" data-action=\"inc\">+<\/button><\/span><\/div>';\nh+='<div class=\"mrlq-option\"><span class=\"mrlq-opt-name\">'+esc(T.booster)+'<\/span><span class=\"mrlq-opt-price\">+$15.00'+esc(T.perSeat)+'<\/span><span class=\"mrlq-stepper\"><button type=\"button\" class=\"mrlq-step-btn\" data-opt=\"booster\" data-action=\"dec\">\\u2212<\/button><span class=\"mrlq-opt-qty\">'+bs+'<\/span><button type=\"button\" class=\"mrlq-step-btn\" data-opt=\"booster\" data-action=\"inc\">+<\/button><\/span><\/div>';\noptionsDiv.innerHTML=h;\n}\nfunction updateAckUI(){\nif(!ackDiv)return;\nif(hasQuote()){\nackDiv.style.display='';\nvar txt=document.getElementById('mrlq-ack-text');\nif(txt)txt.textContent=T.ack;\n}else{\nackDiv.style.display='none';\nif(ackCheck)ackCheck.checked=false;\n}\nupdateSubmitState();\n}\nfunction onOptionsClick(e){\nvar t=e.target,btn=null;\nwhile(t&&t!==optionsDiv){\nif(t.tagName==='BUTTON'&&t.getAttribute('data-opt')){btn=t;break;}\nt=t.parentNode;\n}\nif(!btn)return;\nvar opt=btn.getAttribute('data-opt');\nvar action=btn.getAttribute('data-action');\nif(opt==='meet'){\nvar mg=fieldEl('meet_greet');\nif(mg){mg.checked=(action==='add');fire(mg);}\n}else{\nvar fname=(opt==='child')?'child_seat':'booster_seat';\nvar el=document.querySelector('[name=\"'+fname+'\"]');\nif(el){\nvar cur=parseInt(el.value,10);if(isNaN(cur))cur=0;\nif(action==='inc'&&cur<4)el.value=cur+1;\nif(action==='dec'&#038;&#038;cur>0)el.value=cur-1;\nfire(el);\n}\n}\nsetTimeout(function(){renderOptionsUI();updateAckUI();},60);\n}\nfunction init(){\nvar distEl=document.getElementById('mrlq-dist');\nvar breakdownEl=document.getElementById('mrlq-breakdown');\nif(!distEl||!breakdownEl){setTimeout(init,500);return;}\ninjectCSS();\noptionsDiv=document.createElement('div');\noptionsDiv.className='mrlq-options';\noptionsDiv.id='mrlq-options';\noptionsDiv.style.display='none';\ndistEl.parentNode.insertBefore(optionsDiv,breakdownEl);\noptionsDiv.addEventListener('click',onOptionsClick);\nackDiv=document.createElement('div');\nackDiv.className='mrlq-ack';\nackDiv.id='mrlq-ack';\nackDiv.style.display='none';\nackDiv.innerHTML='<label class=\"mrlq-ack-label\"><input type=\"checkbox\" id=\"mrlq-ack-check\"><span id=\"mrlq-ack-text\"><\/span><\/label>';\nbreakdownEl.parentNode.insertBefore(ackDiv,breakdownEl.nextSibling);\nackCheck=document.getElementById('mrlq-ack-check');\nif(ackCheck)ackCheck.addEventListener('change',updateSubmitState);\nvar payline=document.querySelector('.mrlq-payline');\nif(payline)payline.textContent=T.payline;\nupdateSubmitState();\nif(window.MutationObserver){\nvar obs=new MutationObserver(function(){renderOptionsUI();updateAckUI();});\nobs.observe(breakdownEl,{childList:true,subtree:true});\n}\ndocument.addEventListener('change',function(e){\nvar n=e.target&&e.target.name?e.target.name:'';\nif(n==='child_seat'||n==='booster_seat'||n==='meet_greet'||n==='meet_greet[]'||n==='vehicle'||n==='sprinter_hours'){\nsetTimeout(function(){renderOptionsUI();updateAckUI();},60);\n}\n},true);\ndocument.addEventListener('submit',function(e){\nvar f=e.target;\nif(!f||f.tagName!=='FORM')return;\nif(!f.querySelector('input[name=\"pickup_location\"]'))return;\nvar ac=document.getElementById('mrlq-ack-check');\nif(ac&&!ac.checked){\ne.preventDefault();\ne.stopPropagation();\nvar errEl=document.getElementById('mrlq-error');\nif(errEl){errEl.textContent=T.ackRequired;errEl.style.display='block';}\nvar ad=document.getElementById('mrlq-ack');\nif(ad&&ad.scrollIntoView)ad.scrollIntoView({behavior:'smooth',block:'center'});\n}\n},true);\nrenderOptionsUI();\nupdateAckUI();\n}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n})();\n<\/script>\n\n\n\n<script>\n(function(){\n\"use strict\";\nvar FR=(function(){try{var p=location.pathname||'';if(\/^\\\/fr(\\\/|$)\/i.test(p))return true;var l=document.documentElement.getAttribute('lang')||'';return \/^fr\/i.test(l);}catch(e){return false;}})();\nvar T={\ntip:FR?'Pourboire':'Tip',\nyourTotalBillIs:FR?'Le total de votre facture est':'Your total bill is',\nincl:FR?'taxes et pourboire inclus':'taxes \\u0026 tip included',\nsubmit:FR?'Soumettre':'Submit'\n};\nif(typeof window.mrlqTipRate==='undefined')window.mrlqTipRate=0.20;\nfunction r2(n){return Math.round(n*100)\/100;}\nfunction money(n){return '$'+n.toFixed(2)+' CAD';}\nfunction esc(s){return String(s).replace(\/[\\u0026<>\"']\/g,function(c){return {'\\u0026':'\\u0026amp;','<':'\\u0026lt;','>':'\\u0026gt;','\"':'\\u0026quot;',\"'\":'\\u0026#39;'}[c];});}\nfunction fire(el){if(!el)return;try{el.dispatchEvent(new Event('input',{bubbles:true}));}catch(e){}try{el.dispatchEvent(new Event('change',{bubbles:true}));}catch(e){}}\nfunction getSubtotal(){\nvar b=document.getElementById('mrlq-breakdown');\nif(!b)return null;\nvar rows=b.querySelectorAll('.mrlq-brow');\nfor(var i=0;i<rows.length;i++){\nif(rows[i].classList.contains('mrlq-tip-select-row'))continue;\nif(rows[i].classList.contains('mrlq-tip-amount-row'))continue;\nvar spans=rows[i].querySelectorAll('span');\nif(spans.length<2)continue;\nvar label=spans[0].textContent||'';\nif(label.indexOf('Subtotal')!==-1||label.indexOf('Sous-total')!==-1){\nvar v=(spans[1].textContent||'').replace(\/[^0-9.]\/g,'');\nvar n=parseFloat(v);\nreturn isNaN(n)?null:n;\n}\n}\nreturn null;\n}\nfunction pctLabel(rate){return Math.round(rate*100)+'%';}\nvar breakdownEl=null,billObserver=null;\nfunction applyTip(){\nif(!breakdownEl)return;\nvar subtotal=getSubtotal();\nif(subtotal===null)return;\nvar taxes=r2(subtotal*0.14975);\nvar tip=r2(subtotal*window.mrlqTipRate);\nvar total=r2(subtotal+taxes+tip);\nif(billObserver)billObserver.disconnect();\ntry{\nvar rows=breakdownEl.querySelectorAll('.mrlq-brow');\nvar gratRow=null,totalRow=null;\nfor(var i=0;i<rows.length;i++){\nif(rows[i].classList.contains('mrlq-tip-select-row'))continue;\nif(rows[i].classList.contains('mrlq-tip-amount-row'))continue;\nvar spans=rows[i].querySelectorAll('span');\nif(spans.length<1)continue;\nvar label=spans[0].textContent||'';\nif(label.indexOf('Gratuity')!==-1||label.indexOf('Pourboire')!==-1){gratRow=rows[i];}\nif(rows[i].classList.contains('mrlq-brow-total')){totalRow=rows[i];}\n}\nvar selHtml='<div class=\"mrlq-brow mrlq-tip-select-row\"><span>'+esc(T.tip)+'<\/span><span class=\"mrlq-tip-btns\">';\nvar rates=[0.15,0.20,0.25];\nfor(var r=0;r<rates.length;r++){\nvar sel=(Math.abs(rates[r]-window.mrlqTipRate)<0.001)?' sel':'';\nselHtml+='<button type=\"button\" class=\"mrlq-tip-btn'+sel+'\" data-tip=\"'+rates[r]+'\">'+pctLabel(rates[r])+'<\/button>';\n}\nselHtml+='<\/span><\/div>';\nselHtml+='<div class=\"mrlq-brow mrlq-tip-amount-row\"><span>'+esc(T.tip)+' ('+pctLabel(window.mrlqTipRate)+')<\/span><span>'+money(tip)+'<\/span><\/div>';\nvar existingSel=breakdownEl.querySelector('.mrlq-tip-select-row');\nif(gratRow){\nvar tmp=document.createElement('div');\ntmp.innerHTML=selHtml;\nvar frag=document.createDocumentFragment();\nwhile(tmp.firstChild){frag.appendChild(tmp.firstChild);}\ngratRow.parentNode.insertBefore(frag,gratRow);\ngratRow.parentNode.removeChild(gratRow);\n}else if(existingSel){\nvar amtRow=breakdownEl.querySelector('.mrlq-tip-amount-row');\nif(amtRow){\nvar aspans=amtRow.querySelectorAll('span');\nif(aspans.length>=2){aspans[0].textContent=T.tip+' ('+pctLabel(window.mrlqTipRate)+')';aspans[1].textContent=money(tip);}\n}\nvar btns=breakdownEl.querySelectorAll('.mrlq-tip-btn');\nfor(var bi=0;bi<btns.length;bi++){\nvar br=parseFloat(btns[bi].getAttribute('data-tip'));\nif(Math.abs(br-window.mrlqTipRate)<0.001){btns[bi].classList.add('sel');}else{btns[bi].classList.remove('sel');}\n}\n}else if(totalRow){\nvar tmp2=document.createElement('div');\ntmp2.innerHTML=selHtml;\nvar frag2=document.createDocumentFragment();\nwhile(tmp2.firstChild){frag2.appendChild(tmp2.firstChild);}\ntotalRow.parentNode.insertBefore(frag2,totalRow);\n}\nif(totalRow){\nvar tspans=totalRow.querySelectorAll('span');\nif(tspans.length>=2){tspans[1].textContent=money(total);}\n}\nvar fareEl=document.getElementById('mrlq-fare');\nif(fareEl){fareEl.innerHTML=esc(T.yourTotalBillIs)+' <strong>'+money(total)+'<\/strong> <span class=\"mrlq-incl\">'+esc(T.incl)+'<\/span>';}\nvar q=document.querySelector('input[name=\"quoted_total\"]');\nif(q){q.value=total.toFixed(2);fire(q);}\n}finally{\nif(billObserver&&breakdownEl){billObserver.observe(breakdownEl,{childList:true,subtree:true});}\n}\n}\nfunction init(){\nbreakdownEl=document.getElementById('mrlq-breakdown');\nif(!breakdownEl){setTimeout(init,500);return;}\nvar css='.mrlq-tip-btns{display:inline-flex;gap:6px;}'\n+'.mrlq-tip-btn{background:#2a2a2e;color:#e7cd8a;border:1px solid #c6a15b;padding:6px 12px;font-size:13px;cursor:pointer;border-radius:3px;font-family:inherit;line-height:1;}'\n+'.mrlq-tip-btn:hover{background:#3a3a40;}'\n+'.mrlq-tip-btn.sel{background:#c6a15b;color:#141416;font-weight:700;}'\n+'.mrlq-tip-btn.sel:hover{background:#d4b06a;}';\nvar st=document.createElement('style');\nst.textContent=css;\ndocument.head.appendChild(st);\nvar btnText=document.querySelector('#mrlq-form-wrap .mfb-button__text');\nif(btnText){btnText.textContent=T.submit;}\nbreakdownEl.addEventListener('click',function(e){\nvar t=e.target,btn=null;\nwhile(t&&t!==breakdownEl){\nif(t.tagName==='BUTTON'&&t.classList.contains('mrlq-tip-btn')){btn=t;break;}\nt=t.parentNode;\n}\nif(!btn)return;\nvar rate=parseFloat(btn.getAttribute('data-tip'));\nif(isNaN(rate))return;\nwindow.mrlqTipRate=rate;\napplyTip();\n});\nif(window.MutationObserver){\nbillObserver=new MutationObserver(function(){applyTip();});\nbillObserver.observe(breakdownEl,{childList:true,subtree:true});\n}\napplyTip();\n}\nif(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init();\n})();\n<\/script>\n\n\n\n<script>\n(function(){\n\"use strict\";\nvar p=(location.pathname||'');\nvar isFR=false;\nif(p.indexOf('\/fr\/')===0){isFR=true;}\nif(p==='\/fr'){isFR=true;}\nif(!isFR){var lg=document.documentElement.getAttribute('lang')||'';if(lg.indexOf('fr')===0){isFR=true;}}\nif(!isFR)return;\nif(typeof window.mrlqTipRate!=='number'){window.mrlqTipRate=0.20;}\nfunction r2(n){return Math.round(n*100)\/100;}\nfunction money(n){return '$'+n.toFixed(2)+' CAD';}\nfunction num(s){var o='',c,i;s=String(s||'');for(i=0;i<s.length;i++){c=s.charAt(i);var ok=false;if(c>='0'){if(c<='9'){ok=true;}}if(c==='.'){ok=true;}if(ok){o+=c;}}var v=parseFloat(o);if(isNaN(v)){return null;}return v;}\nvar lastKey='',cssDone=false;\nfunction css(){if(cssDone)return;cssDone=true;if(document.getElementById('mrlq-fr-tip-css'))return;var s=document.createElement('style');s.id='mrlq-fr-tip-css';s.textContent='.mrlq-tip-btns{display:inline-flex;gap:6px}.mrlq-tip-btn{background:#2a2a2e;color:#e7cd8a;border:1px solid #c6a15b;padding:6px 12px;font-size:13px;cursor:pointer;border-radius:3px;font-family:inherit;line-height:1}.mrlq-tip-btn.sel{background:#c6a15b;color:#141416;font-weight:700}';document.head.appendChild(s);}\nfunction mkRow(cls,label,value){var d=document.createElement('div');d.className='mrlq-brow '+cls;var a=document.createElement('span');a.textContent=label;d.appendChild(a);var b=document.createElement('span');b.textContent=value;d.appendChild(b);return d;}\nfunction buildRows(rate,tip){\n var sel=document.createElement('div');sel.className='mrlq-brow mrlq-tip-select-row';\n var la=document.createElement('span');la.textContent='Pourboire';sel.appendChild(la);\n var wrap=document.createElement('span');wrap.className='mrlq-tip-btns';\n var rates=[0.15,0.20,0.25];\n for(var i=0;i<rates.length;i++){\n  var rr=rates[i];\n  var btn=document.createElement('button');btn.type='button';\n  var cn='mrlq-tip-btn';if(Math.abs(rate-rr)<0.001){cn+=' sel';}\n  btn.className=cn;btn.setAttribute('data-rate',rr.toFixed(2));btn.textContent=Math.round(rr*100)+'%';\n  wrap.appendChild(btn);\n }\n sel.appendChild(wrap);\n var amt=mkRow('mrlq-tip-amount-row','Pourboire ('+Math.round(rate*100)+'%)',money(tip));\n return [sel,amt];\n}\nfunction apply(){\n var b=document.getElementById('mrlq-breakdown');if(!b)return;\n var rows=b.querySelectorAll('.mrlq-brow');\n var sub=null,grat=null,tot=null,i,sp,lb,cls;\n for(i=0;i<rows.length;i++){\n  cls=rows[i].className||'';\n  if(cls.indexOf('mrlq-tip-select-row')!==-1)continue;\n  if(cls.indexOf('mrlq-tip-amount-row')!==-1)continue;\n  sp=rows[i].querySelectorAll('span');if(sp.length<1)continue;lb=sp[0].textContent||'';\n  if(rows[i].classList.contains('mrlq-brow-total')){tot=rows[i];}\n  if(lb.indexOf('Gratuity')!==-1){grat=rows[i];}\n  if(lb.indexOf('Pourboire')!==-1){grat=rows[i];}\n  if(sp.length>=2){\n   if(lb.indexOf('Subtotal')!==-1){var v1=num(sp[1].textContent);if(v1!==null){sub=v1;}}\n   if(lb.indexOf('Sous-total')!==-1){var v2=num(sp[1].textContent);if(v2!==null){sub=v2;}}\n  }\n }\n if(sub===null)return;\n if(!tot)return;\n var rate=window.mrlqTipRate;\n var taxes=r2(sub*0.14975),tip=r2(sub*rate),total=r2(sub+taxes+tip);\n var key=sub+'|'+rate+'|'+total;\n var exSel=b.querySelector('.mrlq-tip-select-row');\n var exAmt=b.querySelector('.mrlq-tip-amount-row');\n if(!grat){if(exSel){if(exAmt){if(lastKey===key)return;}}}\n css();\n if(grat){\n  var pair=buildRows(rate,tip);\n  grat.parentNode.insertBefore(pair[0],grat);\n  grat.parentNode.insertBefore(pair[1],grat);\n  grat.parentNode.removeChild(grat);\n }else{\n  if(exSel){\n   if(exAmt){\n    var asp=exAmt.querySelectorAll('span');\n    if(asp.length>=2){asp[0].textContent='Pourboire ('+Math.round(rate*100)+'%)';asp[1].textContent=money(tip);}\n    var btns=exSel.querySelectorAll('.mrlq-tip-btn');\n    for(i=0;i<btns.length;i++){\n     var br=parseFloat(btns[i].getAttribute('data-rate'));\n     if(Math.abs(br-rate)<0.001){btns[i].classList.add('sel');}\n     if(Math.abs(br-rate)>=0.001){btns[i].classList.remove('sel');}\n    }\n   }\n  }\n  if(!exSel){\n   var pair2=buildRows(rate,tip);\n   tot.parentNode.insertBefore(pair2[0],tot);\n   tot.parentNode.insertBefore(pair2[1],tot);\n  }\n }\n var tsp=tot.querySelectorAll('span');\n if(tsp.length>=2){tsp[1].textContent=money(total);}\n var fe=document.getElementById('mrlq-fare');\n if(fe){\n  while(fe.firstChild){fe.removeChild(fe.firstChild);}\n  fe.appendChild(document.createTextNode('Le total de votre facture est '));\n  var st=document.createElement('strong');st.textContent=money(total);fe.appendChild(st);\n  fe.appendChild(document.createTextNode(' '));\n  var sb=document.createElement('span');sb.className='mrlq-incl';sb.textContent='taxes et pourboire inclus';fe.appendChild(sb);\n }\n var ins=document.querySelectorAll('input');\n for(i=0;i<ins.length;i++){if(ins[i].name==='quoted_total'){ins[i].value=total.toFixed(2);break;}}\n lastKey=key;\n}\ndocument.addEventListener('click',function(e){\n var t=e.target;\n if(!t)return;\n if(!t.classList)return;\n if(!t.classList.contains('mrlq-tip-btn'))return;\n var r=parseFloat(t.getAttribute('data-rate'));\n if(isNaN(r))return;\n window.mrlqTipRate=r;\n lastKey='';\n apply();\n});\nfunction boot(){apply();setInterval(apply,800);}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',boot);}else{boot();}\n})();\n<\/script>\n<script>\n(function(){\n\"use strict\";\nvar FR=false;\nvar p=(location.pathname||'');\nif(p.indexOf('\/fr\/')===0){FR=true;}\nif(p==='\/fr'){FR=true;}\nif(!FR){var lg=document.documentElement.getAttribute('lang')||'';if(lg.indexOf('fr')===0){FR=true;}}\nvar MSG=FR?'Les r\u00e9servations instantan\u00e9es exigent un pr\u00e9avis d\\u2019au moins 3 heures avant la prise en charge.':'Instant bookings require at least 3 hours\\u2019 notice before pickup.';\nfunction fieldEl(n){var a=document.querySelector('input[name=\"'+n+'\"]');if(a)return a;return document.querySelector('input[name=\"'+n+'[]\"]');}\nfunction digits(s){var o='',i,c;s=String(s||'');for(i=0;i<s.length;i++){c=s.charAt(i);var ok=false;if(c>='0'){if(c<='9'){ok=true;}}if(ok){o+=c;}}return o;}\nfunction parseDateParts(ds){\n ds=String(ds||'');\n var parts=null;\n if(ds.indexOf('-')!==-1){parts=ds.split('-');}\n if(ds.indexOf('\/')!==-1){parts=ds.split('\/');}\n if(!parts)return null;\n if(parts.length!==3)return null;\n var a=parseInt(parts[0],10),b=parseInt(parts[1],10),c=parseInt(parts[2],10);\n if(isNaN(a))return null;\n if(isNaN(b))return null;\n if(isNaN(c))return null;\n if(parts[0].length===4){return {y:a,mo:b,d:c};}\n if(parts[2].length===4){\n  if(ds.indexOf('\/')!==-1){return {y:c,mo:a,d:b};}\n  return {y:c,mo:b,d:a};\n }\n return null;\n}\nfunction parseTimeParts(ts){\n var t=String(ts||'');\n var ci=t.indexOf(':');\n if(ci===-1)return null;\n var hp=t.substring(0,ci);\n var mp=t.substring(ci+1);\n var h=parseInt(digits(hp),10);\n var mi=parseInt(digits(mp),10);\n if(isNaN(h))return null;\n if(isNaN(mi)){mi=0;}\n var lower=t.toLowerCase();\n var isPm=false,isAm=false;\n if(lower.indexOf('pm')!==-1){isPm=true;}\n if(lower.indexOf('am')!==-1){isAm=true;}\n if(isPm){if(h<12){h+=12;}}\n if(isAm){if(h===12){h=0;}}\n return {h:h,mi:mi};\n}\nfunction pickupDate(){\n var de=fieldEl('pickup_date'),te=fieldEl('pickup_time');\n if(!de)return null;\n if(!te)return null;\n var ds=de.value||'',ts=te.value||'';\n if(!ds)return null;\n if(!ts)return null;\n var dp=parseDateParts(ds);\n if(!dp)return null;\n var tp=parseTimeParts(ts);\n if(!tp)return null;\n return new Date(dp.y,dp.mo-1,dp.d,tp.h,tp.mi,0);\n}\nfunction tooSoon(){\n var d=pickupDate();\n if(!d)return false;\n var diff=d.getTime()-Date.now();\n if(diff<3*3600*1000)return true;\n return false;\n}\nfunction showErr(){\n var e=document.getElementById('mrlq-error');\n if(!e)return;\n e.textContent=MSG;\n e.style.display='block';\n}\ndocument.addEventListener('submit',function(e){\n var f=e.target;\n if(!f)return;\n if(f.tagName!=='FORM')return;\n var has=false;\n var ins=f.querySelectorAll('input');\n for(var i=0;i<ins.length;i++){if(ins[i].name==='pickup_date'){has=true;}}\n if(!has)return;\n if(tooSoon()){\n  e.preventDefault();\n  e.stopPropagation();\n  if(e.stopImmediatePropagation){e.stopImmediatePropagation();}\n  showErr();\n  var er=document.getElementById('mrlq-error');\n  if(er){if(er.scrollIntoView){er.scrollIntoView({behavior:'smooth',block:'center'});}}\n }\n},true);\nfunction onCh(){setTimeout(function(){if(tooSoon()){showErr();}},80);}\ndocument.addEventListener('change',function(e){\n var n='';\n if(e.target){n=e.target.name||'';}\n if(n==='pickup_date'){onCh();}\n if(n==='pickup_time'){onCh();}\n});\ndocument.addEventListener('input',function(e){\n var n='';\n if(e.target){n=e.target.name||'';}\n if(n==='pickup_date'){onCh();}\n if(n==='pickup_time'){onCh();}\n});\n})();\n<\/script>\n\n\n\n<script>\n(function(){\n\"use strict\";\nvar FR=(function(){try{var p=location.pathname||'';if(\/^\\\/fr(\\\/|$)\/i.test(p))return true;var l=document.documentElement.getAttribute('lang')||'';return \/^fr\/i.test(l);}catch(e){return false;}})();\nvar T={\noptionsTitle:FR?'Ajoutez des options':'Add options',\nmeet:FR?'Accueil \\u00e0 l\\u2019arriv\\u00e9e':'Meet-and-greet',\nchild:FR?'Si\\u00e8ge d\\u2019auto':'Child seat',\nbooster:FR?'Si\\u00e8ge d\\u2019appoint':'Booster seat',\nadd:FR?'Ajouter':'Add',\nadded:FR?'Ajout\\u00e9':'Added',\nperSeat:FR?'\/si\\u00e8ge':'\/seat',\nack:FR?'Je reconnais et j\\u2019accepte de proc\\u00e9der':'I acknowledge and agree to proceed',\nackRequired:FR?'Veuillez cocher la case de confirmation pour continuer.':'Please tick the acknowledgment checkbox to continue.',\npayline:FR?'R\\u00e9servation re\\u00e7ue \\u2014 notre \\u00e9quipe vous enverra un lien de paiement.':'Booking received \\u2014 our team will send you a payment link.',\ntip:FR?'Pourboire':'Tip',\nyourTotalBillIs:FR?'Le total de votre facture est':'Your total bill is',\nincl:FR?'taxes et pourboire inclus':'taxes \\u0026 tip included',\nsubmit:FR?'Soumettre':'Submit'\n};\nif(typeof window.mrlqTipRate==='undefined'){window.mrlqTipRate=0.20;}\nfunction esc(s){return String(s).replace(\/[\\u0026<>\"']\/g,function(c){var m={};m['\\u0026']='\\u0026amp;';m['<']='\\u0026lt;';m['>']='\\u0026gt;';m['\"']='\\u0026quot;';m[\"'\"]='\\u0026#39;';return m[c];});}\nfunction r2(n){return Math.round(n*100)\/100;}\nfunction money(n){return '$'+n.toFixed(2)+' CAD';}\nfunction fieldEl(n){var a=document.querySelector('[name=\"'+n+'\"]');if(a)return a;return document.querySelector('[name=\"'+n+'[]\"]');}\nfunction fieldVal(n){var el=fieldEl(n);if(!el)return null;if(el.type==='checkbox')return el.checked;return el.value;}\nfunction qty(n){var v=parseInt(fieldVal(n),10);if(isNaN(v))return 0;if(v<0)return 0;return v;}\nfunction fire(el){if(!el)return;try{el.dispatchEvent(new Event('input',{bubbles:true}));}catch(e){}try{el.dispatchEvent(new Event('change',{bubbles:true}));}catch(e){}}\nvar optionsDiv=null,ackDiv=null,ackCheck=null,submitBtn=null,breakdownEl=null,billObserver=null;\nfunction getSubmitBtn(){return document.querySelector('#mrlq-form-wrap button[type=\"submit\"]');}\nfunction updateSubmitState(){if(!submitBtn){submitBtn=getSubmitBtn();}if(submitBtn){var ok=false;if(ackCheck){if(ackCheck.checked){ok=true;}}submitBtn.disabled=!ok;}}\nfunction hasQuote(){var b=document.getElementById('mrlq-breakdown');if(!b)return false;var t=b.querySelector('.mrlq-brow-total');if(t)return true;return false;}\nfunction renderOptionsUI(){if(!optionsDiv)return;if(!hasQuote()){optionsDiv.style.display='none';optionsDiv.innerHTML='';return;}optionsDiv.style.display='';var meetOn=false;if(fieldVal('meet_greet')===true){meetOn=true;}var cs=qty('child_seat');var bs=qty('booster_seat');var h='<div class=\"mrlq-options-title\">'+esc(T.optionsTitle)+'<\/div>';var meetBtn=meetOn?T.added:T.add;var meetAction=meetOn?'remove':'add';h+='<div class=\"mrlq-option\"><span class=\"mrlq-opt-name\">'+esc(T.meet)+'<\/span><span class=\"mrlq-opt-price\">+$45.00<\/span><button type=\"button\" class=\"'+(meetOn?'mrlq-opt-btn is-added':'mrlq-opt-btn')+'\" data-opt=\"meet\" data-action=\"'+meetAction+'\">'+esc(meetBtn)+'<\/button><\/div>';h+='<div class=\"mrlq-option\"><span class=\"mrlq-opt-name\">'+esc(T.child)+'<\/span><span class=\"mrlq-opt-price\">+$25.00'+esc(T.perSeat)+'<\/span><span class=\"mrlq-stepper\"><button type=\"button\" class=\"mrlq-step-btn\" data-opt=\"child\" data-action=\"dec\">\\u2212<\/button><span class=\"mrlq-opt-qty\">'+cs+'<\/span><button type=\"button\" class=\"mrlq-step-btn\" data-opt=\"child\" data-action=\"inc\">+<\/button><\/span><\/div>';h+='<div class=\"mrlq-option\"><span class=\"mrlq-opt-name\">'+esc(T.booster)+'<\/span><span class=\"mrlq-opt-price\">+$15.00'+esc(T.perSeat)+'<\/span><span class=\"mrlq-stepper\"><button type=\"button\" class=\"mrlq-step-btn\" data-opt=\"booster\" data-action=\"dec\">\\u2212<\/button><span class=\"mrlq-opt-qty\">'+bs+'<\/span><button type=\"button\" class=\"mrlq-step-btn\" data-opt=\"booster\" data-action=\"inc\">+<\/button><\/span><\/div>';optionsDiv.innerHTML=h;}\nfunction updateAckUI(){if(!ackDiv)return;if(hasQuote()){ackDiv.style.display='';var txt=document.getElementById('mrlq-ack-text');if(txt){txt.textContent=T.ack;}}else{ackDiv.style.display='none';if(ackCheck){ackCheck.checked=false;}}updateSubmitState();}\nfunction onOptionsClick(e){var t=e.target,btn=null;while(t){if(t===optionsDiv){break;}if(t.tagName==='BUTTON'){var dopt=t.getAttribute('data-opt');if(dopt){btn=t;break;}}t=t.parentNode;}if(!btn)return;var opt=btn.getAttribute('data-opt');var action=btn.getAttribute('data-action');if(opt==='meet'){var mg=fieldEl('meet_greet');if(mg){if(action==='add'){mg.checked=true;}else{mg.checked=false;}fire(mg);}}else{var fname='booster_seat';if(opt==='child'){fname='child_seat';}var el=document.querySelector('[name=\"'+fname+'\"]');if(el){var cur=parseInt(el.value,10);if(isNaN(cur)){cur=0;}if(action==='inc'){if(cur<4){el.value=cur+1;}}if(action==='dec'){if(cur>0){el.value=cur-1;}}fire(el);}}setTimeout(function(){renderOptionsUI();updateAckUI();},60);}\nfunction getSubtotal(){var b=document.getElementById('mrlq-breakdown');if(!b)return null;var rows=b.querySelectorAll('.mrlq-brow');for(var i=0;i<rows.length;i++){var cls=rows[i].className||'';if(cls.indexOf('mrlq-tip-select-row')!==-1)continue;if(cls.indexOf('mrlq-tip-amount-row')!==-1)continue;var spans=rows[i].querySelectorAll('span');if(spans.length<2)continue;var label=spans[0].textContent||'';var isSub=false;if(label.indexOf('Subtotal')!==-1){isSub=true;}if(label.indexOf('Sous-total')!==-1){isSub=true;}if(isSub){var v=(spans[1].textContent||'').replace(\/[^0-9.]\/g,'');var n=parseFloat(v);if(isNaN(n))return null;return n;}}return null;}\nfunction pctLabel(rate){return Math.round(rate*100)+'%';}\nfunction applyTip(){if(!breakdownEl)return;var subtotal=getSubtotal();if(subtotal===null)return;var taxes=r2(subtotal*0.14975);var tip=r2(subtotal*window.mrlqTipRate);var total=r2(subtotal+taxes+tip);if(billObserver){billObserver.disconnect();}try{var rows=breakdownEl.querySelectorAll('.mrlq-brow');var gratRow=null,totalRow=null;for(var i=0;i<rows.length;i++){var cls=rows[i].className||'';if(cls.indexOf('mrlq-tip-select-row')!==-1)continue;if(cls.indexOf('mrlq-tip-amount-row')!==-1)continue;var spans=rows[i].querySelectorAll('span');if(spans.length<1)continue;var label=spans[0].textContent||'';var isGrat=false;if(label.indexOf('Gratuity')!==-1){isGrat=true;}if(label.indexOf('Pourboire')!==-1){isGrat=true;}if(isGrat){gratRow=rows[i];}if(cls.indexOf('mrlq-brow-total')!==-1){totalRow=rows[i];}}var selHtml='<div class=\"mrlq-brow mrlq-tip-select-row\"><span>'+esc(T.tip)+'<\/span><span class=\"mrlq-tip-btns\">';var rates=[0.15,0.20,0.25];for(var r=0;r<rates.length;r++){var diff=Math.abs(rates[r]-window.mrlqTipRate);var sel='';if(diff<0.001){sel=' sel';}selHtml+='<button type=\"button\" class=\"mrlq-tip-btn'+sel+'\" data-tip=\"'+rates[r]+'\">'+pctLabel(rates[r])+'<\/button>';}selHtml+='<\/span><\/div>';selHtml+='<div class=\"mrlq-brow mrlq-tip-amount-row\"><span>'+esc(T.tip)+' ('+pctLabel(window.mrlqTipRate)+')<\/span><span>'+money(tip)+'<\/span><\/div>';var existingSel=breakdownEl.querySelector('.mrlq-tip-select-row');if(gratRow){var tmp=document.createElement('div');tmp.innerHTML=selHtml;var frag=document.createDocumentFragment();while(tmp.firstChild){frag.appendChild(tmp.firstChild);}gratRow.parentNode.insertBefore(frag,gratRow);gratRow.parentNode.removeChild(gratRow);}else{if(existingSel){var amtRow=breakdownEl.querySelector('.mrlq-tip-amount-row');if(amtRow){var aspans=amtRow.querySelectorAll('span');if(aspans.length>=2){aspans[0].textContent=T.tip+' ('+pctLabel(window.mrlqTipRate)+')';aspans[1].textContent=money(tip);}}var btns=breakdownEl.querySelectorAll('.mrlq-tip-btn');for(var bi=0;bi<btns.length;bi++){var br=parseFloat(btns[bi].getAttribute('data-tip'));var bdiff=Math.abs(br-window.mrlqTipRate);if(bdiff<0.001){btns[bi].classList.add('sel');}else{btns[bi].classList.remove('sel');}}}else{if(totalRow){var tmp2=document.createElement('div');tmp2.innerHTML=selHtml;var frag2=document.createDocumentFragment();while(tmp2.firstChild){frag2.appendChild(tmp2.firstChild);}totalRow.parentNode.insertBefore(frag2,totalRow);}}}if(totalRow){var tspans=totalRow.querySelectorAll('span');if(tspans.length>=2){tspans[1].textContent=money(total);}}var fareEl=document.getElementById('mrlq-fare');if(fareEl){fareEl.innerHTML=esc(T.yourTotalBillIs)+' <strong>'+money(total)+'<\/strong> <span class=\"mrlq-incl\">'+esc(T.incl)+'<\/span>';}var q=document.querySelector('input[name=\"quoted_total\"]');if(q){q.value=total.toFixed(2);fire(q);}}finally{if(billObserver){if(breakdownEl){billObserver.observe(breakdownEl,{childList:true,subtree:true});}}}}\nfunction injectCSS(){var css='.mrlq-options{grid-column:1\/-1;margin-top:14px;border-top:1px solid rgba(198,161,91,.35);padding-top:12px;}'+'.mrlq-options-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#c6a15b;margin-bottom:6px;font-weight:600;}'+'.mrlq-option{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(198,161,91,.15);}'+'.mrlq-opt-name{flex:1;font-size:14px;color:#ece7db;}'+'.mrlq-opt-price{font-size:14px;color:#e7cd8a;white-space:nowrap;}'+'.mrlq-opt-btn{background:#c6a15b;color:#141416;border:none;padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;border-radius:3px;font-family:inherit;}'+'.mrlq-opt-btn:hover{background:#d4b06a;}'+'.mrlq-opt-btn.is-added{background:#3a352c;color:#e7cd8a;}'+'.mrlq-stepper{display:flex;align-items:center;gap:8px;}'+'.mrlq-step-btn{width:32px;height:32px;background:#2a2a2e;color:#e7cd8a;border:1px solid #c6a15b;font-size:18px;cursor:pointer;border-radius:3px;line-height:1;font-family:inherit;padding:0;}'+'.mrlq-step-btn:hover{background:#3a3a40;}'+'.mrlq-opt-qty{min-width:24px;text-align:center;font-size:15px;font-weight:700;color:#fff;}'+'.mrlq-ack{grid-column:1\/-1;margin-top:14px;padding-top:14px;border-top:1px solid rgba(198,161,91,.35);}'+'.mrlq-ack-label{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#ece7db;cursor:pointer;line-height:1.5;}'+'.mrlq-ack-label input{width:18px;height:18px;margin-top:2px;accent-color:#c6a15b;flex-shrink:0;}'+'.mfb-button:disabled{opacity:.45;cursor:not-allowed;}'+'.mrlq-tip-btns{display:inline-flex;gap:6px;}'+'.mrlq-tip-btn{background:#2a2a2e;color:#e7cd8a;border:1px solid #c6a15b;padding:6px 12px;font-size:13px;cursor:pointer;border-radius:3px;font-family:inherit;line-height:1;}'+'.mrlq-tip-btn:hover{background:#3a3a40;}'+'.mrlq-tip-btn.sel{background:#c6a15b;color:#141416;font-weight:700;}'+'.mrlq-tip-btn.sel:hover{background:#d4b06a;}';var st=document.createElement('style');st.textContent=css;document.head.appendChild(st);}\nfunction init(){var distEl=document.getElementById('mrlq-dist');breakdownEl=document.getElementById('mrlq-breakdown');if(!distEl){setTimeout(init,500);return;}if(!breakdownEl){setTimeout(init,500);return;}injectCSS();optionsDiv=document.createElement('div');optionsDiv.className='mrlq-options';optionsDiv.id='mrlq-options';optionsDiv.style.display='none';distEl.parentNode.insertBefore(optionsDiv,breakdownEl);optionsDiv.addEventListener('click',onOptionsClick);ackDiv=document.createElement('div');ackDiv.className='mrlq-ack';ackDiv.id='mrlq-ack';ackDiv.style.display='none';ackDiv.innerHTML='<label class=\"mrlq-ack-label\"><input type=\"checkbox\" id=\"mrlq-ack-check\"><span id=\"mrlq-ack-text\"><\/span><\/label>';breakdownEl.parentNode.insertBefore(ackDiv,breakdownEl.nextSibling);ackCheck=document.getElementById('mrlq-ack-check');if(ackCheck){ackCheck.addEventListener('change',updateSubmitState);}var payline=document.querySelector('.mrlq-payline');if(payline){payline.textContent=T.payline;}var btnText=document.querySelector('#mrlq-form-wrap .mfb-button__text');if(btnText){btnText.textContent=T.submit;}updateSubmitState();if(window.MutationObserver){var obs1=new MutationObserver(function(){renderOptionsUI();updateAckUI();});obs1.observe(breakdownEl,{childList:true,subtree:true});billObserver=new MutationObserver(function(){applyTip();});billObserver.observe(breakdownEl,{childList:true,subtree:true});}document.addEventListener('change',function(e){var tg=e.target;var n='';if(tg){n=tg.name||'';}var relevant=false;if(n==='child_seat'){relevant=true;}if(n==='booster_seat'){relevant=true;}if(n==='meet_greet'){relevant=true;}if(n==='meet_greet[]'){relevant=true;}if(n==='vehicle'){relevant=true;}if(n==='sprinter_hours'){relevant=true;}if(relevant){setTimeout(function(){renderOptionsUI();updateAckUI();},60);}},true);breakdownEl.addEventListener('click',function(e){var t=e.target,btn=null;while(t){if(t===breakdownEl){break;}if(t.tagName==='BUTTON'){var c=t.className||'';if(c.indexOf('mrlq-tip-btn')!==-1){btn=t;break;}}t=t.parentNode;}if(!btn)return;var rate=parseFloat(btn.getAttribute('data-tip'));if(isNaN(rate))return;window.mrlqTipRate=rate;applyTip();});document.addEventListener('submit',function(e){var f=e.target;if(!f)return;if(f.tagName!=='FORM')return;var pl=f.querySelector('input[name=\"pickup_location\"]');if(!pl)return;var ac=document.getElementById('mrlq-ack-check');if(ac){if(!ac.checked){e.preventDefault();e.stopPropagation();var errEl=document.getElementById('mrlq-error');if(errEl){errEl.textContent=T.ackRequired;errEl.style.display='block';}var ad=document.getElementById('mrlq-ack');if(ad){if(ad.scrollIntoView){ad.scrollIntoView({behavior:'smooth',block:'center'});}}}}}},true);renderOptionsUI();updateAckUI();applyTip();}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n<\/script>\n\n\n\n<script>\n(function(){\n\"use strict\";\n\/* MRL 2026-10-25 - \/airport-quote\/ fare alignment (page 2369 only).\nLatest approved airport table: Escalade $150 flat, Suburban $130 flat, Sprinter $250 per hour.\nCorrects the base-fare and subtotal rows after each quote render; the existing\ntip scripts then recompute taxes (14.975%), tip and total from the corrected subtotal. *\/\nfunction $(s,r){return (r||document).querySelector(s);}\nfunction r2(n){return Math.round(n*100)\/100;}\nfunction money(n){return '$'+n.toFixed(2)+' CAD';}\nvar FR=false;\ntry{\nvar pth=location.pathname||'';\nif(pth.indexOf('\/fr\/')===0){FR=true;}\nif(pth==='\/fr'){FR=true;}\nif(!FR){var lg=document.documentElement.getAttribute('lang')||'';if(lg.indexOf('fr')===0){FR=true;}}\n}catch(e){}\nvar BASE_LABEL=FR?'Tarif de base':'Base fare';\nfunction vehicleKey(){\nvar s=$('select[name=\"vehicle\"]');\nvar v='';\nif(s){v=s.value||'';}\nif(\/escalade\/i.test(v)){return 'escalade';}\nif(\/suburban\/i.test(v)){return 'suburban';}\nif(\/sprinter\/i.test(v)){return 'sprinter';}\nvar t='';\nif(s){if(s.selectedIndex>=0){var o=s.options[s.selectedIndex];if(o){t=o.text||'';}}}\nif(\/escalade\/i.test(t)){return 'escalade';}\nif(\/suburban\/i.test(t)){return 'suburban';}\nif(\/sprinter\/i.test(t)){return 'sprinter';}\nreturn '';\n}\nfunction sprinterHours(){\nvar el=document.querySelector('[name=\"sprinter_hours\"]')||document.querySelector('[name=\"sprinter_hours[]\"]');\nvar h=el?parseInt(el.value,10):1;\nreturn (isNaN(h)||h<1)?1:h;\n}\nfunction newBase(){\nvar k=vehicleKey();\nif(k==='escalade'){return 150;}\nif(k==='suburban'){return 130;}\nif(k==='sprinter'){return 250*sprinterHours();}\nreturn null;\n}\nfunction fieldEl(n){\nvar a=document.querySelector('[name=\"'+n+'\"]');\nif(a){return a;}\nreturn document.querySelector('[name=\"'+n+'[]\"]');\n}\nfunction fieldVal(n){\nvar el=fieldEl(n);\nif(!el){return null;}\nif(el.type==='checkbox'){return el.checked;}\nreturn el.value;\n}\nfunction qty(n){\nvar v=parseInt(fieldVal(n),10);\nif(isNaN(v)){return 0;}\nif(v<0){return 0;}\nreturn v;\n}\nfunction addonsTotal(){\nvar t=0;\nif(fieldVal('meet_greet')===true){t+=45;}\nt+=25*qty('child_seat');\nt+=15*qty('booster_seat');\nreturn t;\n}\nfunction parseMoney(s){\nvar v=String(s||'').replace(\/[^0-9.]\/g,'');\nvar n=parseFloat(v);\nif(isNaN(n)){return null;}\nreturn n;\n}\nfunction vehicleName(){\nvar s=$('select[name=\"vehicle\"]');\nif(s){if(s.selectedIndex>=0){var o=s.options[s.selectedIndex];if(o){return String(o.text||'').replace(\/\\s*\\*\\s*$\/,'').trim();}}}\nvar k=vehicleKey();\nif(k==='escalade'){return 'Cadillac Escalade';}\nif(k==='suburban'){return 'Chevrolet Suburban';}\nif(k==='sprinter'){return 'Mercedes Sprinter';}\nreturn '';\n}\nfunction fixRows(){\nvar b=document.getElementById('mrlq-breakdown');\nif(!b){return;}\nvar rows=b.querySelectorAll('.mrlq-brow');\nif(!rows){return;}\nif(rows.length===0){return;}\nvar base=newBase();\nif(base===null){return;}\nvar wantSub=r2(base+addonsTotal());\nvar baseRow=rows[0];\nvar spans=baseRow.querySelectorAll('span');\nif(spans.length<2){return;}\nvar curBase=parseMoney(spans[1].textContent);\nif(curBase===null){return;}\nvar subRow=null,i,sp,lb,cls;\nfor(i=0;i<rows.length;i++){\ncls=rows[i].className||'';\nif(cls.indexOf('mrlq-tip-select-row')!==-1){continue;}\nif(cls.indexOf('mrlq-tip-amount-row')!==-1){continue;}\nsp=rows[i].querySelectorAll('span');\nif(sp.length<2){continue;}\nlb=sp[0].textContent||'';\nif(lb.indexOf('Subtotal')!==-1){subRow=rows[i];}\nif(lb.indexOf('Sous-total')!==-1){subRow=rows[i];}\n}\nvar need=false;\nif(Math.abs(curBase-base)>=0.001){need=true;}\nvar curSub=null;\nif(subRow){\nvar ssp=subRow.querySelectorAll('span');\nif(ssp.length>=2){curSub=parseMoney(ssp[1].textContent);}\n}\nif(curSub===null){need=true;}\nelse{if(Math.abs(curSub-wantSub)>=0.001){need=true;}}\nif(!need){return;}\nspans[0].textContent=BASE_LABEL+' \\u2014 '+vehicleName();\nspans[1].textContent=money(base);\nif(subRow){\nvar ssp2=subRow.querySelectorAll('span');\nif(ssp2.length>=2){ssp2[1].textContent=money(wantSub);}\n}\n}\nfunction init(){\nvar b=document.getElementById('mrlq-breakdown');\nif(!b){setTimeout(init,500);return;}\nif(window.MutationObserver){\nnew MutationObserver(function(){fixRows();}).observe(b,{childList:true,subtree:true});\n}\nfixRows();\n}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n<\/script>\n\n\n\n<script>\n(function(){\n\"use strict\";\n\/* MRL 2026-10-23 - taxes row correction (companion to the fare-alignment script).\n   The tip scripts recompute the total from the corrected subtotal but never rewrite\n   the Taxes row, so correct it here: taxes = round2(subtotal * 0.14975). *\/\nfunction r2(n){return Math.round(n*100)\/100;}\nfunction money(n){return '$'+n.toFixed(2)+' CAD';}\nfunction parseMoney(s){\nvar v=String(s||'').replace(\/[^0-9.]\/g,'');\nvar n=parseFloat(v);\nif(isNaN(n)){return null;}\nreturn n;\n}\nfunction fixTax(){\nvar b=document.getElementById('mrlq-breakdown');\nif(!b){return;}\nvar rows=b.querySelectorAll('.mrlq-brow');\nif(!rows){return;}\nvar subRow=null,taxRow=null,i,sp,lb,cls;\nfor(i=0;i<rows.length;i++){\ncls=rows[i].className||'';\nif(cls.indexOf('mrlq-tip-select-row')!==-1){continue;}\nif(cls.indexOf('mrlq-tip-amount-row')!==-1){continue;}\nsp=rows[i].querySelectorAll('span');\nif(sp.length<2){continue;}\nlb=sp[0].textContent||'';\nif(lb.indexOf('Subtotal')!==-1){subRow=rows[i];}\nif(lb.indexOf('Sous-total')!==-1){subRow=rows[i];}\nif(lb.indexOf('Taxes')!==-1){taxRow=rows[i];}\n}\nif(!subRow){return;}\nif(!taxRow){return;}\nvar ssp=subRow.querySelectorAll('span');\nif(ssp.length<2){return;}\nvar sub=parseMoney(ssp[1].textContent);\nif(sub===null){return;}\nvar wantTax=r2(sub*0.14975);\nvar tsp=taxRow.querySelectorAll('span');\nif(tsp.length<2){return;}\nvar curTax=parseMoney(tsp[1].textContent);\nif(curTax===null){return;}\nif(Math.abs(curTax-wantTax)<0.001){return;}\ntsp[1].textContent=money(wantTax);\n}\nfunction init(){\nvar b=document.getElementById('mrlq-breakdown');\nif(!b){setTimeout(init,500);return;}\nif(window.MutationObserver){\nnew MutationObserver(function(){fixTax();}).observe(b,{childList:true,subtree:true});\n}\nfixTax();\n}\nif(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Montreal Royal Limo &bull; YUL Airport Transfers Instant Airport Quote Get your exact airport fare in seconds. Enter your pickup and drop-off, choose your vehicle, and your live fare appears instantly &mdash; then send your booking request and receive your reservation number on the spot. Your booking referenceMRL-2026-&hellip; Your fareEnter your pickup and drop-off to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_theme","meta":{"footnotes":""},"class_list":["post-2369","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Instant Airport Quote - Montreal Royal Limo<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/montrealroyallimo.ca\/fr\/airport-quote\/\" \/>\n<meta property=\"og:locale\" content=\"fr_CA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Instant Airport Quote - Montreal Royal Limo\" \/>\n<meta property=\"og:description\" content=\"Montreal Royal Limo &bull; YUL Airport Transfers Instant Airport Quote Get your exact airport fare in seconds. Enter your pickup and drop-off, choose your vehicle, and your live fare appears instantly &mdash; then send your booking request and receive your reservation number on the spot. Your booking referenceMRL-2026-&hellip; Your fareEnter your pickup and drop-off to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/montrealroyallimo.ca\/fr\/airport-quote\/\" \/>\n<meta property=\"og:site_name\" content=\"Montreal Royal Limo\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-25T13:16:07+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimation du temps de lecture\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/airport-quote\\\/\",\"url\":\"https:\\\/\\\/montrealroyallimo.ca\\\/airport-quote\\\/\",\"name\":\"Instant Airport Quote - Montreal Royal Limo\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/#website\"},\"datePublished\":\"2026-10-22T18:19:21+00:00\",\"dateModified\":\"2026-10-25T13:16:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/airport-quote\\\/#breadcrumb\"},\"inLanguage\":\"fr-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/montrealroyallimo.ca\\\/airport-quote\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/airport-quote\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/montrealroyallimo.ca\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Instant Airport Quote\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/#website\",\"url\":\"https:\\\/\\\/montrealroyallimo.ca\\\/\",\"name\":\"Montreal Royal Limo\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/montrealroyallimo.ca\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/#organization\",\"name\":\"Montreal Royal Limo\",\"url\":\"https:\\\/\\\/montrealroyallimo.ca\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-CA\",\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/montrealroyallimo.ca\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/mrl-logo-official.png\",\"contentUrl\":\"https:\\\/\\\/montrealroyallimo.ca\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/mrl-logo-official.png\",\"width\":1983,\"height\":793,\"caption\":\"Montreal Royal Limo\"},\"image\":{\"@id\":\"https:\\\/\\\/montrealroyallimo.ca\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Instant Airport Quote - Montreal Royal Limo","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/montrealroyallimo.ca\/fr\/airport-quote\/","og_locale":"fr_CA","og_type":"article","og_title":"Instant Airport Quote - Montreal Royal Limo","og_description":"Montreal Royal Limo &bull; YUL Airport Transfers Instant Airport Quote Get your exact airport fare in seconds. Enter your pickup and drop-off, choose your vehicle, and your live fare appears instantly &mdash; then send your booking request and receive your reservation number on the spot. Your booking referenceMRL-2026-&hellip; Your fareEnter your pickup and drop-off to [&hellip;]","og_url":"https:\/\/montrealroyallimo.ca\/fr\/airport-quote\/","og_site_name":"Montreal Royal Limo","article_modified_time":"2026-10-25T13:16:07+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimation du temps de lecture":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/montrealroyallimo.ca\/airport-quote\/","url":"https:\/\/montrealroyallimo.ca\/airport-quote\/","name":"Instant Airport Quote - Montreal Royal Limo","isPartOf":{"@id":"https:\/\/montrealroyallimo.ca\/#website"},"datePublished":"2026-10-22T18:19:21+00:00","dateModified":"2026-10-25T13:16:07+00:00","breadcrumb":{"@id":"https:\/\/montrealroyallimo.ca\/airport-quote\/#breadcrumb"},"inLanguage":"fr-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/montrealroyallimo.ca\/airport-quote\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/montrealroyallimo.ca\/airport-quote\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/montrealroyallimo.ca\/"},{"@type":"ListItem","position":2,"name":"Instant Airport Quote"}]},{"@type":"WebSite","@id":"https:\/\/montrealroyallimo.ca\/#website","url":"https:\/\/montrealroyallimo.ca\/","name":"Montreal Royal Limo","description":"","publisher":{"@id":"https:\/\/montrealroyallimo.ca\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/montrealroyallimo.ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-CA"},{"@type":"Organization","@id":"https:\/\/montrealroyallimo.ca\/#organization","name":"Montreal Royal Limo","url":"https:\/\/montrealroyallimo.ca\/","logo":{"@type":"ImageObject","inLanguage":"fr-CA","@id":"https:\/\/montrealroyallimo.ca\/#\/schema\/logo\/image\/","url":"https:\/\/montrealroyallimo.ca\/wp-content\/uploads\/2026\/10\/mrl-logo-official.png","contentUrl":"https:\/\/montrealroyallimo.ca\/wp-content\/uploads\/2026\/10\/mrl-logo-official.png","width":1983,"height":793,"caption":"Montreal Royal Limo"},"image":{"@id":"https:\/\/montrealroyallimo.ca\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/wp\/v2\/pages\/2369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/wp\/v2\/comments?post=2369"}],"version-history":[{"count":38,"href":"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/wp\/v2\/pages\/2369\/revisions"}],"predecessor-version":[{"id":2588,"href":"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/wp\/v2\/pages\/2369\/revisions\/2588"}],"wp:attachment":[{"href":"https:\/\/montrealroyallimo.ca\/fr\/wp-json\/wp\/v2\/media?parent=2369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}