{"id":4922,"date":"2025-07-02T06:57:58","date_gmt":"2025-07-02T06:57:58","guid":{"rendered":"https:\/\/eternity-recruitment.com\/?page_id=4922"},"modified":"2026-01-26T06:11:53","modified_gmt":"2026-01-26T06:11:53","slug":"resume-maker","status":"publish","type":"page","link":"https:\/\/eternity-recruitment.com\/cn\/resume-maker\/","title":{"rendered":"Resume Maker"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4922\" class=\"elementor elementor-4922\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4d1f90e4 elementor-section-height-min-height elementor-section-full_width elementor-section-height-default elementor-section-items-middle\" data-id=\"4d1f90e4\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b9209b5\" data-id=\"1b9209b5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1d40d2ee elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"1d40d2ee\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Resume Maker<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5de93638 elementor-icon-list--layout-inline elementor-align-center elementor-widget__width-auto elementor-list-item-link-full_width elementor-invisible elementor-widget elementor-widget-icon-list\" data-id=\"5de93638\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/eternity-recruitment.com\/demo-home\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Home \/ <\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/eternity-recruitment.com\/resume-maker\/\">\n\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Resume Maker<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-24f5d18 e-con-full e-flex e-con e-parent\" data-id=\"24f5d18\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8eafe9f elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"8eafe9f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/html2canvas\/1.4.1\/html2canvas.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\r\n\r\n<script>\r\n    \/\/ Safe Tailwind Config\r\n    tailwind.config = {\r\n        theme: {\r\n            extend: {\r\n                colors: {\r\n                    primary: { 50: '#f0f9ff', 100: '#e0f2fe', 200: '#bae6fd', 300: '#7dd3fc', 400: '#38bdf8', 500: '#0ea5e9', 600: '#0284c7', 700: '#0369a1', 800: '#075985', 900: '#0c4a6e' },\r\n                    accent: { 50: '#fdf4ff', 100: '#fae8ff', 200: '#f5d0fe', 300: '#f0abfc', 400: '#e879f9', 500: '#d946ef', 600: '#c026d3', 700: '#a21caf', 800: '#86198f', 900: '#701a75' }\r\n                }\r\n            }\r\n        }\r\n    }\r\n<\/script>\r\n\r\n<style>\r\n    \/* Scoped Styles to prevent affecting your footer *\/\r\n    #eternity-builder-root {\r\n        font-family: 'Poppins', sans-serif;\r\n        \/* Ensure it doesn't overlap your footer *\/\r\n        position: relative; \r\n        width: 100%;\r\n        overflow: hidden; \/* Prevents horizontal scrollbars breaking layout *\/\r\n    }\r\n    \r\n    #eternity-builder-root .resume-section { break-inside: avoid; }\r\n    #eternity-builder-root .card-shadow { box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }\r\n    #eternity-builder-root .input-focus { transition: all 0.3s ease; }\r\n    #eternity-builder-root .input-focus:focus { transform: translateY(-2px); }\r\n    \r\n    @media print {\r\n        .no-print { display: none; }\r\n        .resume-preview { box-shadow: none !important; }\r\n    }\r\n\r\n    \/* CUSTOM TEAL BUTTONS *\/\r\n    #eternity-builder-root .btn-custom {\r\n        background-color: #3AA6B9;\r\n        color: #ffffff;\r\n        border: 2px solid #3AA6B9;\r\n        transition: all 0.3s ease;\r\n    }\r\n    #eternity-builder-root .btn-custom:hover {\r\n        background-color: #ffffff;\r\n        color: #3AA6B9;\r\n        box-shadow: 0 4px 14px 0 rgba(58, 166, 185, 0.39);\r\n    }\r\n    #eternity-builder-root .text-custom {\r\n        color: #3AA6B9;\r\n    }\r\n    #eternity-builder-root .text-custom:hover {\r\n        color: #2c8a9b;\r\n    }\r\n<\/style>\r\n\r\n<div id=\"eternity-builder-root\" class=\"bg-gradient-to-br from-indigo-50 via-white to-purple-50\">\r\n    \r\n    <div class=\"text-white relative overflow-hidden\" style=\"background: linear-gradient(135deg, #00f7e5 0%, #00e6ee 25%, #00d5f7 50%, #00c4f0 75%, #00b3e9 100%);\">\r\n        <div class=\"absolute inset-0 bg-black opacity-5\"><\/div>\r\n        <div class=\"relative container mx-auto px-4 sm:px-6 py-8 sm:py-12 text-center\">\r\n            <div class=\"animate-pulse\">\r\n                <h1 class=\"text-3xl sm:text-4xl lg:text-5xl font-bold mb-3 sm:mb-4 tracking-tight\"><\/h1>\r\n                <p class=\"text-base sm:text-lg lg:text-xl opacity-90\">Craft your professional Resume with Eternity<\/p>\r\n            <\/div>\r\n            <div class=\"absolute top-0 left-0 w-full h-full pointer-events-none\">\r\n                <div class=\"absolute top-10 left-10 w-20 h-20 bg-white opacity-10 rounded-full animate-bounce\"><\/div>\r\n                <div class=\"absolute top-20 right-20 w-16 h-16 bg-white opacity-10 rounded-full animate-bounce\" style=\"animation-delay: 0.5s;\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"container mx-auto px-4 sm:px-6 py-6 sm:py-12\">\r\n        <div class=\"grid grid-cols-1 xl:grid-cols-12 gap-4 sm:gap-8\">\r\n            \r\n            <div class=\"xl:col-span-5 space-y-4 sm:space-y-6 no-print\">\r\n                \r\n                <div class=\"bg-white rounded-xl sm:rounded-2xl card-shadow p-4 sm:p-8 border border-gray-100\">\r\n                    <div class=\"flex items-center mb-6\">\r\n                        <div class=\"w-3 h-8 bg-gradient-to-b from-primary-500 to-accent-500 rounded-full mr-4\"><\/div>\r\n                        <h2 class=\"text-2xl font-semibold text-gray-800\">Personal Details<\/h2>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"text-center mb-6 sm:mb-8\">\r\n                        <div class=\"relative inline-block\">\r\n                            <div id=\"profilePreview\" class=\"w-32 h-32 sm:w-40 sm:h-40 bg-gradient-to-br from-primary-100 to-accent-100 rounded-full flex items-center justify-center overflow-hidden border-4 border-white shadow-lg\">\r\n                                <svg class=\"w-12 h-12 text-gray-400\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                                    <path fill-rule=\"evenodd\" d=\"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z\" clip-rule=\"evenodd\"><\/path>\r\n                                <\/svg>\r\n                            <\/div>\r\n                            <button type=\"button\" onclick=\"document.getElementById('profilePicture').click()\" class=\"absolute -bottom-2 -right-2 btn-custom p-2 rounded-full shadow-lg\">\r\n                                <svg class=\"w-4 h-4\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n                                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 6v6m0 0v6m0-6h6m-6 0H6\"><\/path>\r\n                                <\/svg>\r\n                            <\/button>\r\n                        <\/div>\r\n                        <input type=\"file\" id=\"profilePicture\" accept=\"image\/*\" class=\"hidden\">\r\n                        <div class=\"mt-3\">\r\n                            <button type=\"button\" onclick=\"removeProfilePicture()\" class=\"text-red-500 hover:text-red-700 text-sm font-medium\">Remove Photo<\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4\">\r\n                        <input type=\"text\" id=\"fullName\" placeholder=\"Full Name\" class=\"input-focus w-full p-3 sm:p-4 border-2 border-gray-200 rounded-lg sm:rounded-xl focus:ring-4 focus:ring-primary-100 focus:border-primary-500 bg-gray-50 text-gray-800 placeholder-gray-500 font-medium text-sm sm:text-base\">\r\n                        <input type=\"date\" id=\"dateOfBirth\" placeholder=\"Date of Birth\" class=\"input-focus w-full p-3 sm:p-4 border-2 border-gray-200 rounded-lg sm:rounded-xl focus:ring-4 focus:ring-primary-100 focus:border-primary-500 bg-gray-50 text-gray-800 placeholder-gray-500 font-medium text-sm sm:text-base\">\r\n                        <input type=\"email\" id=\"email\" placeholder=\"Email Address\" class=\"input-focus w-full p-3 sm:p-4 border-2 border-gray-200 rounded-lg sm:rounded-xl focus:ring-4 focus:ring-primary-100 focus:border-primary-500 bg-gray-50 text-gray-800 placeholder-gray-500 font-medium text-sm sm:text-base\">\r\n                        <input type=\"tel\" id=\"phone\" placeholder=\"Phone Number\" class=\"input-focus w-full p-3 sm:p-4 border-2 border-gray-200 rounded-lg sm:rounded-xl focus:ring-4 focus:ring-primary-100 focus:border-primary-500 bg-gray-50 text-gray-800 placeholder-gray-500 font-medium text-sm sm:text-base\">\r\n                        <input type=\"text\" id=\"location\" placeholder=\"City, State\" class=\"input-focus w-full p-3 sm:p-4 border-2 border-gray-200 rounded-lg sm:rounded-xl focus:ring-4 focus:ring-primary-100 focus:border-primary-500 bg-gray-50 text-gray-800 placeholder-gray-500 font-medium text-sm sm:text-base col-span-1 sm:col-span-2\">\r\n                    <\/div>\r\n                    <textarea id=\"summary\" placeholder=\"Professional Summary - Tell your story...\" rows=\"3\" class=\"input-focus w-full p-3 sm:p-4 border-2 border-gray-200 rounded-lg sm:rounded-xl focus:ring-4 focus:ring-primary-100 focus:border-primary-500 bg-gray-50 text-gray-800 placeholder-gray-500 font-medium mt-3 sm:mt-4 resize-none text-sm sm:text-base\"><\/textarea>\r\n                <\/div>\r\n\r\n                <div class=\"bg-white rounded-xl sm:rounded-2xl card-shadow p-4 sm:p-8 border border-gray-100\">\r\n                    <div class=\"flex items-center justify-between mb-4 sm:mb-6\">\r\n                        <div class=\"flex items-center\">\r\n                            <div class=\"w-3 h-6 sm:h-8 bg-gradient-to-b from-primary-500 to-accent-500 rounded-full mr-3 sm:mr-4\"><\/div>\r\n                            <h2 class=\"text-xl sm:text-2xl font-semibold text-gray-800\">Work Experience<\/h2>\r\n                        <\/div>\r\n                        <button onclick=\"addExperience()\" class=\"btn-custom px-4 py-2 rounded-full text-xs sm:text-sm font-medium\">\r\n                            + Add\r\n                        <\/button>\r\n                    <\/div>\r\n                    \r\n                    <div id=\"experienceContainer\" class=\"space-y-4 sm:space-y-6\">\r\n                        <div class=\"experience-item bg-gradient-to-r from-gray-50 to-gray-100 rounded-lg sm:rounded-xl p-4 sm:p-6 border-l-4 border-primary-500\">\r\n                            <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4 mb-3 sm:mb-4\">\r\n                                <input type=\"text\" placeholder=\"Job Title\" class=\"job-title input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                                <input type=\"text\" placeholder=\"Company Name\" class=\"company input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                                <input type=\"text\" placeholder=\"Start Date\" class=\"start-date input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                                <input type=\"text\" placeholder=\"End Date\" class=\"end-date input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                            <\/div>\r\n                            <textarea placeholder=\"Describe your achievements and responsibilities...\" rows=\"3\" class=\"job-description input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white resize-none text-sm sm:text-base\"><\/textarea>\r\n                            <button onclick=\"removeExperience(this)\" class=\"mt-3 text-red-500 hover:text-red-700 text-sm font-medium flex items-center\">\r\n                                <svg class=\"w-4 h-4 mr-1\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n                                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"><\/path>\r\n                                <\/svg>\r\n                                Remove\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"bg-white rounded-xl sm:rounded-2xl card-shadow p-4 sm:p-8 border border-gray-100\">\r\n                    <div class=\"flex items-center justify-between mb-4 sm:mb-6\">\r\n                        <div class=\"flex items-center\">\r\n                            <div class=\"w-3 h-6 sm:h-8 bg-gradient-to-b from-primary-500 to-accent-500 rounded-full mr-3 sm:mr-4\"><\/div>\r\n                            <h2 class=\"text-xl sm:text-2xl font-semibold text-gray-800\">Education<\/h2>\r\n                        <\/div>\r\n                        <button onclick=\"addEducation()\" class=\"btn-custom px-4 py-2 rounded-full text-xs sm:text-sm font-medium\">\r\n                            + Add\r\n                        <\/button>\r\n                    <\/div>\r\n                    \r\n                    <div id=\"educationContainer\" class=\"space-y-4 sm:space-y-6\">\r\n                        <div class=\"education-item bg-gradient-to-r from-gray-50 to-gray-100 rounded-lg sm:rounded-xl p-4 sm:p-6 border-l-4 border-accent-500\">\r\n                            <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4\">\r\n                                <input type=\"text\" placeholder=\"Degree\" class=\"degree input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                                <input type=\"text\" placeholder=\"School\/University\" class=\"school input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                                <input type=\"text\" placeholder=\"Graduation Year\" class=\"grad-year input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                                <input type=\"text\" placeholder=\"GPA (optional)\" class=\"gpa input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                            <\/div>\r\n                            <button onclick=\"removeEducation(this)\" class=\"mt-3 text-red-500 hover:text-red-700 text-sm font-medium flex items-center\">\r\n                                <svg class=\"w-4 h-4 mr-1\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\r\n                                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"><\/path>\r\n                                <\/svg>\r\n                                Remove\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"space-y-4 sm:space-y-6\">\r\n                    <div class=\"bg-white rounded-xl sm:rounded-2xl card-shadow p-4 sm:p-6 border border-gray-100\">\r\n                        <div class=\"flex items-center justify-between mb-3 sm:mb-4\">\r\n                            <div class=\"flex items-center\">\r\n                                <div class=\"w-2 h-5 sm:h-6 bg-gradient-to-b from-primary-500 to-accent-500 rounded-full mr-2 sm:mr-3\"><\/div>\r\n                                <h3 class=\"text-base sm:text-lg font-semibold text-gray-800\">Skills<\/h3>\r\n                            <\/div>\r\n                            <button onclick=\"addSkill()\" class=\"text-custom text-xs sm:text-sm font-medium\">+ Add<\/button>\r\n                        <\/div>\r\n                        \r\n                        <div id=\"skillsContainer\" class=\"space-y-3 sm:space-y-4\">\r\n                            <div class=\"skill-item bg-gray-50 rounded-md sm:rounded-lg p-3 sm:p-4\">\r\n                                <input type=\"text\" placeholder=\"Skill name\" class=\"skill-name input-focus w-full p-2 border border-gray-300 rounded focus:ring-1 focus:ring-primary-500 focus:border-primary-500 bg-white text-xs sm:text-sm mb-2\">\r\n                                <div class=\"flex items-center justify-between\">\r\n                                    <span class=\"text-xs text-gray-600\">Proficiency:<\/span>\r\n                                    <div class=\"star-rating flex gap-1\" data-rating=\"3\">\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"1\">\u2605<\/span>\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"2\">\u2605<\/span>\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"3\">\u2605<\/span>\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-gray-300 hover:scale-110 transition-transform\" data-value=\"4\">\u2605<\/span>\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-gray-300 hover:scale-110 transition-transform\" data-value=\"5\">\u2605<\/span>\r\n                                    <\/div>\r\n                                    <button onclick=\"removeSkill(this)\" class=\"text-red-500 hover:text-red-700 text-xs\">Remove<\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"bg-white rounded-xl sm:rounded-2xl card-shadow p-4 sm:p-6 border border-gray-100\">\r\n                        <div class=\"flex items-center justify-between mb-3 sm:mb-4\">\r\n                            <div class=\"flex items-center\">\r\n                                <div class=\"w-2 h-5 sm:h-6 bg-gradient-to-b from-primary-500 to-accent-500 rounded-full mr-2 sm:mr-3\"><\/div>\r\n                                <h3 class=\"text-base sm:text-lg font-semibold text-gray-800\">Languages<\/h3>\r\n                            <\/div>\r\n                            <button onclick=\"addLanguage()\" class=\"text-custom text-xs sm:text-sm font-medium\">+ Add<\/button>\r\n                        <\/div>\r\n                        \r\n                        <div id=\"languagesContainer\" class=\"space-y-3 sm:space-y-4\">\r\n                            <div class=\"language-item bg-gray-50 rounded-md sm:rounded-lg p-3 sm:p-4\">\r\n                                <input type=\"text\" placeholder=\"Language\" class=\"language-name input-focus w-full p-2 border border-gray-300 rounded focus:ring-1 focus:ring-primary-500 focus:border-primary-500 bg-white text-xs sm:text-sm mb-2\">\r\n                                <div class=\"flex items-center justify-between\">\r\n                                    <span class=\"text-xs text-gray-600\">Proficiency:<\/span>\r\n                                    <div class=\"star-rating flex gap-1\" data-rating=\"3\">\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"1\">\u2605<\/span>\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"2\">\u2605<\/span>\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"3\">\u2605<\/span>\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-gray-300 hover:scale-110 transition-transform\" data-value=\"4\">\u2605<\/span>\r\n                                        <span class=\"star cursor-pointer text-base sm:text-lg text-gray-300 hover:scale-110 transition-transform\" data-value=\"5\">\u2605<\/span>\r\n                                    <\/div>\r\n                                    <button onclick=\"removeLanguage(this)\" class=\"text-red-500 hover:text-red-700 text-xs\">Remove<\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"flex flex-col sm:flex-row gap-3 sm:gap-4 pb-8\">\r\n                    <button onclick=\"updatePreview()\" class=\"flex-1 btn-custom py-3 sm:py-4 rounded-lg sm:rounded-xl font-semibold text-base sm:text-lg\">\r\n                        Update Preview\r\n                    <\/button>\r\n                    <button onclick=\"downloadPDF()\" class=\"flex-1 btn-custom py-3 sm:py-4 rounded-lg sm:rounded-xl font-semibold text-base sm:text-lg\">\r\n                        Download PDF\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"xl:col-span-7\">\r\n                <div class=\"bg-white rounded-xl sm:rounded-2xl card-shadow border border-gray-100 overflow-hidden sticky top-4\">\r\n                    <div class=\"bg-slate-800 text-white p-4 sm:p-6 border-b\">\r\n                        <h3 class=\"text-lg sm:text-xl font-semibold mb-2 text-white\">Professional Resume Preview<\/h3>\r\n                        <p class=\"text-slate-300 text-xs sm:text-sm\">Live preview \u2022 Ready for download<\/p>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"p-4 sm:p-6 lg:p-10 resume-preview bg-white\" id=\"resumePreview\" style=\"font-family: 'Times New Roman', serif;\">\r\n                        <div class=\"border-b-2 border-slate-900 pb-4 sm:pb-6 mb-6 sm:mb-8\">\r\n                            <div class=\"flex flex-col sm:flex-row items-start gap-4 sm:gap-8\">\r\n                                <div id=\"previewProfilePic\" class=\"w-32 h-32 sm:w-40 sm:h-40 bg-slate-100 rounded-sm flex items-center justify-center overflow-hidden border border-slate-300 flex-shrink-0 mx-auto sm:mx-0\">\r\n                                    <svg class=\"w-8 h-8 sm:w-12 sm:h-12 text-slate-400\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                                        <path fill-rule=\"evenodd\" d=\"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z\" clip-rule=\"evenodd\"><\/path>\r\n                                    <\/svg>\r\n                                <\/div>\r\n                                <div class=\"flex-1 text-center sm:text-left\">\r\n                                    <h1 id=\"previewName\" class=\"text-2xl sm:text-3xl font-bold text-slate-900 mb-2 tracking-wide uppercase\">Your Name<\/h1>\r\n                                    <div id=\"previewContact\" class=\"text-slate-700 space-y-1 text-xs sm:text-sm\">\r\n                                        <div class=\"flex flex-col sm:flex-row sm:flex-wrap gap-2 sm:gap-6\">\r\n                                            <p id=\"previewEmail\" class=\"flex items-center justify-center sm:justify-start\">\r\n                                                <span class=\"font-medium mr-1\">Email:<\/span>\r\n                                                <span>email@example.com<\/span>\r\n                                            <\/p>\r\n                                            <p id=\"previewPhone\" class=\"flex items-center justify-center sm:justify-start\">\r\n                                                <span class=\"font-medium mr-1\">Phone:<\/span>\r\n                                                <span>+1 (555) 123-4567<\/span>\r\n                                            <\/p>\r\n                                            <p id=\"previewLocation\" class=\"flex items-center justify-center sm:justify-start\">\r\n                                                <span class=\"font-medium mr-1\">Location:<\/span>\r\n                                                <span>City, State<\/span>\r\n                                            <\/p>\r\n                                            <p id=\"previewDateOfBirth\" class=\"flex items-center justify-center sm:justify-start\">\r\n                                                <span class=\"font-medium mr-1\">DOB:<\/span>\r\n                                                <span>MM\/DD\/YYYY<\/span>\r\n                                            <\/p>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div id=\"summarySection\" class=\"mb-6 sm:mb-8 resume-section\">\r\n                            <h2 class=\"text-base sm:text-lg font-bold text-slate-900 mb-2 sm:mb-3 uppercase tracking-wide border-b border-slate-300 pb-1\">Professional Summary<\/h2>\r\n                            <p id=\"previewSummary\" class=\"text-slate-700 leading-relaxed text-justify text-sm sm:text-base\">Your professional summary will appear here...<\/p>\r\n                        <\/div>\r\n\r\n                        <div id=\"experienceSection\" class=\"mb-6 sm:mb-8 resume-section\">\r\n                            <h2 class=\"text-base sm:text-lg font-bold text-slate-900 mb-3 sm:mb-4 uppercase tracking-wide border-b border-slate-300 pb-1\">Professional Experience<\/h2>\r\n                            <div id=\"previewExperience\" class=\"space-y-4 sm:space-y-6\">\r\n                                <div class=\"border-l-0\">\r\n                                    <div class=\"flex flex-col sm:flex-row sm:justify-between sm:items-start mb-1\">\r\n                                        <h3 class=\"text-sm sm:text-base font-bold text-slate-900\">Job Title<\/h3>\r\n                                        <span class=\"text-slate-600 text-xs sm:text-sm font-medium\">Start - End<\/span>\r\n                                    <\/div>\r\n                                    <p class=\"text-slate-800 font-semibold mb-2 italic text-sm sm:text-base\">Company Name<\/p>\r\n                                    <ul class=\"text-slate-700 leading-relaxed text-xs sm:text-sm\">\r\n                                        <li class=\"mb-1\">\u2022 Job description and achievements will appear here...<\/li>\r\n                                    <\/ul>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div id=\"educationSection\" class=\"mb-6 sm:mb-8 resume-section\">\r\n                            <h2 class=\"text-base sm:text-lg font-bold text-slate-900 mb-3 sm:mb-4 uppercase tracking-wide border-b border-slate-300 pb-1\">Education<\/h2>\r\n                            <div id=\"previewEducation\" class=\"space-y-3 sm:space-y-4\">\r\n                                <div>\r\n                                    <div class=\"flex flex-col sm:flex-row sm:justify-between sm:items-start mb-1\">\r\n                                        <h3 class=\"text-sm sm:text-base font-bold text-slate-900\">Degree<\/h3>\r\n                                        <span class=\"text-slate-600 text-xs sm:text-sm font-medium\">Year<\/span>\r\n                                    <\/div>\r\n                                    <p class=\"text-slate-800 font-semibold italic text-sm sm:text-base\">School\/University<\/p>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-4 sm:gap-8\">\r\n                            <div id=\"skillsSection\" class=\"resume-section\">\r\n                                <h2 class=\"text-base sm:text-lg font-bold text-slate-900 mb-3 sm:mb-4 uppercase tracking-wide border-b border-slate-300 pb-1\">Skills<\/h2>\r\n                                <div id=\"previewSkills\" class=\"space-y-2\">\r\n                                    <div class=\"flex justify-between items-center\">\r\n                                        <span class=\"font-medium text-slate-800 text-xs sm:text-sm\">JavaScript<\/span>\r\n                                        <div class=\"flex gap-1\">\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-800 rounded-sm\"><\/div>\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-800 rounded-sm\"><\/div>\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-800 rounded-sm\"><\/div>\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-300 rounded-sm\"><\/div>\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-300 rounded-sm\"><\/div>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n\r\n                            <div id=\"languagesSection\" class=\"resume-section\">\r\n                                <h2 class=\"text-base sm:text-lg font-bold text-slate-900 mb-3 sm:mb-4 uppercase tracking-wide border-b border-slate-300 pb-1\">Languages<\/h2>\r\n                                <div id=\"previewLanguages\" class=\"space-y-2\">\r\n                                    <div class=\"flex justify-between items-center\">\r\n                                        <span class=\"font-medium text-slate-800 text-xs sm:text-sm\">English<\/span>\r\n                                        <div class=\"flex gap-1\">\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-800 rounded-sm\"><\/div>\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-800 rounded-sm\"><\/div>\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-800 rounded-sm\"><\/div>\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-300 rounded-sm\"><\/div>\r\n                                            <div class=\"w-2 h-2 sm:w-3 sm:h-3 bg-slate-300 rounded-sm\"><\/div>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n    \/\/ LOGIC SCRIPTS\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n        const inputs = document.querySelectorAll('#eternity-builder-root input, #eternity-builder-root textarea, #eternity-builder-root select');\r\n        inputs.forEach(input => {\r\n            input.addEventListener('input', updatePreview);\r\n            input.addEventListener('change', updatePreview);\r\n        });\r\n        \r\n        const profileInput = document.getElementById('profilePicture');\r\n        if(profileInput) profileInput.addEventListener('change', handleProfilePicture);\r\n        \r\n        setupStarRatings();\r\n        setTimeout(updatePreview, 100);\r\n    });\r\n\r\n    function handleProfilePicture(event) {\r\n        const file = event.target.files[0];\r\n        if (file) {\r\n            const reader = new FileReader();\r\n            reader.onload = function(e) {\r\n                const tempImg = new Image();\r\n                tempImg.onload = function() {\r\n                    window.profileImageData = { src: e.target.result, width: this.width, height: this.height, aspectRatio: this.width \/ this.height };\r\n                    const img = document.createElement('img'); img.src = e.target.result; img.className = 'w-full h-full object-cover';\r\n                    document.getElementById('profilePreview').innerHTML = ''; document.getElementById('profilePreview').appendChild(img);\r\n                    document.getElementById('previewProfilePic').innerHTML = ''; document.getElementById('previewProfilePic').appendChild(img.cloneNode());\r\n                };\r\n                tempImg.src = e.target.result;\r\n            };\r\n            reader.readAsDataURL(file);\r\n        }\r\n    }\r\n\r\n    function removeProfilePicture() {\r\n        const defaultIcon = `<svg class=\"w-12 h-12 text-gray-400\" fill=\"currentColor\" viewBox=\"0 0 20 20\"><path fill-rule=\"evenodd\" d=\"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z\" clip-rule=\"evenodd\"><\/path><\/svg>`;\r\n        const defaultPreviewIcon = `<svg class=\"w-8 h-8 sm:w-12 sm:h-12 text-slate-400\" fill=\"currentColor\" viewBox=\"0 0 20 20\"><path fill-rule=\"evenodd\" d=\"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z\" clip-rule=\"evenodd\"><\/path><\/svg>`;\r\n        document.getElementById('profilePreview').innerHTML = defaultIcon;\r\n        document.getElementById('previewProfilePic').innerHTML = defaultPreviewIcon;\r\n        document.getElementById('profilePicture').value = '';\r\n        window.profileImageData = null;\r\n    }\r\n\r\n    function setupStarRatings() {\r\n        document.getElementById('eternity-builder-root').addEventListener('click', function(e) {\r\n            if (e.target.classList.contains('star')) {\r\n                const rating = parseInt(e.target.dataset.value);\r\n                const container = e.target.parentElement;\r\n                container.dataset.rating = rating;\r\n                const stars = container.querySelectorAll('.star');\r\n                stars.forEach((star, index) => {\r\n                    star.className = index < rating ? 'star cursor-pointer text-lg text-yellow-400 hover:scale-110 transition-transform' : 'star cursor-pointer text-lg text-gray-300 hover:scale-110 transition-transform';\r\n                });\r\n                updatePreview();\r\n            }\r\n        });\r\n    }\r\n\r\n    function addExperience() {\r\n        const container = document.getElementById('experienceContainer');\r\n        const newItem = document.createElement('div');\r\n        newItem.className = 'experience-item bg-gradient-to-r from-gray-50 to-gray-100 rounded-lg sm:rounded-xl p-4 sm:p-6 border-l-4 border-primary-500';\r\n        newItem.innerHTML = `\r\n            <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4 mb-3 sm:mb-4\">\r\n                <input type=\"text\" placeholder=\"Job Title\" class=\"job-title input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                <input type=\"text\" placeholder=\"Company Name\" class=\"company input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                <input type=\"text\" placeholder=\"Start Date\" class=\"start-date input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                <input type=\"text\" placeholder=\"End Date\" class=\"end-date input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n            <\/div>\r\n            <textarea placeholder=\"Describe your achievements and responsibilities...\" rows=\"3\" class=\"job-description input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white resize-none text-sm sm:text-base\"><\/textarea>\r\n            <button onclick=\"removeExperience(this)\" class=\"mt-3 text-red-500 hover:text-red-700 text-sm font-medium flex items-center\"><svg class=\"w-4 h-4 mr-1\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"><\/path><\/svg>Remove<\/button>\r\n        `;\r\n        container.appendChild(newItem);\r\n        newItem.querySelectorAll('input, textarea').forEach(input => input.addEventListener('input', updatePreview));\r\n    }\r\n\r\n    function removeExperience(button) { button.closest('.experience-item').remove(); updatePreview(); }\r\n\r\n    function addEducation() {\r\n        const container = document.getElementById('educationContainer');\r\n        const newItem = document.createElement('div');\r\n        newItem.className = 'education-item bg-gradient-to-r from-gray-50 to-gray-100 rounded-lg sm:rounded-xl p-4 sm:p-6 border-l-4 border-accent-500';\r\n        newItem.innerHTML = `\r\n            <div class=\"grid grid-cols-1 sm:grid-cols-2 gap-3 sm:gap-4\">\r\n                <input type=\"text\" placeholder=\"Degree\" class=\"degree input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                <input type=\"text\" placeholder=\"School\/University\" class=\"school input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                <input type=\"text\" placeholder=\"Graduation Year\" class=\"grad-year input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n                <input type=\"text\" placeholder=\"GPA (optional)\" class=\"gpa input-focus w-full p-2.5 sm:p-3 border border-gray-300 rounded-md sm:rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 bg-white text-sm sm:text-base\">\r\n            <\/div>\r\n            <button onclick=\"removeEducation(this)\" class=\"mt-3 text-red-500 hover:text-red-700 text-sm font-medium flex items-center\"><svg class=\"w-4 h-4 mr-1\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"><\/path><\/svg>Remove<\/button>\r\n        `;\r\n        container.appendChild(newItem);\r\n        newItem.querySelectorAll('input').forEach(input => input.addEventListener('input', updatePreview));\r\n    }\r\n\r\n    function removeEducation(button) { button.closest('.education-item').remove(); updatePreview(); }\r\n\r\n    function addSkill() {\r\n        const container = document.getElementById('skillsContainer');\r\n        const newItem = document.createElement('div');\r\n        newItem.className = 'skill-item bg-gray-50 rounded-md sm:rounded-lg p-3 sm:p-4';\r\n        newItem.innerHTML = `\r\n            <input type=\"text\" placeholder=\"Skill name\" class=\"skill-name input-focus w-full p-2 border border-gray-300 rounded focus:ring-1 focus:ring-primary-500 focus:border-primary-500 bg-white text-xs sm:text-sm mb-2\">\r\n            <div class=\"flex items-center justify-between\">\r\n                <span class=\"text-xs text-gray-600\">Proficiency:<\/span>\r\n                <div class=\"star-rating flex gap-1\" data-rating=\"3\">\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"1\">\u2605<\/span>\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"2\">\u2605<\/span>\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"3\">\u2605<\/span>\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-gray-300 hover:scale-110 transition-transform\" data-value=\"4\">\u2605<\/span>\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-gray-300 hover:scale-110 transition-transform\" data-value=\"5\">\u2605<\/span>\r\n                <\/div>\r\n                <button onclick=\"removeSkill(this)\" class=\"text-red-500 hover:text-red-700 text-xs\">Remove<\/button>\r\n            <\/div>\r\n        `;\r\n        container.appendChild(newItem);\r\n        newItem.querySelector('.skill-name').addEventListener('input', updatePreview);\r\n    }\r\n\r\n    function removeSkill(button) { button.closest('.skill-item').remove(); updatePreview(); }\r\n\r\n    function addLanguage() {\r\n        const container = document.getElementById('languagesContainer');\r\n        const newItem = document.createElement('div');\r\n        newItem.className = 'language-item bg-gray-50 rounded-md sm:rounded-lg p-3 sm:p-4';\r\n        newItem.innerHTML = `\r\n            <input type=\"text\" placeholder=\"Language\" class=\"language-name input-focus w-full p-2 border border-gray-300 rounded focus:ring-1 focus:ring-primary-500 focus:border-primary-500 bg-white text-xs sm:text-sm mb-2\">\r\n            <div class=\"flex items-center justify-between\">\r\n                <span class=\"text-xs text-gray-600\">Proficiency:<\/span>\r\n                <div class=\"star-rating flex gap-1\" data-rating=\"3\">\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"1\">\u2605<\/span>\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"2\">\u2605<\/span>\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-yellow-400 hover:scale-110 transition-transform\" data-value=\"3\">\u2605<\/span>\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-gray-300 hover:scale-110 transition-transform\" data-value=\"4\">\u2605<\/span>\r\n                    <span class=\"star cursor-pointer text-base sm:text-lg text-gray-300 hover:scale-110 transition-transform\" data-value=\"5\">\u2605<\/span>\r\n                <\/div>\r\n                <button onclick=\"removeLanguage(this)\" class=\"text-red-500 hover:text-red-700 text-xs\">Remove<\/button>\r\n            <\/div>\r\n        `;\r\n        container.appendChild(newItem);\r\n        newItem.querySelector('.language-name').addEventListener('input', updatePreview);\r\n    }\r\n\r\n    function removeLanguage(button) { button.closest('.language-item').remove(); updatePreview(); }\r\n\r\n    function updatePreview() {\r\n        document.getElementById('previewName').textContent = document.getElementById('fullName').value || 'Your Name';\r\n        document.getElementById('previewEmail').innerHTML = `<span class=\"font-medium mr-1\">Email:<\/span><span>${document.getElementById('email').value || 'email@example.com'}<\/span>`;\r\n        document.getElementById('previewPhone').innerHTML = `<span class=\"font-medium mr-1\">Phone:<\/span><span>${document.getElementById('phone').value || '+1 (555) 123-4567'}<\/span>`;\r\n        document.getElementById('previewLocation').innerHTML = `<span class=\"font-medium mr-1\">Location:<\/span><span>${document.getElementById('location').value || 'City, State'}<\/span>`;\r\n        document.getElementById('previewDateOfBirth').innerHTML = `<span class=\"font-medium mr-1\">DOB:<\/span><span>${document.getElementById('dateOfBirth').value || 'MM\/DD\/YYYY'}<\/span>`;\r\n        document.getElementById('previewSummary').textContent = document.getElementById('summary').value || 'Your professional summary will appear here...';\r\n\r\n        const previewExperience = document.getElementById('previewExperience');\r\n        previewExperience.innerHTML = '';\r\n        document.querySelectorAll('.experience-item').forEach(item => {\r\n            const jobTitle = item.querySelector('.job-title').value;\r\n            const company = item.querySelector('.company').value;\r\n            if (jobTitle || company) {\r\n                const desc = item.querySelector('.job-description').value;\r\n                const descHtml = desc ? (desc.split(\/[.\\n]\/).filter(s => s.trim()).length > 1 ? '<ul class=\"text-slate-700 leading-relaxed text-sm\">' + desc.split(\/[.\\n]\/).filter(s => s.trim()).map(s => `<li class=\"mb-1\">\u2022 ${s.trim()}<\/li>`).join('') + '<\/ul>' : `<ul class=\"text-slate-700 leading-relaxed text-sm\"><li class=\"mb-1\">\u2022 ${desc}<\/li><\/ul>`) : '<ul class=\"text-slate-700 leading-relaxed text-sm\"><li class=\"mb-1\">\u2022 Job description and achievements will appear here...<\/li><\/ul>';\r\n                previewExperience.innerHTML += `<div class=\"border-l-0 mb-6\"><div class=\"flex justify-between items-start mb-1\"><h3 class=\"text-base font-bold text-slate-900\">${jobTitle || 'Job Title'}<\/h3><span class=\"text-slate-600 text-sm font-medium\">${item.querySelector('.start-date').value || 'Start'} - ${item.querySelector('.end-date').value || 'End'}<\/span><\/div><p class=\"text-slate-800 font-semibold mb-2 italic\">${company || 'Company Name'}<\/p>${descHtml}<\/div>`;\r\n            }\r\n        });\r\n\r\n        const previewEducation = document.getElementById('previewEducation');\r\n        previewEducation.innerHTML = '';\r\n        document.querySelectorAll('.education-item').forEach(item => {\r\n            const degree = item.querySelector('.degree').value;\r\n            const school = item.querySelector('.school').value;\r\n            if (degree || school) {\r\n                previewEducation.innerHTML += `<div class=\"mb-4\"><div class=\"flex justify-between items-start mb-1\"><h3 class=\"text-base font-bold text-slate-900\">${degree || 'Degree'}<\/h3><span class=\"text-slate-600 text-sm font-medium\">${item.querySelector('.grad-year').value || 'Year'}<\/span><\/div><p class=\"text-slate-800 font-semibold italic\">${school || 'School\/University'}<\/p>${item.querySelector('.gpa').value ? `<p class=\"text-slate-600 text-sm mt-1\">GPA: ${item.querySelector('.gpa').value}<\/p>` : ''}<\/div>`;\r\n            }\r\n        });\r\n\r\n        const previewSkills = document.getElementById('previewSkills');\r\n        previewSkills.innerHTML = '';\r\n        let hasSkills = false;\r\n        document.querySelectorAll('.skill-item').forEach(item => {\r\n            const name = item.querySelector('.skill-name').value;\r\n            const rating = parseInt(item.querySelector('.star-rating').dataset.rating) || 3;\r\n            if (name) {\r\n                hasSkills = true;\r\n                let squares = ''; for(let i=1;i<=5;i++) squares += i<=rating ? '<div class=\"w-3 h-3 bg-slate-800 rounded-sm\"><\/div>' : '<div class=\"w-3 h-3 bg-slate-300 rounded-sm\"><\/div>';\r\n                previewSkills.innerHTML += `<div class=\"flex justify-between items-center\"><span class=\"font-medium text-slate-800\">${name}<\/span><div class=\"flex gap-1\">${squares}<\/div><\/div>`;\r\n            }\r\n        });\r\n        if (!hasSkills) previewSkills.innerHTML = `<div class=\"flex justify-between items-center\"><span class=\"font-medium text-slate-800\">JavaScript<\/span><div class=\"flex gap-1\"><div class=\"w-3 h-3 bg-slate-800 rounded-sm\"><\/div><div class=\"w-3 h-3 bg-slate-800 rounded-sm\"><\/div><div class=\"w-3 h-3 bg-slate-800 rounded-sm\"><\/div><div class=\"w-3 h-3 bg-slate-300 rounded-sm\"><\/div><div class=\"w-3 h-3 bg-slate-300 rounded-sm\"><\/div><\/div><\/div>`;\r\n\r\n        const previewLanguages = document.getElementById('previewLanguages');\r\n        previewLanguages.innerHTML = '';\r\n        let hasLangs = false;\r\n        document.querySelectorAll('.language-item').forEach(item => {\r\n            const name = item.querySelector('.language-name').value;\r\n            const rating = parseInt(item.querySelector('.star-rating').dataset.rating) || 3;\r\n            if (name) {\r\n                hasLangs = true;\r\n                let squares = ''; for(let i=1;i<=5;i++) squares += i<=rating ? '<div class=\"w-3 h-3 bg-slate-800 rounded-sm\"><\/div>' : '<div class=\"w-3 h-3 bg-slate-300 rounded-sm\"><\/div>';\r\n                previewLanguages.innerHTML += `<div class=\"flex justify-between items-center\"><span class=\"font-medium text-slate-800\">${name}<\/span><div class=\"flex gap-1\">${squares}<\/div><\/div>`;\r\n            }\r\n        });\r\n        if (!hasLangs) previewLanguages.innerHTML = `<div class=\"flex justify-between items-center\"><span class=\"font-medium text-slate-800\">English<\/span><div class=\"flex gap-1\"><div class=\"w-3 h-3 bg-slate-800 rounded-sm\"><\/div><div class=\"w-3 h-3 bg-slate-800 rounded-sm\"><\/div><div class=\"w-3 h-3 bg-slate-800 rounded-sm\"><\/div><div class=\"w-3 h-3 bg-slate-300 rounded-sm\"><\/div><div class=\"w-3 h-3 bg-slate-300 rounded-sm\"><\/div><\/div><\/div>`;\r\n    }\r\n\r\n    function downloadPDF() {\r\n        const downloadBtn = document.querySelector('button[onclick=\"downloadPDF()\"]');\r\n        const originalText = downloadBtn.innerHTML;\r\n        downloadBtn.innerHTML = 'Generating PDF...';\r\n        downloadBtn.disabled = true;\r\n\r\n        try {\r\n            const { jsPDF } = window.jspdf;\r\n            const doc = new jsPDF();\r\n            \r\n            const fullName = document.getElementById('fullName').value || 'Your Name';\r\n            const email = document.getElementById('email').value || 'email@example.com';\r\n            const phone = document.getElementById('phone').value || '+1 (555) 123-4567';\r\n            const location = document.getElementById('location').value || 'City, State';\r\n            const dateOfBirth = document.getElementById('dateOfBirth').value || '';\r\n            const summary = document.getElementById('summary').value || 'Your professional summary will appear here...';\r\n\r\n            let yPosition = 25;\r\n            let hasProfilePhoto = false;\r\n            let photoHeight = 0;\r\n            \r\n            if (window.profileImageData && window.profileImageData.src) {\r\n                hasProfilePhoto = true;\r\n                try {\r\n                    const maxPhotoWidth = 40; const maxPhotoHeight = 50;\r\n                    const aspectRatio = window.profileImageData.aspectRatio;\r\n                    let photoWidth;\r\n                    if (aspectRatio > 1) { photoWidth = maxPhotoWidth; photoHeight = maxPhotoWidth \/ aspectRatio; } \r\n                    else { photoHeight = maxPhotoHeight; photoWidth = maxPhotoHeight * aspectRatio; }\r\n                    if (photoWidth < 30 || photoHeight < 30) { const scale = Math.max(30 \/ photoWidth, 30 \/ photoHeight); photoWidth *= scale; photoHeight *= scale; }\r\n                    doc.addImage(window.profileImageData.src, 'JPEG', 20, yPosition - 5, photoWidth, photoHeight);\r\n                } catch (imgError) { hasProfilePhoto = false; photoHeight = 0; }\r\n            }\r\n\r\n            const infoStartX = hasProfilePhoto ? 70 : 20;\r\n            doc.setFontSize(22); doc.setFont(undefined, 'bold'); doc.text(fullName.toUpperCase(), infoStartX, yPosition);\r\n            \r\n            let contactY = yPosition + 12;\r\n            doc.setFontSize(10); doc.setFont(undefined, 'normal');\r\n            \r\n            doc.setFont(undefined, 'bold'); doc.text('Email:', infoStartX, contactY);\r\n            doc.setFont(undefined, 'normal'); doc.text(email, infoStartX + 22, contactY); contactY += 6;\r\n            \r\n            doc.setFont(undefined, 'bold'); doc.text('Phone:', infoStartX, contactY);\r\n            doc.setFont(undefined, 'normal'); doc.text(phone, infoStartX + 22, contactY); contactY += 6;\r\n            \r\n            doc.setFont(undefined, 'bold'); doc.text('Location:', infoStartX, contactY);\r\n            doc.setFont(undefined, 'normal'); doc.text(location, infoStartX + 22, contactY); contactY += 6;\r\n            \r\n            if (dateOfBirth) {\r\n                doc.setFont(undefined, 'bold'); doc.text('DOB:', infoStartX, contactY);\r\n                doc.setFont(undefined, 'normal'); doc.text(dateOfBirth, infoStartX + 22, contactY); contactY += 6;\r\n            }\r\n\r\n            yPosition = Math.max(contactY + 8, (hasProfilePhoto ? yPosition + photoHeight + 8 : contactY + 8));\r\n            doc.line(20, yPosition, 190, yPosition); yPosition += 15;\r\n\r\n            \/\/ Summary\r\n            doc.setFontSize(12); doc.setFont(undefined, 'bold'); doc.text('PROFESSIONAL SUMMARY', 20, yPosition); yPosition += 8;\r\n            doc.setFontSize(10); doc.setFont(undefined, 'normal');\r\n            const summaryLines = doc.splitTextToSize(summary, 170); doc.text(summaryLines, 20, yPosition); yPosition += summaryLines.length * 5 + 10;\r\n\r\n            \/\/ Experience\r\n            const experienceItems = document.querySelectorAll('.experience-item');\r\n            if (experienceItems.length > 0) {\r\n                doc.setFontSize(12); doc.setFont(undefined, 'bold'); doc.text('PROFESSIONAL EXPERIENCE', 20, yPosition); yPosition += 8;\r\n                experienceItems.forEach(item => {\r\n                    const jobTitle = item.querySelector('.job-title').value;\r\n                    const company = item.querySelector('.company').value;\r\n                    const startDate = item.querySelector('.start-date').value;\r\n                    const endDate = item.querySelector('.end-date').value;\r\n                    const description = item.querySelector('.job-description').value;\r\n\r\n                    if (jobTitle || company) {\r\n                        if (yPosition + 25 > 280) { doc.addPage(); yPosition = 15; }\r\n                        doc.setFontSize(11); doc.setFont(undefined, 'bold'); doc.text(jobTitle || 'Job Title', 20, yPosition);\r\n                        doc.text(`${startDate || 'Start'} - ${endDate || 'End'}`, 190, yPosition, { align: 'right' }); yPosition += 6;\r\n                        doc.setFont(undefined, 'italic'); doc.text(company || 'Company Name', 20, yPosition); yPosition += 6;\r\n                        if (description) {\r\n                            doc.setFont(undefined, 'normal'); doc.setFontSize(10);\r\n                            const descLines = doc.splitTextToSize(`\u2022 ${description}`, 165); doc.text(descLines, 25, yPosition); yPosition += descLines.length * 4 + 8;\r\n                        } else { yPosition += 8; }\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ Education\r\n            const educationItems = document.querySelectorAll('.education-item');\r\n            if (educationItems.length > 0) {\r\n                if (yPosition + 35 > 280) { doc.addPage(); yPosition = 15; }\r\n                doc.setFontSize(12); doc.setFont(undefined, 'bold'); doc.text('EDUCATION', 20, yPosition); yPosition += 8;\r\n                educationItems.forEach(item => {\r\n                    const degree = item.querySelector('.degree').value;\r\n                    const school = item.querySelector('.school').value;\r\n                    const gradYear = item.querySelector('.grad-year').value;\r\n                    const gpa = item.querySelector('.gpa').value;\r\n                    if (degree || school) {\r\n                        doc.setFontSize(11); doc.setFont(undefined, 'bold'); doc.text(degree || 'Degree', 20, yPosition);\r\n                        doc.text(gradYear || 'Year', 190, yPosition, { align: 'right' }); yPosition += 6;\r\n                        doc.setFont(undefined, 'italic'); doc.text(school || 'School\/University', 20, yPosition); yPosition += 4;\r\n                        if (gpa) { doc.setFont(undefined, 'normal'); doc.setFontSize(9); doc.text(`GPA: ${gpa}`, 20, yPosition); yPosition += 4; }\r\n                        yPosition += 6;\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ Skills & Languages\r\n            const skillItems = document.querySelectorAll('.skill-item');\r\n            const languageItems = document.querySelectorAll('.language-item');\r\n            if (skillItems.length > 0 || languageItems.length > 0) {\r\n                if (yPosition + 30 > 280) { doc.addPage(); yPosition = 15; }\r\n                const startY = yPosition;\r\n                \r\n                if (skillItems.length > 0) {\r\n                    doc.setFontSize(12); doc.setFont(undefined, 'bold'); doc.text('SKILLS', 20, yPosition);\r\n                    let skillsY = yPosition + 8;\r\n                    skillItems.forEach(item => {\r\n                        const skillName = item.querySelector('.skill-name').value;\r\n                        const rating = parseInt(item.querySelector('.star-rating').dataset.rating) || 3;\r\n                        if (skillName) {\r\n                            doc.setFontSize(10); doc.setFont(undefined, 'normal'); doc.text(skillName, 20, skillsY);\r\n                            for (let i = 0; i < 5; i++) {\r\n                                const squareX = 75 + (i * 3);\r\n                                doc.setFillColor(i < rating ? 51 : 203, i < rating ? 65 : 213, i < rating ? 85 : 225);\r\n                                doc.rect(squareX, skillsY - 2, 2.5, 2.5, 'F');\r\n                            }\r\n                            skillsY += 6;\r\n                        }\r\n                    });\r\n                }\r\n                \r\n                if (languageItems.length > 0) {\r\n                    doc.setFontSize(12); doc.setFont(undefined, 'bold'); doc.text('LANGUAGES', 110, startY);\r\n                    let languagesY = startY + 8;\r\n                    languageItems.forEach(item => {\r\n                        const languageName = item.querySelector('.language-name').value;\r\n                        const rating = parseInt(item.querySelector('.star-rating').dataset.rating) || 3;\r\n                        if (languageName) {\r\n                            doc.setFontSize(10); doc.setFont(undefined, 'normal'); doc.text(languageName, 110, languagesY);\r\n                            for (let i = 0; i < 5; i++) {\r\n                                const squareX = 165 + (i * 3);\r\n                                doc.setFillColor(i < rating ? 51 : 203, i < rating ? 65 : 213, i < rating ? 85 : 225);\r\n                                doc.rect(squareX, languagesY - 2, 2.5, 2.5, 'F');\r\n                            }\r\n                            languagesY += 6;\r\n                        }\r\n                    });\r\n                }\r\n            }\r\n\r\n            const fileName = `${fullName.replace(\/\\s+\/g, '_')}_Resume.pdf`;\r\n            doc.save(fileName);\r\n            setTimeout(() => { alert('PDF downloaded successfully! Check your downloads folder.'); }, 500);\r\n\r\n        } catch (error) {\r\n            console.error('PDF Generation Error:', error);\r\n            alert('Error generating PDF. Please try again or use the print option from your browser.');\r\n        } finally {\r\n            setTimeout(() => { downloadBtn.innerHTML = originalText; downloadBtn.disabled = false; }, 1000);\r\n        }\r\n    }\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Resume Maker Home \/ Resume Maker Craft your professional Resume with Eternity Personal Details Remove Photo Work Experience + Add Remove Education + Add Remove Skills + Add Proficiency: \u2605 \u2605 \u2605 \u2605 \u2605 Remove Languages + Add Proficiency: \u2605 \u2605 \u2605 \u2605 \u2605 Remove Update Preview Download PDF Professional Resume Preview Live preview \u2022 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-4922","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Eternity Recruitment | Talent Hiring &amp; Vacancy Solutions<\/title>\n<meta name=\"description\" content=\"Our agency was established with the vision of becoming a trusted partner in the ever-evolving world of recruitment, where the right match between talent and opportunity can create transformative outcomes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/eternity-recruitment.com\/cn\/resume-maker\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Eternity Recruitment | Talent Hiring &amp; Vacancy Solutions\" \/>\n<meta property=\"og:description\" content=\"Our agency was established with the vision of becoming a trusted partner in the ever-evolving world of recruitment, where the right match between talent and opportunity can create transformative outcomes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eternity-recruitment.com\/cn\/resume-maker\/\" \/>\n<meta property=\"og:site_name\" content=\"Eternity Recruitment\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61568198343055\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-26T06:11:53+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/resume-maker\\\/\",\"url\":\"https:\\\/\\\/eternity-recruitment.com\\\/resume-maker\\\/\",\"name\":\"Eternity Recruitment | Talent Hiring & Vacancy Solutions\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/#website\"},\"datePublished\":\"2025-07-02T06:57:58+00:00\",\"dateModified\":\"2026-01-26T06:11:53+00:00\",\"description\":\"Our agency was established with the vision of becoming a trusted partner in the ever-evolving world of recruitment, where the right match between talent and opportunity can create transformative outcomes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/resume-maker\\\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/eternity-recruitment.com\\\/resume-maker\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/resume-maker\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/eternity-recruitment.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resume Maker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/#website\",\"url\":\"https:\\\/\\\/eternity-recruitment.com\\\/\",\"name\":\"Eternity Recruitment\",\"description\":\"| Talent Hiring &amp; Vacancy Solutions\",\"publisher\":{\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/eternity-recruitment.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/#organization\",\"name\":\"Eternity Recruitment\",\"url\":\"https:\\\/\\\/eternity-recruitment.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/eternity-recruitment.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/cropped-LOGO_WHITE-2.png\",\"contentUrl\":\"https:\\\/\\\/eternity-recruitment.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/cropped-LOGO_WHITE-2.png\",\"width\":512,\"height\":512,\"caption\":\"Eternity Recruitment\"},\"image\":{\"@id\":\"https:\\\/\\\/eternity-recruitment.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61568198343055\",\"https:\\\/\\\/www.instagram.com\\\/eternity_recruitment\\\/\",\"https:\\\/\\\/www.xiaohongshu.com\\\/user\\\/profile\\\/65e581f4000000000500d370\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/eternity-recruitment\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Eternity Recruitment | Talent Hiring & Vacancy Solutions","description":"\u6211\u4eec\u521b\u7acb\u8fd9\u5bb6\u673a\u6784\u7684\u613f\u666f\uff0c\u662f\u5728\u4e0d\u65ad\u53d8\u5316\u7684\u62db\u8058\u9886\u57df\u4e2d\uff0c\u6210\u4e3a\u503c\u5f97\u4fe1\u8d56\u7684\u5408\u4f5c\u4f19\u4f34\u3002\u6211\u4eec\u76f8\u4fe1\uff0c\u4eba\u624d\u4e0e\u673a\u4f1a\u7684\u6b63\u786e\u5339\u914d\uff0c\u80fd\u591f\u5e26\u6765\u6df1\u8fdc\u4e14\u79ef\u6781\u7684\u6539\u53d8\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/eternity-recruitment.com\/cn\/resume-maker\/","og_locale":"zh_CN","og_type":"article","og_title":"Eternity Recruitment | Talent Hiring & Vacancy Solutions","og_description":"Our agency was established with the vision of becoming a trusted partner in the ever-evolving world of recruitment, where the right match between talent and opportunity can create transformative outcomes.","og_url":"https:\/\/eternity-recruitment.com\/cn\/resume-maker\/","og_site_name":"Eternity Recruitment","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61568198343055","article_modified_time":"2026-01-26T06:11:53+00:00","twitter_card":"summary_large_image","twitter_misc":{"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/eternity-recruitment.com\/resume-maker\/","url":"https:\/\/eternity-recruitment.com\/resume-maker\/","name":"Eternity Recruitment | Talent Hiring & Vacancy Solutions","isPartOf":{"@id":"https:\/\/eternity-recruitment.com\/#website"},"datePublished":"2025-07-02T06:57:58+00:00","dateModified":"2026-01-26T06:11:53+00:00","description":"\u6211\u4eec\u521b\u7acb\u8fd9\u5bb6\u673a\u6784\u7684\u613f\u666f\uff0c\u662f\u5728\u4e0d\u65ad\u53d8\u5316\u7684\u62db\u8058\u9886\u57df\u4e2d\uff0c\u6210\u4e3a\u503c\u5f97\u4fe1\u8d56\u7684\u5408\u4f5c\u4f19\u4f34\u3002\u6211\u4eec\u76f8\u4fe1\uff0c\u4eba\u624d\u4e0e\u673a\u4f1a\u7684\u6b63\u786e\u5339\u914d\uff0c\u80fd\u591f\u5e26\u6765\u6df1\u8fdc\u4e14\u79ef\u6781\u7684\u6539\u53d8\u3002","breadcrumb":{"@id":"https:\/\/eternity-recruitment.com\/resume-maker\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eternity-recruitment.com\/resume-maker\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eternity-recruitment.com\/resume-maker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eternity-recruitment.com\/"},{"@type":"ListItem","position":2,"name":"Resume Maker"}]},{"@type":"WebSite","@id":"https:\/\/eternity-recruitment.com\/#website","url":"https:\/\/eternity-recruitment.com\/","name":"Eternity Recruitment","description":"| Talent Hiring &amp; Vacancy Solutions","publisher":{"@id":"https:\/\/eternity-recruitment.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eternity-recruitment.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"https:\/\/eternity-recruitment.com\/#organization","name":"Eternity Recruitment","url":"https:\/\/eternity-recruitment.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/eternity-recruitment.com\/#\/schema\/logo\/image\/","url":"https:\/\/eternity-recruitment.com\/wp-content\/uploads\/2024\/10\/cropped-LOGO_WHITE-2.png","contentUrl":"https:\/\/eternity-recruitment.com\/wp-content\/uploads\/2024\/10\/cropped-LOGO_WHITE-2.png","width":512,"height":512,"caption":"Eternity Recruitment"},"image":{"@id":"https:\/\/eternity-recruitment.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61568198343055","https:\/\/www.instagram.com\/eternity_recruitment\/","https:\/\/www.xiaohongshu.com\/user\/profile\/65e581f4000000000500d370","https:\/\/www.linkedin.com\/company\/eternity-recruitment"]}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"info@eternity-recruitment.com","author_link":"https:\/\/eternity-recruitment.com\/cn\/author\/adminsrecruitment-com\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Resume Maker Home \/ Resume Maker Craft your professional Resume with Eternity Personal Details Remove Photo Work Experience + Add Remove Education + Add Remove Skills + Add Proficiency: \u2605 \u2605 \u2605 \u2605 \u2605 Remove Languages + Add Proficiency: \u2605 \u2605 \u2605 \u2605 \u2605 Remove Update Preview Download PDF Professional Resume Preview Live preview \u2022&hellip;","_links":{"self":[{"href":"https:\/\/eternity-recruitment.com\/cn\/wp-json\/wp\/v2\/pages\/4922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eternity-recruitment.com\/cn\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eternity-recruitment.com\/cn\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eternity-recruitment.com\/cn\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eternity-recruitment.com\/cn\/wp-json\/wp\/v2\/comments?post=4922"}],"version-history":[{"count":157,"href":"https:\/\/eternity-recruitment.com\/cn\/wp-json\/wp\/v2\/pages\/4922\/revisions"}],"predecessor-version":[{"id":7359,"href":"https:\/\/eternity-recruitment.com\/cn\/wp-json\/wp\/v2\/pages\/4922\/revisions\/7359"}],"wp:attachment":[{"href":"https:\/\/eternity-recruitment.com\/cn\/wp-json\/wp\/v2\/media?parent=4922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}