{"id":1158,"date":"2020-08-24T10:03:06","date_gmt":"2020-08-24T03:03:06","guid":{"rendered":"https:\/\/giatui2h.com\/?page_id=1158"},"modified":"2026-10-11T13:22:00","modified_gmt":"2026-10-11T06:22:00","slug":"instant-laundry-in-nha-trang","status":"publish","type":"page","link":"https:\/\/giatui2h.com\/en\/instant-laundry-in-nha-trang\/","title":{"rendered":"Laundry Services in Nha Trang: Wash, Iron, Sneakers, Bedding"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; next_background_color=&#8221;#ffffff&#8221; admin_label=&#8221;Header&#8221; _builder_version=&#8221;4.27.4&#8243; background_color=&#8221;#c8cad3&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_type=&#8221;circular&#8221; background_color_gradient_direction_radial=&#8221;top left&#8221; background_color_gradient_stops=&#8221;#ffffff 50%|rgba(161,176,221,0.64) 50%&#8221; background_color_gradient_overlays_image=&#8221;on&#8221; background_color_gradient_start=&#8221;#ffffff&#8221; background_color_gradient_start_position=&#8221;50%&#8221; background_color_gradient_end=&#8221;rgba(161,176,221,0.64)&#8221; background_color_gradient_end_position=&#8221;50%&#8221; background_image=&#8221;https:\/\/giatui2h.com\/wp-content\/uploads\/2019\/01\/laundry_05.jpg&#8221; custom_padding=&#8221;8vw||6vw||false|false&#8221; bottom_divider_style=&#8221;clouds2&#8243; bottom_divider_height=&#8221;10.5vw&#8221; bottom_divider_flip=&#8221;horizontal&#8221; border_color_all=&#8221;#ff8c00&#8243; border_width_top=&#8221;40px&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;1_2,1_2&#8243; _builder_version=&#8221;4.16&#8243; max_width=&#8221;80%&#8221; custom_padding=&#8221;||&#8221; animation_direction=&#8221;bottom&#8221; use_custom_width=&#8221;on&#8221; width_unit=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.16&#8243; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;rgba(0,0,0,0.56)&#8221; text_font_size=&#8221;15px&#8221; text_line_height=&#8221;2em&#8221; ul_font=&#8221;||||||||&#8221; ol_font=&#8221;||||||||&#8221; header_font=&#8221;Josefin Sans|700|||||||&#8221; header_font_size=&#8221;63px&#8221; header_line_height=&#8221;1.2em&#8221; header_2_font=&#8221;||||||||&#8221; header_2_font_size=&#8221;32px&#8221; header_3_font=&#8221;||||||||&#8221; header_4_font=&#8221;||||||||&#8221; header_5_font=&#8221;||||||||&#8221; header_6_font=&#8221;||||||||&#8221; module_alignment=&#8221;left&#8221; animation_style=&#8221;fade&#8221; animation_direction=&#8221;top&#8221; animation_starting_opacity=&#8221;100%&#8221; header_font_size_tablet=&#8221;&#8221; header_font_size_phone=&#8221;42px&#8221; header_font_size_last_edited=&#8221;on|phone&#8221; header_2_font_size_tablet=&#8221;&#8221; header_2_font_size_phone=&#8221;24px&#8221; header_2_font_size_last_edited=&#8221;on|phone&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; text_font_size__hover=&#8221;14px&#8221; text_font_size__hover_enabled=&#8221;14px&#8221; text_letter_spacing__hover=&#8221;0px&#8221; text_letter_spacing__hover_enabled=&#8221;0px&#8221; text_line_height__hover=&#8221;1.7em&#8221; text_line_height__hover_enabled=&#8221;1.7em&#8221; text_text_shadow_style__hover=&#8221;none&#8221; text_text_shadow_style__hover_enabled=&#8221;none&#8221; text_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; text_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; link_font_size__hover=&#8221;14px&#8221; link_font_size__hover_enabled=&#8221;14px&#8221; link_letter_spacing__hover=&#8221;0px&#8221; link_letter_spacing__hover_enabled=&#8221;0px&#8221; link_line_height__hover=&#8221;1em&#8221; link_line_height__hover_enabled=&#8221;1em&#8221; link_text_shadow_style__hover=&#8221;none&#8221; link_text_shadow_style__hover_enabled=&#8221;none&#8221; link_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; link_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; ul_font_size__hover=&#8221;14px&#8221; ul_font_size__hover_enabled=&#8221;14px&#8221; ul_letter_spacing__hover=&#8221;0px&#8221; ul_letter_spacing__hover_enabled=&#8221;0px&#8221; ul_line_height__hover=&#8221;1em&#8221; ul_line_height__hover_enabled=&#8221;1em&#8221; ul_text_shadow_style__hover=&#8221;none&#8221; ul_text_shadow_style__hover_enabled=&#8221;none&#8221; ul_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; ul_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; ol_font_size__hover=&#8221;14px&#8221; ol_font_size__hover_enabled=&#8221;14px&#8221; ol_letter_spacing__hover=&#8221;0px&#8221; ol_letter_spacing__hover_enabled=&#8221;0px&#8221; ol_line_height__hover=&#8221;1em&#8221; ol_line_height__hover_enabled=&#8221;1em&#8221; ol_text_shadow_style__hover=&#8221;none&#8221; ol_text_shadow_style__hover_enabled=&#8221;none&#8221; ol_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; ol_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; quote_font_size__hover=&#8221;14px&#8221; quote_font_size__hover_enabled=&#8221;14px&#8221; quote_letter_spacing__hover=&#8221;0px&#8221; quote_letter_spacing__hover_enabled=&#8221;0px&#8221; quote_line_height__hover=&#8221;1em&#8221; quote_line_height__hover_enabled=&#8221;1em&#8221; quote_text_shadow_style__hover=&#8221;none&#8221; quote_text_shadow_style__hover_enabled=&#8221;none&#8221; quote_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; quote_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; text_orientation__hover=&#8221;left&#8221; text_orientation__hover_enabled=&#8221;left&#8221; background_layout__hover=&#8221;light&#8221; background_layout__hover_enabled=&#8221;light&#8221; header_font_size__hover=&#8221;30px&#8221; header_font_size__hover_enabled=&#8221;30px&#8221; header_letter_spacing__hover=&#8221;0px&#8221; header_letter_spacing__hover_enabled=&#8221;0px&#8221; header_text_shadow_style__hover=&#8221;none&#8221; header_text_shadow_style__hover_enabled=&#8221;none&#8221; header_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; header_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; header_2_font_size__hover=&#8221;26px&#8221; header_2_font_size__hover_enabled=&#8221;26px&#8221; header_2_letter_spacing__hover=&#8221;0px&#8221; header_2_letter_spacing__hover_enabled=&#8221;0px&#8221; header_2_line_height__hover=&#8221;1em&#8221; header_2_line_height__hover_enabled=&#8221;1em&#8221; header_2_text_shadow_style__hover=&#8221;none&#8221; header_2_text_shadow_style__hover_enabled=&#8221;none&#8221; header_2_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; header_2_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; header_3_font_size__hover=&#8221;22px&#8221; header_3_font_size__hover_enabled=&#8221;22px&#8221; header_3_letter_spacing__hover=&#8221;0px&#8221; header_3_letter_spacing__hover_enabled=&#8221;0px&#8221; header_3_line_height__hover=&#8221;1em&#8221; header_3_line_height__hover_enabled=&#8221;1em&#8221; header_3_text_shadow_style__hover=&#8221;none&#8221; header_3_text_shadow_style__hover_enabled=&#8221;none&#8221; header_3_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; header_3_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; header_4_font_size__hover=&#8221;18px&#8221; header_4_font_size__hover_enabled=&#8221;18px&#8221; header_4_letter_spacing__hover=&#8221;0px&#8221; header_4_letter_spacing__hover_enabled=&#8221;0px&#8221; header_4_line_height__hover=&#8221;1em&#8221; header_4_line_height__hover_enabled=&#8221;1em&#8221; header_4_text_shadow_style__hover=&#8221;none&#8221; header_4_text_shadow_style__hover_enabled=&#8221;none&#8221; header_4_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; header_4_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; header_5_font_size__hover=&#8221;16px&#8221; header_5_font_size__hover_enabled=&#8221;16px&#8221; header_5_letter_spacing__hover=&#8221;0px&#8221; header_5_letter_spacing__hover_enabled=&#8221;0px&#8221; header_5_line_height__hover=&#8221;1em&#8221; header_5_line_height__hover_enabled=&#8221;1em&#8221; header_5_text_shadow_style__hover=&#8221;none&#8221; header_5_text_shadow_style__hover_enabled=&#8221;none&#8221; header_5_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; header_5_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221; header_6_font_size__hover=&#8221;14px&#8221; header_6_font_size__hover_enabled=&#8221;14px&#8221; header_6_letter_spacing__hover=&#8221;0px&#8221; header_6_letter_spacing__hover_enabled=&#8221;0px&#8221; header_6_line_height__hover=&#8221;1em&#8221; header_6_line_height__hover_enabled=&#8221;1em&#8221; header_6_text_shadow_style__hover=&#8221;none&#8221; header_6_text_shadow_style__hover_enabled=&#8221;none&#8221; header_6_text_shadow_color__hover=&#8221;rgba(0,0,0,0.4)&#8221; header_6_text_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.4)&#8221;]<\/p>\n<h1>Laundry services in Nha Trang<\/h1>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.7&#8243; text_font_size=&#8221;16px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>2H Laundry does wash &amp; dry by weight, ironing by the piece, sneaker cleaning and soft toys.<\/p>\n<p>Every order is washed and dried as <strong>its own load, never mixed with another customer&#8217;s laundry<\/strong>. The listed price covers one wash load, with whites and colours together. If you want them separated, say so at drop-off \u2014 that runs as an extra load and is charged as such.<\/p>\n<p>This page lists each service with its price and how long it actually takes. If you only need prices, see the <a href=\"https:\/\/giatui2h.com\/en\/cheap-laundry-in-nha-trang\/\">Nha Trang laundry price list<\/a>.<\/p>\n<p>[\/et_pb_text][dsm_button button_one_text=&#8221;CALL US&#8221; button_one_url_type=&#8221;phone&#8221; button_one_phone_number=&#8221;+84812397666&#8243; button_one_url_new_window=&#8221;on&#8221; button_two_text=&#8221;WHATSAPP&#8221; button_two_url=&#8221;https:\/\/wa.me\/84812397666&#8243; button_two_url_new_window=&#8221;on&#8221; button_alignment=&#8221;center&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_button_one=&#8221;on&#8221; button_one_text_color=&#8221;#ffffff&#8221; button_one_bg_color=&#8221;#ff8c00&#8243; button_one_border_width=&#8221;0px&#8221; button_one_border_radius=&#8221;6px&#8221; button_one_font=&#8221;Arial|600|||||||&#8221; button_one_use_icon=&#8221;off&#8221; custom_button_two=&#8221;on&#8221; button_two_text_color=&#8221;#FFFFFF&#8221; button_two_bg_color=&#8221;#ff8c00&#8243; button_two_border_width=&#8221;0px&#8221; button_two_border_radius=&#8221;6px&#8221; button_two_font=&#8221;Arial|600|||||||&#8221; button_two_use_icon=&#8221;off&#8221; button_one_text_shadow_style=&#8221;preset5&#8243; button_two_text_shadow_style=&#8221;preset5&#8243; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/dsm_button][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;Services&#8221; _builder_version=&#8221;4.16&#8243; custom_margin=&#8221;||-49px|||&#8221; custom_width_px__hover=&#8221;1080px&#8221; custom_width_px__hover_enabled=&#8221;1080px&#8221; custom_width_percent__hover=&#8221;80%&#8221; custom_width_percent__hover_enabled=&#8221;80%&#8221; global_colors_info=&#8221;{}&#8221; gutter_width__hover=&#8221;3&#8243; gutter_width__hover_enabled=&#8221;3&#8243; parallax_1__hover=&#8221;off&#8221; parallax_1__hover_enabled=&#8221;off&#8221; parallax_2__hover=&#8221;off&#8221; parallax_2__hover_enabled=&#8221;off&#8221; parallax_3__hover=&#8221;off&#8221; parallax_3__hover_enabled=&#8221;off&#8221; parallax_method_1__hover=&#8221;on&#8221; parallax_method_1__hover_enabled=&#8221;on&#8221; parallax_method_2__hover=&#8221;on&#8221; parallax_method_2__hover_enabled=&#8221;on&#8221; parallax_method_3__hover=&#8221;on&#8221; parallax_method_3__hover_enabled=&#8221;on&#8221; use_background_color_gradient__hover=&#8221;off&#8221; use_background_color_gradient__hover_enabled=&#8221;off&#8221; background_color_gradient_start__hover=&#8221;#2b87da&#8221; background_color_gradient_start__hover_enabled=&#8221;#2b87da&#8221; background_color_gradient_end__hover=&#8221;#29c4a9&#8243; background_color_gradient_end__hover_enabled=&#8221;#29c4a9&#8243; background_color_gradient_type__hover=&#8221;linear&#8221; background_color_gradient_type__hover_enabled=&#8221;linear&#8221; background_color_gradient_direction__hover=&#8221;180deg&#8221; background_color_gradient_direction__hover_enabled=&#8221;180deg&#8221; background_color_gradient_direction_radial__hover=&#8221;center&#8221; background_color_gradient_direction_radial__hover_enabled=&#8221;center&#8221; background_color_gradient_start_position__hover=&#8221;0%&#8221; background_color_gradient_start_position__hover_enabled=&#8221;0%&#8221; background_color_gradient_end_position__hover=&#8221;100%&#8221; background_color_gradient_end_position__hover_enabled=&#8221;100%&#8221; background_color_gradient_overlays_image__hover=&#8221;off&#8221; background_color_gradient_overlays_image__hover_enabled=&#8221;off&#8221; parallax__hover=&#8221;off&#8221; parallax__hover_enabled=&#8221;off&#8221; parallax_method__hover=&#8221;on&#8221; parallax_method__hover_enabled=&#8221;on&#8221; background_size__hover=&#8221;cover&#8221; background_size__hover_enabled=&#8221;cover&#8221; background_position__hover=&#8221;center&#8221; background_position__hover_enabled=&#8221;center&#8221; background_repeat__hover=&#8221;no-repeat&#8221; background_repeat__hover_enabled=&#8221;no-repeat&#8221; background_blend__hover=&#8221;normal&#8221; background_blend__hover_enabled=&#8221;normal&#8221; allow_player_pause__hover=&#8221;off&#8221; allow_player_pause__hover_enabled=&#8221;off&#8221; background_video_pause_outside_viewport__hover=&#8221;on&#8221; background_video_pause_outside_viewport__hover_enabled=&#8221;on&#8221; inner_shadow__hover=&#8221;off&#8221; inner_shadow__hover_enabled=&#8221;off&#8221; make_fullwidth__hover=&#8221;off&#8221; make_fullwidth__hover_enabled=&#8221;off&#8221; use_custom_width__hover=&#8221;off&#8221; use_custom_width__hover_enabled=&#8221;off&#8221; width_unit__hover=&#8221;on&#8221; width_unit__hover_enabled=&#8221;on&#8221; make_equal__hover=&#8221;off&#8221; make_equal__hover_enabled=&#8221;off&#8221; use_custom_gutter__hover=&#8221;off&#8221; use_custom_gutter__hover_enabled=&#8221;off&#8221; border_radii__hover=&#8221;on||||&#8221; border_radii__hover_enabled=&#8221;on||||&#8221; box_shadow_style__hover=&#8221;none&#8221; box_shadow_style__hover_enabled=&#8221;none&#8221; box_shadow_color__hover=&#8221;rgba(0,0,0,0.3)&#8221; box_shadow_color__hover_enabled=&#8221;rgba(0,0,0,0.3)&#8221; max_width__hover=&#8221;100%&#8221; max_width__hover_enabled=&#8221;100%&#8221; filter_hue_rotate__hover=&#8221;0deg&#8221; filter_hue_rotate__hover_enabled=&#8221;0deg&#8221; filter_saturate__hover=&#8221;100%&#8221; filter_saturate__hover_enabled=&#8221;100%&#8221; filter_brightness__hover=&#8221;100%&#8221; filter_brightness__hover_enabled=&#8221;100%&#8221; filter_contrast__hover=&#8221;100%&#8221; filter_contrast__hover_enabled=&#8221;100%&#8221; filter_invert__hover=&#8221;0%&#8221; filter_invert__hover_enabled=&#8221;0%&#8221; filter_sepia__hover=&#8221;0%&#8221; filter_sepia__hover_enabled=&#8221;0%&#8221; filter_opacity__hover=&#8221;100%&#8221; filter_opacity__hover_enabled=&#8221;100%&#8221; filter_blur__hover=&#8221;0px&#8221; filter_blur__hover_enabled=&#8221;0px&#8221; mix_blend_mode__hover=&#8221;normal&#8221; mix_blend_mode__hover_enabled=&#8221;normal&#8221; animation_style__hover=&#8221;none&#8221; animation_style__hover_enabled=&#8221;none&#8221; animation_repeat__hover=&#8221;once&#8221; animation_repeat__hover_enabled=&#8221;once&#8221; animation_direction__hover=&#8221;center&#8221; animation_direction__hover_enabled=&#8221;center&#8221; animation_duration__hover=&#8221;1000ms&#8221; animation_duration__hover_enabled=&#8221;1000ms&#8221; animation_delay__hover=&#8221;0ms&#8221; animation_delay__hover_enabled=&#8221;0ms&#8221; animation_intensity_slide__hover=&#8221;50%&#8221; animation_intensity_slide__hover_enabled=&#8221;50%&#8221; animation_intensity_zoom__hover=&#8221;50%&#8221; animation_intensity_zoom__hover_enabled=&#8221;50%&#8221; animation_intensity_flip__hover=&#8221;50%&#8221; animation_intensity_flip__hover_enabled=&#8221;50%&#8221; animation_intensity_fold__hover=&#8221;50%&#8221; animation_intensity_fold__hover_enabled=&#8221;50%&#8221; animation_intensity_roll__hover=&#8221;50%&#8221; animation_intensity_roll__hover_enabled=&#8221;50%&#8221; animation_starting_opacity__hover=&#8221;0%&#8221; animation_starting_opacity__hover_enabled=&#8221;0%&#8221; animation_speed_curve__hover=&#8221;ease-in-out&#8221; animation_speed_curve__hover_enabled=&#8221;ease-in-out&#8221; hover_transition_duration__hover=&#8221;300ms&#8221; hover_transition_duration__hover_enabled=&#8221;300ms&#8221; hover_transition_delay__hover=&#8221;0ms&#8221; hover_transition_delay__hover_enabled=&#8221;0ms&#8221; hover_transition_speed_curve__hover=&#8221;ease&#8221; hover_transition_speed_curve__hover_enabled=&#8221;ease&#8221; background_color_gradient_stops__hover=&#8221;#2b87da 0%|#29c4a9 100%&#8221;][et_pb_row _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; text_font_size=&#8221;16px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h2>Wash &amp; dry by weight<\/h2>\n<p>Most people pick this because it is simple: hand over the whole bag, come back at the agreed time and collect it clean and folded. Dry laundry is weighed as you drop it off; if it is wet, we weigh it after washing and drying.<\/p>\n<table>\n<thead>\n<tr>\n<th>Weight<\/th>\n<th>Price<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Up to 3 kg<\/td>\n<td>60,000 VND<\/td>\n<\/tr>\n<tr>\n<td>Up to 5 kg<\/td>\n<td>90,000 VND<\/td>\n<\/tr>\n<tr>\n<td>Up to 7 kg<\/td>\n<td>120,000 VND<\/td>\n<\/tr>\n<tr>\n<td>Over 7 kg<\/td>\n<td>18,000 VND\/kg<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Tiers are inclusive, so a 4.2 kg bag still falls under the up-to-5-kg price.<\/p>\n<p>Worth knowing up front: the price above covers <strong>one wash load<\/strong>, meaning the whole bag goes in together. If you want whites, darks or anything likely to bleed washed separately, tell us at drop-off \u2014 each extra load is charged as its own order at these same rates.<\/p>\n<p>We always weigh in front of you. The full rates and how the pickup fee works are on the <a href=\"https:\/\/giatui2h.com\/en\/cheap-laundry-in-nha-trang\/\">price page<\/a>.<\/p>\n<h2>How long does it take?<\/h2>\n<p>The shop is called 2H because two hours is the fastest we manage. But honestly, it is not always two hours \u2014 it depends on how much laundry there is and how busy the shop is at that moment.<\/p>\n<p><strong>Under 5 kg, dropped at the shop, at a quiet hour<\/strong> is usually about two hours. The quietest time is weekday mornings, when machines are still free.<\/p>\n<p><strong>Busy hours<\/strong> \u2014 evenings, weekends and peak tourist season \u2014 the machines run non-stop, so your load waits its turn. That is usually three to four hours. Staff give you an exact time when they take the bag, so you are not left guessing.<\/p>\n<p><strong>Over 5 kg<\/strong> is split across several wash and dry cycles, so it takes a little longer.<\/p>\n<p><strong>With pickup and delivery<\/strong>, add the travel time both ways. If you are in a hurry and near the shop, bringing it in yourself is still the fastest route.<\/p>\n<p>If you have a hard deadline \u2014 a flight, a checkout time \u2014 say so when you book. We move those orders up the queue, and if we cannot make it we tell you upfront rather than taking the job and leaving you waiting.<\/p>\n<h2>Ironing<\/h2>\n<p>For clothes that need to look pressed when you get them back: shirts, trousers, dresses, office wear. Charged per item rather than by weight, 20,000 VND each.<\/p>\n<p>Two ways to use it. If the clothes are already clean and just need pressing, send them on their own \u2014 usually faster, since we skip the wash cycle. If they need washing, add ironing to a wash order for the pieces that should look crisp; the rest comes back folded as usual.<\/p>\n<p>This suits long-stay guests in apartments that have a washing machine but no iron.<\/p>\n<h2>Sneaker cleaning<\/h2>\n<p>70,000 VND a pair, for sneakers.<\/p>\n<p>Ready in about 24 hours \u2014 a separate timeline from the 2\u20134 hours for wash &amp; dry by weight.<\/p>\n<h2>Soft toys<\/h2>\n<p>We take teddy bears and stuffed animals, charged by weight like a normal wash. Large ones take a very long time to dry, so it can be a few hours or a few days.<\/p>\n<p>Toys with electronics inside, a music box or glued-on plastic eyes should be shown to staff first \u2014 some can be washed, some cannot.<\/p>\n<h2>Blankets, bed sheets and curtains<\/h2>\n<p>Charged by weight but on their own rates, higher than clothes because heavy items need a different wash and dry cycle.<\/p>\n<table>\n<thead>\n<tr>\n<th>Item<\/th>\n<th>Price<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Bed sheets<\/td>\n<td>20,000 VND\/kg<\/td>\n<\/tr>\n<tr>\n<td>Curtains<\/td>\n<td>25,000 VND\/kg<\/td>\n<\/tr>\n<tr>\n<td>Blankets<\/td>\n<td>30,000 VND\/kg<\/td>\n<\/tr>\n<tr>\n<td>Mattress toppers, rugs<\/td>\n<td>40,000 VND\/kg<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Minimum 60,000 VND per order in this group, even if the load weighs less than that.<\/p>\n<p>Thick blankets and large curtains take a long time to dry, so they usually come back the same day or the next \u2014 not within the 2\u20134 hour window.<\/p>\n<p>Curtains with rails, metal hooks or a rubber backing should be shown to staff first. Some can go in a machine, some cannot, and ruining a curtain costs far more than the wash.<\/p>\n<h2>Linen for spas, restaurants and homestays<\/h2>\n<p>We wash bath towels, face towels, tablecloths and uniforms for spas, restaurants and homestays in Nha Trang. Linen goes through the same by-weight wash as clothes, and each drop-off is its own order.<\/p>\n<p>It is charged on the by-weight rates above \u2014 there are no recurring plans and no special pricing. Pickup and delivery costs 30,000\u2013150,000 VND depending on distance. Message us on Zalo, WhatsApp or Kakao at <a href=\"tel:+84812397666\">+84 812 397 666<\/a> whenever you have a load.<\/p>\n<h2>What we do not do<\/h2>\n<p>Saying it upfront so you do not make the trip for nothing:<\/p>\n<ul>\n<li><strong>No self-service machines.<\/strong> Coin laundromats of the kind common in Europe or Korea barely exist in Nha Trang. Here people drop laundry off by weight and collect it folded.<\/li>\n<li><strong>No drop-offs after 22:00.<\/strong> The shop is open 07:00\u201322:00 daily.<\/li>\n<li><strong>We do not separate whites from colours by default.<\/strong> The listed price is for one mixed load. We can split them, but you have to ask and it costs extra.<\/li>\n<li><strong>No stain treatment.<\/strong> We wash and dry by machine as normal; there is no separate spot-treatment step for individual stains.<\/li>\n<\/ul>\n<h2>Pickup and delivery<\/h2>\n<p>We collect and return laundry at hotels, apartments and private homes across the city. The fee runs from 30,000 to 150,000 VND depending on distance \u2014 closer to the centre, lower.<\/p>\n<p>To book, call or message Zalo, WhatsApp or Kakao at <a href=\"tel:+84812397666\">+84 812 397 666<\/a>, or fill in the form on the <a href=\"https:\/\/giatui2h.com\/en\/laundry-pickup-and-delivery-service\/\">pickup and delivery page<\/a>. We confirm the address and time slot with you before the driver sets off.<\/p>\n<p>The areas we cover and how long we take to reach each one are listed on <a href=\"https:\/\/giatui2h.com\/en\/laundry-near-me-nha-trang-service-areas\/\">laundry near you in Nha Trang, by area<\/a>.<\/p>\n<h2>Before you hand it over<\/h2>\n<p>Two minutes here saves a lot of trouble later:<\/p>\n<ul>\n<li><strong>Empty your pockets.<\/strong> Room keys, key cards, cash, documents. This is the most commonly forgotten one, and wet documents are beyond saving.<\/li>\n<li><strong>Watch for anything that bleeds.<\/strong> New clothes, hand-dyed items, dark towels, jeans on their first wash. Since the price is for one mixed load, if you say nothing they go in with your whites. To be safe, ask for a separate load at drop-off.<\/li>\n<li><strong>Stubborn stains.<\/strong> Oil, ink, red wine, sunscreen \u2014 we only run a normal machine wash with no spot treatment, so do not expect them to come out completely.<\/li>\n<\/ul>\n<h2>Frequently asked questions<\/h2>\n<h3>Are you open on Sundays?<\/h3>\n<p>Yes. The shop is open 07:00\u201322:00 every day, weekends and public holidays included.<\/p>\n<h3>Will my laundry be mixed with someone else&#8217;s?<\/h3>\n<p>No. Each order is its own load, never mixed with another customer&#8217;s, and folded and packed separately. Within a single order, though, whites and colours do go in together unless you ask us to split them \u2014 that costs extra.<\/p>\n<h3>I am at a hotel \u2014 do I have to come down for it?<\/h3>\n<p>Usually yes. Our driver is not allowed up to rooms, so we leave it at reception if the hotel agrees, or meet you in the lobby.<\/p>\n<h3>Do I get a receipt?<\/h3>\n<p>Yes. When you drop laundry at the shop we print one on the spot showing the weight, the service and the amount. You can also <a href=\"https:\/\/giatui2h.com\/en\/track-order\/\">track your order<\/a> on the website with the order code printed on that receipt. Pickup and delivery orders don&#8217;t come with a printed receipt \u2014 we agree the times by message, and you can message us to check on your order.<\/p>\n<h3>What if something is damaged or goes missing?<\/h3>\n<p>Tell us when you collect it so we can check the cameras. After 24 hours from handover we no longer process missing-item claims. So for anything valuable, point it out to staff rather than putting it in a normal order.<\/p>\n<h3>Do you wash curtains, blankets and bedding?<\/h3>\n<p>Yes. Also charged by weight but at different rates \u2014 bed sheets 20,000 VND\/kg, curtains 25,000 VND\/kg, blankets 30,000 VND\/kg \u2014 with a 60,000 VND minimum per order. Thick blankets and large curtains need a long dry, so they usually come back the same day or the next rather than within 2\u20134 hours.<\/p>\n<h3>Do you handle linen for spas or restaurants?<\/h3>\n<p>Yes. Linen from spas, restaurants and homestays is washed by weight like any other order, on the standard rates, with no recurring plans. Message Zalo, WhatsApp or Kakao at +84 812 397 666 when you have a load.<\/p>\n<h2>How to order<\/h2>\n<ul>\n<li><strong>Bring it to the shop<\/strong> \u2014 8 Nguyen Thi Minh Khai, at the Hung Vuong junction, near the Main Square and the Night Market. This is the fastest route. Directions and a map are on the <a href=\"https:\/\/giatui2h.com\/en\/nha-trang-laundry-address\/\">address and opening hours<\/a> page.<\/li>\n<li><strong>Call, or message Zalo, WhatsApp or Kakao<\/strong> \u2014 <a href=\"tel:+84812397666\">+84 812 397 666<\/a><\/li>\n<li><strong>Fill in the form<\/strong> \u2014 <a href=\"https:\/\/giatui2h.com\/en\/laundry-pickup-and-delivery-service\/\">book pickup and delivery<\/a><\/li>\n<\/ul>\n<p>2H Laundry has been doing this in Nha Trang since 2016. There is more about the shop on <a href=\"https:\/\/giatui2h.com\/en\/laundry-shop-in-nha-trang\/\">about 2H Laundry<\/a>.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221; global_module=&#8221;9643&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<\/p>\n<style><!-- [et_pb_line_break_holder] -->\/* ==========================================================================<!-- [et_pb_line_break_holder] -->   GI\u1eb6T \u1ee6I 2H \u2014 T\u00ccM C\u1eecA H\u00c0NG G\u1ea6N B\u1ea0N<!-- [et_pb_line_break_holder] -->   D\u00e1n nguy\u00ean file n\u00e0y v\u00e0o Divi: Module Code ho\u1eb7c Module Fullwidth Code.<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->   TR\u01af\u1edaC KHI D\u00c1N<!-- [et_pb_line_break_holder] -->   1. \u0110i\u1ec1n API_KEY v\u00e0 MAP_ID trong kh\u1ed1i CONFIG (\u0111\u1ea7u th\u1ebb script b\u00ean d\u01b0\u1edbi).<!-- [et_pb_line_break_holder] -->      Google Cloud c\u1ea7n b\u1eadt: Maps JavaScript API, Distance Matrix API.<!-- [et_pb_line_break_holder] -->   2. L\u00ean web th\u1eadt: \u0111\u1eb7t SHOW_SAMPLE th\u00e0nh false \u0111\u1ec3 \u1ea9n c\u00e1c c\u1eeda h\u00e0ng m\u1eabu.<!-- [et_pb_line_break_holder] -->   3. Trang ch\u1ec9 \u0111\u01b0\u1ee3c c\u00f3 M\u1ed8T b\u1ea3n Maps API. N\u1ebfu c\u00f2n Divi Map module th\u00ec xo\u00e1 \u0111i.<!-- [et_pb_line_break_holder] -->   4. WP Rocket, m\u1ee5c File Optimization, Delay JavaScript execution:<!-- [et_pb_line_break_holder] -->      th\u00eam hai d\u00f2ng  maps.googleapis.com  v\u00e0  g2hLocator  v\u00e0o \u00f4 lo\u1ea1i tr\u1eeb.<!-- [et_pb_line_break_holder] -->   5. Xo\u00e1 cache nh\u01b0 m\u1ecdi l\u1ea7n: th\u01b0 m\u1ee5c cache c\u1ee7a WP Rocket (wp-rocket v\u00e0 min)<!-- [et_pb_line_break_holder] -->      r\u1ed3i  redis-cli FLUSHALL<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->   N\u1ebeU D\u00d9NG FULLWIDTH CODE MODULE<!-- [et_pb_line_break_holder] -->   a) Module Settings, Advanced, Animation: \u0111\u1eb7t None. Animation c\u1ee7a Divi g\u1eafn<!-- [et_pb_line_break_holder] -->      transform l\u00ean ph\u1ea7n t\u1eed cha, Google Maps s\u1ebd v\u1ebd l\u1ec7ch, ch\u1ec9 hi\u1ec7n m\u1ed9t g\u00f3c.<!-- [et_pb_line_break_holder] -->   b) Section ch\u1ee9a module: b\u1ecf padding tr\u00e1i ph\u1ea3i n\u1ebfu mu\u1ed1n b\u1ea3n \u0111\u1ed3 ch\u1ea1m m\u00e9p.<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->   GHI CH\u00da CHO NG\u01af\u1edcI S\u1eecA CODE (Divi Code Module hay l\u00e0m h\u1ecfng m\u1ea5y th\u1ee9 n\u00e0y)<!-- [et_pb_line_break_holder] -->   - Kh\u00f4ng d\u00f9ng ch\u00fa th\u00edch HTML trong ph\u1ea7n markup.<!-- [et_pb_line_break_holder] -->   - Trong script: ch\u1ec9 d\u00f9ng ch\u00fa th\u00edch nhi\u1ec1u d\u00f2ng, kh\u00f4ng d\u00f9ng k\u00fd t\u1ef1 \"v\u00e0\" tr\u1ea7n,<!-- [et_pb_line_break_holder] -->     kh\u00f4ng d\u00f9ng to\u00e1n t\u1eed logic hai k\u00fd t\u1ef1, vi\u1ebft ES5 (var, function).<!-- [et_pb_line_break_holder] -->   - CSS: kh\u00f4ng d\u00f9ng shorthand inset (iOS Safari c\u0169 kh\u00f4ng hi\u1ec3u).<!-- [et_pb_line_break_holder] -->   ========================================================================== *\/<!-- [et_pb_line_break_holder] -->#g2h-locator{<!-- [et_pb_line_break_holder] -->  --g2h-blue:#1a73e8; --g2h-text:#202124; --g2h-sub:#5f6368; --g2h-line:#dadce0;<!-- [et_pb_line_break_holder] -->  --g2h-green:#188038; --g2h-red:#d93025; --g2h-pin:#ea4335;<!-- [et_pb_line_break_holder] -->  position:relative; display:grid;<!-- [et_pb_line_break_holder] -->  grid-template-columns:380px minmax(0,1fr); grid-template-rows:auto minmax(0,1fr);<!-- [et_pb_line_break_holder] -->  width:100%; height:560px; overflow:hidden;<!-- [et_pb_line_break_holder] -->  background:#fff; color:var(--g2h-text); text-align:left;<!-- [et_pb_line_break_holder] -->  font-family:Roboto,\"Helvetica Neue\",Arial,sans-serif; font-size:15px; line-height:1.4;<!-- [et_pb_line_break_holder] -->  border:1px solid var(--g2h-line); border-radius:12px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator, #g2h-locator *{box-sizing:border-box}<!-- [et_pb_line_break_holder] -->#g2h-locator [hidden]{display:none !important}<!-- [et_pb_line_break_holder] -->#g2h-locator button{<!-- [et_pb_line_break_holder] -->  font:inherit; margin:0; cursor:pointer; text-transform:none; letter-spacing:0;<!-- [et_pb_line_break_holder] -->  box-shadow:none; min-height:0; width:auto; -webkit-appearance:none; appearance:none;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator a{text-decoration:none}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------- \u0111\u1ea7u b\u1ea3ng ---------- *\/<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-head{<!-- [et_pb_line_break_holder] -->  grid-column:1; grid-row:1; padding:16px 16px 12px;<!-- [et_pb_line_break_holder] -->  border-bottom:1px solid var(--g2h-line); border-right:1px solid var(--g2h-line);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->\/* Ti\u00eau \u0111\u1ec1 l\u00e0 th\u1ebb H2 th\u1eadt (SEO). B\u1ed9 ch\u1ecdn c\u00f3 c\u1ea3 id l\u1eabn t\u00ean th\u1ebb \u0111\u1ec3 th\u1eafng style h2 c\u1ee7a Divi *\/<!-- [et_pb_line_break_holder] -->#g2h-locator h2.g2h-title{<!-- [et_pb_line_break_holder] -->  font-family:inherit; font-size:21px; font-weight:500; line-height:1.25; color:var(--g2h-text);<!-- [et_pb_line_break_holder] -->  margin:0 0 4px; padding:0; letter-spacing:0; text-transform:none; text-align:left;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-stat{font-size:14px; color:var(--g2h-sub); margin:0 0 10px; min-height:18px}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-btns{display:flex; flex-wrap:wrap}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-btn{<!-- [et_pb_line_break_holder] -->  border:1px solid var(--g2h-line); background:#fff; color:var(--g2h-blue);<!-- [et_pb_line_break_holder] -->  border-radius:100px; padding:7px 14px; font-size:14.5px; font-weight:500; line-height:1.2;<!-- [et_pb_line_break_holder] -->  margin:0 8px 0 0;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-btn-main{background:var(--g2h-blue); border-color:var(--g2h-blue); color:#fff}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-btn[disabled]{opacity:.6; cursor:default}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------- danh s\u00e1ch ---------- *\/<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-cards{<!-- [et_pb_line_break_holder] -->  grid-column:1; grid-row:2; min-height:0; overflow-y:auto;<!-- [et_pb_line_break_holder] -->  -webkit-overflow-scrolling:touch; border-right:1px solid var(--g2h-line);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-card{<!-- [et_pb_line_break_holder] -->  position:relative; padding:11px 16px 10px; background:#fff; cursor:pointer;<!-- [et_pb_line_break_holder] -->  border-bottom:1px solid var(--g2h-line);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-card:hover{background:#f8f9fa}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-card.is-on{background:#e8f0fe}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-top{display:flex; align-items:flex-start}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-num{<!-- [et_pb_line_break_holder] -->  flex:0 0 22px; width:22px; height:22px; border-radius:50%; margin:0 8px 0 0;<!-- [et_pb_line_break_holder] -->  background:var(--g2h-pin); color:#fff; font-size:13px; font-weight:700;<!-- [et_pb_line_break_holder] -->  line-height:22px; text-align:center;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-card.is-on .g2h-num{background:var(--g2h-blue)}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-main{flex:1 1 auto; min-width:0}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-name{<!-- [et_pb_line_break_holder] -->  display:block; border:0; background:none; padding:0; text-align:left;<!-- [et_pb_line_break_holder] -->  color:var(--g2h-blue); font-size:16px; font-weight:500; line-height:1.4;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-dist{<!-- [et_pb_line_break_holder] -->  flex:0 0 auto; margin:0 0 0 10px; text-align:right; white-space:nowrap;<!-- [et_pb_line_break_holder] -->  font-size:15px; font-weight:700; line-height:1.4;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-dist small{display:block; font-size:13px; font-weight:400; color:var(--g2h-sub)}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-addr,<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-hours{font-size:14px; color:var(--g2h-sub); margin:3px 0 0 30px; padding:0}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-hours b{font-weight:500}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-hours.is-open b{color:var(--g2h-green)}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-hours.is-shut b{color:var(--g2h-red)}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-near{<!-- [et_pb_line_break_holder] -->  display:inline-block; margin:1px 0 0; padding:0 8px; border-radius:100px;<!-- [et_pb_line_break_holder] -->  background:#e6f4ea; color:var(--g2h-green); font-size:12.5px; font-weight:500;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-acts{display:flex; margin:8px 0 0 30px}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-act{<!-- [et_pb_line_break_holder] -->  display:inline-block; border:1px solid var(--g2h-line); border-radius:100px;<!-- [et_pb_line_break_holder] -->  padding:5px 13px; margin:0 8px 0 0; background:#fff; color:var(--g2h-blue);<!-- [et_pb_line_break_holder] -->  font-size:14px; font-weight:500; line-height:1.3;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-act-main{background:var(--g2h-blue); border-color:var(--g2h-blue); color:#fff}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------- b\u1ea3n \u0111\u1ed3 ---------- *\/<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-mapwrap{<!-- [et_pb_line_break_holder] -->  grid-column:2; grid-row:1 \/ span 2; position:relative; min-height:0; background:#e8eaed;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator #g2h-map{position:absolute; top:0; right:0; bottom:0; left:0}<!-- [et_pb_line_break_holder] -->#g2h-locator #g2h-map img{max-width:none !important}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-msg{<!-- [et_pb_line_break_holder] -->  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);<!-- [et_pb_line_break_holder] -->  max-width:80%; padding:10px 14px; border-radius:10px; text-align:center;<!-- [et_pb_line_break_holder] -->  background:rgba(255,255,255,.94); color:var(--g2h-sub); font-size:14px;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-pinwrap{padding:0 0 7px}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-pin{<!-- [et_pb_line_break_holder] -->  width:30px; height:30px; border-radius:50% 50% 50% 0; transform:rotate(-45deg);<!-- [et_pb_line_break_holder] -->  background:var(--g2h-pin); border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.4);<!-- [et_pb_line_break_holder] -->  display:flex; align-items:center; justify-content:center; cursor:pointer;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-pin span{<!-- [et_pb_line_break_holder] -->  transform:rotate(45deg); color:#fff; font-size:14px; font-weight:700; line-height:1;<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-pin.is-on{width:38px; height:38px; background:var(--g2h-blue)}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-pin.is-on span{font-size:16px}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-me{<!-- [et_pb_line_break_holder] -->  width:18px; height:18px; border-radius:50%; transform:translateY(50%);<!-- [et_pb_line_break_holder] -->  background:var(--g2h-blue); border:3px solid #fff;<!-- [et_pb_line_break_holder] -->  box-shadow:0 0 0 7px rgba(26,115,232,.22), 0 1px 3px rgba(0,0,0,.35);<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-iw{font-family:Roboto,Arial,sans-serif; max-width:230px; padding:0 4px 2px 0}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-iw-name{font-size:15px; font-weight:500; color:var(--g2h-text); margin:0 0 3px}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-iw-addr{font-size:13.5px; color:var(--g2h-sub); margin:0 0 6px}<!-- [et_pb_line_break_holder] -->#g2h-locator .g2h-iw-link{font-size:14px; font-weight:500; color:var(--g2h-blue)}<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/* ---------- MOBILE: b\u1ea3n \u0111\u1ed3 tr\u00e0n khung, d\u1ea3i th\u1ebb vu\u1ed1t ngang \u1edf \u0111\u00e1y ---------- *\/<!-- [et_pb_line_break_holder] -->@media (max-width:767px){<!-- [et_pb_line_break_holder] -->  #g2h-locator{<!-- [et_pb_line_break_holder] -->    display:block; height:78vh; min-height:500px; max-height:720px;<!-- [et_pb_line_break_holder] -->    border-left:0; border-right:0; border-radius:0;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-mapwrap{position:absolute; top:0; right:0; bottom:0; left:0}<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-head{<!-- [et_pb_line_break_holder] -->    position:absolute; top:10px; left:10px; right:10px; z-index:3;<!-- [et_pb_line_break_holder] -->    padding:10px 12px; background:#fff; border:0; border-radius:12px;<!-- [et_pb_line_break_holder] -->    box-shadow:0 1px 2px rgba(60,64,67,.3), 0 2px 6px 2px rgba(60,64,67,.15);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #g2h-locator h2.g2h-title{font-size:18px; line-height:1.3; margin:0 0 2px}<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-stat{font-size:13.5px; margin:0 0 8px}<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-cards{<!-- [et_pb_line_break_holder] -->    position:absolute; left:0; right:0; bottom:14px; z-index:3;<!-- [et_pb_line_break_holder] -->    display:flex; align-items:flex-end; overflow-x:auto; overflow-y:hidden;<!-- [et_pb_line_break_holder] -->    padding:6px 12px 8px; border:0;<!-- [et_pb_line_break_holder] -->    -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; scrollbar-width:none;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-cards::-webkit-scrollbar{display:none}<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-card{<!-- [et_pb_line_break_holder] -->    flex:0 0 84%; margin:0 10px 0 0; padding:12px 14px; border:0; border-radius:14px;<!-- [et_pb_line_break_holder] -->    scroll-snap-align:center;<!-- [et_pb_line_break_holder] -->    box-shadow:0 1px 2px rgba(60,64,67,.3), 0 2px 6px 2px rgba(60,64,67,.15);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-cards.is-single .g2h-card{flex-basis:100%; margin-right:0}<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-card:hover{background:#fff}<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-card.is-on{<!-- [et_pb_line_break_holder] -->    background:#fff;<!-- [et_pb_line_break_holder] -->    box-shadow:0 0 0 2px var(--g2h-blue), 0 2px 6px 2px rgba(60,64,67,.15);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-addr,<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-hours{margin-left:0}<!-- [et_pb_line_break_holder] -->  \/* ch\u1eeba 56px b\u00ean ph\u1ea3i \u0111\u1ec3 n\u00fat G\u1ecdi kh\u00f4ng b\u1ecb widget chat n\u1ed5i \u0111\u00e8 l\u00ean *\/<!-- [et_pb_line_break_holder] -->  #g2h-locator .g2h-acts{margin-left:0; padding-right:56px}<!-- [et_pb_line_break_holder] -->}<!-- [et_pb_line_break_holder] --><\/style>\n<p><!-- [et_pb_line_break_holder] --><\/p>\n<div id=\"g2h-locator\"><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"g2h-head\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<h2 class=\"g2h-title\" id=\"g2h-title\">C\u1eeda h\u00e0ng gi\u1eb7t \u1ee7i g\u1ea7n b\u1ea1n<\/h2>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"g2h-stat\" id=\"g2h-stat\" aria-live=\"polite\">B\u1ea5m n\u00fat \u0111\u1ec3 xem c\u1eeda h\u00e0ng gi\u1eb7t \u1ee7i g\u1ea7n b\u1ea1n nh\u1ea5t<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"g2h-btns\"><!-- [et_pb_line_break_holder] -->      <button type=\"button\" class=\"g2h-btn g2h-btn-main\" id=\"g2h-locate\">D\u00f9ng v\u1ecb tr\u00ed c\u1ee7a t\u00f4i<\/button><!-- [et_pb_line_break_holder] -->      <button type=\"button\" class=\"g2h-btn\" id=\"g2h-all\">Xem t\u1ea5t c\u1ea3<\/button><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"g2h-cards\" id=\"g2h-cards\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"g2h-mapwrap\"><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"g2h-map\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"g2h-msg\" id=\"g2h-msg\">\u0110ang t\u1ea3i b\u1ea3n \u0111\u1ed3\u2026<\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><\/div>\n<p><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->(function(){<!-- [et_pb_line_break_holder] -->  if (window.g2hLocatorBooted) return;<!-- [et_pb_line_break_holder] -->  window.g2hLocatorBooted = true;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* =====================================================================<!-- [et_pb_line_break_holder] -->     1. C\u1ea4U H\u00ccNH<!-- [et_pb_line_break_holder] -->     ===================================================================== *\/<!-- [et_pb_line_break_holder] -->  var CONFIG = {<!-- [et_pb_line_break_holder] -->    API_KEY: \"AIzaSyBkWtfoCeuFwJBN3S6swjhc4gA5eL4U60Q\",<!-- [et_pb_line_break_holder] -->    MAP_ID: \"17e19792fbc4ff7a8df0682f\",<!-- [et_pb_line_break_holder] -->    SHOW_SAMPLE: true,          \/* true: hi\u1ec7n c\u1ea3 c\u1eeda h\u00e0ng m\u1eabu \u0111\u1ec3 demo. L\u00ean web th\u1eadt: false *\/<!-- [et_pb_line_break_holder] -->    DISTANCE_MODE: \"driving\",   \/* \"driving\": qu\u00e3ng \u0111\u01b0\u1eddng ch\u1ea1y xe. \"straight\": \u0111\u01b0\u1eddng chim bay *\/<!-- [et_pb_line_break_holder] -->    ROUTE_TOP: 5,               \/* ch\u1ec9 h\u1ecfi qu\u00e3ng \u0111\u01b0\u1eddng cho N c\u1eeda h\u00e0ng g\u1ea7n nh\u1ea5t (t\u1ed1i \u0111a 25) *\/<!-- [et_pb_line_break_holder] -->    FIT: 3,                     \/* c\u00f3 v\u1ecb tr\u00ed kh\u00e1ch: khung nh\u00ecn g\u1ed3m kh\u00e1ch v\u00e0 N c\u1eeda h\u00e0ng g\u1ea7n nh\u1ea5t *\/<!-- [et_pb_line_break_holder] -->    FAR_KM: 50,                 \/* kh\u00e1ch \u1edf xa h\u01a1n m\u1ee9c n\u00e0y: ch\u1ec9 khung c\u00e1c c\u1eeda h\u00e0ng, kh\u00f4ng k\u00e9o t\u1edbi kh\u00e1ch *\/<!-- [et_pb_line_break_holder] -->    DEBUG: false                \/* true: in nh\u1eadt k\u00fd ra console *\/<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Th\u00eam c\u1eeda h\u00e0ng: ch\u00e9p m\u1ed9t d\u00f2ng, \u0111\u1ed5i id, t\u00ean, \u0111\u1ecba ch\u1ec9, lat, lng.<!-- [et_pb_line_break_holder] -->     sample:true  = d\u1eef li\u1ec7u gi\u1ea3 \u0111\u1ec3 demo, t\u1ef1 \u1ea9n khi SHOW_SAMPLE l\u00e0 false.<!-- [et_pb_line_break_holder] -->     cid          = m\u00e3 CID c\u1ee7a Google Business Profile (kh\u00f4ng b\u1eaft bu\u1ed9c). *\/<!-- [et_pb_line_break_holder] -->  var STORES = [<!-- [et_pb_line_break_holder] -->    { id: \"ntmk\", name: \"Gi\u1eb7t \u1ee6i 2H \u2013 2 Hours Laundry\",<!-- [et_pb_line_break_holder] -->      addr: \"08 Nguy\u1ec5n Th\u1ecb Minh Khai, Nha Trang, Kh\u00e1nh H\u00f2a\",<!-- [et_pb_line_break_holder] -->      lat: 12.2387284, lng: 109.1949388,<!-- [et_pb_line_break_holder] -->      phone: \"+84812397666\", phoneText: \"0812 397 666\",<!-- [et_pb_line_break_holder] -->      open: \"07:00\", close: \"22:00\", cid: \"14645360106988054345\" },<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      { id: \"da-tuong\", name: \"Gi\u1eb7t \u1ee6i 2H \u2013 2 Hours Laundry\",<!-- [et_pb_line_break_holder] -->      addr: \"15 D\u00e3 T\u01b0\u1ee3ng, Nha Trang, Kh\u00e1nh H\u00f2a\",<!-- [et_pb_line_break_holder] -->      lat: 12.2188299, lng: 109.2041355,<!-- [et_pb_line_break_holder] -->      phone: \"+84812397666\", phoneText: \"0812 397 666\",<!-- [et_pb_line_break_holder] -->      open: \"07:00\", close: \"22:00\", cid: \"9287242316172481567\" },<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  ];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* =====================================================================<!-- [et_pb_line_break_holder] -->     2. NG\u00d4N NG\u1eee \u2014 t\u1ef1 ch\u1ecdn theo thu\u1ed9c t\u00ednh lang c\u1ee7a trang (WPML: vi, en, ru, ko)<!-- [et_pb_line_break_holder] -->     ===================================================================== *\/<!-- [et_pb_line_break_holder] -->  var I18N = {<!-- [et_pb_line_break_holder] -->    vi: {<!-- [et_pb_line_break_holder] -->      dec: \",\", min: \"ph\u00fat\", hour: \"gi\u1edd\",<!-- [et_pb_line_break_holder] -->      title: \"C\u1eeda h\u00e0ng gi\u1eb7t \u1ee7i g\u1ea7n b\u1ea1n\",<!-- [et_pb_line_break_holder] -->      hint: \"B\u1ea5m n\u00fat \u0111\u1ec3 xem c\u1eeda h\u00e0ng gi\u1eb7t \u1ee7i g\u1ea7n b\u1ea1n nh\u1ea5t\",<!-- [et_pb_line_break_holder] -->      locate: \"D\u00f9ng v\u1ecb tr\u00ed c\u1ee7a t\u00f4i\", all: \"Xem t\u1ea5t c\u1ea3\",<!-- [et_pb_line_break_holder] -->      locating: \"\u0110ang x\u00e1c \u0111\u1ecbnh v\u1ecb tr\u00ed c\u1ee7a b\u1ea1n\u2026\",<!-- [et_pb_line_break_holder] -->      routing: \"\u0110ang t\u00ednh qu\u00e3ng \u0111\u01b0\u1eddng\u2026\",<!-- [et_pb_line_break_holder] -->      sortedRoad: \"S\u1eafp x\u1ebfp theo qu\u00e3ng \u0111\u01b0\u1eddng di chuy\u1ec3n t\u1eeb v\u1ecb tr\u00ed c\u1ee7a b\u1ea1n\",<!-- [et_pb_line_break_holder] -->      sortedStraight: \"S\u1eafp x\u1ebfp theo kho\u1ea3ng c\u00e1ch \u0111\u01b0\u1eddng th\u1eb3ng (\u2248) t\u1eeb v\u1ecb tr\u00ed c\u1ee7a b\u1ea1n\",<!-- [et_pb_line_break_holder] -->      noGeo: \"Tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n kh\u00f4ng h\u1ed7 tr\u1ee3 \u0111\u1ecbnh v\u1ecb.\",<!-- [et_pb_line_break_holder] -->      denied: \"B\u1ea1n \u0111\u00e3 ch\u1eb7n quy\u1ec1n v\u1ecb tr\u00ed. Tr\u00ean iPhone: C\u00e0i \u0111\u1eb7t \u203a Quy\u1ec1n ri\u00eang t\u01b0 \u203a D\u1ecbch v\u1ee5 \u0111\u1ecbnh v\u1ecb \u203a Safari. Ho\u1eb7c b\u1ea5m Ch\u1ec9 \u0111\u01b0\u1eddng \u1edf c\u1eeda h\u00e0ng b\u00ean d\u01b0\u1edbi.\",<!-- [et_pb_line_break_holder] -->      timeout: \"Ch\u01b0a l\u1ea5y \u0111\u01b0\u1ee3c v\u1ecb tr\u00ed. Th\u1eed l\u1ea1i b\u1eb1ng m\u1ea1ng di \u0111\u1ed9ng thay v\u00ec Wi-Fi, ho\u1eb7c b\u1ea5m Ch\u1ec9 \u0111\u01b0\u1eddng \u1edf c\u1eeda h\u00e0ng b\u00ean d\u01b0\u1edbi.\",<!-- [et_pb_line_break_holder] -->      directions: \"Ch\u1ec9 \u0111\u01b0\u1eddng\", call: \"G\u1ecdi\", nearest: \"G\u1ea7n b\u1ea1n nh\u1ea5t\",<!-- [et_pb_line_break_holder] -->      open: \"\u0110ang m\u1edf\", closed: \"\u0110\u00e3 \u0111\u00f3ng c\u1eeda\",<!-- [et_pb_line_break_holder] -->      closesAt: \"\u0110\u00f3ng l\u00fac {t}\", opensAt: \"M\u1edf l\u00fac {t}\",<!-- [et_pb_line_break_holder] -->      you: \"V\u1ecb tr\u00ed c\u1ee7a b\u1ea1n\", viewOnMaps: \"Xem tr\u00ean Google Maps\",<!-- [et_pb_line_break_holder] -->      loading: \"\u0110ang t\u1ea3i b\u1ea3n \u0111\u1ed3\u2026\",<!-- [et_pb_line_break_holder] -->      mapFail: \"Kh\u00f4ng t\u1ea3i \u0111\u01b0\u1ee3c b\u1ea3n \u0111\u1ed3. Danh s\u00e1ch c\u1eeda h\u00e0ng v\u1eabn d\u00f9ng \u0111\u01b0\u1ee3c.\"<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    en: {<!-- [et_pb_line_break_holder] -->      dec: \".\", min: \"min\", hour: \"h\",<!-- [et_pb_line_break_holder] -->      title: \"Laundry shops near you\",<!-- [et_pb_line_break_holder] -->      hint: \"Tap the button to find the laundry shop nearest to you\",<!-- [et_pb_line_break_holder] -->      locate: \"Use my location\", all: \"Show all\",<!-- [et_pb_line_break_holder] -->      locating: \"Finding your location\u2026\",<!-- [et_pb_line_break_holder] -->      routing: \"Calculating driving distance\u2026\",<!-- [et_pb_line_break_holder] -->      sortedRoad: \"Sorted by driving distance from your location\",<!-- [et_pb_line_break_holder] -->      sortedStraight: \"Sorted by straight-line distance (\u2248) from your location\",<!-- [et_pb_line_break_holder] -->      noGeo: \"Your browser does not support location.\",<!-- [et_pb_line_break_holder] -->      denied: \"Location access is blocked. On iPhone: Settings \u203a Privacy \u203a Location Services \u203a Safari. Or tap Directions on a store below.\",<!-- [et_pb_line_break_holder] -->      timeout: \"Could not get your location. Try mobile data instead of Wi-Fi, or tap Directions on a store below.\",<!-- [et_pb_line_break_holder] -->      directions: \"Directions\", call: \"Call\", nearest: \"Nearest to you\",<!-- [et_pb_line_break_holder] -->      open: \"Open\", closed: \"Closed\",<!-- [et_pb_line_break_holder] -->      closesAt: \"Closes {t}\", opensAt: \"Opens {t}\",<!-- [et_pb_line_break_holder] -->      you: \"Your location\", viewOnMaps: \"View on Google Maps\",<!-- [et_pb_line_break_holder] -->      loading: \"Loading map\u2026\",<!-- [et_pb_line_break_holder] -->      mapFail: \"The map could not be loaded. The store list still works.\"<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    ru: {<!-- [et_pb_line_break_holder] -->      dec: \",\", min: \"\u043c\u0438\u043d\", hour: \"\u0447\",<!-- [et_pb_line_break_holder] -->      title: \"\u041f\u0440\u0430\u0447\u0435\u0447\u043d\u044b\u0435 \u0440\u044f\u0434\u043e\u043c \u0441 \u0432\u0430\u043c\u0438\",<!-- [et_pb_line_break_holder] -->      hint: \"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0443\u044e \u043f\u0440\u0430\u0447\u0435\u0447\u043d\u0443\u044e\",<!-- [et_pb_line_break_holder] -->      locate: \"\u041c\u043e\u0451 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\", all: \"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0441\u0435\",<!-- [et_pb_line_break_holder] -->      locating: \"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c \u0432\u0430\u0448\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u2026\",<!-- [et_pb_line_break_holder] -->      routing: \"\u0421\u0447\u0438\u0442\u0430\u0435\u043c \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435\u2026\",<!-- [et_pb_line_break_holder] -->      sortedRoad: \"\u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043f\u043e \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043f\u043e \u0434\u043e\u0440\u043e\u0433\u0435 \u043e\u0442 \u0432\u0430\u0441\",<!-- [et_pb_line_break_holder] -->      sortedStraight: \"\u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043f\u043e \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043f\u043e \u043f\u0440\u044f\u043c\u043e\u0439 (\u2248) \u043e\u0442 \u0432\u0430\u0441\",<!-- [et_pb_line_break_holder] -->      noGeo: \"\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0433\u0435\u043e\u043b\u043e\u043a\u0430\u0446\u0438\u044e.\",<!-- [et_pb_line_break_holder] -->      denied: \"\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0433\u0435\u043e\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d. \u041d\u0430 iPhone: \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u203a \u041a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u203a \u0421\u043b\u0443\u0436\u0431\u044b \u0433\u0435\u043e\u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u203a Safari. \u0418\u043b\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u00bb \u0443 \u043d\u0443\u0436\u043d\u043e\u0439 \u043f\u0440\u0430\u0447\u0435\u0447\u043d\u043e\u0439.\",<!-- [et_pb_line_break_holder] -->      timeout: \"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u043e Wi-Fi \u0438\u043b\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u00ab\u041c\u0430\u0440\u0448\u0440\u0443\u0442\u00bb \u0443 \u043d\u0443\u0436\u043d\u043e\u0439 \u043f\u0440\u0430\u0447\u0435\u0447\u043d\u043e\u0439.\",<!-- [et_pb_line_break_holder] -->      directions: \"\u041c\u0430\u0440\u0448\u0440\u0443\u0442\", call: \"\u041f\u043e\u0437\u0432\u043e\u043d\u0438\u0442\u044c\", nearest: \"\u0411\u043b\u0438\u0436\u0435 \u0432\u0441\u0435\u0433\u043e \u043a \u0432\u0430\u043c\",<!-- [et_pb_line_break_holder] -->      open: \"\u041e\u0442\u043a\u0440\u044b\u0442\u043e\", closed: \"\u0417\u0430\u043a\u0440\u044b\u0442\u043e\",<!-- [et_pb_line_break_holder] -->      closesAt: \"\u0434\u043e {t}\", opensAt: \"\u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432 {t}\",<!-- [et_pb_line_break_holder] -->      you: \"\u0412\u044b \u0437\u0434\u0435\u0441\u044c\", viewOnMaps: \"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 Google Maps\",<!-- [et_pb_line_break_holder] -->      loading: \"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0443\u2026\",<!-- [et_pb_line_break_holder] -->      mapFail: \"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443. \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u0430\u0447\u0435\u0447\u043d\u044b\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d.\"<!-- [et_pb_line_break_holder] -->    },<!-- [et_pb_line_break_holder] -->    ko: {<!-- [et_pb_line_break_holder] -->      dec: \".\", min: \"\ubd84\", hour: \"\uc2dc\uac04\",<!-- [et_pb_line_break_holder] -->      title: \"\ub0b4 \uc8fc\ubcc0 \uc138\ud0c1\uc18c\",<!-- [et_pb_line_break_holder] -->      hint: \"\ubc84\ud2bc\uc744 \ub20c\ub7ec \uac00\uc7a5 \uac00\uae4c\uc6b4 \uc138\ud0c1\uc18c\ub97c \ucc3e\uc544\ubcf4\uc138\uc694\",<!-- [et_pb_line_break_holder] -->      locate: \"\ub0b4 \uc704\uce58 \uc0ac\uc6a9\", all: \"\uc804\uccb4 \ubcf4\uae30\",<!-- [et_pb_line_break_holder] -->      locating: \"\ud604\uc7ac \uc704\uce58\ub97c \ud655\uc778\ud558\ub294 \uc911\u2026\",<!-- [et_pb_line_break_holder] -->      routing: \"\uc774\ub3d9 \uac70\ub9ac\ub97c \uacc4\uc0b0\ud558\ub294 \uc911\u2026\",<!-- [et_pb_line_break_holder] -->      sortedRoad: \"\ud604\uc7ac \uc704\uce58\uc5d0\uc11c \uc774\ub3d9 \uac70\ub9ac\uc21c\uc73c\ub85c \uc815\ub82c\ud588\uc2b5\ub2c8\ub2e4\",<!-- [et_pb_line_break_holder] -->      sortedStraight: \"\ud604\uc7ac \uc704\uce58\uc5d0\uc11c \uc9c1\uc120 \uac70\ub9ac(\u2248)\uc21c\uc73c\ub85c \uc815\ub82c\ud588\uc2b5\ub2c8\ub2e4\",<!-- [et_pb_line_break_holder] -->      noGeo: \"\uc774 \ube0c\ub77c\uc6b0\uc800\ub294 \uc704\uce58 \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\",<!-- [et_pb_line_break_holder] -->      denied: \"\uc704\uce58 \uad8c\ud55c\uc774 \ucc28\ub2e8\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. iPhone: \uc124\uc815 \u203a \uac1c\uc778\uc815\ubcf4 \ubcf4\ud638 \u203a \uc704\uce58 \uc11c\ube44\uc2a4 \u203a Safari. \ub610\ub294 \uc544\ub798 \ub9e4\uc7a5\uc758 \uae38\ucc3e\uae30\ub97c \ub204\ub974\uc138\uc694.\",<!-- [et_pb_line_break_holder] -->      timeout: \"\uc704\uce58\ub97c \uac00\uc838\uc624\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. Wi-Fi \ub300\uc2e0 \ubaa8\ubc14\uc77c \ub370\uc774\ud130\ub85c \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uac70\ub098 \uc544\ub798 \ub9e4\uc7a5\uc758 \uae38\ucc3e\uae30\ub97c \ub204\ub974\uc138\uc694.\",<!-- [et_pb_line_break_holder] -->      directions: \"\uae38\ucc3e\uae30\", call: \"\uc804\ud654\", nearest: \"\uac00\uc7a5 \uac00\uae4c\uc6b4 \ub9e4\uc7a5\",<!-- [et_pb_line_break_holder] -->      open: \"\uc601\uc5c5 \uc911\", closed: \"\uc601\uc5c5 \uc885\ub8cc\",<!-- [et_pb_line_break_holder] -->      closesAt: \"{t}\uc5d0 \uc601\uc5c5 \uc885\ub8cc\", opensAt: \"{t}\uc5d0 \uc601\uc5c5 \uc2dc\uc791\",<!-- [et_pb_line_break_holder] -->      you: \"\ub0b4 \uc704\uce58\", viewOnMaps: \"Google \uc9c0\ub3c4\uc5d0\uc11c \ubcf4\uae30\",<!-- [et_pb_line_break_holder] -->      loading: \"\uc9c0\ub3c4\ub97c \ubd88\ub7ec\uc624\ub294 \uc911\u2026\",<!-- [et_pb_line_break_holder] -->      mapFail: \"\uc9c0\ub3c4\ub97c \ubd88\ub7ec\uc624\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. \ub9e4\uc7a5 \ubaa9\ub85d\uc740 \uacc4\uc18d \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\"<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* =====================================================================<!-- [et_pb_line_break_holder] -->     3. TI\u1ec6N \u00cdCH<!-- [et_pb_line_break_holder] -->     ===================================================================== *\/<!-- [et_pb_line_break_holder] -->  var AMP = String.fromCharCode(38);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function $(id){ return document.getElementById(id); }<!-- [et_pb_line_break_holder] -->  function or(a, b){ return a ? a : b; }<!-- [et_pb_line_break_holder] -->  function el(tag, cls, text){<!-- [et_pb_line_break_holder] -->    var n = document.createElement(tag);<!-- [et_pb_line_break_holder] -->    if (cls) n.className = cls;<!-- [et_pb_line_break_holder] -->    if (text) n.textContent = text;<!-- [et_pb_line_break_holder] -->    return n;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function log(){<!-- [et_pb_line_break_holder] -->    if (!CONFIG.DEBUG) return;<!-- [et_pb_line_break_holder] -->    if (!window.console) return;<!-- [et_pb_line_break_holder] -->    console.log.apply(console, [\"[g2h]\"].concat([].slice.call(arguments)));<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function isMobile(){<!-- [et_pb_line_break_holder] -->    if (!window.matchMedia) return false;<!-- [et_pb_line_break_holder] -->    return window.matchMedia(\"(max-width: 767px)\").matches;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  var root = $(\"g2h-locator\");<!-- [et_pb_line_break_holder] -->  if (!root) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  var elTitle = $(\"g2h-title\"), elStat = $(\"g2h-stat\"), elBtn = $(\"g2h-locate\"),<!-- [et_pb_line_break_holder] -->      elAll = $(\"g2h-all\"), elCards = $(\"g2h-cards\"), elMap = $(\"g2h-map\"), elMsg = $(\"g2h-msg\");<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  var langAttr = or(document.documentElement.getAttribute(\"lang\"), \"vi\").toLowerCase().slice(0, 2);<!-- [et_pb_line_break_holder] -->  var LANG = I18N[langAttr] ? langAttr : \"vi\";<!-- [et_pb_line_break_holder] -->  var T = I18N[LANG];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  var rows = [], user = null, active = null;<!-- [et_pb_line_break_holder] -->  var map = null, info = null, Adv = null, useAdv = false, inited = false;<!-- [et_pb_line_break_holder] -->  var meMarker = null, meAdv = false;<!-- [et_pb_line_break_holder] -->  var lastFit = \"all\", roadTried = false, reqId = 0, progScroll = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  (function(){<!-- [et_pb_line_break_holder] -->    var i, s;<!-- [et_pb_line_break_holder] -->    for (i = 0; i < STORES.length; i++) {<!-- [et_pb_line_break_holder] -->      s = STORES[i];<!-- [et_pb_line_break_holder] -->      if (s.sample) { if (!CONFIG.SHOW_SAMPLE) continue; }<!-- [et_pb_line_break_holder] -->      rows.push({ id: s.id, s: s, straight: null, road: null, marker: null, adv: false, pin: null, card: null, lastClick: 0 });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  })();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function findRow(id){<!-- [et_pb_line_break_holder] -->    var i;<!-- [et_pb_line_break_holder] -->    for (i = 0; i < rows.length; i++) { if (rows[i].id === id) return rows[i]; }<!-- [et_pb_line_break_holder] -->    return null;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function showMsg(text){ elMsg.textContent = text; elMsg.hidden = false; }<!-- [et_pb_line_break_holder] -->  function hideMsg(){ elMsg.hidden = true; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* ---- kho\u1ea3ng c\u00e1ch ---- *\/<!-- [et_pb_line_break_holder] -->  function rad(d){ return d * Math.PI \/ 180; }<!-- [et_pb_line_break_holder] -->  function haversine(a, b){<!-- [et_pb_line_break_holder] -->    var R = 6371000, dLat = rad(b.lat - a.lat), dLng = rad(b.lng - a.lng);<!-- [et_pb_line_break_holder] -->    var h = Math.sin(dLat \/ 2) * Math.sin(dLat \/ 2) +<!-- [et_pb_line_break_holder] -->            Math.cos(rad(a.lat)) * Math.cos(rad(b.lat)) * Math.sin(dLng \/ 2) * Math.sin(dLng \/ 2);<!-- [et_pb_line_break_holder] -->    return 2 * R * Math.asin(Math.sqrt(h));<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function effM(r){<!-- [et_pb_line_break_holder] -->    if (r.road) return r.road.m;<!-- [et_pb_line_break_holder] -->    if (r.straight !== null) return r.straight;<!-- [et_pb_line_break_holder] -->    return 0;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function compute(){<!-- [et_pb_line_break_holder] -->    var i;<!-- [et_pb_line_break_holder] -->    for (i = 0; i < rows.length; i++) {<!-- [et_pb_line_break_holder] -->      rows[i].straight = haversine(user, { lat: rows[i].s.lat, lng: rows[i].s.lng });<!-- [et_pb_line_break_holder] -->      rows[i].road = null;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  \/* C\u1eeda h\u00e0ng ngo\u00e0i ROUTE_TOP v\u1eabn x\u1ebfp theo s\u1ed1 chim bay. N\u1ebfu c\u00f3 nhi\u1ec1u c\u1eeda h\u00e0ng<!-- [et_pb_line_break_holder] -->     h\u01a1n ROUTE_TOP th\u00ec t\u0103ng ROUTE_TOP \u0111\u1ec3 th\u1ee9 t\u1ef1 kh\u00f4ng b\u1ecb l\u1eabn hai lo\u1ea1i s\u1ed1. *\/<!-- [et_pb_line_break_holder] -->  function sortRows(){<!-- [et_pb_line_break_holder] -->    if (!user) return;<!-- [et_pb_line_break_holder] -->    rows.sort(function(a, b){ return effM(a) - effM(b); });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function fmtDist(m){<!-- [et_pb_line_break_holder] -->    if (m < 1000) return (Math.round(m \/ 10) * 10) + \" m\";<!-- [et_pb_line_break_holder] -->    var km = m \/ 1000;<!-- [et_pb_line_break_holder] -->    var txt = km < 10 ? km.toFixed(1) : String(Math.round(km));<!-- [et_pb_line_break_holder] -->    return txt.replace(\".\", T.dec) + \" km\";<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function fmtDur(sec){<!-- [et_pb_line_break_holder] -->    var min = Math.max(1, Math.round(sec \/ 60));<!-- [et_pb_line_break_holder] -->    if (min < 60) return min + \" \" + T.min;<!-- [et_pb_line_break_holder] -->    var h = Math.floor(min \/ 60), rest = min % 60;<!-- [et_pb_line_break_holder] -->    return h + \" \" + T.hour + (rest ? \" \" + rest + \" \" + T.min : \"\");<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* ---- gi\u1edd m\u1edf c\u1eeda, t\u00ednh theo gi\u1edd Vi\u1ec7t Nam (UTC+7) b\u1ea5t k\u1ec3 m\u00e1y kh\u00e1ch \u1edf m\u00fai n\u00e0o ---- *\/<!-- [et_pb_line_break_holder] -->  function toMin(s){<!-- [et_pb_line_break_holder] -->    var p = String(s).split(\":\");<!-- [et_pb_line_break_holder] -->    return parseInt(p[0], 10) * 60 + parseInt(p[1], 10);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function vnNow(){<!-- [et_pb_line_break_holder] -->    var d = new Date();<!-- [et_pb_line_break_holder] -->    return ((d.getUTCHours() + 7) % 24) * 60 + d.getUTCMinutes();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function hoursInfo(s){<!-- [et_pb_line_break_holder] -->    if (!s.open) return null;<!-- [et_pb_line_break_holder] -->    if (!s.close) return null;<!-- [et_pb_line_break_holder] -->    var now = vnNow(), isOpen = now >= toMin(s.open) ? now < toMin(s.close) : false;<!-- [et_pb_line_break_holder] -->    return {<!-- [et_pb_line_break_holder] -->      open: isOpen,<!-- [et_pb_line_break_holder] -->      label: isOpen ? T.open : T.closed,<!-- [et_pb_line_break_holder] -->      note: (isOpen ? T.closesAt : T.opensAt).replace(\"{t}\", isOpen ? s.close : s.open)<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Kh\u00f4ng g\u1eedi origin: \u0111\u1ec3 Google Maps t\u1ef1 l\u1ea5y v\u1ecb tr\u00ed hi\u1ec7n t\u1ea1i c\u1ee7a m\u00e1y,<!-- [et_pb_line_break_holder] -->     ch\u00ednh x\u00e1c h\u01a1n v\u1ecb tr\u00ed tr\u00ecnh duy\u1ec7t tr\u1ea3 v\u1ec1 qua Wi-Fi. *\/<!-- [et_pb_line_break_holder] -->  function dirUrl(s){<!-- [et_pb_line_break_holder] -->    var u = \"https:\/\/www.google.com\/maps\/dir\/?api=1\" + AMP + \"destination=\" +<!-- [et_pb_line_break_holder] -->            encodeURIComponent(s.lat + \",\" + s.lng);<!-- [et_pb_line_break_holder] -->    if (s.placeId) u += AMP + \"destination_place_id=\" + encodeURIComponent(s.placeId);<!-- [et_pb_line_break_holder] -->    return u;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* =====================================================================<!-- [et_pb_line_break_holder] -->     4. DANH S\u00c1CH \/ D\u1ea2I TH\u1eba<!-- [et_pb_line_break_holder] -->     ===================================================================== *\/<!-- [et_pb_line_break_holder] -->  function renderCards(){<!-- [et_pb_line_break_holder] -->    var i, r, s, card, top, main, name, dist, hrs, h, b, acts, a;<!-- [et_pb_line_break_holder] -->    while (elCards.firstChild) elCards.removeChild(elCards.firstChild);<!-- [et_pb_line_break_holder] -->    elCards.className = rows.length === 1 ? \"g2h-cards is-single\" : \"g2h-cards\";<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    for (i = 0; i < rows.length; i++) {<!-- [et_pb_line_break_holder] -->      r = rows[i]; s = r.s;<!-- [et_pb_line_break_holder] -->      card = el(\"div\", \"g2h-card\");<!-- [et_pb_line_break_holder] -->      card.setAttribute(\"data-id\", r.id);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      top = el(\"div\", \"g2h-top\");<!-- [et_pb_line_break_holder] -->      top.appendChild(el(\"span\", \"g2h-num\", String(i + 1)));<!-- [et_pb_line_break_holder] -->      main = el(\"div\", \"g2h-main\");<!-- [et_pb_line_break_holder] -->      name = el(\"button\", \"g2h-name\", s.name);<!-- [et_pb_line_break_holder] -->      name.type = \"button\";<!-- [et_pb_line_break_holder] -->      main.appendChild(name);<!-- [et_pb_line_break_holder] -->      if (user) {<!-- [et_pb_line_break_holder] -->        if (i === 0) { if (rows.length > 1) main.appendChild(el(\"div\", \"g2h-near\", T.nearest)); }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      top.appendChild(main);<!-- [et_pb_line_break_holder] -->      if (user) {<!-- [et_pb_line_break_holder] -->        dist = el(\"div\", \"g2h-dist\", (r.road ? \"\" : \"\u2248 \") + fmtDist(effM(r)));<!-- [et_pb_line_break_holder] -->        if (r.road) dist.appendChild(el(\"small\", \"\", fmtDur(r.road.sec)));<!-- [et_pb_line_break_holder] -->        top.appendChild(dist);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      card.appendChild(top);<!-- [et_pb_line_break_holder] -->      card.appendChild(el(\"div\", \"g2h-addr\", s.addr));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      h = hoursInfo(s);<!-- [et_pb_line_break_holder] -->      if (h) {<!-- [et_pb_line_break_holder] -->        hrs = el(\"div\", h.open ? \"g2h-hours is-open\" : \"g2h-hours is-shut\");<!-- [et_pb_line_break_holder] -->        b = el(\"b\", \"\", h.label);<!-- [et_pb_line_break_holder] -->        hrs.appendChild(b);<!-- [et_pb_line_break_holder] -->        hrs.appendChild(document.createTextNode(\" \u00b7 \" + h.note));<!-- [et_pb_line_break_holder] -->        card.appendChild(hrs);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      acts = el(\"div\", \"g2h-acts\");<!-- [et_pb_line_break_holder] -->      a = el(\"a\", \"g2h-act g2h-act-main\", T.directions);<!-- [et_pb_line_break_holder] -->      a.href = dirUrl(s); a.target = \"_blank\"; a.rel = \"noopener\";<!-- [et_pb_line_break_holder] -->      acts.appendChild(a);<!-- [et_pb_line_break_holder] -->      if (s.phone) {<!-- [et_pb_line_break_holder] -->        a = el(\"a\", \"g2h-act\", T.call);<!-- [et_pb_line_break_holder] -->        a.href = \"tel:\" + s.phone;<!-- [et_pb_line_break_holder] -->        a.title = or(s.phoneText, s.phone);<!-- [et_pb_line_break_holder] -->        acts.appendChild(a);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      card.appendChild(acts);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      elCards.appendChild(card);<!-- [et_pb_line_break_holder] -->      r.card = card;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    markActive();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function markActive(){<!-- [et_pb_line_break_holder] -->    var i, r, on;<!-- [et_pb_line_break_holder] -->    for (i = 0; i < rows.length; i++) {<!-- [et_pb_line_break_holder] -->      r = rows[i]; on = r.id === active;<!-- [et_pb_line_break_holder] -->      if (r.card) r.card.className = on ? \"g2h-card is-on\" : \"g2h-card\";<!-- [et_pb_line_break_holder] -->      if (r.pin) r.pin.className = on ? \"g2h-pin is-on\" : \"g2h-pin\";<!-- [et_pb_line_break_holder] -->      if (r.marker) {<!-- [et_pb_line_break_holder] -->        if (r.adv) { r.marker.zIndex = on ? 999 : rows.length - i; }<!-- [et_pb_line_break_holder] -->        else { if (r.marker.setZIndex) r.marker.setZIndex(on ? 999 : rows.length - i); }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function smoothScroll(node, x, y){<!-- [et_pb_line_break_holder] -->    var opt = { behavior: \"smooth\" };<!-- [et_pb_line_break_holder] -->    if (x !== null) opt.left = Math.max(0, x);<!-- [et_pb_line_break_holder] -->    if (y !== null) opt.top = Math.max(0, y);<!-- [et_pb_line_break_holder] -->    if (\"scrollBehavior\" in document.documentElement.style) {<!-- [et_pb_line_break_holder] -->      try { node.scrollTo(opt); return; } catch (e) { log(e); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    if (x !== null) node.scrollLeft = opt.left;<!-- [et_pb_line_break_holder] -->    if (y !== null) node.scrollTop = opt.top;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function scrollToCard(id){<!-- [et_pb_line_break_holder] -->    var r = findRow(id);<!-- [et_pb_line_break_holder] -->    if (!r) return;<!-- [et_pb_line_break_holder] -->    if (!r.card) return;<!-- [et_pb_line_break_holder] -->    var c = r.card;<!-- [et_pb_line_break_holder] -->    if (isMobile()) {<!-- [et_pb_line_break_holder] -->      progScroll = true;<!-- [et_pb_line_break_holder] -->      smoothScroll(elCards, c.offsetLeft - (elCards.clientWidth - c.offsetWidth) \/ 2, null);<!-- [et_pb_line_break_holder] -->      setTimeout(function(){ progScroll = false; }, 600);<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    smoothScroll(elCards, null, c.offsetTop - elCards.offsetTop);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function deselect(){<!-- [et_pb_line_break_holder] -->    active = null;<!-- [et_pb_line_break_holder] -->    markActive();<!-- [et_pb_line_break_holder] -->    if (info) info.close();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* from: \"card\" (b\u1ea5m th\u1ebb) | \"marker\" (b\u1ea5m ghim) | \"strip\" (vu\u1ed1t d\u1ea3i th\u1ebb) *\/<!-- [et_pb_line_break_holder] -->  function select(id, from){<!-- [et_pb_line_break_holder] -->    if (id === active) {<!-- [et_pb_line_break_holder] -->      if (from === \"card\") { if (!isMobile()) { deselect(); return; } }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    active = id;<!-- [et_pb_line_break_holder] -->    markActive();<!-- [et_pb_line_break_holder] -->    if (from !== \"strip\") scrollToCard(id);<!-- [et_pb_line_break_holder] -->    showOnMap();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  elCards.addEventListener(\"click\", function(e){<!-- [et_pb_line_break_holder] -->    var n = e.target, id;<!-- [et_pb_line_break_holder] -->    while (n) {<!-- [et_pb_line_break_holder] -->      if (n === elCards) return;<!-- [et_pb_line_break_holder] -->      if (n.tagName === \"A\") return;   \/* link Ch\u1ec9 \u0111\u01b0\u1eddng, G\u1ecdi: \u0111\u1ec3 tr\u00ecnh duy\u1ec7t t\u1ef1 x\u1eed l\u00fd *\/<!-- [et_pb_line_break_holder] -->      id = n.getAttribute ? n.getAttribute(\"data-id\") : null;<!-- [et_pb_line_break_holder] -->      if (id) { select(id, \"card\"); return; }<!-- [et_pb_line_break_holder] -->      n = n.parentNode;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Mobile: vu\u1ed1t d\u1ea3i th\u1ebb t\u1edbi \u0111\u00e2u th\u00ec b\u1ea3n \u0111\u1ed3 \u0111i theo t\u1edbi \u0111\u00f3 *\/<!-- [et_pb_line_break_holder] -->  var stripTimer = null;<!-- [et_pb_line_break_holder] -->  function onStripSettled(){<!-- [et_pb_line_break_holder] -->    var mid = elCards.scrollLeft + elCards.clientWidth \/ 2, best = null, bestD = Infinity, i, c, d;<!-- [et_pb_line_break_holder] -->    for (i = 0; i < rows.length; i++) {<!-- [et_pb_line_break_holder] -->      c = rows[i].card;<!-- [et_pb_line_break_holder] -->      if (!c) continue;<!-- [et_pb_line_break_holder] -->      d = Math.abs(c.offsetLeft + c.offsetWidth \/ 2 - mid);<!-- [et_pb_line_break_holder] -->      if (d < bestD) { bestD = d; best = rows[i]; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    if (!best) return;<!-- [et_pb_line_break_holder] -->    if (best.id === active) return;<!-- [et_pb_line_break_holder] -->    select(best.id, \"strip\");<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  elCards.addEventListener(\"scroll\", function(){<!-- [et_pb_line_break_holder] -->    if (!isMobile()) return;<!-- [et_pb_line_break_holder] -->    if (progScroll) return;<!-- [et_pb_line_break_holder] -->    clearTimeout(stripTimer);<!-- [et_pb_line_break_holder] -->    stripTimer = setTimeout(onStripSettled, 140);<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* =====================================================================<!-- [et_pb_line_break_holder] -->     5. B\u1ea2N \u0110\u1ed2<!-- [et_pb_line_break_holder] -->     ===================================================================== *\/<!-- [et_pb_line_break_holder] -->  function clearMarker(mk, adv){<!-- [et_pb_line_break_holder] -->    if (!mk) return;<!-- [et_pb_line_break_holder] -->    if (adv) { mk.map = null; return; }<!-- [et_pb_line_break_holder] -->    mk.setMap(null);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function makeMarker(r, i){<!-- [et_pb_line_break_holder] -->    var pos = { lat: r.s.lat, lng: r.s.lng }, wrap, pin, mk;<!-- [et_pb_line_break_holder] -->    if (useAdv) {<!-- [et_pb_line_break_holder] -->      wrap = el(\"div\", \"g2h-pinwrap\");<!-- [et_pb_line_break_holder] -->      pin = el(\"div\", \"g2h-pin\");<!-- [et_pb_line_break_holder] -->      pin.appendChild(el(\"span\", \"\", String(i + 1)));<!-- [et_pb_line_break_holder] -->      wrap.appendChild(pin);<!-- [et_pb_line_break_holder] -->      mk = new Adv({ map: map, position: pos, content: wrap, title: r.s.name, zIndex: rows.length - i });<!-- [et_pb_line_break_holder] -->      try { mk.gmpClickable = true; } catch (e0) { log(e0); }<!-- [et_pb_line_break_holder] -->      r.adv = true; r.pin = pin;<!-- [et_pb_line_break_holder] -->    } else {<!-- [et_pb_line_break_holder] -->      mk = new google.maps.Marker({<!-- [et_pb_line_break_holder] -->        map: map, position: pos, title: r.s.name, zIndex: rows.length - i,<!-- [et_pb_line_break_holder] -->        label: { text: String(i + 1), color: \"#ffffff\", fontWeight: \"700\" }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      r.adv = false; r.pin = null;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    function onClick(){<!-- [et_pb_line_break_holder] -->      var now = Date.now();<!-- [et_pb_line_break_holder] -->      if (now - r.lastClick < 300) return;<!-- [et_pb_line_break_holder] -->      r.lastClick = now;<!-- [et_pb_line_break_holder] -->      select(r.id, \"marker\");<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    try { mk.addListener(\"click\", onClick); } catch (e1) { log(e1); }<!-- [et_pb_line_break_holder] -->    if (r.adv) {<!-- [et_pb_line_break_holder] -->      if (mk.addEventListener) { try { mk.addEventListener(\"gmp-click\", onClick); } catch (e2) { log(e2); } }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    r.marker = mk;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function drawMarkers(){<!-- [et_pb_line_break_holder] -->    if (!map) return;<!-- [et_pb_line_break_holder] -->    var i;<!-- [et_pb_line_break_holder] -->    for (i = 0; i < rows.length; i++) {<!-- [et_pb_line_break_holder] -->      clearMarker(rows[i].marker, rows[i].adv);<!-- [et_pb_line_break_holder] -->      rows[i].marker = null; rows[i].pin = null;<!-- [et_pb_line_break_holder] -->      makeMarker(rows[i], i);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    markActive();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function drawMe(){<!-- [et_pb_line_break_holder] -->    if (!map) return;<!-- [et_pb_line_break_holder] -->    if (!user) return;<!-- [et_pb_line_break_holder] -->    clearMarker(meMarker, meAdv);<!-- [et_pb_line_break_holder] -->    meMarker = null;<!-- [et_pb_line_break_holder] -->    if (useAdv) {<!-- [et_pb_line_break_holder] -->      meMarker = new Adv({ map: map, position: user, content: el(\"div\", \"g2h-me\"), title: T.you, zIndex: 0 });<!-- [et_pb_line_break_holder] -->      meAdv = true;<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    meMarker = new google.maps.Marker({<!-- [et_pb_line_break_holder] -->      map: map, position: user, title: T.you, zIndex: 0,<!-- [et_pb_line_break_holder] -->      icon: { path: google.maps.SymbolPath.CIRCLE, scale: 8, fillColor: \"#1a73e8\",<!-- [et_pb_line_break_holder] -->              fillOpacity: 1, strokeColor: \"#ffffff\", strokeWeight: 3 }<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    meAdv = false;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Mobile: thanh ti\u00eau \u0111\u1ec1 n\u1ed5i ph\u00eda tr\u00ean v\u00e0 d\u1ea3i th\u1ebb ph\u00eda d\u01b0\u1edbi \u0111\u1ec1u \u0111\u00e8 l\u00ean b\u1ea3n \u0111\u1ed3,<!-- [et_pb_line_break_holder] -->     n\u00ean \u0111o \u0111\u00fang chi\u1ec1u cao th\u1eadt c\u1ee7a ch\u00fang (\u0111\u1ed5i theo ng\u00f4n ng\u1eef, c\u1ee1 ch\u1eef) r\u1ed3i ch\u1eeba ra.<!-- [et_pb_line_break_holder] -->     C\u1ed9ng th\u00eam 50px ph\u00eda tr\u00ean cho chi\u1ec1u cao c\u1ee7a ghim. *\/<!-- [et_pb_line_break_holder] -->  function fitPad(){<!-- [et_pb_line_break_holder] -->    if (!isMobile()) return { top: 60, right: 60, bottom: 60, left: 60 };<!-- [et_pb_line_break_holder] -->    var head = root.querySelector(\".g2h-head\"), H = root.clientHeight;<!-- [et_pb_line_break_holder] -->    var top = head ? head.offsetTop + head.offsetHeight + 50 : 145;<!-- [et_pb_line_break_holder] -->    var bottom = H - elCards.offsetTop + 12;<!-- [et_pb_line_break_holder] -->    if (top < 120) top = 120;<!-- [et_pb_line_break_holder] -->    if (bottom < 210) bottom = 210;<!-- [et_pb_line_break_holder] -->    if (top + bottom > H - 90) return { top: 120, right: 40, bottom: 210, left: 40 };<!-- [et_pb_line_break_holder] -->    return { top: top, right: 40, bottom: bottom, left: 40 };<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* mode: \"all\" = m\u1ecdi c\u1eeda h\u00e0ng | s\u1ed1 N = kh\u00e1ch v\u00e0 N c\u1eeda h\u00e0ng g\u1ea7n nh\u1ea5t *\/<!-- [et_pb_line_break_holder] -->  function fitTo(mode){<!-- [et_pb_line_break_holder] -->    if (!map) return;<!-- [et_pb_line_break_holder] -->    lastFit = mode;<!-- [et_pb_line_break_holder] -->    var b = new google.maps.LatLngBounds(), list = rows, n = 0, i, near = false;<!-- [et_pb_line_break_holder] -->    if (mode !== \"all\") {<!-- [et_pb_line_break_holder] -->      if (user) { if (rows.length) near = rows[0].straight <= CONFIG.FAR_KM * 1000; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    if (near) { list = rows.slice(0, mode); b.extend(user); n++; }<!-- [et_pb_line_break_holder] -->    for (i = 0; i < list.length; i++) { b.extend({ lat: list[i].s.lat, lng: list[i].s.lng }); n++; }<!-- [et_pb_line_break_holder] -->    if (n === 0) return;<!-- [et_pb_line_break_holder] -->    if (n === 1) { map.setCenter(b.getCenter()); map.setZoom(16); return; }<!-- [et_pb_line_break_holder] -->    try { map.fitBounds(b, fitPad()); } catch (e) { log(\"fitBounds l\u1ed7i\", e); return; }<!-- [et_pb_line_break_holder] -->    google.maps.event.addListenerOnce(map, \"idle\", function(){<!-- [et_pb_line_break_holder] -->      if (map.getZoom() > 17) map.setZoom(17);<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function openInfo(r){<!-- [et_pb_line_break_holder] -->    if (isMobile()) { if (info) info.close(); return; }<!-- [et_pb_line_break_holder] -->    if (!r.marker) return;<!-- [et_pb_line_break_holder] -->    if (!info) info = new google.maps.InfoWindow();<!-- [et_pb_line_break_holder] -->    var box = el(\"div\", \"g2h-iw\"), a;<!-- [et_pb_line_break_holder] -->    box.appendChild(el(\"div\", \"g2h-iw-name\", r.s.name));<!-- [et_pb_line_break_holder] -->    box.appendChild(el(\"div\", \"g2h-iw-addr\", r.s.addr));<!-- [et_pb_line_break_holder] -->    a = el(\"a\", \"g2h-iw-link\", r.s.cid ? T.viewOnMaps : T.directions);<!-- [et_pb_line_break_holder] -->    a.href = r.s.cid ? \"https:\/\/maps.google.com\/?cid=\" + r.s.cid : dirUrl(r.s);<!-- [et_pb_line_break_holder] -->    a.target = \"_blank\"; a.rel = \"noopener\";<!-- [et_pb_line_break_holder] -->    box.appendChild(a);<!-- [et_pb_line_break_holder] -->    info.setContent(box);<!-- [et_pb_line_break_holder] -->    try { info.open({ map: map, anchor: r.marker }); } catch (e) { info.open(map, r.marker); }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function showOnMap(){<!-- [et_pb_line_break_holder] -->    var r = findRow(active);<!-- [et_pb_line_break_holder] -->    if (!r) return;<!-- [et_pb_line_break_holder] -->    if (!map) return;<!-- [et_pb_line_break_holder] -->    map.panTo({ lat: r.s.lat, lng: r.s.lng });<!-- [et_pb_line_break_holder] -->    if (map.getZoom() < 15) map.setZoom(15);<!-- [et_pb_line_break_holder] -->    openInfo(r);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function build(){<!-- [et_pb_line_break_holder] -->    if (inited) return;<!-- [et_pb_line_break_holder] -->    inited = true;<!-- [et_pb_line_break_holder] -->    if (!rows.length) { showMsg(\"STORES \u0111ang tr\u1ed1ng.\"); return; }<!-- [et_pb_line_break_holder] -->    if (!Adv) {<!-- [et_pb_line_break_holder] -->      if (google.maps.marker) {<!-- [et_pb_line_break_holder] -->        if (google.maps.marker.AdvancedMarkerElement) Adv = google.maps.marker.AdvancedMarkerElement;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    var hasMapId = CONFIG.MAP_ID ? CONFIG.MAP_ID.indexOf(\"DAN_\") !== 0 : false;<!-- [et_pb_line_break_holder] -->    useAdv = Adv ? hasMapId : false;   \/* Advanced Marker b\u1eaft bu\u1ed9c ph\u1ea3i c\u00f3 Map ID *\/<!-- [et_pb_line_break_holder] -->    log(useAdv ? \"d\u00f9ng AdvancedMarkerElement\" : \"d\u00f9ng Marker ki\u1ec3u c\u0169\");<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    var opts = {<!-- [et_pb_line_break_holder] -->      center: { lat: rows[0].s.lat, lng: rows[0].s.lng }, zoom: 14,<!-- [et_pb_line_break_holder] -->      gestureHandling: \"cooperative\",   \/* cu\u1ed9n trang kh\u00f4ng b\u1ecb b\u1ea3n \u0111\u1ed3 nu\u1ed1t *\/<!-- [et_pb_line_break_holder] -->      mapTypeControl: false, streetViewControl: false, fullscreenControl: false,<!-- [et_pb_line_break_holder] -->      clickableIcons: false<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    if (hasMapId) opts.mapId = CONFIG.MAP_ID;<!-- [et_pb_line_break_holder] -->    try { map = new google.maps.Map(elMap, opts); }<!-- [et_pb_line_break_holder] -->    catch (e) { log(e); showMsg(T.mapFail); return; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    hideMsg();<!-- [et_pb_line_break_holder] -->    drawMarkers();<!-- [et_pb_line_break_holder] -->    map.addListener(\"click\", function(){ if (!isMobile()) deselect(); });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    if (!user) { fitTo(\"all\"); return; }<!-- [et_pb_line_break_holder] -->    drawMe();<!-- [et_pb_line_break_holder] -->    fitTo(CONFIG.FIT);<!-- [et_pb_line_break_holder] -->    if (CONFIG.DISTANCE_MODE === \"driving\") { if (!roadTried) fetchRoadDistances(); }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function initMap(){<!-- [et_pb_line_break_holder] -->    if (google.maps.importLibrary) {<!-- [et_pb_line_break_holder] -->      google.maps.importLibrary(\"maps\")<!-- [et_pb_line_break_holder] -->        .then(function(){ return google.maps.importLibrary(\"marker\"); })<!-- [et_pb_line_break_holder] -->        .then(function(lib){<!-- [et_pb_line_break_holder] -->          if (lib) { if (lib.AdvancedMarkerElement) Adv = lib.AdvancedMarkerElement; }<!-- [et_pb_line_break_holder] -->          build();<!-- [et_pb_line_break_holder] -->        })<!-- [et_pb_line_break_holder] -->        [\"catch\"](function(e){ log(\"importLibrary l\u1ed7i\", e); build(); });<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    build();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Kh\u00f4ng d\u1ef1ng b\u1ea3n \u0111\u1ed3 khi khung c\u00f2n 0px (tab \u1ea9n, Divi ch\u01b0a bung layout):<!-- [et_pb_line_break_holder] -->     d\u1ef1ng l\u00fac \u0111\u00f3 l\u00e0 tile v\u1ebd l\u1ec7ch, ch\u1ec9 hi\u1ec7n m\u1ed9t g\u00f3c. *\/<!-- [et_pb_line_break_holder] -->  function sized(){<!-- [et_pb_line_break_holder] -->    return elMap.offsetWidth > 0 ? elMap.offsetHeight > 0 : false;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function whenSized(fn){<!-- [et_pb_line_break_holder] -->    var t0 = Date.now();<!-- [et_pb_line_break_holder] -->    (function poll(){<!-- [et_pb_line_break_holder] -->      if (sized()) { fn(); return; }<!-- [et_pb_line_break_holder] -->      if (Date.now() - t0 > 30000) { fn(); return; }<!-- [et_pb_line_break_holder] -->      setTimeout(poll, 150);<!-- [et_pb_line_break_holder] -->    })();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function mapsReady(){<!-- [et_pb_line_break_holder] -->    if (!window.google) return false;<!-- [et_pb_line_break_holder] -->    if (!window.google.maps) return false;<!-- [et_pb_line_break_holder] -->    if (window.google.maps.Map) return true;<!-- [et_pb_line_break_holder] -->    return !!window.google.maps.importLibrary;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function findExistingTag(){<!-- [et_pb_line_break_holder] -->    return document.querySelector('script[src*=\"maps.googleapis.com\/maps\/api\/js\"]');<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  function waitForGoogle(cb){<!-- [et_pb_line_break_holder] -->    var t0 = Date.now();<!-- [et_pb_line_break_holder] -->    (function poll(){<!-- [et_pb_line_break_holder] -->      if (mapsReady()) { cb(); return; }<!-- [et_pb_line_break_holder] -->      if (Date.now() - t0 > 20000) { showMsg(T.mapFail); return; }<!-- [et_pb_line_break_holder] -->      setTimeout(poll, 120);<!-- [et_pb_line_break_holder] -->    })();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  var ensureGuard = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Kh\u00f4ng bao gi\u1edd n\u1ea1p b\u1ea3n Maps API th\u1ee9 hai.<!-- [et_pb_line_break_holder] -->     Locator th\u01b0\u1eddng n\u1eb1m cu\u1ed1i trang n\u00ean IntersectionObserver c\u00f3 th\u1ec3 b\u1eafn TR\u01af\u1edaC khi<!-- [et_pb_line_break_holder] -->     tr\u00ecnh duy\u1ec7t \u0111\u1ecdc t\u1edbi script Maps c\u1ee7a b\u00ean kh\u00e1c \u1edf footer. V\u00ec v\u1eady ph\u1ea3i ch\u1edd<!-- [et_pb_line_break_holder] -->     trang t\u1ea3i xong m\u1edbi d\u00e1m k\u1ebft lu\u1eadn l\u00e0 ch\u01b0a ai n\u1ea1p. *\/<!-- [et_pb_line_break_holder] -->  function ensureMaps(){<!-- [et_pb_line_break_holder] -->    if (mapsReady()) { log(\"d\u00f9ng b\u1ea3n Maps API \u0111\u00e3 c\u00f3 tr\u00ean trang\"); whenSized(initMap); return; }<!-- [et_pb_line_break_holder] -->    if (findExistingTag()) {<!-- [et_pb_line_break_holder] -->      log(\"\u0111\u00e3 c\u00f3 th\u1ebb script Maps c\u1ee7a b\u00ean kh\u00e1c, ch\u1edd n\u00f3 t\u1ea3i xong\");<!-- [et_pb_line_break_holder] -->      waitForGoogle(function(){ whenSized(initMap); });<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    if (document.readyState !== \"complete\") {<!-- [et_pb_line_break_holder] -->      if (ensureGuard) return;<!-- [et_pb_line_break_holder] -->      ensureGuard = true;<!-- [et_pb_line_break_holder] -->      window.addEventListener(\"load\", function(){ ensureGuard = false; ensureMaps(); });<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    injectLoader();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  window.g2hMapInit = function(){ whenSized(initMap); };<!-- [et_pb_line_break_holder] -->  window.gm_authFailure = function(){ showMsg(T.mapFail); };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function injectLoader(){<!-- [et_pb_line_break_holder] -->    if ($(\"g2h-gmaps-js\")) return;<!-- [et_pb_line_break_holder] -->    if (CONFIG.API_KEY.indexOf(\"DAN_\") === 0) {<!-- [et_pb_line_break_holder] -->      showMsg(\"Ch\u01b0a \u0111i\u1ec1n API_KEY trong CONFIG. Danh s\u00e1ch c\u1eeda h\u00e0ng v\u1eabn ch\u1ea1y, b\u1ea3n \u0111\u1ed3 ch\u01b0a t\u1ea3i.\");<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    log(\"t\u1ef1 n\u1ea1p Maps API\");<!-- [et_pb_line_break_holder] -->    var p = new URLSearchParams({<!-- [et_pb_line_break_holder] -->      key: CONFIG.API_KEY, v: \"weekly\", libraries: \"marker\",<!-- [et_pb_line_break_holder] -->      language: LANG, region: \"VN\", loading: \"async\", callback: \"g2hMapInit\"<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] -->    var sc = document.createElement(\"script\");<!-- [et_pb_line_break_holder] -->    sc.id = \"g2h-gmaps-js\";<!-- [et_pb_line_break_holder] -->    sc.async = true;<!-- [et_pb_line_break_holder] -->    sc.src = \"https:\/\/maps.googleapis.com\/maps\/api\/js?\" + p.toString();<!-- [et_pb_line_break_holder] -->    sc.onerror = function(){ showMsg(T.mapFail); };<!-- [et_pb_line_break_holder] -->    document.head.appendChild(sc);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* =====================================================================<!-- [et_pb_line_break_holder] -->     6. \u0110\u1ecaNH V\u1eca V\u00c0 QU\u00c3NG \u0110\u01af\u1edcNG<!-- [et_pb_line_break_holder] -->     ===================================================================== *\/<!-- [et_pb_line_break_holder] -->  function fail(msg){<!-- [et_pb_line_break_holder] -->    elBtn.disabled = false;<!-- [et_pb_line_break_holder] -->    elStat.textContent = msg;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function locate(){<!-- [et_pb_line_break_holder] -->    if (!navigator.geolocation) { fail(T.noGeo); return; }<!-- [et_pb_line_break_holder] -->    elBtn.disabled = true;<!-- [et_pb_line_break_holder] -->    elStat.textContent = T.locating;<!-- [et_pb_line_break_holder] -->    navigator.geolocation.getCurrentPosition(function(pos){<!-- [et_pb_line_break_holder] -->      user = { lat: pos.coords.latitude, lng: pos.coords.longitude };<!-- [et_pb_line_break_holder] -->      log(\"v\u1ecb tr\u00ed kh\u00e1ch\", user, \"sai s\u1ed1 ~\" + Math.round(pos.coords.accuracy) + \" m\");<!-- [et_pb_line_break_holder] -->      elBtn.disabled = false;<!-- [et_pb_line_break_holder] -->      active = null;<!-- [et_pb_line_break_holder] -->      roadTried = false;<!-- [et_pb_line_break_holder] -->      compute();          \/* x\u1ebfp s\u01a1 b\u1ed9 b\u1eb1ng chim bay: hi\u1ec7n ngay, kh\u00f4ng ch\u1edd API *\/<!-- [et_pb_line_break_holder] -->      sortRows();<!-- [et_pb_line_break_holder] -->      renderCards();<!-- [et_pb_line_break_holder] -->      drawMarkers();<!-- [et_pb_line_break_holder] -->      drawMe();<!-- [et_pb_line_break_holder] -->      fitTo(CONFIG.FIT);<!-- [et_pb_line_break_holder] -->      if (isMobile()) elCards.scrollLeft = 0; else elCards.scrollTop = 0;<!-- [et_pb_line_break_holder] -->      if (CONFIG.DISTANCE_MODE === \"driving\") {<!-- [et_pb_line_break_holder] -->        if (mapsReady()) { elStat.textContent = T.routing; fetchRoadDistances(); return; }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      elStat.textContent = T.sortedStraight;<!-- [et_pb_line_break_holder] -->    }, function(err){<!-- [et_pb_line_break_holder] -->      if (err.code === 1) { fail(T.denied); return; }<!-- [et_pb_line_break_holder] -->      fail(T.timeout);<!-- [et_pb_line_break_holder] -->    }, { enableHighAccuracy: true, timeout: 15000, maximumAge: 300000 });<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Qu\u00e3ng \u0111\u01b0\u1eddng ch\u1ea1y xe th\u1eadt. Ch\u1ec9 ch\u1ea1y SAU khi \u0111\u00e3 c\u00f3 danh s\u00e1ch x\u1ebfp b\u1eb1ng chim bay.<!-- [et_pb_line_break_holder] -->     H\u1ecfng th\u00ec im l\u1eb7ng gi\u1eef s\u1ed1 chim bay (c\u00f3 d\u1ea5u \u2248). *\/<!-- [et_pb_line_break_holder] -->  function fetchRoadDistances(){<!-- [et_pb_line_break_holder] -->    roadTried = true;<!-- [et_pb_line_break_holder] -->    var mine = ++reqId;<!-- [et_pb_line_break_holder] -->    var top = rows.slice(0, Math.min(CONFIG.ROUTE_TOP, 25));<!-- [et_pb_line_break_holder] -->    if (!top.length) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function run(Svc){<!-- [et_pb_line_break_holder] -->      var svc;<!-- [et_pb_line_break_holder] -->      try { svc = new Svc(); } catch (e) { log(e); roadDone(false); return; }<!-- [et_pb_line_break_holder] -->      svc.getDistanceMatrix({<!-- [et_pb_line_break_holder] -->        origins: [ user ],<!-- [et_pb_line_break_holder] -->        destinations: top.map(function(r){ return { lat: r.s.lat, lng: r.s.lng }; }),<!-- [et_pb_line_break_holder] -->        travelMode: \"DRIVING\",<!-- [et_pb_line_break_holder] -->        unitSystem: google.maps.UnitSystem ? google.maps.UnitSystem.METRIC : 0<!-- [et_pb_line_break_holder] -->      }, function(res, status){<!-- [et_pb_line_break_holder] -->        if (mine !== reqId) return;   \/* kh\u00e1ch \u0111\u00e3 b\u1ea5m \u0111\u1ecbnh v\u1ecb l\u1ea1i, b\u1ecf k\u1ebft qu\u1ea3 c\u0169 *\/<!-- [et_pb_line_break_holder] -->        if (status !== \"OK\") { log(\"Distance Matrix l\u1ed7i:\", status); roadDone(false); return; }<!-- [et_pb_line_break_holder] -->        var els = res.rows[0].elements, i;<!-- [et_pb_line_break_holder] -->        for (i = 0; i < top.length; i++) {<!-- [et_pb_line_break_holder] -->          if (!els[i]) continue;<!-- [et_pb_line_break_holder] -->          if (els[i].status !== \"OK\") continue;<!-- [et_pb_line_break_holder] -->          top[i].road = { m: els[i].distance.value, sec: els[i].duration.value };<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        roadDone(true);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    if (google.maps.importLibrary) {<!-- [et_pb_line_break_holder] -->      google.maps.importLibrary(\"routes\")<!-- [et_pb_line_break_holder] -->        .then(function(lib){ run(lib.DistanceMatrixService); })<!-- [et_pb_line_break_holder] -->        [\"catch\"](function(e){<!-- [et_pb_line_break_holder] -->          log(\"kh\u00f4ng n\u1ea1p \u0111\u01b0\u1ee3c th\u01b0 vi\u1ec7n routes:\", e);<!-- [et_pb_line_break_holder] -->          if (google.maps.DistanceMatrixService) { run(google.maps.DistanceMatrixService); return; }<!-- [et_pb_line_break_holder] -->          roadDone(false);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->      return;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    if (google.maps.DistanceMatrixService) { run(google.maps.DistanceMatrixService); return; }<!-- [et_pb_line_break_holder] -->    roadDone(false);<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  function roadDone(ok){<!-- [et_pb_line_break_holder] -->    if (ok) {<!-- [et_pb_line_break_holder] -->      sortRows();<!-- [et_pb_line_break_holder] -->      renderCards();<!-- [et_pb_line_break_holder] -->      drawMarkers();<!-- [et_pb_line_break_holder] -->      if (!active) fitTo(CONFIG.FIT);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    elStat.textContent = ok ? T.sortedRoad : T.sortedStraight;<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Kh\u00e1ch t\u1eebng cho ph\u00e9p \u0111\u1ecbnh v\u1ecb tr\u00ean site n\u00e0y th\u00ec t\u1ef1 x\u1ebfp lu\u00f4n, kh\u1ecfi b\u1ea5m l\u1ea1i *\/<!-- [et_pb_line_break_holder] -->  function autoLocate(){<!-- [et_pb_line_break_holder] -->    if (!navigator.permissions) return;<!-- [et_pb_line_break_holder] -->    if (!navigator.permissions.query) return;<!-- [et_pb_line_break_holder] -->    try {<!-- [et_pb_line_break_holder] -->      navigator.permissions.query({ name: \"geolocation\" })<!-- [et_pb_line_break_holder] -->        .then(function(p){ if (p.state === \"granted\") locate(); })<!-- [et_pb_line_break_holder] -->        [\"catch\"](function(e){ log(e); });<!-- [et_pb_line_break_holder] -->    } catch (e) { log(e); }<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* =====================================================================<!-- [et_pb_line_break_holder] -->     7. KH\u1edeI CH\u1ea0Y<!-- [et_pb_line_break_holder] -->     ===================================================================== *\/<!-- [et_pb_line_break_holder] -->  elTitle.textContent = T.title;<!-- [et_pb_line_break_holder] -->  elStat.textContent = T.hint;<!-- [et_pb_line_break_holder] -->  elBtn.textContent = T.locate;<!-- [et_pb_line_break_holder] -->  elAll.textContent = T.all;<!-- [et_pb_line_break_holder] -->  elMsg.textContent = T.loading;<!-- [et_pb_line_break_holder] -->  if (rows.length < 2) elAll.hidden = true;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  renderCards();   \/* danh s\u00e1ch hi\u1ec7n ngay, kh\u00f4ng ph\u1ee5 thu\u1ed9c b\u1ea3n \u0111\u1ed3 *\/<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  elBtn.addEventListener(\"click\", locate);<!-- [et_pb_line_break_holder] -->  elAll.addEventListener(\"click\", function(){<!-- [et_pb_line_break_holder] -->    deselect();<!-- [et_pb_line_break_holder] -->    fitTo(\"all\");<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  var lastW = window.innerWidth, resizeTimer = null;<!-- [et_pb_line_break_holder] -->  window.addEventListener(\"resize\", function(){<!-- [et_pb_line_break_holder] -->    if (window.innerWidth === lastW) return;   \/* b\u1ecf qua l\u00fac thanh \u0111\u1ecba ch\u1ec9 mobile co gi\u00e3n *\/<!-- [et_pb_line_break_holder] -->    lastW = window.innerWidth;<!-- [et_pb_line_break_holder] -->    clearTimeout(resizeTimer);<!-- [et_pb_line_break_holder] -->    resizeTimer = setTimeout(function(){ if (!active) fitTo(lastFit); }, 250);<!-- [et_pb_line_break_holder] -->  });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  \/* Lazy-load: ch\u1ec9 t\u1ea3i Maps khi kh\u1ed1i n\u00e0y cu\u1ed9n t\u1edbi g\u1ea7n m\u00e0n h\u00ecnh *\/<!-- [et_pb_line_break_holder] -->  function start(){<!-- [et_pb_line_break_holder] -->    ensureMaps();<!-- [et_pb_line_break_holder] -->    autoLocate();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->  if (\"IntersectionObserver\" in window) {<!-- [et_pb_line_break_holder] -->    var io = new IntersectionObserver(function(entries){<!-- [et_pb_line_break_holder] -->      var i;<!-- [et_pb_line_break_holder] -->      for (i = 0; i < entries.length; i++) {<!-- [et_pb_line_break_holder] -->        if (entries[i].isIntersecting) { io.disconnect(); start(); return; }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }, { rootMargin: \"300px 0px\" });<!-- [et_pb_line_break_holder] -->    io.observe(root);<!-- [et_pb_line_break_holder] -->  } else {<!-- [et_pb_line_break_holder] -->    start();<!-- [et_pb_line_break_holder] -->  }<!-- [et_pb_line_break_holder] -->})();<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_fullwidth_code][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; next_background_color=&#8221;#000000&#8243; admin_label=&#8221;Footer&#8221; _builder_version=&#8221;4.27.7&#8243; background_color=&#8221;#ff8c00&#8243; custom_margin=&#8221;0px||-30px||false|false&#8221; custom_padding=&#8221;0px|0px|0px|0px|false|false&#8221; bottom_divider_style=&#8221;clouds2&#8243; bottom_divider_height=&#8221;120px&#8221; saved_tabs=&#8221;all&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; global_module=&#8221;9636&#8243; theme_builder_area=&#8221;post_content&#8221;][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_heading title=&#8221;Address and opening hours&#8221; _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; title_level=&#8221;h2&#8243; title_font=&#8221;Arial|600|||||||&#8221; title_text_align=&#8221;center&#8221; title_text_color=&#8221;#FFFFFF&#8221; title_font_size=&#8221;29px&#8221; title_line_height=&#8221;1.6em&#8221; title_text_shadow_style=&#8221;preset1&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][\/et_pb_heading][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_2,1_2&#8243; _builder_version=&#8221;4.27.7&#8243; width=&#8221;95%&#8221; max_width=&#8221;2560px&#8221; min_height=&#8221;100px&#8221; custom_margin=&#8221;|auto||auto|false|false&#8221; custom_padding=&#8221;||||false|false&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_text _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Arial||||||||&#8221; text_font_size=&#8221;17px&#8221; header_4_font=&#8221;Arial||||||||&#8221; header_4_font_size=&#8221;20px&#8221; background_color=&#8221;rgba(255,255,255,0.2)&#8221; background_layout=&#8221;dark&#8221; custom_margin=&#8221;0px||||false|false&#8221; custom_padding=&#8221;10px|15px|10px|15px|true|true&#8221; text_text_shadow_style=&#8221;preset5&#8243; header_text_shadow_style=&#8221;preset5&#8243; border_radii=&#8221;on|10px|10px|10px|10px&#8221; box_shadow_style=&#8221;preset2&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<\/p>\n<h3>2 Hours Laundry &#8211; 08 Nguy\u1ec5n Th\u1ecb Minh Khai<\/h3>\n<p><span style=\"font-size: 16px;\"><strong>Address:<\/strong>8 Nguyen Thi Minh Khai, Nha Trang, Khanh Hoa 650000 (At the Hung Vuong junction. Near the Main Square and the Night Market. Next to Panorama)<\/span><span style=\"font-size: 16px;\"><\/span><\/p>\n<p><strong>Opening hours: 07:00 \u2013 22:00 daily<\/strong><\/p>\n<p><strong>Tel:<\/strong> +84 258 3810 888 (Shop) | + 84 812 397 666 (Zalo, Whatsapp, Kakao)<\/p>\n<p><span><\/span><\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/maps.google.com\/?cid=14645360106988054345&#8243; url_new_window=&#8221;on&#8221; button_text=&#8221;Ch\u1ec9 \u0111\u01b0\u1eddng t\u1edbi \u0111\u00e2y&#8221; button_alignment=&#8221;center&#8221; _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;17px&#8221; button_text_color=&#8221;#0C71C3&#8243; button_bg_color=&#8221;#ffffff&#8221; button_border_width=&#8221;2px&#8221; button_border_radius=&#8221;6px&#8221; button_font=&#8221;|700|||||||&#8221; button_use_icon=&#8221;off&#8221; button_rel=&#8221;off|off|off|on|on&#8221; background_layout=&#8221;dark&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;||||false|false&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][et_pb_text _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Arial||||||||&#8221; text_font_size=&#8221;17px&#8221; header_4_font=&#8221;Arial||||||||&#8221; header_4_font_size=&#8221;20px&#8221; background_color=&#8221;rgba(255,255,255,0.2)&#8221; background_layout=&#8221;dark&#8221; custom_margin=&#8221;0px||||false|false&#8221; custom_padding=&#8221;10px|15px|10px|15px|true|true&#8221; text_text_shadow_style=&#8221;preset5&#8243; header_text_shadow_style=&#8221;preset5&#8243; border_radii=&#8221;on|10px|10px|10px|10px&#8221; box_shadow_style=&#8221;preset2&#8243; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;]<\/p>\n<h3>2 Hours Laundry &#8211; 15 D\u00e3 T\u01b0\u1ee3ng<\/h3>\n<p><span style=\"font-size: 16px;\"><strong>Address:<\/strong><\/span>15 D\u00e3 T\u01b0\u1ee3ng Street, Nha Trang, Kh\u00e1nh H\u00f2a 650000 (right at the corner of Tr\u1ea7n Ph\u00fa Street, near the beach)<span style=\"font-size: 16px;\"><\/span><\/p>\n<p><strong>Opening hours: 07:00 \u2013 22:00 daily<\/strong><\/p>\n<p><strong>Tel:<\/strong> +84 812 397 666 (Zalo, Whatsapp, Kakao)<\/p>\n<p><span><\/span><\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/google.com\/maps?cid=9287242316172481567&#8243; url_new_window=&#8221;on&#8221; button_text=&#8221;Ch\u1ec9 \u0111\u01b0\u1eddng t\u1edbi \u0111\u00e2y&#8221; button_alignment=&#8221;center&#8221; _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;17px&#8221; button_text_color=&#8221;#0C71C3&#8243; button_bg_color=&#8221;#ffffff&#8221; button_border_width=&#8221;2px&#8221; button_border_radius=&#8221;6px&#8221; button_font=&#8221;|700|||||||&#8221; button_use_icon=&#8221;off&#8221; button_rel=&#8221;off|off|off|on|on&#8221; background_layout=&#8221;dark&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;||||false|false&#8221; global_colors_info=&#8221;{}&#8221; theme_builder_area=&#8221;post_content&#8221;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Laundry services in Nha Trang2H Laundry does wash &amp; dry by weight, ironing by the piece, sneaker cleaning and soft toys. Every order is washed and dried as its own load, never mixed with another customer&#8217;s laundry. The listed price covers one wash load, with whites and colours together. If you want them separated, say so at drop-off \u2014 that runs as an extra load and is charged as such. This page lists each service with its price and how long it actually takes. If you only need prices, see the Nha Trang laundry price list.<div class=\"et_pb_module dsm_button dsm_button_0 et_pb_bg_layout_light\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t<div class=\"et_pb_button_module_wrappers dsm_button_0_wrapper et_pb_button_alignment_center et_pb_module\">\n\t\t\t\t<a class=\"et_pb_button et_pb_button_one et_pb_bg_layout_light dsm-none \"  href=tel:+84812397666 target=\"_blank\" data-dsm-lightbox-id=\"dsm_button_one_lightbox dsm_button_0\"><span>CALL US<\/span><\/a><a class=\"et_pb_button et_pb_button_two et_pb_bg_layout_light dsm-none \"  href=https:\/\/wa.me\/84812397666 target=\"_blank\" data-dsm-lightbox-id=\"dsm_button_two_lightbox dsm_button_0\"><span>WHATSAPP<\/span><\/a>\n\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>Wash &amp; dry by weight Most people pick this because it is simple: hand over the whole bag, come back at the agreed time and collect it clean and folded. Dry laundry is weighed as you drop it off; if it is wet, we weigh it after washing and drying. Weight Price Up to 3 kg 60,000 VND Up to 5 kg 90,000 VND Up to 7 kg 120,000 VND Over 7 kg 18,000 VND\/kg Tiers [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"areas":[],"class_list":["post-1158","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/giatui2h.com\/en\/wp-json\/wp\/v2\/pages\/1158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/giatui2h.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/giatui2h.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/giatui2h.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/giatui2h.com\/en\/wp-json\/wp\/v2\/comments?post=1158"}],"version-history":[{"count":0,"href":"https:\/\/giatui2h.com\/en\/wp-json\/wp\/v2\/pages\/1158\/revisions"}],"wp:attachment":[{"href":"https:\/\/giatui2h.com\/en\/wp-json\/wp\/v2\/media?parent=1158"}],"wp:term":[{"taxonomy":"gh_area","embeddable":true,"href":"https:\/\/giatui2h.com\/en\/wp-json\/wp\/v2\/areas?post=1158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}