{"id":1,"date":"2026-03-02T13:02:39","date_gmt":"2026-03-02T13:02:39","guid":{"rendered":"http:\/\/hanyuhub.frontlab.cloud\/?p=1"},"modified":"2026-04-12T16:26:00","modified_gmt":"2026-04-12T16:26:00","slug":"hello-world","status":"publish","type":"post","link":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/2026\/03\/02\/hello-world\/","title":{"rendered":"Hello world!"},"content":{"rendered":"\n<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing!<\/p>\n\n\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto:ital,wght@0,400;0,500;0,700;0,900;1,400;1,500;1,700&#038;display=swap\" rel=\"stylesheet\">\n\n<style id=\"td-widget-styles\">\n    \/* \u00c9P FONT CH\u1eee CHO TO\u00c0N B\u1ed8 WIDGET *\/\n    #gif-trigger, \n    .td-form-modal, \n    #td-toast,\n    .td-form-modal *, \n    #td-toast * {\n        font-family: 'Roboto', Arial, sans-serif !important;\n    }\n\n    \/* WRAPPER \u0110\u1ec2 X\u00d3A THANH CU\u1ed8N CHO GIF *\/\n    .td-gif-wrapper {\n        width: 100%;\n        height: 100%;\n        overflow: hidden;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        margin: 0; padding: 0;\n    }\n\n    #gif-trigger { \n        cursor: pointer; \n        max-width: 100%; \n        height: auto; \n        display: block; \n        margin: 0; \n        border-radius: 16px; \n    }\n\n    .td-form-modal { \n        display: none; position: fixed; z-index: 9999999; left: 0; top: 0; \n        width: 100vw; height: 100vh; \n        background-color: rgba(15, 23, 42, 0.6); \n        backdrop-filter: blur(4px); \n        overflow-y: auto; \n    }\n\n    .modal-content { \n        background-color: #ffffff; margin: 4vh auto; padding: 20px 24px 24px 24px; \n        border-radius: 20px; width: 90%; max-width: 460px; position: relative; \n        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n        animation: floatIn 0.3s ease-out forwards;\n        box-sizing: border-box;\n    }\n\n    @keyframes floatIn {\n        from { opacity: 0; transform: translateY(20px); }\n        to { opacity: 1; transform: translateY(0); }\n    }\n\n    \/* HEADER *\/\n    .modal-header-banner {\n        background: linear-gradient(to right, #339bcc, #1b73a3);\n        border-radius: 12px;\n        padding: 12px 16px;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        margin-bottom: 20px;\n        box-shadow: 0 4px 15px -3px rgba(51, 155, 204, 0.3);\n        position: relative;\n        overflow: hidden;\n    }\n\n    .modal-header-banner::after {\n        content: ''; position: absolute; top: 0; right: 0;\n        width: 120px; height: 120px;\n        background: rgba(255,255,255,0.06);\n        border-radius: 50%;\n        transform: translate(30%, -30%);\n        pointer-events: none;\n    }\n\n    .header-left { display: flex; align-items: center; gap: 12px; z-index: 1; }\n\n    .modal-logo-wrapper {\n        background: #ffffff;\n        padding: 5px 10px;\n        border-radius: 8px;\n        display: flex; align-items: center; justify-content: center;\n        box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n    }\n    .modal-logo { height: 24px; width: auto; display: block; }\n\n    .header-divider { width: 1.5px; height: 30px; background: rgba(255,255,255,0.4); border-radius: 1px;}\n\n    .header-text { display: flex; flex-direction: column; text-align: left; justify-content: center;}\n    .header-text h3 { \n        color: #ffffff; font-size: 16px; font-weight: 900; \n        margin: 0 0 2px 0; text-transform: uppercase; letter-spacing: 0.5px;\n    }\n    .header-text p { \n        color: #f1c40f; \n        font-size: 10px; font-weight: 800; \n        margin: 0; text-transform: uppercase; letter-spacing: 0.5px;\n    }\n\n    .close-btn { \n        position: relative; color: rgba(255,255,255,0.8); \n        font-size: 24px; cursor: pointer; font-weight: 400; \n        line-height: 1; z-index: 1;\n        width: 28px; height: 28px;\n        display: flex; align-items: center; justify-content: center;\n        border-radius: 8px;\n        transition: all 0.2s ease;\n    }\n    .close-btn:hover { background: rgba(255,255,255,0.2); color: #fff; }\n\n    \/* THANH TI\u1ebeN \u0110\u1ed8 *\/\n    .step-indicator {\n        display: flex; justify-content: center; align-items: center; \n        gap: 10px; margin-bottom: 20px;\n    }\n    .step-line {\n        width: 60px; height: 3px; background: #e2e8f0; \n        border-radius: 2px; transition: background 0.3s;\n    }\n    .step-line.active { background: #26a65b; } \n    \n    .step-dot {\n        width: 28px; height: 28px; border-radius: 50%; background: #e2e8f0;\n        color: #64748b; display: flex; align-items: center; justify-content: center;\n        font-size: 13px; font-weight: bold; border: 3px solid #ffffff;\n        transition: all 0.3s; box-shadow: 0 0 0 1px #e2e8f0;\n    }\n    .step-dot.active { background: #339bcc; color: white; box-shadow: 0 0 0 3px rgba(51,155,204,0.2); border-color: #ffffff; }\n    .step-dot.completed { background: #26a65b; color: white; box-shadow: 0 0 0 1px #26a65b; border-color: #ffffff; }\n\n    \/* C\u00c1C FIELD NH\u1eacP LI\u1ec6U *\/\n    .form-step { display: none; animation: floatIn 0.3s ease-out; }\n    .form-step.active { display: flex; flex-direction: column; }\n\n    #consult-form label { margin-top: 10px; font-weight: 700; font-size: 13px; color: #333333; line-height: 1.4; }\n    .req-star { color: #e74c3c; font-weight: bold; }\n    .form-note { font-size: 11px; color: #e74c3c; font-weight: 500; margin-top: 2px; margin-bottom: 4px; font-style: italic; }\n\n    #consult-form input, #consult-form select { \n        padding: 10px 14px; margin-top: 4px; \n        border: 2px solid #e2e8f0; background-color: #f8fafc; \n        border-radius: 8px; font-size: 16px; font-weight: 500; color: #1e293b; \n        width: 100%; box-sizing: border-box;\n        outline: none; transition: all 0.2s ease;\n        appearance: none; -webkit-appearance: none;\n    }\n    \n    .select-wrapper { position: relative; width: 100%; }\n    .select-wrapper::after {\n        content: \"\u25bc\"; font-size: 10px; color: #64748b;\n        position: absolute; right: 14px; top: 18px; pointer-events: none;\n    }\n\n    #consult-form input::placeholder { color: #94a3b8; font-weight: 400; font-size: 14px;}\n    #consult-form input:focus, #consult-form select:focus { \n        border-color: #339bcc; background-color: #ffffff;\n        box-shadow: 0 0 0 3px rgba(51, 155, 204, 0.1);\n    }\n\n    \/* N\u00fat \u0110i\u1ec1u H\u01b0\u1edbng *\/\n    .btn-group { display: flex; justify-content: space-between; gap: 10px; margin-top: 20px; }\n    \n    .td-btn { \n        padding: 12px 16px; border: none; border-radius: 8px; \n        cursor: pointer; font-weight: 900; font-size: 13px; text-transform: uppercase;\n        transition: all 0.2s ease; flex: 1; letter-spacing: 0.5px;\n    }\n    .btn-next, .btn-submit { \n        background: #f1c40f; color: #1b73a3; \n        box-shadow: 0 3px 0 #d4ac0d; \n    }\n    .btn-next:active, .btn-submit:active { transform: translateY(3px); box-shadow: none; }\n    \n    .btn-prev { background: #e2e8f0; color: #64748b; box-shadow: 0 3px 0 #cbd5e1; }\n    .btn-prev:active { transform: translateY(3px); box-shadow: none; }\n\n    \/* POPUP SUCCESS *\/\n    .text-center { text-align: center; }\n    .success-icon {\n        background-color: #26a65b; color: white; width: 50px; height: 50px; border-radius: 50%;\n        display: flex; align-items: center; justify-content: center;\n        font-size: 24px; font-weight: bold; margin: 0 auto 15px auto;\n    }\n    .success-title { color: #1b73a3; font-size: 18px; font-weight: 900; margin: 0 0 8px 0; }\n    .success-msg { color: #475569; font-size: 13px; line-height: 1.5; margin-bottom: 20px;}\n    .success-name { color: #339bcc; font-weight: 900; }\n\n    \/* TOAST NOTIFICATION *\/\n    #td-toast {\n        visibility: hidden; min-width: 260px; max-width: 80%;\n        background-color: #334155; color: #ffffff; text-align: center;\n        border-radius: 30px; padding: 12px 20px; position: fixed;\n        z-index: 9999999; left: 50%; bottom: 20px;\n        transform: translateX(-50%); font-size: 13px; font-weight: 500;\n        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);\n        opacity: 0; transition: opacity 0.3s ease, bottom 0.3s ease;\n        display: flex; align-items: center; justify-content: center; gap: 8px;\n    }\n    #td-toast.show { visibility: visible; opacity: 1; bottom: 40px; }\n    .toast-icon { font-size: 16px; color: #f1c40f; }\n\n    \/* T\u1ed0I \u01afU MOBILE *\/\n    @media (max-width: 480px) {\n        .modal-content { margin: 3vh auto; padding: 16px 16px 20px 16px; width: 92%; border-radius: 16px; }\n        .modal-header-banner { padding: 10px; border-radius: 10px; margin-bottom: 16px;}\n        .header-left { gap: 10px; }\n        .modal-logo-wrapper { padding: 4px 6px; border-radius: 6px; }\n        .modal-logo { height: 20px; }\n        .header-divider { height: 24px; }\n        .header-text h3 { font-size: 13px; }\n        .header-text p { font-size: 9px; }\n        .close-btn { width: 24px; height: 24px; font-size: 20px;}\n        .step-line { width: 40px; }\n        #consult-form label { font-size: 12px; margin-top: 10px;}\n        #consult-form input, #consult-form select { padding: 10px 12px; }\n        .select-wrapper::after { top: 18px; }\n        .td-btn { padding: 12px; font-size: 12px;}\n    }\n<\/style>\n\n<div class=\"td-gif-wrapper\">\n    <img decoding=\"async\" src=\"https:\/\/taiwandiary.vn\/wp-content\/uploads\/2024\/08\/tu-van-online-taiwan-diary.gif\" id=\"gif-trigger\" alt=\"\u0110\u0103ng k\u00fd t\u01b0 v\u1ea5n\">\n<\/div>\n\n<div id=\"td-toast\">\n    <span class=\"toast-icon\">\u26a0\ufe0f<\/span>\n    <span id=\"toast-msg\">Vui l\u00f2ng \u0111i\u1ec1n \u0111\u1ee7 th\u00f4ng tin<\/span>\n<\/div>\n\n<div id=\"popup-modal\" class=\"td-form-modal\">\n    <div class=\"modal-content\">\n        <div class=\"modal-header-banner\">\n            <div class=\"header-left\">\n                <div class=\"modal-logo-wrapper\">\n                    <img decoding=\"async\" src=\"https:\/\/taiwandiary.vn\/wp-content\/uploads\/2019\/02\/logo-1.png\" alt=\"Taiwan Diary\" class=\"modal-logo\">\n                <\/div>\n                <div class=\"header-divider\"><\/div>\n                <div class=\"header-text\">\n                    <h3>\u0110\u0103ng k\u00fd t\u01b0 v\u1ea5n<\/h3>\n                    <p>Taiwan Diary Team<\/p>\n                <\/div>\n            <\/div>\n            <span class=\"close-btn\" id=\"close-form-btn\">&times;<\/span>\n        <\/div>\n\n        <div class=\"step-indicator\">\n            <div class=\"step-dot active\" id=\"dot-1\">1<\/div>\n            <div class=\"step-line\" id=\"step-line\"><\/div>\n            <div class=\"step-dot\" id=\"dot-2\">2<\/div>\n        <\/div>\n        \n        <form action=\"https:\/\/docs.google.com\/forms\/d\/e\/1FAIpQLSdmJuBgS6lha88w75OqWa2-O3BpGp2h6W_ZK9imHyqLIGk5Cw\/formResponse\" method=\"POST\" id=\"consult-form\" onsubmit=\"submitted=true;\">\n            \n            <div class=\"form-step active\" id=\"step-1\">\n                <label>H\u1ecd t\u00ean \u0111\u1ea7y \u0111\u1ee7 c\u1ee7a b\u1ea1n l\u00e0 g\u00ec? <span class=\"req-star\">*<\/span><\/label>\n                <input type=\"text\" name=\"entry.1713051429\" id=\"fullname\" placeholder=\"Nh\u1eadp h\u1ecd v\u00e0 t\u00ean...\" required>\n\n                <label>N\u0103m sinh c\u1ee7a b\u1ea1n? <span class=\"req-star\">*<\/span><\/label>\n                <input type=\"number\" name=\"entry.112262754\" placeholder=\"V\u00ed d\u1ee5: 2005\" id=\"dob\" required>\n\n                <label>H\u1ed9 kh\u1ea9u th\u01b0\u1eddng tr\u00fa \u1edf \u0111\u00e2u? <span class=\"req-star\">*<\/span><\/label>\n                <div class=\"form-note\">*C\u1ea7n \u0111i\u1ec1n ch\u00ednh x\u00e1c theo VNeID<\/div>\n                <div class=\"select-wrapper\">\n                    <select name=\"entry.841099487\" id=\"location\" required>\n                        <option value=\"\" disabled selected>&#8212; Ch\u1ecdn v\u00f9ng mi\u1ec1n &#8212;<\/option>\n                        <option value=\"Ph\u00eda Nam (\u0110\u00e0 N\u1eb5ng tr\u1edf v\u00e0o Nam)\">Ph\u00eda Nam (\u0110\u00e0 N\u1eb5ng tr\u1edf v\u00e0o Nam)<\/option>\n                        <option value=\"Ph\u00eda B\u1eafc (Hu\u1ebf tr\u1edf ra B\u1eafc)\">Ph\u00eda B\u1eafc (Hu\u1ebf tr\u1edf ra B\u1eafc)<\/option>\n                    <\/select>\n                <\/div>\n\n                <label>S\u1ed1 \u0111i\u1ec7n tho\u1ea1i \u0111\u0103ng k\u00fd Zalo? <span class=\"req-star\">*<\/span><\/label>\n                <div class=\"form-note\">*VN th\u00eam +84, \u0110\u00e0i Loan th\u00eam +886. Taiwan Diary s\u1ebd ch\u1ee7 \u0111\u1ed9ng g\u1ecdi Zalo.<\/div>\n                <input type=\"tel\" name=\"entry.1039537837\" id=\"zalo\" placeholder=\"V\u00ed d\u1ee5: +84 987654321\" required>\n\n                <label>B\u1ea1n bi\u1ebft \u0111\u1ebfn Taiwan Diary qua \u0111\u00e2u?<\/label>\n                <div class=\"select-wrapper\">\n                    <select name=\"entry.1866901885\">\n                        <option value=\"\" disabled selected>&#8212; Ch\u1ecdn k\u00eanh &#8212;<\/option>\n                        <option value=\"Website\">Website<\/option>\n                        <option value=\"Facebook\">Facebook<\/option>\n                        <option value=\"TikTok\">TikTok<\/option>\n                        <option value=\"Ng\u01b0\u1eddi quen gi\u1edbi thi\u1ec7u\">Ng\u01b0\u1eddi quen gi\u1edbi thi\u1ec7u<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"btn-group\" style=\"justify-content: flex-end;\">\n                    <button type=\"button\" class=\"td-btn btn-next\" onclick=\"nextStep()\">Ti\u1ebfp theo \u2794<\/button>\n                <\/div>\n            <\/div>\n\n            <div class=\"form-step\" id=\"step-2\">\n                <label>B\u1eb1ng c\u1ea5p cao nh\u1ea5t m\u00e0 b\u1ea1n c\u00f3? <span class=\"req-star\">*<\/span><\/label>\n                <div class=\"select-wrapper\">\n                    <select name=\"entry.1091606121\" required>\n                        <option value=\"\" disabled selected>&#8212; Ch\u1ecdn b\u1eb1ng c\u1ea5p &#8212;<\/option>\n                        <option value=\"THPT (C\u1ea5p 3)\">THPT (C\u1ea5p 3)<\/option>\n                        <option value=\"Cao \u0111\u1eb3ng\/Trung c\u1ea5p\">Cao \u0111\u1eb3ng\/Trung c\u1ea5p<\/option>\n                        <option value=\"\u0110\u1ea1i h\u1ecdc (Bachelor)\">\u0110\u1ea1i h\u1ecdc (Bachelor)<\/option>\n                        <option value=\"Th\u1ea1c s\u1ef9 (Master)\">Th\u1ea1c s\u1ef9 (Master)<\/option>\n                        <option value=\"Ti\u1ebfn S\u1ef9 (Ph.D)\">Ti\u1ebfn S\u1ef9 (Ph.D)<\/option>\n                    <\/select>\n                <\/div>\n\n                <label>\u0110i\u1ec3m trung b\u00ecnh to\u00e0n kho\u00e1 (GPA)? <span class=\"req-star\">*<\/span><\/label>\n                <div class=\"form-note\">*V\u00ed d\u1ee5 GPA 3 n\u0103m THPT l\u00e0: 70 75 80<\/div>\n                <input type=\"text\" name=\"entry.340175893\" placeholder=\"Nh\u1eadp GPA...\" required>\n\n                <label>Tr\u01b0\u1eddng v\u00e0 ng\u00e0nh \u0111\u00e3 t\u1ed1t nghi\u1ec7p?<\/label>\n                <div class=\"form-note\">*D\u00e0nh cho c\u00e1c b\u1ea1n \u0111\u00e3 t\u1ed1t nghi\u1ec7p \u0111\u1ea1i h\u1ecdc tr\u1edf l\u00ean<\/div>\n                <input type=\"text\" name=\"entry.917241689\" placeholder=\"V\u00ed d\u1ee5: \u0110H Qu\u1ed1c Gia - Ng\u00f4n ng\u1eef Anh\">\n\n                <label>Ng\u00e0nh m\u00e0 b\u1ea1n mu\u1ed1n h\u1ecdc? <span class=\"req-star\">*<\/span><\/label>\n                <input type=\"text\" name=\"entry.1073715232\" placeholder=\"V\u00ed d\u1ee5: Qu\u1ea3n tr\u1ecb kinh doanh...\" required>\n\n                <label>Ch\u1ee9ng ch\u1ec9 ngo\u1ea1i ng\u1eef hi\u1ec7n c\u00f3?<\/label>\n                <input type=\"text\" name=\"entry.1152730666\" placeholder=\"V\u00ed d\u1ee5: Ch\u01b0a h\u1ecdc; TOEIC 500; TOCFL 3\">\n\n                <label>H\u1ec7 mu\u1ed1n h\u1ecdc \u1edf \u0110\u00e0i Loan? <span class=\"req-star\">*<\/span><\/label>\n                <div class=\"select-wrapper\">\n                    <select name=\"entry.1335285490\" required>\n                        <option value=\"\" disabled selected>&#8212; Ch\u1ecdn h\u1ec7 &#8212;<\/option>\n                        <option value=\"Ng\u00f4n ng\u1eef\">Ng\u00f4n ng\u1eef<\/option>\n                        <option value=\"D\u1ef1 b\u1ecb \u0111\u1ea1i h\u1ecdc 1+4\">D\u1ef1 b\u1ecb \u0111\u1ea1i h\u1ecdc 1+4<\/option>\n                        <option value=\"V\u1eeba h\u1ecdc v\u1eeba l\u00e0m\/Chuy\u00ean ban\">V\u1eeba h\u1ecdc v\u1eeba l\u00e0m\/Chuy\u00ean ban<\/option>\n                        <option value=\"\u0110\u1ea1i h\u1ecdc ch\u00ednh quy\">\u0110\u1ea1i h\u1ecdc ch\u00ednh quy<\/option>\n                        <option value=\"Th\u1ea1c s\u1ef9\/ Ti\u1ebfn s\u1ef9\">Th\u1ea1c s\u1ef9\/ Ti\u1ebfn s\u1ef9<\/option>\n                        <option value=\"Hoa ki\u1ec1u\/Cao trung\">Hoa ki\u1ec1u\/Cao trung<\/option>\n                        <option value=\"INTENSE\/Li\u00ean th\u00f4ng\/Trao \u0111\u1ed5i\">INTENSE\/Li\u00ean th\u00f4ng\/Trao \u0111\u1ed5i<\/option>\n                    <\/select>\n                <\/div>\n\n                <label>Ch\u01b0\u01a1ng tr\u00ecnh gi\u1ea3ng d\u1ea1y b\u1eb1ng ng\u00f4n ng\u1eef n\u00e0o?<\/label>\n                <div class=\"select-wrapper\">\n                    <select name=\"entry.1048770228\">\n                        <option value=\"\" disabled selected>&#8212; Ch\u1ecdn ng\u00f4n ng\u1eef &#8212;<\/option>\n                        <option value=\"Ti\u1ebfng Anh\">Ti\u1ebfng Anh<\/option>\n                        <option value=\"Ti\u1ebfng Trung\">Ti\u1ebfng Trung<\/option>\n                    <\/select>\n                <\/div>\n\n                <label>Th\u1eddi gian mu\u1ed1n t\u01b0 v\u1ea5n? <span class=\"req-star\">*<\/span><\/label>\n                <div class=\"select-wrapper\">\n                    <select name=\"entry.500608325\" required>\n                        <option value=\"\" disabled selected>&#8212; Ch\u1ecdn th\u1eddi gian &#8212;<\/option>\n                        <option value=\"Bu\u1ed5i S\u00e1ng\">Bu\u1ed5i S\u00e1ng<\/option>\n                        <option value=\"Bu\u1ed5i Chi\u1ec1u\">Bu\u1ed5i Chi\u1ec1u<\/option>\n                        <option value=\"Bu\u1ed5i T\u1ed1i\">Bu\u1ed5i T\u1ed1i<\/option>\n                    <\/select>\n                <\/div>\n\n                <div class=\"btn-group\">\n                    <button type=\"button\" class=\"td-btn btn-prev\" onclick=\"prevStep()\">\ud83e\udc44 Quay l\u1ea1i<\/button>\n                    <button type=\"submit\" class=\"td-btn btn-submit\">G\u1eedi th\u00f4ng tin<\/button>\n                <\/div>\n            <\/div>\n        <\/form>\n    <\/div>\n<\/div>\n\n<div id=\"success-modal\" class=\"td-form-modal\">\n    <div class=\"modal-content text-center\">\n        <div class=\"success-icon\">\u2713<\/div>\n        <h3 class=\"success-title\">\u0110\u0103ng k\u00fd th\u00e0nh c\u00f4ng!<\/h3>\n        <p class=\"success-msg\">C\u1ea3m \u01a1n b\u1ea1n <span class=\"success-name\" id=\"user-name-display\"><\/span>.<br>Chuy\u00ean vi\u00ean c\u1ee7a Taiwan Diary s\u1ebd li\u00ean h\u1ec7 qua Zalo trong th\u1eddi gian s\u1edbm nh\u1ea5t.<\/p>\n        <button class=\"td-btn btn-submit\" style=\"box-shadow:none; transform:none;\" id=\"close-success-btn\">Tuy\u1ec7t v\u1eddi<\/button>\n    <\/div>\n<\/div>\n\n<script>\n    var submitted = false;\n\n    \/\/ X\u00e1c \u0111\u1ecbnh Document cao nh\u1ea5t (Website m\u1eb9) \u0111\u1ec3 popup kh\u00f4ng b\u1ecb nh\u1ed1t trong frame\n    var targetDoc = document;\n    try { \n        if (window.top && window.top.document) {\n            targetDoc = window.top.document; \n        }\n    } catch(e) {\n        \/\/ L\u1ed7i CORS (kh\u00e1c domain), s\u1ebd gi\u1eef nguy\u00ean t\u1ea1i frame hi\u1ec7n t\u1ea1i\n    }\n\n    function showToast(message) {\n        const toast = targetDoc.getElementById(\"td-toast\");\n        if(!toast) return;\n        targetDoc.getElementById(\"toast-msg\").innerText = message;\n        toast.className = \"show\";\n        setTimeout(function(){ toast.className = toast.className.replace(\"show\", \"\"); }, 3000);\n    }\n\n    function nextStep() {\n        const name = targetDoc.getElementById('fullname').value.trim();\n        const dob = targetDoc.getElementById('dob').value.trim();\n        const loc = targetDoc.getElementById('location').value;\n        const zalo = targetDoc.getElementById('zalo').value.trim();\n\n        if(!name || !dob || !loc || !zalo) {\n            showToast(\"Vui l\u00f2ng \u0111i\u1ec1n \u0111\u1ea7y \u0111\u1ee7 c\u00e1c m\u1ee5c c\u00f3 d\u1ea5u (*) \u0111\u1ecf.\"); \n            return;\n        }\n\n        targetDoc.getElementById('step-1').classList.remove('active');\n        targetDoc.getElementById('step-2').classList.add('active');\n        targetDoc.getElementById('dot-1').classList.remove('active');\n        targetDoc.getElementById('dot-1').classList.add('completed');\n        targetDoc.getElementById('step-line').classList.add('active');\n        targetDoc.getElementById('dot-2').classList.add('active');\n        \n        targetDoc.querySelector('#popup-modal').scrollTop = 0;\n    }\n\n    function prevStep() {\n        targetDoc.getElementById('step-2').classList.remove('active');\n        targetDoc.getElementById('step-1').classList.add('active');\n        targetDoc.getElementById('dot-2').classList.remove('active');\n        targetDoc.getElementById('step-line').classList.remove('active');\n        targetDoc.getElementById('dot-1').classList.remove('completed');\n        targetDoc.getElementById('dot-1').classList.add('active');\n    }\n\n    document.addEventListener(\"DOMContentLoaded\", function() {\n        const formModal = document.getElementById(\"popup-modal\");\n        const successModal = document.getElementById(\"success-modal\");\n        const toast = document.getElementById(\"td-toast\");\n        const gifTrigger = document.getElementById(\"gif-trigger\");\n        const form = document.getElementById(\"consult-form\");\n        \n        \/\/ N\u1ebfu nh\u00fang v\u00e0o iframe, t\u1ef1 \u0111\u1ed9ng chuy\u1ec3n to\u00e0n b\u1ed9 CSS v\u00e0 Khung Popup ra website b\u00ean ngo\u00e0i\n        if (targetDoc !== document) {\n            const styleBlock = document.getElementById(\"td-widget-styles\");\n            if (styleBlock) targetDoc.head.appendChild(styleBlock.cloneNode(true));\n        }\n\n        if(formModal) targetDoc.body.appendChild(formModal);\n        if(successModal) targetDoc.body.appendChild(successModal);\n        if(toast) targetDoc.body.appendChild(toast);\n\n        \/\/ T\u1ea1o iframe \u1ea9n tr\u00ean web m\u1eb9 \u0111\u1ec3 nh\u1eadn t\u00edn hi\u1ec7u Google Form (ch\u1ed1ng m\u1edf tab m\u1edbi)\n        const iframeName = \"hidden_iframe_\" + Date.now();\n        let hiddenIframe = targetDoc.createElement('iframe');\n        hiddenIframe.name = iframeName;\n        hiddenIframe.style.display = \"none\";\n        targetDoc.body.appendChild(hiddenIframe);\n        \n        if(form) form.target = iframeName;\n\n        \/\/ B\u1eaft s\u1ef1 ki\u1ec7n n\u1ed9p Form\n        hiddenIframe.onload = function() {\n            if(submitted) {\n                const name = targetDoc.getElementById(\"fullname\").value;\n                targetDoc.getElementById(\"user-name-display\").innerText = name || \"\";\n                form.reset();\n                prevStep(); \n                formModal.style.display = \"none\";\n                successModal.style.display = \"block\";\n                targetDoc.body.style.overflow = \"auto\";\n                submitted = false;\n            }\n        };\n\n        \/\/ Logic M\u1edf Popup\n        if(gifTrigger) {\n            gifTrigger.onclick = function() {\n                formModal.style.display = \"block\";\n                targetDoc.body.style.overflow = \"hidden\"; \/\/ Ng\u0103n cu\u1ed9n trang web \u1edf d\u01b0\u1edbi\n            }\n        }\n        \n        \/\/ Logic \u0110\u00f3ng Popup Form\n        const closeFormBtn = targetDoc.getElementById(\"close-form-btn\");\n        if(closeFormBtn) {\n            closeFormBtn.onclick = function() {\n                formModal.style.display = \"none\";\n                targetDoc.body.style.overflow = \"auto\";\n            }\n        }\n\n        \/\/ Logic \u0110\u00f3ng Popup Success\n        const closeSuccessBtn = targetDoc.getElementById(\"close-success-btn\");\n        if(closeSuccessBtn) {\n            closeSuccessBtn.onclick = function() {\n                successModal.style.display = \"none\";\n                targetDoc.body.style.overflow = \"auto\";\n            }\n        }\n        \n        \/\/ Click ra kho\u1ea3ng kh\u00f4ng m\u00e0u \u0111en \u0111\u1ec3 \u0111\u00f3ng\n        if(formModal) {\n            formModal.onclick = function(event) {\n                if (event.target === formModal) {\n                    formModal.style.display = \"none\";\n                    targetDoc.body.style.overflow = \"auto\";\n                }\n            }\n        }\n        \n        if(successModal) {\n            successModal.onclick = function(event) {\n                if (event.target === successModal) {\n                    successModal.style.display = \"none\";\n                    targetDoc.body.style.overflow = \"auto\";\n                }\n            }\n        }\n    });\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to WordPress. This is your first post. Edit or delete it, then start writing! \u26a0\ufe0f Vui l\u00f2ng \u0111i\u1ec1n \u0111\u1ee7 th\u00f4ng tin \u0110\u0103ng k\u00fd t\u01b0 v\u1ea5n Taiwan Diary Team &times; 1 2 H\u1ecd t\u00ean \u0111\u1ea7y \u0111\u1ee7 c\u1ee7a b\u1ea1n l\u00e0 g\u00ec? * N\u0103m sinh c\u1ee7a b\u1ea1n? * H\u1ed9 kh\u1ea9u th\u01b0\u1eddng tr\u00fa \u1edf \u0111\u00e2u? * *C\u1ea7n \u0111i\u1ec1n [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":4,"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":18,"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions\/18"}],"wp:attachment":[{"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hanyuhub.frontlab.cloud\/index.php\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}