Current File : /home/bqrcodec/test2.proid.vn/wp-content/rabbitloader/long//7236fe559e365ea2c0e8f69d3070ce84_c
<!DOCTYPE html>
<html lang="vi"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="https://gmpg.org/xfn/11">
<title>proid3xUW1iua – Pro ID</title>
<meta name="robots" content="noindex, nofollow">
<link rel="dns-prefetch" href="//use.fontawesome.com">
<link rel="alternate" type="application/rss+xml" title="Dòng thông tin Pro ID »" href="https://me.proid.vn/feed/">
<link rel="alternate" type="application/rss+xml" title="Pro ID » Dòng bình luận" href="https://me.proid.vn/comments/feed/">
<link rel="alternate" title="oNhúng (JSON)" type="application/json+oembed" href="https://me.proid.vn/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fme.proid.vn%2F%3Fmy-pro-id%3Dproid3xuw1iua">
<link rel="alternate" title="oNhúng (XML)" type="text/xml+oembed" href="https://me.proid.vn/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fme.proid.vn%2F%3Fmy-pro-id%3Dproid3xuw1iua&format=xml">
<style id="wp-img-auto-sizes-contain-inline-css">
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
</style>
<link rel="stylesheet" id="jet-engine-wc-meta-boxes-css" href="https://me.proid.vn/wp-content/plugins/jet-engine/includes/compatibility/packages/woocommerce/inc/assets/css/admin/meta-boxes.css?ver=3.6.6.1" media="all">
<style id="wp-emoji-styles-inline-css">
img.wp-smiley, img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 0.07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
/*# sourceURL=wp-emoji-styles-inline-css */
</style>
<link rel="stylesheet" id="wp-block-library-css" href="https://me.proid.vn/wp-includes/css/dist/block-library/style.min.css?ver=6.9.4" media="all">
<style id="classic-theme-styles-inline-css">
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */
</style>
<style id="gutena-accordion-style-inline-css">
.gutena-accordion-block{display:grid;row-gap:calc(var(--gutena--accordion-panel-spacing, 20)*1px)}.gutena-accordion-block>.gutena-accordion-block__panel{background-color:var(--gutena--accordion-panel-background-color);border:var(--gutena--accordion-panel-border);border-radius:var(--gutena--accordion-panel-border-radius);cursor:pointer;margin:0!important}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title{color:var(--gutena--accordion-panel-title-color);cursor:pointer;padding:var(--gutena--accordion-panel-padding,20px);transition:.4s}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title.editor{padding-bottom:0}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner{align-items:center;-moz-column-gap:10px;column-gap:10px;display:flex;margin:0;padding:0}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner div,.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner p{color:var(--gutena--accordion-panel-title-color,var(--wp--preset--color--tertiary))!important;font-family:var(--gutena--accordion-panel-title-font-family,var(--wp--custom--typography--font-family--secondary));font-size:var(--gutena--accordion-panel-title-font-size,var(--wp--custom--typography--font-size--p));font-style:var(--gutena--accordion-panel-title-font-style,inherit);font-weight:var(--gutena--accordion-panel-title-font-weight);line-height:var(--gutena--accordion-panel-title-line-height,var(--wp--custom--typography--line-height--p));text-transform:var(--gutena--accordion-panel-title-text-transform)}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-plus-minus{align-items:center;display:flex;height:20px;justify-content:center;margin-left:auto;position:relative;width:20px}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-plus-minus>.horizontal{background-color:#313233;height:2px;opacity:1;position:absolute;transform:rotate(-90deg);transition:all .2s ease-in-out;width:60%}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-plus-minus>.vertical{background-color:#313233;height:60%;transform:rotate(-90deg);transition:all .2s ease-in-out;width:2px}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-up-down{display:inline-block;height:1.1rem;margin-left:auto;position:relative;top:50%;transform:translateY(-50%);width:1.1rem}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-up-down>.horizontal{background-color:#313233;bottom:0;display:inline-block;height:.1rem;left:0;position:absolute;transform:rotate(45deg);transition:all .2s ease;width:.66rem}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-up-down>.vertical{background-color:#313233;bottom:0;display:inline-block;height:.1rem;position:absolute;right:0;transform:rotate(-45deg);transition:all .2s ease;width:.66rem}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h1{font-size:var(--gutena--accordion-panel-title-font-size,var(--wp--custom--typography--font-size--hone));line-height:var(--gutena--accordion-panel-title-line-height,var(--wp--custom--typography--line-height--hone))}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h1,.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h2{color:var(--gutena--accordion-panel-title-color,var(--wp--preset--color--secondary))!important;font-family:var(--gutena--accordion-panel-title-font-family,var(--wp--custom--typography--font-family--primary));font-weight:var(--gutena--accordion-panel-title-font-weight,var(--wp--custom--typography--font-weight--semi-bold));text-transform:var(--gutena--accordion-panel-title-text-transform)}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h2{font-size:var(--gutena--accordion-panel-title-font-size,var(--wp--custom--typography--font-size--htwo));line-height:var(--gutena--accordion-panel-title-line-height,var(--wp--custom--typography--line-height--htwo))}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h3{font-size:var(--gutena--accordion-panel-title-font-size,var(--wp--custom--typography--font-size--hthree));line-height:var(--gutena--accordion-panel-title-line-height,var(--wp--custom--typography--line-height--hthree))}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h3,.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h4{color:var(--gutena--accordion-panel-title-color,var(--wp--preset--color--secondary))!important;font-family:var(--gutena--accordion-panel-title-font-family,var(--wp--custom--typography--font-family--primary));font-weight:var(--gutena--accordion-panel-title-font-weight,var(--wp--custom--typography--font-weight--semi-bold));text-transform:var(--gutena--accordion-panel-title-text-transform)}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h4{font-size:var(--gutena--accordion-panel-title-font-size,var(--wp--custom--typography--font-size--hfour));line-height:var(--gutena--accordion-panel-title-line-height,var(--wp--custom--typography--line-height--hfour))}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h5{font-size:var(--gutena--accordion-panel-title-font-size,var(--wp--custom--typography--font-size--hfive));line-height:var(--gutena--accordion-panel-title-line-height,var(--wp--custom--typography--line-height--hfive))}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h5,.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h6{color:var(--gutena--accordion-panel-title-color,var(--wp--preset--color--secondary))!important;font-family:var(--gutena--accordion-panel-title-font-family,var(--wp--custom--typography--font-family--primary));font-weight:var(--gutena--accordion-panel-title-font-weight,var(--wp--custom--typography--font-weight--semi-bold));text-transform:var(--gutena--accordion-panel-title-text-transform)}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h6{font-size:var(--gutena--accordion-panel-title-font-size,var(--wp--custom--typography--font-size--hsix));line-height:var(--gutena--accordion-panel-title-line-height,var(--wp--custom--typography--line-height--hsix))}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-content{color:var(--gutena--accordion-panel-content-color,var(--wp--preset--color--tertiary));cursor:default;font-family:var(--gutena--accordion-panel-content-font-family,var(--wp--custom--typography--font-family--secondary));font-size:var(--gutena--accordion-panel-content-font-size,var(--wp--custom--typography--line-height--p));font-style:var(--gutena--accordion-panel-content-font-style);font-weight:var(--gutena--accordion-panel-content-font-weight);line-height:var(--gutena--accordion-panel-content-line-height,var(--wp--custom--typography--line-height--p));text-transform:var(--gutena--accordion-panel-content-text-transform)}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-content .wp-block-image:last-of-type,.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-content figcaption:last-of-type{margin-bottom:0}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-content:not(.editor){max-height:0;overflow:hidden;transition:max-height .2s ease-out}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-content>.gutena-accordion-block__panel-content-inner{margin-top:calc(var(--gutena--accordion-panel-title-content-spacing)*1px);padding:var(--gutena--accordion-panel-padding,20px);padding-top:0}.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-content>.gutena-accordion-block__panel-content-inner>:last-child{margin-bottom:0}.gutena-accordion-block>.gutena-accordion-block__panel.active>.gutena-accordion-block__panel-title{padding-bottom:0}.gutena-accordion-block>.gutena-accordion-block__panel.active>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-plus-minus>.horizontal{opacity:0;transform:rotate(90deg)}.gutena-accordion-block>.gutena-accordion-block__panel.active>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-plus-minus>.vertical{transform:rotate(90deg)}.gutena-accordion-block>.gutena-accordion-block__panel.active>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-up-down>.horizontal{transform:rotate(-45deg)}.gutena-accordion-block>.gutena-accordion-block__panel.active>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner>.trigger-up-down>.vertical{transform:rotate(45deg)}
/*# sourceURL=https://me.proid.vn/wp-content/plugins/gutena-accordion/build/style-index.css */
</style>
<link rel="stylesheet" id="jet-engine-frontend-css" href="https://me.proid.vn/wp-content/plugins/jet-engine/assets/css/frontend.css?ver=3.6.6.1" media="all">
<style id="global-styles-inline-css">
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
/*# sourceURL=global-styles-inline-css */
</style>
<link rel="stylesheet" id="mepid-qco-style-css" href="https://me.proid.vn/wp-content/plugins/mepid-quick-checkout/assets/css/quick-checkout.css?ver=1.4.0" media="all">
<link rel="stylesheet" id="dashicons-css" href="https://me.proid.vn/wp-includes/css/dashicons.min.css?ver=6.9.4" media="all">
<link rel="stylesheet" id="post-views-counter-frontend-css" href="https://me.proid.vn/wp-content/plugins/post-views-counter/css/frontend.min.css?ver=1.4.5" media="all">
<link rel="stylesheet" id="woocommerce-layout-css" href="https://me.proid.vn/wp-content/plugins/woocommerce/assets/css/woocommerce-layout.css?ver=8.6.3" media="all">
<link rel="stylesheet" id="woocommerce-smallscreen-css" href="https://me.proid.vn/wp-content/plugins/woocommerce/assets/css/woocommerce-smallscreen.css?ver=8.6.3" media="only screen and (max-width: 768px)">
<link rel="stylesheet" id="woocommerce-general-css" href="https://me.proid.vn/wp-content/plugins/woocommerce/assets/css/woocommerce.css?ver=8.6.3" media="all">
<style id="woocommerce-inline-inline-css">
.woocommerce form .form-row .required { visibility: visible; }
/*# sourceURL=woocommerce-inline-inline-css */
</style>
<link rel="stylesheet" id="hello-elementor-css" href="https://me.proid.vn/wp-content/themes/hello-elementor/style.min.css?ver=2.8.1" media="all">
<link rel="stylesheet" id="hello-elementor-child-style-css" href="https://me.proid.vn/wp-content/themes/hello-elementor-child/style.css?ver=6.9.4" media="all">
<link rel="stylesheet" id="font-awesome-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/lib/font-awesome/css/font-awesome.min.css?ver=4.7.0" media="all">
<link rel="stylesheet" id="hello-elementor-theme-style-css" href="https://me.proid.vn/wp-content/themes/hello-elementor/theme.min.css?ver=2.8.1" media="all">
<link rel="stylesheet" id="elementor-frontend-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="elementor-post-5-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-5.css?ver=1773396893" media="all">
<link rel="stylesheet" id="jet-fb-option-field-select-css" href="https://me.proid.vn/wp-content/plugins/jetformbuilder/modules/option-field/assets/build/select.css?ver=0edd78a6f12e2b918b82" media="all">
<link rel="stylesheet" id="jet-fb-option-field-checkbox-css" href="https://me.proid.vn/wp-content/plugins/jetformbuilder/modules/option-field/assets/build/checkbox.css?ver=f54eb583054648e8615b" media="all">
<link rel="stylesheet" id="jet-fb-option-field-radio-css" href="https://me.proid.vn/wp-content/plugins/jetformbuilder/modules/option-field/assets/build/radio.css?ver=7c6d0d4d7df91e6bd6a4" media="all">
<link rel="stylesheet" id="jet-fb-advanced-choices-css" href="https://me.proid.vn/wp-content/plugins/jetformbuilder/modules/advanced-choices/assets/build/main.css?ver=d414f4b566f1e18fda82" media="all">
<link rel="stylesheet" id="jet-fb-wysiwyg-css" href="https://me.proid.vn/wp-content/plugins/jetformbuilder/modules/wysiwyg/assets/build/wysiwyg.css?ver=5a4d16fb6d7a94700261" media="all">
<link rel="stylesheet" id="jet-fb-switcher-css" href="https://me.proid.vn/wp-content/plugins/jetformbuilder/modules/switcher/assets/build/switcher.css?ver=06c887a8b9195e5a119d" media="all">
<link rel="stylesheet" id="jet-popup-frontend-css" href="https://me.proid.vn/wp-content/plugins/jet-popup/assets/css/jet-popup-frontend.css?ver=2.0.12" media="all">
<link rel="stylesheet" id="jet-theme-core-frontend-styles-css" href="https://me.proid.vn/wp-content/plugins/jet-theme-core/assets/css/frontend.css?ver=2.2.3" media="all">
<link rel="stylesheet" id="widget-image-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/css/widget-image.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="widget-nav-menu-css" href="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/css/widget-nav-menu.min.css?ver=3.35.1" media="all">
<link rel="stylesheet" id="widget-login-css" href="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/css/widget-login.min.css?ver=3.35.1" media="all">
<link rel="stylesheet" id="widget-form-css" href="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/css/widget-form.min.css?ver=3.35.1" media="all">
<link rel="stylesheet" id="widget-nested-tabs-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/css/widget-nested-tabs.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="widget-heading-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/css/widget-heading.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="e-animation-fadeInDown-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/lib/animations/styles/fadeInDown.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="e-popup-css" href="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/css/conditionals/popup.min.css?ver=3.35.1" media="all">
<link rel="stylesheet" id="elementor-post-438-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-438.css?ver=1773396893" media="all">
<link rel="stylesheet" id="elementor-post-455-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-455.css?ver=1773396893" media="all">
<link rel="stylesheet" id="elementor-post-22-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-22.css?ver=1773396893" media="all">
<link rel="stylesheet" id="elementor-post-11093-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-11093.css?ver=1773396894" media="all">
<link rel="stylesheet" id="elementor-post-392134-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-392134.css?ver=1773396894" media="all">
<link rel="stylesheet" id="elementor-post-392144-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-392144.css?ver=1773396894" media="all">
<link rel="stylesheet" id="elementor-post-266165-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-266165.css?ver=1773396894" media="all">
<link rel="stylesheet" id="font-awesome-official-css" href="https://use.fontawesome.com/releases/v6.5.1/css/all.css" media="all" integrity="sha384-t1nt8BQoYMLFN5p42tRAtuAAFQaCQODekUVeKKZrEnEyp4H2R0RHFz0KWpmj7i8g" crossorigin="anonymous">
<link rel="stylesheet" id="code-snippets-site-styles-css" href="https://me.proid.vn/?code-snippets-css=1&ver=65" media="all">
<link rel="stylesheet" id="parent-style-css" href="https://me.proid.vn/wp-content/themes/hello-elementor/style.css?ver=6.9.4" media="all">
<link rel="stylesheet" id="child-style-css" href="https://me.proid.vn/wp-content/themes/hello-elementor-child/style.css?ver=6.9.4" media="all">
<link rel="stylesheet" id="font-awesome-official-v4shim-css" href="https://use.fontawesome.com/releases/v6.5.1/css/v4-shims.css" media="all" integrity="sha384-5Jfdy0XO8+vjCRofsSnGmxGSYjLfsjjTOABKxVr8BkfvlaAm14bIJc7Jcjfq/xQI" crossorigin="anonymous">
<link rel="stylesheet" id="elementor-gf-local-montserrat-css" href="https://me.proid.vn/wp-content/uploads/elementor/google-fonts/css/montserrat.css?ver=1742643952" media="all">
<script src="https://me.proid.vn/wp-content/plugins/gutena-accordion/build/view.js?ver=5ee49e43fe188c4120bb" id="gutena-accordion-script-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/woocommerce/assets/js/jquery-blockui/jquery.blockUI.min.js?ver=2.7.0-wc.8.6.3" id="jquery-blockui-js" defer data-wp-strategy="defer"></script>
<script id="wc-add-to-cart-js-extra">
var wc_add_to_cart_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%","i18n_view_cart":"View cart","cart_url":"https://me.proid.vn/cart/","is_cart":"","cart_redirect_after_add":"no"};
//# sourceURL=wc-add-to-cart-js-extra
</script>
<script src="https://me.proid.vn/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart.min.js?ver=8.6.3" id="wc-add-to-cart-js" defer data-wp-strategy="defer"></script>
<script src="https://me.proid.vn/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js?ver=2.1.4-wc.8.6.3" id="js-cookie-js" defer data-wp-strategy="defer"></script>
<script id="woocommerce-js-extra">
var woocommerce_params = {"ajax_url":"/wp-admin/admin-ajax.php","wc_ajax_url":"/?wc-ajax=%%endpoint%%"};
//# sourceURL=woocommerce-js-extra
</script>
<script src="https://me.proid.vn/wp-content/plugins/woocommerce/assets/js/frontend/woocommerce.min.js?ver=8.6.3" id="woocommerce-js" defer data-wp-strategy="defer"></script>
<script src="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/js/page-transitions.min.js?ver=3.35.1" id="page-transitions-js"></script>
<script src="https://me.proid.vn/?code-snippets-js-snippets=head&ver=109" id="code-snippets-site-head-js"></script>
<link rel="https://api.w.org/" href="https://me.proid.vn/wp-json/"><link rel="alternate" title="JSON" type="application/json" href="https://me.proid.vn/wp-json/wp/v2/my-pro-id/411787"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://me.proid.vn/xmlrpc.php?rsd">
<meta name="generator" content="WordPress 6.9.4">
<meta name="generator" content="WooCommerce 8.6.3">
<link rel="canonical" href="https://me.proid.vn/?my-pro-id=proid3xuw1iua">
<link rel="shortlink" href="https://me.proid.vn/?p=411787">
<script type="text/javascript">
let ajaxurl = "https://me.proid.vn/wp-admin/admin-ajax.php";
</script><style>
#info_tabe, #photo_tabe, #blog_tabe {
display: none;
}
#info_tabv, #photo_tabv, #blog_tabv {
display: flex;
}
</style><style>
#home_tabv, #home_tabe,#info_tabv, #info_tabe,#photo_tabv, #photo_tabe,#video_tab,#shop_tab,#blog_tabv, #blog_tabe{
display: none !important;
}
</style><style>.p_vi_listing { display: none !important; }.p_en_listing { display: none !important; }.p_cn_listing { display: none !important; }</style><script type="text/javascript">const proidShareData = {"url":"https:\/\/me.proid.vn\/?my-pro-id=proid3xuw1iua","title":"proid3xUW1iua"};</script>
<meta name="generator" content="Elementor 3.35.4; features: e_font_icon_svg, additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-swap">
<script>
jQuery(document).ready(function($) {
// --- Global Variables ---
var currentLanguage = 'vi'; // Default language: 'vi' for Vietnamese, 'en' for English
var detectedBrowser = ''; // To store the detected browser name
// --- Language & Image Definitions ---
// Storing messages and images in an object for easier management.
var messages = {
'vi': {
'Facebook In-App Browser': {
text: "Trình duyệt Facebook không cho phép lưu danh bạ. Vui lòng nhấp vào nút ba chấm ở góc trên bên phải và chọn 'Mở trong trình duyệt khác' để lưu danh bạ của bạn.",
image: "https://me.proid.vn/wp-content/uploads/2025/08/WhatsApp-Image-2025-08-20-at-13.02.40_b84c2f40-scaled.jpg"
},
'Zalo In-App Browser': {
text: "Trình duyệt Zalo không cho phép lưu danh bạ. Vui lòng bấm nút 3 chấm ở góc trên bên phải và chọn 'Mở bằng trình duyệt ngoài' để lưu danh bạ.",
image: "https://me.proid.vn/wp-content/uploads/2025/08/WhatsApp-Image-2025-08-20-at-13.02.41_c3e1dd0a-scaled.jpg"
}
},
'en': {
'Facebook In-App Browser': {
text: "The Facebook browser does not allow saving contacts. Please click the three-dot button in the upper right corner and select 'Open in another browser' to save your contacts.",
image: "https://me.proid.vn/wp-content/uploads/2025/08/WhatsApp-Image-2025-08-20-at-13.02.40_b84c2f40-scaled.jpg"
},
'Zalo In-App Browser': {
text: "The Zalo browser does not allow saving contacts. Please click the three-dot button in the upper right corner and select 'Open in another browser' to save your contacts.",
image: "https://me.proid.vn/wp-content/uploads/2025/08/WhatsApp-Image-2025-08-20-at-13.02.41_c3e1dd0a-scaled.jpg"
}
}
};
/**
* Function to detect the browser name.
*/
function getBrowserName() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
var browserName = "Unknown Browser";
if (/zalo/i.test(userAgent)) {
browserName = "Zalo In-App Browser";
} else if (/FBAN|FBAV/i.test(userAgent)) {
browserName = "Facebook In-App Browser";
}
return browserName;
}
/**
* Updates the modal's content (text, image, and language button) based on the current language and browser.
*/
function updateModalContent() {
if (detectedBrowser && messages[currentLanguage] && messages[currentLanguage][detectedBrowser]) {
var browserInfo = messages[currentLanguage][detectedBrowser];
// Set the main informational message
$('#proid-info-modal .proid-info-modal-text').text(browserInfo.text);
// Set the correct image source
$('#proid-info-modal .proid-info-modal-image').attr('src', browserInfo.image);
// Update the language switcher button's text
var switchButtonText = (currentLanguage === 'vi') ? 'View in English' : 'Xem bằng tiếng Việt';
$('.proid-lang-switch').text(switchButtonText);
}
}
/**
* Dynamically creates and injects the custom informational pop-up (modal) and its styles.
*/
function setupInfoModal() {
var modalCSS = `
.proid-info-modal-overlay {
position: fixed; top: 0; left: 0; width: 100%; height: 100%;
background-color: rgba(0, 0, 0, 0.75); display: none;
justify-content: center; align-items: center; z-index: 99999; padding: 15px;
}
.proid-info-modal-content {
background-color: #ffffff; padding: 25px; border-radius: 15px;
text-align: center; max-width: 450px; width: 100%;
box-shadow: 0 8px 30px rgba(0,0,0,0.2);
animation: proid-modal-fadein 0.3s ease-out;
}
@keyframes proid-modal-fadein {
from { opacity: 0; transform: scale(0.95); }
to { opacity: 1; transform: scale(1); }
}
.proid-info-modal-content p {
margin-top: 0; margin-bottom: 20px; color: #333;
line-height: 1.6; font-size: 16px;
}
.proid-info-modal-image {
max-width: 100%; height: auto; border-radius: 8px;
margin-bottom: 25px; border: 1px solid #eee;
}
.proid-info-modal-button {
display: inline-block; width: 100%; padding: 12px 30px;
background: linear-gradient(145deg, #ff416c, #ff4b2b);
color: #fff !important; text-decoration: none !important;
border-radius: 15px; /* MODIFIED: Set border-radius to 15px */
font-weight: bold; border: none; cursor: pointer;
font-size: 18px;
box-shadow: 0 4px 15px rgba(255, 65, 108, 0.4);
transition: all 0.3s ease;
}
.proid-info-modal-button:hover {
transform: translateY(-3px);
box-shadow: 0 7px 20px rgba(255, 65, 108, 0.6);
}
.proid-lang-switch {
background-color: #f0f2f5;
border: 1px solid #ccd0d5;
color: #333;
cursor: pointer;
font-size: 14px;
font-weight: 600;
margin-bottom: 20px;
text-decoration: none;
padding: 8px 16px;
border-radius: 20px;
transition: background-color 0.2s ease;
}
.proid-lang-switch:hover {
background-color: #e4e6e9;
}
`;
$('head').append('<style>' + modalCSS + '</style>');
var modalHTML = `
<div id="proid-info-modal" class="proid-info-modal-overlay">
<div class="proid-info-modal-content">
<button class="proid-lang-switch"></button>
<p class="proid-info-modal-text"></p>
<img src="" class="proid-info-modal-image" alt="Instructions">
<button class="proid-info-modal-button">OK</button>
</div>
</div>
`;
$('body').append(modalHTML);
}
// --- Event Listeners ---
// 1. Run the setup function once the document is ready
setupInfoModal();
// 2. Attach a click event listener to the "Save Contact" button.
$(document).on('click', '.save_contact_btn_1', function(e) {
detectedBrowser = getBrowserName();
if (detectedBrowser === "Zalo In-App Browser" || detectedBrowser === "Facebook In-App Browser") {
e.preventDefault(); // Stop the default button action
// Reset to default language (Vietnamese) every time the modal is opened
currentLanguage = 'vi';
// Set the correct content in the modal and show it
updateModalContent();
$('#proid-info-modal').css('display', 'flex');
}
});
// 3. Add event listener for the language switcher.
$(document).on('click', '.proid-lang-switch', function() {
// Toggle the language
currentLanguage = (currentLanguage === 'vi') ? 'en' : 'vi';
// Update the content to reflect the change
updateModalContent();
});
// 4. Add event listener for closing the modal.
$(document).on('click', '.proid-info-modal-button, .proid-info-modal-overlay', function(e) {
// Ensure we don't close it when clicking on the content itself, unless it's the OK button
if (!$(e.target).closest('.proid-info-modal-content').length || $(e.target).hasClass('proid-info-modal-button')) {
$('#proid-info-modal').hide();
}
});
});
</script>
<script type="text/javascript">
jQuery(document).ready(function($) {
// Listener for buttons with class "download_qrcode_admin"
$(document).on('click', '.download_qrcode_admin', function(e) {
e.preventDefault();
var $clickedWidgetDiv = $(this); // This is the main div of the button widget
var $linkElement = $clickedWidgetDiv.find('a.elementor-button'); // Find the <a> tag within the widget
var userId;
if ($linkElement.length > 0) {
userId = $linkElement.attr('id'); // Get the ID from the <a> tag
console.log("Download QR: Found <a> tag with ID (User ID):", userId);
} else {
console.error("Download QR: Could not find the <a> tag with class .elementor-button inside the clicked widget.");
alert('Error: Button internal structure not found for QR download.');
return;
}
if (!userId || isNaN(parseInt(userId))) {
alert('Error: User ID for QR download ("' + userId + '") is not a valid number.');
return;
}
userId = parseInt(userId);
// Check if global AJAX variables are defined (ensure meProIDGlobalVars and downloadQrNonce are set by PHP)
if (typeof window.meProIDGlobalVars === 'undefined' ||
typeof window.meProIDGlobalVars.ajax_url === 'undefined' ||
typeof window.meProIDGlobalVars.downloadQrNonce === 'undefined') {
alert('Error: AJAX configuration variables (meProIDGlobalVars or downloadQrNonce) not found. Check PHP in functions.php.');
return;
}
// Create and submit the form for download
var form = $('<form></form>');
form.attr('method', 'POST');
form.attr('action', window.meProIDGlobalVars.ajax_url); // AJAX URL
var actionInput = $('<input></input>');
actionInput.attr('type', 'hidden');
actionInput.attr('name', 'action');
actionInput.attr('value', 'me_proid_download_qrcodes_action'); // Matches PHP hook
form.append(actionInput);
var userIdInput = $('<input></input>');
userIdInput.attr('type', 'hidden');
userIdInput.attr('name', 'user_id_for_qr'); // Use a distinct name for this button's user_id POST variable
userIdInput.attr('value', userId);
form.append(userIdInput);
var nonceInput = $('<input></input>');
nonceInput.attr('type', 'hidden');
nonceInput.attr('name', 'security_nonce_qr'); // Matches PHP check_ajax_referer's 2nd arg
nonceInput.attr('value', window.meProIDGlobalVars.downloadQrNonce); // Use the specific nonce
form.append(nonceInput);
// Optionally, provide user feedback (e.g., change button text to "Processing...")
var originalButtonText = $linkElement.find('.elementor-button-text').text();
$linkElement.find('.elementor-button-text').text('Processing...');
$clickedWidgetDiv.css('pointer-events', 'none'); // Disable button temporarily
$(document.body).append(form);
form.submit();
form.remove();
// Reset button text after a short delay (download should initiate)
setTimeout(function() {
$linkElement.find('.elementor-button-text').text(originalButtonText);
$clickedWidgetDiv.css('pointer-events', 'auto'); // Re-enable button
}, 4000); // Adjust delay as needed
});
});
</script>
<script>
jQuery(document).ready(function($) {
const textareaSelector = '#form-field-usernames_list';
const urlPattern = 'https://me.proid.vn/?my-pro-id=';
$(document).on('paste', textareaSelector, function(e) {
const _this = $(this);
// Short delay to let the browser process the paste
setTimeout(function() {
let originalValue = _this.val();
// Regex to find the ID after the specific URL pattern
const escapedPattern = urlPattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
const regex = new RegExp(escapedPattern + '([a-zA-Z0-9]+)', 'g');
let matches;
let ids = [];
while ((matches = regex.exec(originalValue)) !== null) {
ids.push(matches[1]);
}
if (ids.length > 0) {
// JOINING WITH '\n' creates the line-by-line list
_this.val(ids.join('\n'));
console.log('Processed ' + ids.length + ' IDs line-by-line.');
// Optional: Trigger change for Elementor or other listeners
_this.trigger('change');
}
}, 100);
});
});
</script>
<style>
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
background-image: none !important;
}
@media screen and (max-height: 1024px) {
.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
background-image: none !important;
}
}
@media screen and (max-height: 640px) {
.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
background-image: none !important;
}
}
</style>
<style id="wp-custom-css">
.childernrelations .jet-listing-grid__item > div, .jet-listing-dynamic-repeater__item{
width:100% !important;
}
/* update button */
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__action-button {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__action-button:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__action-button::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__action-button:hover::before {
opacity: 0.6;
}
/* update profile button */
.elementor-400 .elementor-element.elementor-element-9dd9f64 .jet-form-builder__action-button {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff;
border: 2px solid #d93025;
border-radius: 10px;
font-family: "Montserrat", Sans-serif;
font-size: 1.2em;
font-weight: bold;
text-transform: uppercase;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
.elementor-400 .elementor-element.elementor-element-9dd9f64 .jet-form-builder__action-button:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
.elementor-400 .elementor-element.elementor-element-9dd9f64 .jet-form-builder__action-button::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.elementor-400 .elementor-element.elementor-element-9dd9f64 .jet-form-builder__action-button:hover::before {
opacity: 0.6;
}
/* create category btn*/
.elementor-button-1s {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: white !important;
border: 2px solid #d93025;
border-radius: 10px !important;
margin-top: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
.elementor-button-1s:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
.elementor-button-1s::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.elementor-button-1s:hover::before {
opacity: 0.6;
}
/*proid finder update button */
.elementor-83 .elementor-element.elementor-element-d254b4b .jet-form-builder__action-button {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
.elementor-83 .elementor-element.elementor-element-d254b4b .jet-form-builder__action-button:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
.elementor-83 .elementor-element.elementor-element-d254b4b .jet-form-builder__action-button::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.elementor-83 .elementor-element.elementor-element-d254b4b .jet-form-builder__action-button:hover::before {
opacity: 0.6;
}
/* continue update form button */
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__next-page {
background: linear-gradient(135deg, #1e90ff, #00bfff, #1c86ee, #00ced1);
background-size: 300% 100%;
color: #fff;
border: 2px solid #1e90ff;
border-radius: 5px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(30, 144, 255, 0.6);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
border-style: solid;
border-width: 2px;
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__next-page:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(30, 144, 255, 0.8);
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__next-page::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__next-page:hover::before {
opacity: 0.6;
}
/*back button previous page */
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__prev-page {
background: linear-gradient(135deg, #1e90ff, #00bfff, #1c86ee, #00ced1);
background-size: 300% 100%;
color: #fff;
border: 2px solid #1e90ff;
border-radius: 5px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(30, 144, 255, 0.6);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
border-style: solid;
border-width: 2px;
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__prev-page:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(30, 144, 255, 0.8);
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__prev-page::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__prev-page:hover::before {
opacity: 0.6;
}
/* add new product button */
.jet-form-builder-repeater .jet-form-builder-repeater__actions .jet-form-builder-repeater__new {
background: linear-gradient(135deg, #2e7d32, #4caf50, #388e3c, #66bb6a);
background-size: 300% 100%;
color: #fff !important;
border: 2px solid #2e7d32;
border-radius: 5px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(46, 125, 50, 0.6);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px;
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
border-style: solid;
border-width: 2px;
font-weight: bold;
}
.jet-form-builder-repeater .jet-form-builder-repeater__actions .jet-form-builder-repeater__new:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(46, 125, 50, 0.8);
}
.jet-form-builder-repeater .jet-form-builder-repeater__actions .jet-form-builder-repeater__new::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.jet-form-builder-repeater .jet-form-builder-repeater__actions .jet-form-builder-repeater__new:hover::before {
opacity: 0.6;
}
/* notice on login page */
.login .custom-message {
border-left: 4px solid #00a0d2;
background-color: #fff36b;
padding: 12px;
margin-left: 0;
margin-bottom: 20px;
-webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
}
/* delete unused notification */
element.style {
margin-top: 10px;
padding: 8px;
border-radius: 4px;
font-weight: 500;
background-color: rgb(212, 237, 218);
color: rgb(21, 87, 36);
font-size: 13px;
border-radius: 10px;
text-align: center;
}
/* send location */
/* Target the specific button ID */
#send-location-button-680746ab5225d {
padding: 8px 15px;
font-size: 14px;
color: white;
border: none;
border-radius: 10px; /* Adjusted for smoother corners */
cursor: pointer;
margin-top: 5px;
display: inline-block; /* Changed to inline-block to allow proper styling */
background-image: linear-gradient(
to right,
#c72c41, /* Dark Red */
#ff3e3e, /* Bright Red */
#ff6363 /* Light Red */
); /* Gradient effect */
box-shadow: 0 4px 15px rgba(255, 99, 71, 0.6); /* Subtle shadow for depth */
transition: background-position 0.4s ease-in-out; /* Transition for the background */
}
/* Hover effect for gradient animation */
#send-location-button-680746ab5225d:hover {
background-position: 100% 0; /* Allows for a slight animation on hover */
}
/* Focus effect */
#send-location-button-680746ab5225d:focus {
outline: none; /* Remove default outline on focus */
}
/* update proid kid button */
/* update button */
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__action-button,
.elementor-386253 .elementor-element.elementor-element-4362c2a .jet-form-builder__action-button {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__action-button:hover,
.elementor-386253 .elementor-element.elementor-element-4362c2a .jet-form-builder__action-button:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__action-button::before,
.elementor-386253 .elementor-element.elementor-element-4362c2a .jet-form-builder__action-button::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.elementor-83 .elementor-element.elementor-element-935e2e6 .jet-form-builder__action-button:hover::before,
.elementor-386253 .elementor-element.elementor-element-4362c2a .jet-form-builder__action-button:hover::before {
opacity: 0.6;
}
/* proceed to checkout button */
#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff !important;
border: 2px solid #d93025;
border-radius: 10px;
font-size: 1.25em;
font-weight: bold;
text-transform: uppercase;
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 1em 2em;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
z-index: 1;
}
#add_payment_method .wc-proceed-to-checkout a.checkout-button:hover::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::before,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button:hover::before {
opacity: 0.6;
}
/*paypal button */
.paypal-button-row.paypal-button-layout-vertical .paypal-button {
background: linear-gradient(135deg, #ffe066, #ffd700, #ffba08, #fff9ae);
background-size: 300% 100%;
color: #5a4500 !important;
border: 2px solid #ffd700;
border-radius: 10px;
font-size: 1.15em;
font-weight: bold;
text-transform: uppercase;
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 1em 2em;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.5),
0 4px 8px rgba(255, 215, 0, 0.25);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
z-index: 1;
}
/* Hover effect: animate gradient and enhance glow */
.paypal-button-row.paypal-button-layout-vertical .paypal-button:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 200, 0.77),
0 6px 12px rgba(255, 215, 0, 0.36);
}
/* Shimmer/glassy highlight effect */
.paypal-button-row.paypal-button-layout-vertical .paypal-button::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.30), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
z-index: 2;
}
/* Show shimmer highlight on hover */
.paypal-button-row.paypal-button-layout-vertical .paypal-button:hover::before {
opacity: 0.55;
}
/* add to basket */
.elementor-16241 .elementor-element.elementor-element-2936dde .elementor-button {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff !important;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
line-height: var(--e-global-typography-f892087-line-height);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 14px 26px;
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.6),
0 4px 8px rgba(217,48,37,0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
/* Hover Effect: animate gradient + stronger shadow */
.elementor-16241 .elementor-element.elementor-element-2936dde .elementor-button:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255,255,255,0.9),
0 6px 12px rgba(217,48,37,0.8);
}
/* Optional: animated shimmer/glassy highlight */
.elementor-16241 .elementor-element.elementor-element-2936dde .elementor-button::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
z-index: 1;
}
.elementor-16241 .elementor-element.elementor-element-2936dde .elementor-button:hover::before {
opacity: 0.6;
}
/*order button elementor form */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"] {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff !important;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
line-height: var(--e-global-typography-f892087-line-height);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 12px 24px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
/* Hover effect: animate gradient + stronger glows */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"]:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
/* Optional: glass highlight */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"]::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
z-index: 1;
}
/* Show highlight on hover */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"] {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff !important;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
line-height: var(--e-global-typography-f892087-line-height);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 12px 24px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
/* Hover effect: animate gradient + stronger glows */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"]:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
/* Optional: glass highlight */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"]::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
z-index: 1;
}
/* Show highlight on hover */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"] {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff !important;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
line-height: var(--e-global-typography-f892087-line-height);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 12px 24px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
/* Hover effect: animate gradient + stronger glows */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"]:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
/* Optional: glass highlight */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"]::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
z-index: 1;
}
/* Show highlight on hover */
.elementor-257422 .elementor-element.elementor-element-83bab2d .elementor-button[type="submit"]:hover::before {
opacity: 0.6;
}
/*hide map popup noti */
#map-popup {
display: none;
}
/*download qr code button *
*/
/* Target the specific button using the provided selector */
#e-n-accordion-item-2240 > div > div.elementor-element.elementor-element-47464f7.elementor-widget.elementor-widget-shortcode > div > div > button {
background-color: #F3F3F3;
font-family: "Montserrat", Sans-serif;
width: 100% !important;
font-size: 19px;
font-weight: bold;
text-transform: uppercase;
color: #3A3A3A; /* Changed 'fill' to 'color' for button text */
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border-style: solid;
border-width: 1px;
border-color: #A7A7A7;
border-radius: 20px;
padding: 10px;
}
/* log in effect button */
.elementor-320 .elementor-element.elementor-element-baf2866 .elementor-button {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347); /* Gradient background */
background-size: 300% 100%; /* Allow for animated background shifts */
color: #fff; /* Text color */
border: 2px solid #d93025; /* Border color */
border-radius: 10px; /* Rounded corners */
font-family: "Montserrat", Sans-serif; /* Font family */
font-size: 1.2em; /* Font size */
font-weight: bold; /* Bold text */
text-transform: uppercase; /* Uppercase text */
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6), /* Inner shadow */
0 4px 8px rgba(217, 48, 37, 0.6); /* Outer shadow */
transition: background-position 0.5s ease, box-shadow 0.3s ease; /* Transition for background and shadow */
padding: 10px 20px; /* Padding */
cursor: pointer; /* Pointer cursor on hover */
position: relative; /* Position relative for the pseudo-element */
overflow: hidden; /* Contain child elements */
text-align: center; /* Center the text */
}
/* Hover effects */
.elementor-320 .elementor-element.elementor-element-baf2866 .elementor-button:hover {
background-position: 100% 0; /* Animate background on hover */
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9), /* Brighter shadow on hover */
0 6px 12px rgba(217, 48, 37, 0.8); /* Enhanced outer shadow */
}
/* Pseudo-element for the glow effect */
.elementor-320 .elementor-element.elementor-element-baf2866 .elementor-button::before {
content: ""; /* Required for pseudo-element */
position: absolute; /* Position absolutely within the button */
top: -40%; /* Positioning above the button */
left: -50%; /* Positioning to the left of the button */
width: 200%; /* Width greater than button to create a glow effect */
height: 200%; /* Height greater than button to create a glow effect */
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%); /* Radial gradient for the glow */
transform: rotate(45deg); /* Rotate for style */
pointer-events: none; /* Do not block interactions */
transition: opacity 0.5s ease; /* Smooth transition for opacity */
opacity: 0; /* Start transparent */
}
/* Show glow on hover */
.elementor-320 .elementor-element.elementor-element-baf2866 .elementor-button:hover::before {
opacity: 0.6; /* Fade in the overlay on hover */
}
/*create new product button */
#your-button-id { /* Replace 'your-button-id' with the actual button ID */
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
#your-button-id:hover { /* For hover states */
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
#your-button-id::before { /* Pseudo-element before */
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
#your-button-id:hover::before { /* Hover state for the pseudo-element */
opacity: 0.6;
}
/* update product button */
.elementor-264590 .elementor-element.elementor-element-7ac0860 .jet-form-builder__action-button {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347); /* Gradient background */
background-size: 300% 100%; /* Size of the background */
color: #FFFFFF; /* Text color */
border: 2px solid #d93025; /* Border color */
border-radius: 10px; /* Rounded corners */
font-family: "Montserrat", Sans-serif; /* Font family */
font-size: 1.2em; /* Font size */
font-weight: bold; /* Bold font */
text-transform: uppercase; /* Uppercase text */
transition: background-position 0.5s ease, box-shadow 0.3s ease; /* Transition effects */
padding: 10px 20px; /* Padding for the button */
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6), /* Inset shadow */
0 4px 8px rgba(217, 48, 37, 0.6); /* Outer shadow */
cursor: pointer; /* Pointer cursor on hover */
position: relative; /* For absolute positioning of pseudo-elements */
overflow: hidden; /* Hide overflow */
text-align: center; /* Center the text */
}
.elementor-264590 .elementor-element.elementor-element-7ac0860 .jet-form-builder__action-button:hover {
background-position: 100% 0; /* Change background position on hover */
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9), /* Lighter inset shadow */
0 6px 12px rgba(217, 48, 37, 0.8); /* Altered outer shadow */
}
.elementor-264590 .elementor-element.elementor-element-7ac0860 .jet-form-builder__action-button::before {
content: ""; /* Pseudo-element before the button */
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.elementor-264590 .elementor-element.elementor-element-7ac0860 .jet-form-builder__action-button:hover::before {
opacity: 0.6; /* Show the radial gradient effect on hover */
}
.elementor-71 .elementor-element.elementor-element-6b49480 .elementor-button {
background-color: #F3F3F3;
font-family: "Montserrat", Sans-serif;
font-size: 19px;
font-weight: bold;
text-transform: uppercase;
fill: #3A3A3A;
color: #3A3A3A;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border-style: solid;
border-width: 1px 1px 1px 1px;
border-color: #A7A7A7;
border-radius: 20px !important;
padding: 10px 10px 10px 10px;
}
.elementor-71 .elementor-element.elementor-element-0a95037 .elementor-button {
background-color: #F3F3F3;
font-family: "Montserrat", Sans-serif;
font-size: 19px;
font-weight: bold;
text-transform: uppercase;
fill: #3A3A3A;
color: #3A3A3A;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border-style: solid;
border-width: 1px 1px 1px 1px;
border-color: #A7A7A7;
border-radius: 20px !important;
padding: 10px 10px 10px 10px;
}
.elementor-71 .elementor-element.elementor-element-fb69b49 .elementor-button {
background-color: var( --e-global-color-text );
font-family: "Montserrat", Sans-serif;
font-size: 18px;
font-weight: bold;
text-transform: uppercase;
fill: var( --e-global-color-484ad2b );
color: var( --e-global-color-484ad2b );
border-style: solid;
border-width: 1px 1px 1px 1px;
border-color: var( --e-global-color-2393164 );
border-radius: 20px !important;
padding: 10px 10px 10px 10px;
}
/*create shop item category button */
.create-category-button-1 {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #ffffff !important;
border: 2px solid #d93025;
border-radius: 10px !important;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
margin-top: 10px;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
.create-category-button-1:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
.create-category-button-1::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.create-category-button-1:hover::before {
opacity: 0.6;
}
/* download qr code button */
/* Targeting the download QR button */
.download-qr-button.elementor-button.elementor-size-sm {
font-family: "Montserrat", Sans-serif;
font-size: 19px;
font-weight: bold;
text-transform: uppercase;
color: #3A3A3A; /* Text color */
background-color: #F3F3F3; /* Background color */
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border: 1px solid #A7A7A7; /* Solid border */
border-radius: 20px; /* Rounded corners */
padding: 10px; /* Padding */
}
.download-qr-button.elementor-button.elementor-size-sm {
font-family: "Montserrat", Sans-serif;
font-size: 19px;
font-weight: bold;
margin-top: -19px;
text-transform: uppercase;
color: #3A3A3A;
background-color: #F3F3F3;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border: 1px solid #A7A7A7;
border-radius: 20px;
padding: 10px;
width: 100%;
}
.elementor-394869 .elementor-element.elementor-element-6d388ff.elementor-element {
--align-self: center;
--order: 99999 /* order end hack */;
width: 100%;
}
/* listing grid not full width */
.jet-listing-grid__items>.jet-listing-grid__item {
max-width: calc(300% / var(--columns));
flex: 0 0 calc(100% / var(--columns));
/* width: 100% !important; */
}
.elementor .jet-listing-grid__item:nth-child(1) .edit-button-1:nth-child(3) .jet-listing-dynamic-link__link {
padding-bottom: 7px;
padding-top: 7px;
/* border-color: #523e3e; */
}
.elementor .jet-listing-grid__item:nth-child(1) .edit-button-1:nth-child(3) .jet-listing-dynamic-link__link {
padding-bottom: 7px !important;
padding-top: 7px !important;
}
/* apply all button */
.elementor-394869 .elementor-element.elementor-element-294a6a3 .elementor-button {
background-color: var( --e-global-color-text );
font-family: "Montserrat", Sans-serif;
font-size: 18px;
font-weight: bold;
text-transform: uppercase;
fill: var( --e-global-color-484ad2b );
color: var( --e-global-color-484ad2b );
border-style: solid;
border-width: 1px 1px 1px 1px;
border-color: var( --e-global-color-2393164 );
border-radius: 20px !important;
padding: 10px 10px 10px 10px;
}
/*add to cart button */
/* * Custom styles for the me.proid.vn Add-to-Cart Shortcode Button
* This also hides the default "View Cart" link after adding a product.
*/
/* 1. Hide the "View Cart" link that appears after adding to cart */
a.added_to_cart.wc-forward {
display: none !important;
}
/**
* Custom styles for the [me_proid_add_to_cart_button] shortcode button
* and the #proid-create-wc-product element.
*/
.me-proid-shiny-button,
#proid-create-wc-product {
/* Gradient background and sizing for animation */
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
/* Text and font styling */
color: #fff;
font-family: "Montserrat", Sans-serif;
font-size: 1.2em;
font-weight: bold;
text-transform: uppercase;
text-align: center;
/* Border and shape */
border: 2px solid #d93025;
border-radius: 10px;
padding: 10px 20px;
/* Shadows for depth */
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
/* Transitions for hover effects */
transition: background-position 0.5s ease, box-shadow 0.3s ease;
/* Required for pseudo-elements */
position: relative;
overflow: hidden;
cursor: pointer;
display: inline-block; /* Ensures proper layout for anchor/button tags */
text-decoration: none; /* Removes underline from links */
}
.me-proid-shiny-button:hover,
#proid-create-wc-product:hover {
/* Animate the background gradient on hover */
background-position: 100% 0;
/* Enhance the shadow on hover */
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
/* Creates the shiny glare effect */
.me-proid-shiny-button::before,
#proid-create-wc-product::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none; /* Allows clicks to go through the element */
transition: opacity 0.5s ease;
opacity: 0;
}
/* Makes the glare visible on hover */
.me-proid-shiny-button:hover::before,
#proid-create-wc-product:hover::before {
opacity: 0.6;
}
/* more options button */
.elementor-394869 .elementor-element.elementor-element-41bc664 > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title {
background-color: var( --e-global-color-d25c2d7 );
border-style: solid;
border-width: 1px 1px 1px 1px;
border-color: var( --e-global-color-383b460 );
border-radius: 20px;
margin-top: 10px
}
/* edit form proid web */
.gutena-accordion-block>.gutena-accordion-block__panel>.gutena-accordion-block__panel-title>.gutena-accordion-block__panel-title-inner h6 {
font-size: var(--gutena--accordion-panel-title-font-size,var(--wp--custom--typography--font-size--hsix));
line-height: var(--gutena--accordion-panel-title-line-height,var(--wp--custom--typography--line-height--hsix));
font-size: 19px;
font-weight: 700;
text-transform: uppercase;
}
/*apply all button */
.elementor-394869 .elementor-element.elementor-element-294a6a3 .elementor-button {
background-color: var( --e-global-color-text );
font-family: "Montserrat", Sans-serif;
font-size: 18px;
font-weight: bold;
text-transform: uppercase;
fill: var( --e-global-color-484ad2b );
color: var( --e-global-color-484ad2b );
border-style: solid;
border-width: 1px 1px 1px 1px;
border-color: var( --e-global-color-2393164 );
border-radius: 20px !important;
padding: 10px 10px 10px 10px;
width: 100%;
}
/* submit button for web user */
/* Targeting the button with the specified class */
.jet-form-builder__action-button.update_pro_id_button_1.jet-form-builder__submit.submit-type-reload {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: white !important;
border: 2px solid #d93025;
border-radius: 10px !important;
margin-top: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
/* Hover effect for the button */
.jet-form-builder__action-button.update_pro_id_button_1.jet-form-builder__submit.submit-type-reload:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
/* Before pseudo-element for the button */
.jet-form-builder__action-button.update_pro_id_button_1.jet-form-builder__submit.submit-type-reload::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
/* Hover effect for the before pseudo-element */
.jet-form-builder__action-button.update_pro_id_button_1.jet-form-builder__submit.submit-type-reload:hover::before {
opacity: 0.6;
}
/* pro id web listing button */
.elementor-396832 .elementor-element.elementor-element-616418a .elementor-button {
background-color: #F3F3F3;
font-family: "Montserrat", Sans-serif;
font-size: 16px;
font-weight: bold;
text-transform: uppercase;
fill: #3A3A3A;
color: #3A3A3A;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border-style: solid;
border-width: 1px 1px 1px 1px;
border-color: #A7A7A7;
border-radius: 20px 20px 20px 20px;
padding: 10px 10px 10px 10px;
width: 100%;
}
.elementor-396832 .elementor-element.elementor-element-bbfcd2e.elementor-element {
--align-self: center;
--order: 99999 /* order end hack */;
width: 100%;
}
.elementor-395316 .elementor-element.elementor-element-939738a .jet-listing-dynamic-link__link {
font-size: 14px;
width: 100%;
}
.elementor-395316 .elementor-element.elementor-element-b442a10 .jet-listing-dynamic-link__link {
font-size: 14px;
width: 100%;
}
/* update product button */
.jet-form-builder__action-button.edit-button-1.jet-form-builder__submit.submit-type-reload {
background: linear-gradient(135deg, #d93025, #ff4436, #b22222, #ff6347);
background-size: 300% 100%;
color: #fff;
border: 2px solid #d93025;
border-radius: 10px;
font-family: var(--e-global-typography-f892087-font-family), Sans-serif;
font-size: var(--e-global-typography-f892087-font-size);
font-weight: var(--e-global-typography-f892087-font-weight);
text-transform: var(--e-global-typography-f892087-text-transform);
transition: background-position 0.5s ease, box-shadow 0.3s ease;
padding: 10px 20px;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.6),
0 4px 8px rgba(217, 48, 37, 0.6);
cursor: pointer;
position: relative;
overflow: hidden;
text-align: center;
}
.jet-form-builder__action-button.edit-button-1.jet-form-builder__submit.submit-type-reload:hover {
background-position: 100% 0;
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.9),
0 6px 12px rgba(217, 48, 37, 0.8);
}
.jet-form-builder__action-button.edit-button-1.jet-form-builder__submit.submit-type-reload::before {
content: "";
position: absolute;
top: -40%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.4), transparent 60%);
transform: rotate(45deg);
pointer-events: none;
transition: opacity 0.5s ease;
opacity: 0;
}
.jet-form-builder__action-button.edit-button-1.jet-form-builder__submit.submit-type-reload:hover::before {
opacity: 0.6;
}
.elementor .elementor .download-qr-button {
font-size: 19px;
color: black;
}
</style>
<style id="yellow-pencil">
/*
The following CSS codes are created by the YellowPencil plugin.
https://yellowpencil.waspthemes.com/
*/
.elementor-element .elementor-widget__width-inherit .elementor-widget-container .elementor-button-wrapper .elementor-button-link{width:100%;}.e-con-inner > .elementor-element > .elementor-element{text-align:center;}#jet-theme-core-single .jet-theme-core-location__inner .elementor .e-con-boxed .e-con-inner .elementor-element .elementor-element .elementor-widget-button .elementor-widget-container .elementor-button-wrapper .elementor-button-link{width:100% !important;}.e-active a .elementor-icon-list-text{font-size:15px;}.e-active .elementor h6.elementor-heading-title{font-size:15px;}.hentry .elementor-element .jet-listing-dynamic-link__link{border-style:none;border-width:0px;border-color:#020202;}.elementor-element .e-con-inner .jedv-enabled--yes .elementor-widget-jet-listing-dynamic-link .elementor-widget-container{border-style:none;}.elementor-location-popup a button{visibility:hidden;}.elementor-location-popup .elementor-shortcode div{display:block;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center;text-align:center;-webkit-box-orient:row;-webkit-box-direction:row;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:0px;margin-bottom:-50px;}.elementor-location-popup .elementor-widget-shortcode:nth-child(3) button{border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;border-style:solid;border-color:#cccccc !important;padding-top:10px;padding-bottom:10px;}.e-con-boxed .elementor-widget-shortcode:nth-child(4) .copy-link-button{border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;padding-top:10px;padding-bottom:10px;color:#020202 !important;}#name_vn{font-size:16px;}#dropdown-list{width:225px;min-width:0px;bottom:auto;top:-120px;left:-66px;position:absolute;}#dropdown-button{background-color:rgba(241,241,241,0) !important;}#dynamic-product-heading h2{line-height:27px;}.e-active .elementor-widget-button:nth-child(2) .elementor-button-text{font-size:16px;}.e-active .elementor-widget-button:nth-child(1) .elementor-button-text{font-size:16px;}.hentry .jet-listing span{font-size:19px;}.elementor-location-popup .elementor-element .download-qr-button{width:100%;border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;border-bottom-right-radius:20px;border-style:solid;border-color:#7a7a7a;padding-top:10px;padding-bottom:10px;color:#020202;}.edit-button-1 .elementor-button-wrapper{text-align:center;}.elementor-location-popup .elementor-element .lazyloaded{border-top-left-radius:10px;}.elementor-location-popup .elementor-button-link{border-style:solid;border-width:1px !important;border-color:#6b6b6b !important;border-top-right-radius:20px !important;border-bottom-left-radius:20px !important;border-bottom-right-radius:20px !important;-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);}.elementor-location-popup .elementor-element .e-con-inner .elementor-align-center .elementor-widget-container .elementor-button-wrapper .elementor-button-link{border-top-left-radius:20px !important;}.elementor-location-popup .elementor-button-link .elementor-button-text{color:#020202;}.elementor-location-popup .elementor-button-link .e-far-comment-alt{color:#020202;}.elementor-location-popup .elementor-widget-button:nth-child(2) .elementor-button-link{border-top-left-radius:20px !important;width:100%;}.elementor-location-popup .elementor-widget-button:nth-child(2) .elementor-button-wrapper{width:100%;}.elementor-location-popup .elementor-widget-button:nth-child(2) .elementor-widget-container{width:100%;}.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-button:nth-child(2){width:100% !important;}.elementor-location-popup .elementor-element .wp-image-369937{border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;}.e-active .elementor .elementor-shortcode{text-align:center;}#proid-action-menu-button{background-color:rgba(241,241,241,0) !important;border-style:none !important;}#proid-action-menu-dropdown{left:-3vw;}.e-active .elementor-element .elementor-video{border-top-left-radius:10px;}.elementor-location-popup .elementor-widget-button .elementor-button{width:100%;}.elementor-element .elementor-widget-container .jet-listing .jet-listing-dynamic-link__link span{font-size:15px;}.e-active .elementor .jet-listing-dynamic-link__label{font-size:16px !important;}.e-active .e-con-inner .elementor-widget-jet-listing-grid .elementor-widget-container .jet-listing-grid .jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .elementor-widget-wc-add-to-cart .elementor-widget-container .elementor-button-wrapper .add_to_cart_button .elementor-button-content-wrapper .elementor-button-text{font-size:16px !important;}.e-active .e-con-inner .elementor-widget-jet-listing-grid .elementor-widget-container .jet-listing-grid .jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .load_btn_vi .elementor-widget-container .elementor-button-wrapper .elementor-button-link .elementor-button-content-wrapper .elementor-button-text{font-size:16px !important;}.e-active .elementor .jet-listing-dynamic-link__link{width:100%;}.e-active .e-con-inner .elementor-widget-jet-listing-grid .elementor-widget-container .jet-listing-grid .jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .elementor-element .elementor-widget-container .jet-listing{width:100% !important;}.e-active .elementor a{background-color:#e5e5e6;}.widget_shopping_cart_content div > div > .button{color:#fcfcfc;border-style:none;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;}.hentry form .button{border-style:none;color:#ffffff;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;}.e-active .edit-button-1 a{background-color:rgba(229,229,230,0);border-style:none !important;}.profile-image-avatar a{background-color:rgba(229,229,230,0) !important;border-style:none !important;}.e-active .elementor-icon-list-item a{background-color:rgba(229,229,230,0);border-style:none !important;}.e-active .e-gallery-item .elementor-gallery-item__overlay{border-top-left-radius:0px;}.e-active .elementor-element a{border-top-left-radius:0px !important;border-top-right-radius:0px !important;border-bottom-left-radius:0px !important;border-bottom-right-radius:0px !important;border-style:none !important;}.jet-listing-grid__items .elementor a{border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;font-size:14px !important;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode a{border-bottom-left-radius:10px !important;}.e-active .elementor-element .elementor-inline-items{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}.elementor-element-b3bf175 .elementor-shortcode a{color:#f9f9f9;}.elementor-element-b3bf175 .elementor-widget-shortcode .elementor-shortcode{text-align:center;}.jet-listing-grid__items .elementor .woocommerce-Price-amount{font-size:14px;}li div > span{color:#020202 !important;text-transform:none;}.hentry div strong{color:#020202;font-weight:700;}.hentry ul bdi{font-weight:400;}.hentry .total bdi{color:#020202;}.hentry p label{color:#020202;text-transform:capitalize;font-weight:500;}.e-active .elementor .elementor-button-link{border-top-left-radius:10px !important;border-bottom-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor .elementor-element .elementor-element .e-con-inner .elementor-widget-button .elementor-widget-container .elementor-button-wrapper .elementor-button-link{border-bottom-right-radius:10px !important;}.elementor-location-popup .elementor-element p{text-align:left;}@media (max-width:991px){.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-shortcode{width:100% !important;}.childernrelations .elementor .attachment-full{border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;}#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-full{border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;}#jet-theme-core-single .jet-theme-core-location__inner > .elementor{-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);}@media (min-width:360px){#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#name_en .proid-name .elementor-heading-titlefont-size:19px !important;#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#name_en .proid-name .elementor-heading-titlefont-size:19px !important;#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#name_en .proid-name .elementor-heading-titlefont-size:19px !important;#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#name_en .proid-name .elementor-heading-titlefont-size:19px !important;#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#name_en .proid-name .elementor-heading-titlefont-size:19px !important;#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#name_en .proid-name .elementor-heading-titlefont-size:19px !important;#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#name_en .proid-name .elementor-heading-titlefont-size:19px !important;}.e-active .proid-name:nth-child(2) .elementor-heading-title{font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;}.e-active .proid-name:nth-child(1) .elementor-heading-title{font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;}#name_en .proid-name .elementor-heading-title{font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;}.jet-listing-grid__items .elementor .elementor-button{width:100%;width:100%;width:100%;width:100%;}.e-active > .e-con-inner > .elementor-widget-heading .elementor-widget-container h2{font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;}.e-active .elementor a{border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;}@media (max-width:375px){.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;}.jet-listing-grid__items .elementor a{border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode a{border-bottom-left-radius:10px !important;border-bottom-left-radius:10px !important;}@media (max-width:600px){.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;}.jet-listing-grid__items .elementor .woocommerce-Price-currencySymbol{font-size:14px;font-size:14px;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .jet-popup-target .elementor-widget-container .elementor-heading-title{font-size:14px !important;}.jet-smart-filters-select .jet-select select{font-size:14px !important;}#jet-theme-core-single .elementor .elementor-button-text{font-size:19px !important;}}@media (max-width:600px){.dialog-message .elementor-location-popup > .elementor-element{border-bottom-left-radius:0px;border-bottom-right-radius:0px;}.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-image .elementor-widget-container .wp-image-369937{height:100% !important;}.jet-listing-grid__items .elementor .woocommerce-Price-amount{font-size:14px;font-weight:400;}.jet-listing-grid__items .elementor .woocommerce-Price-currencySymbol{font-size:14px;font-size:14px;font-size:14px;font-size:14px;font-size:14px;}.jet-listing-grid__items .elementor .elementor-heading-title{font-size:14px !important;}.jet-smart-filters-select .jet-select select{font-size:14px !important;font-size:14px !important;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .jet-popup-target .elementor-widget-container .elementor-heading-title{font-size:14px !important;}#jet-theme-core-single .elementor .elementor-button-text{font-size:19px !important;}}@media (max-width:575px){.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-html .elementor-widget-container .lazyloaded{height:222px !important;}.jet-listing-grid__items .elementor .woocommerce-Price-amount{font-size:14px;}}@media (max-width:479px){.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-image .elementor-widget-container .wp-image-369937{height:10% !important;}.elementor-popup-modal .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-image .elementor-widget-container .wp-image-369937{height:100% !important;}#proid-action-menu-dropdown{left:-47px;}.e-active .elementor-element p{font-size:15px;}.e-active .elementor-widget-text-editor .elementor-widget-container{font-size:15px;}.elementor-element-884498a .elementor-widget-text-editor p{font-size:15px;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor .elementor-element .elementor-element .elementor-widget-button .elementor-widget-container .elementor-button-wrapper .elementor-button-link{border-bottom-right-radius:10px !important;}.elementor-element-710d6d5f .elementor-widget-text-editor p{font-size:15px;}}@media (max-width:450px){.hentry .e-active .elementor-widget-template .elementor-widget-container:nth-child(1) .elementor-template .elementor > .elementor-element:nth-child(3){padding-left:10px !important;padding-right:10px !important;}.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-image .elementor-widget-container .wp-image-369937{height:225% !important;}#proid-action-menu-dropdown{left:-114px;right:-119px;}.elementor-element-710d6d5f .elementor-widget-text-editor p{font-size:15px !important;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor-location-single > .elementor-element .e-con-inner{padding-left:10px;padding-right:10px;}}@media (max-width:375px){.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode a{border-bottom-left-radius:10px !important;border-bottom-left-radius:10px !important;border-bottom-left-radius:10px !important;border-bottom-left-radius:10px !important;}@media (max-width:600px){.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;}.jet-listing-grid__items .elementor .woocommerce-Price-currencySymbol{font-size:14px;font-size:14px;font-size:14px;font-size:14px;}.e-active .elementor h6.elementor-heading-title{font-size:14px !important;}#name_vn .proid-name .elementor-heading-title{font-size:18px !important;}.e-active .elementor-element p{font-size:15px;}.elementor-location-popup .elementor-widget-shortcode:nth-child(3) button{font-size:17px !important;}.elementor-location-popup .elementor-button-link .e-fas-sign-in-alt{color:#474747;}#name_en .proid-name .elementor-heading-title{font-size:18px !important;}.jet-listing-grid__items .elementor h2.jet-listing-dynamic-field__content{font-size:14px !important;line-height:19px !important;}.e-con-boxed .elementor-widget-shortcode:nth-child(4) .copy-link-button{width:100% !important;}.e-con-boxed .elementor-button-link .elementor-button-text{font-size:19px !important;font-size:17px;font-size:17px;}.childernrelations .elementor .elementor-button-text{font-size:18px;}.e-active .elementor-widget-button:nth-child(1) .elementor-button-text{font-size:16px !important;font-size:14px !important;font-size:14px !important;}.e-active .elementor a{font-size:15px;}.e-active .elementor-element:nth-child(3) .e-con-inner{padding-top:15px;padding-top:15px;}.e-active a .elementor-icon-list-text{font-size:13px !important;font-size:14px;font-size:14px;}.childernrelations .elementor .attachment-full{border-bottom-right-radius:10px;border-bottom-right-radius:10px;}#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-full{border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;}.e-active .elementor-element .elementor-heading-title{line-height:1.35em;font-size:16px !important;line-height:1.35em;font-size:16px !important;}.elementor-location-popup .elementor-element .elementor-heading-title{line-height:1.3em;line-height:1.3em;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor .elementor-element #name_vn .proid-name:nth-child(1) .elementor-widget-container .elementor-heading-title{font-size:21px !important;font-size:21px !important;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor .elementor-element #name_vn .proid-name:nth-child(2) .elementor-widget-container .elementor-heading-title{font-size:21px !important;font-size:21px !important;}.e-active .elementor .entry-meta{font-size:14px;font-size:14px;}.elementor-location-popup .elementor-element .elementor-shortcode{display:block !important;display:block !important;}.dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode div{border-top-left-radius:10px !important;border-top-left-radius:10px !important;}.elementor-location-popup .elementor-shortcode div{border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;border-bottom-right-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;border-bottom-right-radius:10px !important;}.e-con-boxed .elementor-widget-shortcode:nth-child(3) .copy-link-button{color:#000000 !important;width:100% !important;border-style:solid;border-width:1px;border-color:#a0a0a0 !important;color:#000000 !important;width:100% !important;border-style:solid;border-width:1px;border-color:#a0a0a0 !important;}#dynamic-product-discription p p{font-size:16px;font-size:16px;}.e-active .elementor .elementor-button-text{font-size:16px !important;font-size:16px !important;}.jet-listing-grid__items .elementor .jet-listing-dynamic-link__label{font-size:16px;font-size:16px;}.jet-listing-grid__items .elementor .e-fas-pencil-alt{font-size:16px;font-size:16px;}.jet-listing-grid__items .elementor .jet-listing-dynamic-link__link{width:100%;width:100%;}.elementor-element > .elementor-widget-button .elementor-button-text{font-size:15px !important;font-size:15px !important;}.jet-listing-grid__items .elementor a{border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;}.jet-listing-grid__items .elementor .elementor-heading-title{font-size:14px !important;}.jet-smart-filters-select .jet-select select{font-size:14px !important;font-size:14px !important;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .jet-popup-target .elementor-widget-container .elementor-heading-title{font-size:14px !important;}#jet-theme-core-single .elementor .elementor-button-text{font-size:19px !important;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor .elementor-element .jedv-enabled--yes .e-con-inner .elementor-widget-button:nth-child(2) .elementor-widget-container .elementor-button-wrapper .elementor-button-link .elementor-button-content-wrapper .elementor-button-text{font-size:15px !important;}.e-active .elementor-widget-template .elementor-widget-container:nth-child(1) .elementor-template .elementor-location-single > .elementor-element:nth-child(1){padding-left:0px;padding-right:0px;}.e-active .elementor-element .e-con-inner{padding-left:0px;padding-right:0px;}}@media (min-width:360px){.e-active .proid-name:nth-child(1) .elementor-heading-title{font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;}#name_en .proid-name .elementor-heading-title{font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;font-size:20px !important;}.jet-listing-grid__items .elementor .elementor-button{width:100%;width:100%;width:100%;width:100%;width:100%;width:100%;width:100%;width:100%;width:100%;width:100%;width:100%;}.e-active > .e-con-inner > .elementor-widget-heading .elementor-widget-container h2{font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;font-size:19px !important;}.e-active .elementor a{border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;}@media (max-width:375px){.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;.e-active .elementor afont-size:15px;}.jet-listing-grid__items .elementor a{border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode a{border-bottom-left-radius:10px !important;border-bottom-left-radius:10px !important;border-bottom-left-radius:10px !important;}@media (max-width:600px){.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;}.jet-listing-grid__items .elementor .woocommerce-Price-currencySymbol{font-size:14px;font-size:14px;font-size:14px;}.elementor > .elementor-element:nth-child(3){padding-left:20px;padding-right:20px;}.e-active .elementor-element:nth-child(3) .e-con-inner{padding-top:15px;}.e-active a .elementor-icon-list-text{font-size:14px;}.e-active .elementor h6.elementor-heading-title{font-size:15px;}.childernrelations .elementor .attachment-full{border-bottom-right-radius:10px;}#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-full{border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;}.e-active .elementor-element .elementor-heading-title{line-height:1.35em;font-size:16px !important;}.elementor-location-popup .elementor-element .elementor-heading-title{line-height:1.3em;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor .elementor-element #name_vn .proid-name:nth-child(1) .elementor-widget-container .elementor-heading-title{font-size:21px !important;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor .elementor-element #name_vn .proid-name:nth-child(2) .elementor-widget-container .elementor-heading-title{font-size:21px !important;}.e-active .elementor .entry-meta{font-size:14px;}.elementor-location-popup .elementor-element .elementor-shortcode{display:block !important;}.dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode div{border-top-left-radius:10px !important;}.elementor-location-popup .elementor-shortcode div{border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;border-bottom-right-radius:10px !important;}.e-con-boxed .elementor-widget-shortcode:nth-child(3) .copy-link-button{color:#000000 !important;width:100% !important;border-style:solid;border-width:1px;border-color:#a0a0a0 !important;}.e-con-boxed .elementor-button-link .elementor-button-text{font-size:17px;}#dynamic-product-discription p p{font-size:16px;}.e-active .elementor .elementor-button-text{font-size:16px !important;}.e-active .elementor-widget-button:nth-child(2) .elementor-button-text{font-size:14px !important;}.e-active .elementor-widget-button:nth-child(1) .elementor-button-text{font-size:14px !important;}.jet-listing-grid__items .elementor .jet-listing-dynamic-link__label{font-size:16px;}.jet-listing-grid__items .elementor .e-fas-pencil-alt{font-size:16px;}.jet-listing-grid__items .elementor .jet-listing-dynamic-link__link{width:100%;}.elementor-element > .elementor-widget-button .elementor-button-text{font-size:15px !important;}.jet-listing-grid__items .elementor .elementor-heading-title{font-size:14px !important;}.jet-smart-filters-select .jet-select select{font-size:14px !important;font-size:14px !important;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .jet-popup-target .elementor-widget-container .elementor-heading-title{font-size:14px !important;}#jet-theme-core-single .elementor .elementor-button-text{font-size:19px !important;}}@media (min-width:375px){.e-active .elementor h6.elementor-heading-title{font-size:14px !important;}#name_vn .proid-name .elementor-heading-title{font-size:18px;}.e-active .elementor-widget-template .elementor-widget-container .elementor-template .elementor > .elementor-element > .e-con-inner{padding-top:15px;}.e-active .elementor .entry-meta{font-size:15px;}.jet-listing-grid__items .elementor h2.jet-listing-dynamic-field__content{font-size:16px !important;}.hentry .e-active .elementor-widget-template .elementor-widget-container:nth-child(1) .elementor-template .elementor > .elementor-element:nth-child(3){padding-left:30px !important;}.hentry .elementor-element:nth-child(1) .e-con-inner:nth-child(1) .elementor-widget-n-tabs .elementor-widget-container:nth-child(1) .e-n-tabs .e-n-tabs-content .e-active .elementor-widget-template .elementor-widget-container:nth-child(1) .elementor-template .elementor > .elementor-element:nth-child(3){padding-right:30px !important;}#jet-theme-core-header .elementor .elementor-button-link{border-style:none;}#jet-theme-core-header .e-fas-edit{border-style:none;}#jet-theme-core-header .jet-listing a{border-style:none;border-width:0px;}#jet-theme-core-header .elementor .jet-listing{border-style:none;border-width:0px;}.e-con-inner > .elementor-element > .elementor-element{display:block;}#jet-theme-core-single .jet-theme-core-location__inner .elementor .e-lazyloaded .e-con-inner > .elementor-element > .elementor-element{width:100% !important;}.e-con-inner .elementor-element iframe{border-style:solid !important;border-width:1px !important;border-color:#e2e2e2 !important;border-top-left-radius:0px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;}.elementor-location-popup .elementor-widget-shortcode:nth-child(3) button{font-size:18px !important;}.elementor-location-popup .elementor-button-link .e-fas-sign-in-alt{color:#474747;}#name_en .proid-name .elementor-heading-title{font-size:20px;}.e-active .edit-button-1 .elementor-icon-list-text{font-size:14px;}.e-con-boxed .elementor-widget-shortcode:nth-child(4) .copy-link-button{width:100% !important;}.e-con-boxed .elementor-button-link .elementor-button-text{font-size:19px;}.e-active .elementor-widget-button:nth-child(2) .elementor-button-text{font-size:15px;}.e-active .elementor-widget-button:nth-child(1) .elementor-button-text{font-size:15px;}.e-active .elementor a{font-size:15px;}#jet-theme-core-single .elementor-element .elementor-widget-button:nth-child(6){border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;}}@media (min-width:768px){#name_vn .proid-name .elementor-heading-title{font-size:20px;}.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .copy-link-button{width:100% !important;}.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode{width:100% !important;}.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container{width:100% !important;}.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-shortcode{width:100% !important;}@media (max-width:991px){.elementor-popup-modal .dialog-lightbox-widget-content .dialog-message .elementor-location-popup .elementor-element .e-con-inner .elementor-widget-shortcodewidth:100% !important;}.childernrelations .elementor .attachment-full{border-bottom-right-radius:10px !important;border-bottom-left-radius:10px;border-top-right-radius:10px;border-top-left-radius:10px;border-bottom-right-radius:10px;}#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-full{border-bottom-left-radius:15px !important;border-top-right-radius:15px !important;border-top-left-radius:15px !important;}#jet-theme-core-single .jet-theme-core-location__inner > .elementor{-webkit-transform:translatex(0px) translatey(0px);-ms-transform:translatex(0px) translatey(0px);transform:translatex(0px) translatey(0px);}@media (min-width:360px){#jet-theme-core-single .jet-theme-core-location__inner .elementor .elementor-element .childernrelations .elementor-widget-container .jet-listing .jet-listing-dynamic-repeater__items .jet-listing-grid__items .jet-listing-dynamic-repeater__item .jet-listing-grid__item .elementor .elementor-element .elementor-element .elementor-element .elementor-widget-container .jet-listing .attachment-fullborder-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-left-radius:10px !important;#name_en .proid-name .elementor-heading-titlefont-size:19px !important;}.e-active .proid-name:nth-child(2) .elementor-heading-title{font-size:20px !important;}.e-active .proid-name:nth-child(1) .elementor-heading-title{font-size:20px !important;}#name_en .proid-name .elementor-heading-title{font-size:20px !important;}.jet-listing-grid__items .elementor .elementor-button{width:100%;}.e-active > .e-con-inner > .elementor-widget-heading .elementor-widget-container h2{font-size:19px !important;}.e-active .elementor a{border-top-left-radius:15px;border-top-right-radius:15px;border-bottom-left-radius:15px;border-bottom-right-radius:15px;border-style:solid;border-width:1px;border-color:#adadad;color:#000000;text-transform:uppercase;line-height:1.5em;font-size:15px;}@media (max-width:375px){.e-active .elementor afont-size:15px;}.jet-listing-grid__items .elementor a{border-top-left-radius:10px !important;border-top-right-radius:10px !important;border-bottom-right-radius:10px !important;border-style:solid !important;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode a{border-bottom-left-radius:10px !important;}@media (max-width:600px){.jet-listing-grid__items .elementor .woocommerce-Price-amountfont-size:14px;font-weight:400;}.jet-listing-grid__items .elementor .woocommerce-Price-currencySymbol{font-size:14px;}.jet-listing-grid__items .jet-listing-grid__item .elementor .elementor-element .e-con-inner .jet-popup-target .elementor-widget-container .elementor-heading-title{font-size:14px !important;}.jet-smart-filters-select .jet-select select{font-size:14px !important;}#jet-theme-core-single .elementor .elementor-button-text{font-size:19px !important;}}
</style><script>var rlPageData = {"rlCached":"1","rlCacheRebuild":"N","rlModified":"","exp":"2026-03-13T14:13:54+00:00","ple":"aeyJkaWQjOiI2NDExYzE4NTMwODgzOTM5NWMwNWZjYjAifQ","pls":93};</script><script data-rlskip="1" id="rl-sdk-js-0">!function(e,r,a,t){var n="searchParams",l="append",i="getTime",o="Date",d=e.rlPageData||{},f=d.rlCached;r.cookie="rlCached="+(f?"1":"0")+"; path=/;";let c=new e[o];function h(r){if(!r)return;let a=new e[o](r);return a&&a.getFullYear()>1970&&a<c}let u=h(d.exp),p=h(d.rlModified);(!f||u||p)&&!a&&setTimeout(function r(){let a=new e[o](p?d.rlModified:t);if(u){let f=new e[o](d.exp);f>a&&(a=f)}var h=new URL(location.href);h[n][l]("rl-warmup","1"),h[n][l]("rl-rand",c[i]()),h[n][l]("rl-only-after",a[i]()),fetch(h)},1e3)}(this,document,"","2026-03-13T13:13:53+00:00");</script><link rel="preconnect" href="https://cfw61.rabbitloader.xyz"><meta name="description" content="proid3xUW1iua – Pro ID"><style type="text/css">.rl-lazyload,.rl-lazyloading{opacity: 0.4; transition: opacity 400ms;}</style><script src="https://cfw61.rabbitloader.xyz/rl.cl.m.v5.3.27.js" fetchpriority="high" async=""></script></head>
<body class="wp-singular my-pro-id-template-default single single-my-pro-id postid-411787 single-format-standard wp-theme-hello-elementor wp-child-theme-hello-elementor-child theme-hello-elementor sp-easy-accordion-enabled non-logged-in woocommerce-no-js elementor-default elementor-template-full-width elementor-kit-5 elementor-page-22">
<div id="proid-progress-preloader">
<div class="proid-loader-content">
<div class="proid-progress-track">
<div id="proid-progress-bar"></div>
</div>
<div id="proid-progress-text">0%</div>
</div>
</div>
<style>
/* Import Montserrat font from Google Fonts (Weights 600 and 700 for bold look) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&display=swap');
#proid-progress-preloader {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background-color: #ffffff; /* White background */
z-index: 999999; /* Ensure it stays on top of Elementor headers */
display: flex;
justify-content: center;
align-items: center;
transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
}
.proid-loader-content {
width: 80%;
max-width: 300px;
text-align: center;
/* Apply Montserrat here so all text inside inherits it */
font-family: 'Montserrat', sans-serif;
}
.proid-brand-name {
font-size: 24px;
font-weight: 700; /* Bold Montserrat */
color: #333333;
margin-bottom: 15px;
letter-spacing: 1.5px; /* Looks great with Montserrat */
text-transform: uppercase; /* Optional: Makes "PRO ID" look very modern */
}
.proid-progress-track {
width: 100%;
height: 6px;
background-color: #e0e0e0;
border-radius: 10px;
overflow: hidden;
margin-bottom: 10px;
}
#proid-progress-bar {
width: 0%;
height: 100%;
background-color: #0056b3; /* Pro ID Brand Blue */
border-radius: 10px;
transition: width 0.1s linear; /* Smooth visual filling */
}
#proid-progress-text {
font-size: 15px;
font-weight: 600; /* Semi-bold Montserrat */
color: #666666;
}
/* Class added via JS to fade everything out */
body.proid-loaded #proid-progress-preloader {
opacity: 0;
visibility: hidden;
}
</style>
<script>
(function() {
var bar = document.getElementById('proid-progress-bar');
var text = document.getElementById('proid-progress-text');
var progress = 0;
// Start a fast interval to simulate the loading process
var interval = setInterval(function() {
// Logic to make it look realistic: fast at first, slow at the end
var increment = Math.random() * 5;
if (progress > 80) increment = Math.random() * 1.5;
if (progress > 95) increment = 0.2;
progress += increment;
// Cap it at 98% until the actual window.onload fires
if (progress >= 98) {
progress = 98;
}
// Update DOM
var currentDisplay = Math.round(progress);
bar.style.width = progress + '%';
text.innerHTML = currentDisplay + '%';
}, 40); // Runs every 40ms
// Wait for the entire page (Elementor, JetEngine, Images) to fully load
window.addEventListener('load', function() {
clearInterval(interval); // Stop the simulation
// Snap to 100%
bar.style.width = '100%';
text.innerHTML = '100%';
// Wait 0.2 seconds so the user registers the "100%", then fade out
setTimeout(function() {
document.body.classList.add('proid-loaded');
// Clean up the DOM after the fade out transition finishes (0.5s)
setTimeout(function(){
var preloader = document.getElementById('proid-progress-preloader');
if(preloader) preloader.remove();
}, 500);
}, 200);
});
})();
</script>
<e-page-transition preloader-type="animation" preloader-animation-type="pulse" class="e-page-transition--entering" exclude="^https\:\/\/me\.proid\.vn\/wp\-admin\/">
</e-page-transition>
<a class="skip-link screen-reader-text" href="#content" aria-label="Link 0">Skip to content</a>
<header data-elementor-type="header" data-elementor-id="438" class="elementor elementor-438 elementor-location-header" data-elementor-post-type="elementor_library">
</header>
<div data-elementor-type="single-post" data-elementor-id="22" class="elementor elementor-22 elementor-location-single post-411787 my-pro-id type-my-pro-id status-publish format-standard hentry" data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-58b211a4 e-flex e-con-boxed e-con e-parent" data-id="58b211a4" data-element_type="container" data-e-type="container" data-settings='{"background_background":"classic","jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-1f619ffb e-n-tabs-none elementor-widget__width-initial elementor-widget elementor-widget-n-tabs" data-id="1f619ffb" data-element_type="widget" data-e-type="widget" data-settings='{"tabs_justify_horizontal_mobile":"center","horizontal_scroll":"disable"}' data-widget_type="nested-tabs.default">
<div class="elementor-widget-container">
<div class="e-n-tabs" data-widget-number="526491643" aria-label="Các tab. Mở mục bằng phím Enter hoặc Space, đóng bằng phím Esc và di chuyển bằng các phím mũi tên.">
<div class="e-n-tabs-heading" role="tablist">
<button id="home_tab" data-tab-title-id="e-n-tab-title-5264916431" class="e-n-tab-title" aria-selected="true" data-tab-index="1" role="tab" tabindex="0" aria-controls="e-n-tab-content-5264916431" style="--n-tabs-title-order: 1;" aria-label="Button 0">
<span class="e-n-tab-title-text">
HOME </span>
</button>
<button id="info_tabv" data-tab-title-id="e-n-tab-title-5264916432" class="e-n-tab-title" aria-selected="false" data-tab-index="2" role="tab" tabindex="-1" aria-controls="e-n-tab-content-5264916432" style="--n-tabs-title-order: 2;" aria-label="Button 1">
<span class="e-n-tab-title-text">
GIỚI THIỆU </span>
</button>
<button id="info_tabe" data-tab-title-id="e-n-tab-title-5264916433" class="e-n-tab-title" aria-selected="false" data-tab-index="3" role="tab" tabindex="-1" aria-controls="e-n-tab-content-5264916433" style="--n-tabs-title-order: 3;" aria-label="Button 2">
<span class="e-n-tab-title-text">
INFO </span>
</button>
<button id="video_tab" data-tab-title-id="e-n-tab-title-5264916434" class="e-n-tab-title" aria-selected="false" data-tab-index="4" role="tab" tabindex="-1" aria-controls="e-n-tab-content-5264916434" style="--n-tabs-title-order: 4;" aria-label="Button 3">
<span class="e-n-tab-title-text">
VIDEO </span>
</button>
<button id="shop_tab" data-tab-title-id="e-n-tab-title-5264916435" class="e-n-tab-title" aria-selected="false" data-tab-index="5" role="tab" tabindex="-1" aria-controls="e-n-tab-content-5264916435" style="--n-tabs-title-order: 5;" aria-label="Button 4">
<span class="e-n-tab-title-text">
SHOP </span>
</button>
</div>
<div class="e-n-tabs-content">
<div id="e-n-tab-content-5264916431" role="tabpanel" aria-labelledby="home_tab" data-tab-index="1" style="--n-tabs-title-order: 1;" class="e-active elementor-element elementor-element-566f4530 e-con-full e-flex e-con e-child" data-id="566f4530" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="elementor-element elementor-element-4a762483 elementor-widget elementor-widget-template" data-id="4a762483" data-element_type="widget" data-e-type="widget" data-widget_type="template.default">
<div class="elementor-widget-container">
<div class="elementor-template">
<style id="elementor-post-dynamic-52012">.elementor-52012 .elementor-element.elementor-element-e90ea94:not(.elementor-motion-effects-element-type-background), .elementor-52012 .elementor-element.elementor-element-e90ea94 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://cfw61.rabbitloader.xyz/eyJjIjp0cnVlLCJoIjoibWUucHJvaWQudm4iLCJ2IjozNzE2NzE0NTQ4LCJyIjoxfQ/wp-content/uploads/2023/07/luxury-background-design-modern-dark_343694-2199-2.jpg");}.elementor-52012 .elementor-element.elementor-element-6d7685a8 img{border-color:#1d2327;}.elementor-52012 .elementor-element.elementor-element-63f28fa .elementor-button{background-color:#1d2327;fill:#ffffff;color:#ffffff;border-color:#ffffff;}.elementor-52012 .elementor-element.elementor-element-754dd92 .elementor-button{background-color:#1d2327;fill:#ffffff;color:#ffffff;border-color:#ffffff;}.elementor-52012 .elementor-element.elementor-element-bb12ae8 .elementor-button{background-color:#1d2327;fill:#ffffff;color:#ffffff;border-color:#ffffff;}.elementor-52012 .elementor-element.elementor-element-f1344a3 .elementor-button{background-color:#1d2327;fill:#ffffff;color:#ffffff;border-color:#ffffff;}.elementor-52012 .elementor-element.elementor-element-e69bad2 .elementor-button{background-color:#1d2327;fill:#ffffff;color:#ffffff;border-color:#ffffff;}.elementor-52012 .elementor-element.elementor-element-02cae20 .elementor-button{background-color:#1d2327;fill:#ffffff;color:#ffffff;border-color:#ffffff;}</style> <div data-elementor-type="container" data-elementor-id="52012" class="elementor elementor-52012" data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-e90ea94 e-con-full e-flex e-con e-parent" data-id="e90ea94" data-element_type="container" data-e-type="container" data-settings='{"background_background":"classic","jet_parallax_layout_list":[]}'>
<div class="elementor-element elementor-element-ed365bb elementor-widget elementor-widget-spacer" data-id="ed365bb" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
<div class="elementor-widget-container">
<div class="elementor-spacer">
<div class="elementor-spacer-inner"></div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-3c68eff elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-html" data-id="3c68eff" data-element_type="widget" data-e-type="widget" id="proid-expiry-date" data-widget_type="html.default">
<div class="elementor-widget-container">
</div>
</div>
</div>
<div class="elementor-element elementor-element-3e35953d e-con-full e-flex e-con e-parent" data-id="3e35953d" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[],"background_background":"classic"}'>
<div class="elementor-element elementor-element-6d7685a8 profile-image-avatar elementor-widget elementor-widget-image" data-id="6d7685a8" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
<div class="elementor-widget-container">
<a href="https://me.proid.vn/wp-login.php" aria-label="Link 1">
<img fetchpriority="high" width="700" height="700" src="https://cfw61.rabbitloader.xyz/eyJjIjp0cnVlLCJoIjoibWUucHJvaWQudm4iLCJ2IjozNzE2NzE0NTQ4LCJyIjoxfQ/wp-content/uploads/2023/07/z6336684467270_04647f1c1fe23f9ae8ab9573e9c9087c.jpg" class="attachment-full size-full wp-image-385996" alt="img-0"> </a>
</div>
</div>
</div>
<div class="elementor-element elementor-element-e8ecf30 my_pro_id_tab_1 e-flex e-con-boxed e-con e-parent" data-id="e8ecf30" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-4ead89c elementor-widget__width-inherit elementor-widget-mobile__width-inherit sw_lang_btn jedv-enabled--yes elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="4ead89c" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
<div class="elementor-widget-container">
<ul class="elementor-icon-list-items">
<li class="elementor-icon-list-item">
<a href="#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6Ijk5MSIsInRvZ2dsZSI6ZmFsc2V9" aria-label="Link 2">
<span class="elementor-icon-list-icon">
<svg aria-hidden="true" class="e-font-icon-svg e-fas-language" viewbox="0 0 640 512" xmlns="http://www.w3.org/2000/svg"><path d="M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z"></path></svg> </span>
<span class="elementor-icon-list-text">Đổi ngôn ngữ</span>
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-3d2e5889 jedv-enabled--yes e-flex e-con-boxed e-con e-parent" data-id="3d2e5889" data-element_type="container" data-e-type="container" data-settings='{"background_background":"classic","jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-dbcb946 elementor-widget elementor-widget-shortcode" data-id="dbcb946" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"> <style>
.proid-action-menu-container {
position: relative;
display: inline-block; /* Or 'block' if you want it to take full width */
font-family: Arial, sans-serif; /* Basic font stack */
}
#proid-action-menu-button {
font-size: 16px;
color: black;
padding: 10px 15px;
background-color: #f1f1f1;
border: 1px solid #ccc;
border-radius: 4px;
cursor: pointer;
}
#proid-action-menu-button:hover {
background-color: #e0e0e0;
}
.proid-action-menu-content {
display: none; /* Hidden by default */
position: absolute;
z-index: 1001; /* Ensure it's above other content */
bottom: 100%; /* Position above the button */
left: 0;
background-color: #f1f1f1;
min-width: 200px; /* Adjust as needed */
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
border: 1px solid #ccc;
border-radius: 4px;
padding: 5px 0; /* Padding for top/bottom of the list */
margin-bottom: 5px; /* Space between button and dropdown */
}
.proid-action-menu-content.show {
display: block;
animation: proidMenuFadeIn 0.3s ease-out;
}
.proid-action-menu-content a {
color: black;
padding: 10px 15px;
text-decoration: none;
display: block;
white-space: nowrap;
}
.proid-action-menu-content a:hover {
background-color: #ddd;
}
@keyframes proidMenuFadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0px);
}
}
</style>
<div class="proid-action-menu-container">
<button id="proid-action-menu-button" aria-label="Button 5">
Pro ID </button>
<div id="proid-action-menu-dropdown" class="proid-action-menu-content">
<a href="https://proid.vn" target="_blank" aria-label="Link 3">
Mua thẻ Pro ID </a>
<a href="https://me.proid.vn/wp-login.php" target="_blank" aria-label="Link 4">
Đăng nhập thành viên </a>
</div>
</div>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
const menuButton = document.getElementById('proid-action-menu-button');
const dropdownContent = document.getElementById('proid-action-menu-dropdown');
if (menuButton && dropdownContent) {
menuButton.addEventListener('click', function(event) {
event.stopPropagation(); // Prevent click from immediately closing due to window listener
dropdownContent.classList.toggle('show');
});
// Close the dropdown if the user clicks outside of it
window.addEventListener('click', function(event) {
if (dropdownContent.classList.contains('show')) {
if (!menuButton.contains(event.target) && !dropdownContent.contains(event.target)) {
dropdownContent.classList.remove('show');
}
}
});
}
});
</script>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="e-n-tab-content-5264916432" role="tabpanel" aria-labelledby="info_tabv" data-tab-index="2" style="--n-tabs-title-order: 2;" class=" elementor-element elementor-element-4f1663a0 e-con-full e-flex e-con e-child" data-id="4f1663a0" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="elementor-element elementor-element-7f6ce70a elementor-widget elementor-widget-template" data-id="7f6ce70a" data-element_type="widget" data-e-type="widget" data-widget_type="template.default">
<div class="elementor-widget-container">
<div class="elementor-template">
<style id="elementor-post-dynamic-1295">.elementor-1295 .elementor-element.elementor-element-9ccf446 .elementor-heading-title{color:#ffffff;}.elementor-1295 .elementor-element.elementor-element-74382a5 .elementor-heading-title{color:#ffffff;}.elementor-1295 .elementor-element.elementor-element-8cc94f0 .elementor-heading-title{color:#ffffff;}</style> <div data-elementor-type="section" data-elementor-id="1295" class="elementor elementor-1295 elementor-location-single" data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-b0c7adc e-flex e-con-boxed e-con e-parent" data-id="b0c7adc" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[],"background_background":"classic"}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-05c8bcd gioithieu1 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-shortcode" data-id="05c8bcd" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="e-n-tab-content-5264916433" role="tabpanel" aria-labelledby="info_tabe" data-tab-index="3" style="--n-tabs-title-order: 3;" class=" elementor-element elementor-element-1d943a2 e-con-full e-flex e-con e-child" data-id="1d943a2" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="elementor-element elementor-element-adc6f75 elementor-widget elementor-widget-template" data-id="adc6f75" data-element_type="widget" data-e-type="widget" data-widget_type="template.default">
<div class="elementor-widget-container">
<div class="elementor-template">
<div data-elementor-type="section" data-elementor-id="1295" class="elementor elementor-1295 elementor-location-single" data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-b0c7adc e-flex e-con-boxed e-con e-parent" data-id="b0c7adc" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[],"background_background":"classic"}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-05c8bcd gioithieu1 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-shortcode" data-id="05c8bcd" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="e-n-tab-content-5264916434" role="tabpanel" aria-labelledby="video_tab" data-tab-index="4" style="--n-tabs-title-order: 4;" class=" elementor-element elementor-element-dd6a406 e-flex e-con-boxed e-con e-child" data-id="dd6a406" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-763794b elementor-widget elementor-widget-template" data-id="763794b" data-element_type="widget" data-e-type="widget" data-widget_type="template.default">
<div class="elementor-widget-container">
<div class="elementor-template">
<div data-elementor-type="section" data-elementor-id="3393" class="elementor elementor-3393 elementor-location-single" data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-04e7d7a e-flex e-con-boxed e-con e-parent" data-id="04e7d7a" data-element_type="container" data-e-type="container" data-settings='{"background_background":"classic","jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="e-n-tab-content-5264916435" role="tabpanel" aria-labelledby="shop_tab" data-tab-index="5" style="--n-tabs-title-order: 5;" class=" elementor-element elementor-element-a80f0fb e-flex e-con-boxed e-con e-child" data-id="a80f0fb" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-d135b3e p_vi_listing elementor-widget elementor-widget-jet-listing-grid" data-id="d135b3e" data-element_type="widget" data-e-type="widget" data-settings='{"columns":"2"}' data-widget_type="jet-listing-grid.default">
<div class="elementor-widget-container">
<div class="jet-listing-grid jet-listing"><div class="jet-listing-not-found jet-listing-grid__items" data-nav='{"enabled":true,"type":"scroll","more_el":null,"query":{"query_id":20},"widget_settings":{"lisitng_id":11093,"posts_num":10,"columns":2,"columns_tablet":2,"columns_mobile":2,"column_min_width":240,"column_min_width_tablet":240,"column_min_width_mobile":240,"inline_columns_css":false,"is_archive_template":"","post_status":["publish"],"use_random_posts_num":"","max_posts_num":9,"not_found_message":"Ch\u01b0a c\u00f3 s\u1ea3n ph\u1ea9m","is_masonry":false,"equal_columns_height":"","use_load_more":"yes","load_more_id":"","load_more_type":"scroll","load_more_offset":{"unit":"px","size":0,"sizes":[]},"use_custom_post_types":"","custom_post_types":[],"hide_widget_if":"","carousel_enabled":"","slides_to_scroll":"1","arrows":"true","arrow_icon":"fa fa-angle-left","dots":"","autoplay":"true","pause_on_hover":"true","autoplay_speed":5000,"infinite":"true","center_mode":"","effect":"slide","speed":500,"inject_alternative_items":"","injection_items":[],"scroll_slider_enabled":"","scroll_slider_on":["desktop","tablet","mobile"],"custom_query":"yes","custom_query_id":"20","_element_id":"","collapse_first_last_gap":false,"list_items_wrapper_tag":"div","list_item_tag":"div","empty_items_wrapper_tag":"div"}}' data-listing-source="query" data-listing-id="11093" data-query-id="20" data-queried-id="411787|WP_Post">Chưa có sản phẩm</div></div> </div>
</div>
<div class="elementor-element elementor-element-5f61dba p_en_listing elementor-widget elementor-widget-jet-listing-grid" data-id="5f61dba" data-element_type="widget" data-e-type="widget" data-settings='{"columns":"2"}' data-widget_type="jet-listing-grid.default">
<div class="elementor-widget-container">
<div class="jet-listing-grid jet-listing"><div class="jet-listing-not-found jet-listing-grid__items" data-nav='{"enabled":true,"type":"scroll","more_el":null,"query":{"query_id":20},"widget_settings":{"lisitng_id":392134,"posts_num":10,"columns":2,"columns_tablet":2,"columns_mobile":2,"column_min_width":240,"column_min_width_tablet":240,"column_min_width_mobile":240,"inline_columns_css":false,"is_archive_template":"","post_status":["publish"],"use_random_posts_num":"","max_posts_num":9,"not_found_message":"No data was found","is_masonry":false,"equal_columns_height":"","use_load_more":"yes","load_more_id":"","load_more_type":"scroll","load_more_offset":{"unit":"px","size":0,"sizes":[]},"use_custom_post_types":"","custom_post_types":[],"hide_widget_if":"","carousel_enabled":"","slides_to_scroll":"1","arrows":"true","arrow_icon":"fa fa-angle-left","dots":"","autoplay":"true","pause_on_hover":"true","autoplay_speed":5000,"infinite":"true","center_mode":"","effect":"slide","speed":500,"inject_alternative_items":"","injection_items":[],"scroll_slider_enabled":"","scroll_slider_on":["desktop","tablet","mobile"],"custom_query":"yes","custom_query_id":"20","_element_id":"","collapse_first_last_gap":false,"list_items_wrapper_tag":"div","list_item_tag":"div","empty_items_wrapper_tag":"div"}}' data-listing-source="query" data-listing-id="392134" data-query-id="20" data-queried-id="411787|WP_Post">No data was found</div></div> </div>
</div>
<div class="elementor-element elementor-element-a43872f p_cn_listing elementor-widget elementor-widget-jet-listing-grid" data-id="a43872f" data-element_type="widget" data-e-type="widget" data-settings='{"columns":"2"}' data-widget_type="jet-listing-grid.default">
<div class="elementor-widget-container">
<div class="jet-listing-grid jet-listing"><div class="jet-listing-not-found jet-listing-grid__items" data-nav='{"enabled":true,"type":"scroll","more_el":null,"query":{"query_id":20},"widget_settings":{"lisitng_id":392144,"posts_num":10,"columns":2,"columns_tablet":2,"columns_mobile":2,"column_min_width":240,"column_min_width_tablet":240,"column_min_width_mobile":240,"inline_columns_css":false,"is_archive_template":"","post_status":["publish"],"use_random_posts_num":"","max_posts_num":9,"not_found_message":"\u672a\u627e\u5230\u6570\u636e","is_masonry":false,"equal_columns_height":"","use_load_more":"yes","load_more_id":"","load_more_type":"scroll","load_more_offset":{"unit":"px","size":0,"sizes":[]},"use_custom_post_types":"","custom_post_types":[],"hide_widget_if":"","carousel_enabled":"","slides_to_scroll":"1","arrows":"true","arrow_icon":"fa fa-angle-left","dots":"","autoplay":"true","pause_on_hover":"true","autoplay_speed":5000,"infinite":"true","center_mode":"","effect":"slide","speed":500,"inject_alternative_items":"","injection_items":[],"scroll_slider_enabled":"","scroll_slider_on":["desktop","tablet","mobile"],"custom_query":"yes","custom_query_id":"20","_element_id":"","collapse_first_last_gap":false,"list_items_wrapper_tag":"div","list_item_tag":"div","empty_items_wrapper_tag":"div"}}' data-listing-source="query" data-listing-id="392144" data-query-id="20" data-queried-id="411787|WP_Post">未找到数据</div></div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-2019863 elementor-absolute elementor-widget elementor-widget-button" data-id="2019863" data-element_type="widget" data-e-type="widget" data-settings='{"_position":"absolute"}' data-widget_type="button.default">
<div class="elementor-widget-container">
<div class="elementor-button-wrapper">
<a class="elementor-button elementor-button-link elementor-size-sm" href="#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjI2NjE2NSIsInRvZ2dsZSI6ZmFsc2V9" id="expiredbtnpopup" aria-label="Link 5">
<span class="elementor-button-content-wrapper">
<span class="elementor-button-text">.</span>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-0b9ca2b e-flex e-con-boxed e-con e-parent" data-id="0b9ca2b" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-d8b9d40 elementor-widget elementor-widget-shortcode" data-id="d8b9d40" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"></div>
</div>
</div>
</div>
</div>
</div>
<footer data-elementor-type="footer" data-elementor-id="455" class="elementor elementor-455 elementor-location-footer" data-elementor-post-type="elementor_library">
</footer>
<div id="jet-popup-264731" class="jet-popup jet-popup--front-mode jet-popup--hide-state jet-popup--animation-zoom-in" data-settings='{"id":264731,"jet-popup-id":"jet-popup-264731","type":"default","animation":"zoom-in","open-trigger":"attach","close-event":"none","\u0441lose-event-anchor":"","page-load-delay":1,"user-inactivity-time":1,"scrolled-to":10,"on-date":"2024-10-16 16:57","on-time-start":"","on-time-end":"","start-date-and-time":"","end-date-and-time":"","custom-selector":".custom","prevent-scrolling":true,"show-once":false,"show-again-delay":"none","use-ajax":false,"force-ajax":false,"close-on-overlay-click":true,"content-type":"elementor"}'><div class="jet-popup__inner"><div class="jet-popup__overlay"></div><div class="jet-popup__container"><div class="jet-popup__container-inner"><div class="jet-popup__container-overlay"></div><div class="jet-popup__container-content"><style>.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-264731 .elementor-element.elementor-element-a4df21e > .elementor-widget-container{margin:10% 0% 0% 0%;}.elementor-264731 .elementor-element.elementor-element-a4df21e img{width:100%;height:250px;object-fit:cover;object-position:center center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-264731 .elementor-element.elementor-element-de044ad{text-align:center;}.elementor-264731 .elementor-element.elementor-element-de044ad .elementor-heading-title{font-family:var( --e-global-typography-f892087-font-family ), Sans-serif;font-size:var( --e-global-typography-f892087-font-size );font-weight:var( --e-global-typography-f892087-font-weight );text-transform:var( --e-global-typography-f892087-text-transform );line-height:var( --e-global-typography-f892087-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-264731 .elementor-element.elementor-element-4fb0106{font-family:"Montserrat", Sans-serif;font-size:14px;font-weight:400;text-transform:none;letter-spacing:0px;}#jet-popup-264731 .jet-popup__container-inner{background-color:var( --e-global-color-484ad2b );justify-content:flex-start;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5882325 );}#jet-popup-264731 .jet-popup__overlay{background-color:var( --e-global-color-484ad2b );}#jet-popup-264731 .jet-popup__container{width:430px;height:100%;}#jet-popup-264731 .jet-popup__inner{justify-content:center;align-items:flex-start;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-264731 .elementor-element.elementor-element-de044ad .elementor-heading-title{font-size:var( --e-global-typography-f892087-font-size );line-height:var( --e-global-typography-f892087-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-264731 .elementor-element.elementor-element-de044ad .elementor-heading-title{font-size:var( --e-global-typography-f892087-font-size );line-height:var( --e-global-typography-f892087-line-height );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-264731 .elementor-element.elementor-element-4fb0106{font-size:14px;}#jet-popup-264731 .jet-popup__container{width:90%;height:90%;}#jet-popup-264731 .jet-popup__inner{align-items:center;}#jet-popup-264731 .jet-popup__container-inner{justify-content:flex-start;padding:0px 0px 0px 0px;}}</style> <div data-elementor-type="jet-popup" data-elementor-id="264731" class="elementor elementor-264731" data-elementor-post-type="jet-popup">
<section class="elementor-section elementor-top-section elementor-element elementor-element-45682e4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="45682e4" data-element_type="section" data-e-type="section" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="elementor-container elementor-column-gap-default">
<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-154e3c6" data-id="154e3c6" data-element_type="column" data-e-type="column">
<div class="elementor-widget-wrap elementor-element-populated">
<div class="elementor-element elementor-element-a4df21e elementor-widget elementor-widget-image" data-id="a4df21e" data-element_type="widget" data-e-type="widget" id="dynamic-news-image-widget" data-widget_type="image.default">
<div class="elementor-widget-container">
<img src="https://cfw61.rabbitloader.xyz/eyJjIjp0cnVlLCJoIjoibWUucHJvaWQudm4iLCJ2IjozNzE2NzE0NTQ4LCJyIjoxfQ/wp-content/uploads/2024/02/placeholder.png" title="" alt="img-1" loading="lazy"> </div>
</div>
<div class="elementor-element elementor-element-de044ad elementor-widget elementor-widget-heading" data-id="de044ad" data-element_type="widget" data-e-type="widget" id="dynamic-news-heading" data-widget_type="heading.default">
<div class="elementor-widget-container">
<h2 class="elementor-heading-title elementor-size-default">Add Your Heading Text Here</h2> </div>
</div>
<div class="elementor-element elementor-element-4fb0106 elementor-widget elementor-widget-text-editor" data-id="4fb0106" data-element_type="widget" data-e-type="widget" id="dynamic-news-discription" data-widget_type="text-editor.default">
<div class="elementor-widget-container">
<p>Thêm một đoạn văn bản ở đây. Nhấp vào ô văn bản để tùy chỉnh nội dung, phong cách phông chữ và màu sắc của đoạn văn của bạn.</p> </div>
</div>
</div>
</div>
</div>
</section>
</div>
</div></div><div class="jet-popup__close-button"><svg class="svg-icon" aria-hidden="true" role="img" focusable="false" width="24" height="24" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.2218 13.6066L20 21.3848L21.4142 19.9706L13.636 12.1924L21.3848 4.44366L19.9706 3.02945L12.2218 10.7782L4.44365 3L3.02944 4.41421L10.8076 12.1924L3 20L4.41421 21.4142L12.2218 13.6066Z" fill="currentColor"></path></svg></div></div></div></div> <script type="text/javascript">
if (typeof window.meProIDAppGlobal === 'undefined') {
window.meProIDAppGlobal = {};
}
window.meProIDAppGlobal.ajax_url = 'https://me.proid.vn/wp-admin/admin-ajax.php';
window.meProIDAppGlobal.lockAccountNonce = 'ba8fa3e240';
window.meProIDAppGlobal.unlockAccountNonce = 'eaf30fe029';
// ... other nonces for other buttons ...
</script>
<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/hello-elementor-child/*","/wp-content/themes/hello-elementor/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<div class="the-email-signature"><div class="the-email-signature-overlay"></div><div class="the-email-signature-modal"><a href="#" class="the-email-signature-close" aria-label="Link 6"><i class="fa fa-close"></i></a><div id="the-email-signature"><span class="email-copy-text"><i class="fa fa-copy"></i></span></div></div> <script>
(function(n){n.fn.copiq=function(e){var t=n.extend({parent:"body",content:"",onSuccess:function(){},onError:function(){}},e);return this.each(function(){var e=n(this);e.on("click",function(){var n=e.parents(t.parent).find(t.content);var o=document.createRange();var c=window.getSelection();o.selectNodeContents(n[0]);c.removeAllRanges();c.addRange(o);try{var r=document.execCommand("copy");var a=r?"onSuccess":"onError";t[a](e,n,c.toString())}catch(i){}c.removeAllRanges()})})}})(jQuery);
</script>
<script>
jQuery('.jet-profile-menu__item a[href*="account/chu-ky-email"]').on('click', function( e ) {
e.preventDefault();
jQuery('.the-email-signature').addClass('show');
// jQuery( '#the-email-signature' ).select();
// document.execCommand( 'copy' );
});
jQuery('.the-email-signature-overlay,.the-email-signature-close').on('click', function(e) {
e.preventDefault();
jQuery('.the-email-signature').removeClass('show');
});
jQuery('.email-copy-text').copiq({
parent: '#the-email-signature',
content: '.email-signature-content',
});
</script>
</div> <script type="text/javascript">
if (typeof window.meProIDApp === 'undefined') {
window.meProIDApp = {};
}
if (typeof window.meProIDApp.ajax_url === 'undefined') {
window.meProIDApp.ajax_url = 'https://me.proid.vn/wp-admin/admin-ajax.php';
}
window.meProIDApp.createAdminCardNonce = '50b7e0df54';
</script>
<script>
function swpClearAllCache() {
jQuery.post('https://me.proid.vn/wp-admin/admin-ajax.php', {
'action': 'swp_clear_all_cache'
});
alert('Cache cleared!');
}
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
document.body.addEventListener('click', function(event) {
if (event.target.classList.contains('toggle-button')) {
var toggleButton = event.target;
var buttonText = toggleButton.textContent;
toggleButton.textContent = buttonText === 'Khóa thẻ' ? 'Mở khóa thẻ' : 'Khóa thẻ';
var postId = toggleButton.getAttribute('data-post-id');
var redirectToProId = buttonText === 'Khóa thẻ';
var xhttp = new XMLHttpRequest();
xhttp.open('POST', 'https://me.proid.vn/wp-admin/admin-ajax.php', true);
xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhttp.onreadystatechange = function() {
if (this.readyState === 4 && this.status === 200) {
console.log('AJAX response:', JSON.parse(this.responseText));
}
};
xhttp.send('action=toggle_button_set_redirect&post_id=' + postId + '&redirect_to_pro_id=' + redirectToProId);
}
});
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
var countdown = document.querySelector('.countdown_1');
if (countdown) {
var countdownFinished = new Date(countdown.getAttribute('data-date')).getTime() <= new Date().getTime();
if (countdownFinished) {
// Get the current user's 'my-pro-id' posts
var userId = 0;
var postIds = [];
document.querySelectorAll('.my-pro-id').forEach(function(element) {
if (element.getAttribute('data-author') == userId) {
postIds.push(element.getAttribute('data-post-id'));
}
});
// Redirect the visitor to https://proid.vn if they click on a 'my-pro-id' post permalink
if (postIds.length > 0) {
postIds.forEach(function(postId) {
var postLink = document.querySelector('a[href*="' + postId + '"]');
if (postLink) {
postLink.addEventListener('click', function(event) {
event.preventDefault();
window.location.href = 'https://proid.vn';
});
}
});
}
}
}
});
</script>
<script>
jQuery(document).ready(function($) {
$(document.body).on('click', '.vcardsave', function(e) {
var button = $(this);
var vcard_url = button.attr('href'); // URL from the button's href attribute
// If href is missing or placeholder, try to generate it (fallback, should not be primary)
if (!vcard_url || vcard_url === '#' || vcard_url === '') {
vcard_url = 'https://me.proid.vn/?download_vcard=411787&nc=1773407633';
if (!vcard_url || vcard_url === '#') {
alert('Could not determine download URL.');
return;
}
}
var agent = navigator.userAgent.toLowerCase();
// More specific list of in-app browsers where AJAX blob download is known to fail badly
var isTrulyProblematicInAppBrowser = /zalo|fbav|facebook(?!.*like gecko)|instagram|line\//i.test(agent);
// General mobile check (excluding tablets, which might behave more like desktops)
var isMobilePhone = /android.+mobile|iphone|ipod|windows phone|iemobile|opera mini/i.test(agent);
var isDesktop = !isMobilePhone && !/ipad|android(?!.*mobile)/i.test(agent); // Simplified desktop check
// ---- DEBUGGING ALERTS (Uncomment to test which path is taken) ----
// var debugPath = '';
// if (isDesktop && !isTrulyProblematicInAppBrowser) { debugPath = 'Desktop AJAX'; }
// else if (isTrulyProblematicInAppBrowser) { debugPath = 'Problematic In-App (Direct Nav)'; }
// else if (isMobilePhone) { debugPath = 'Mobile Phone (Default Link Behavior)'; }
// else { debugPath = 'Other/Tablet (Default Link Behavior)'; }
// alert('Agent: ' + agent + '\nPath: ' + debugPath);
// ---- END DEBUGGING ----
if (isDesktop && !isTrulyProblematicInAppBrowser) {
// --- AJAX + Blob method for Desktops ---
e.preventDefault();
if (button.prop('disabled')) return;
var originalText = button.html();
button.html('Processing...');
button.prop('disabled', true);
// Get suggested filename from 'download' attribute of the button
var filename_from_download_attr = button.attr('download') || 'contact.vcf';
$.ajax({
url: vcard_url,
type: 'GET',
dataType: 'text',
cache: false,
success: function(response) {
if (typeof response === 'string' && response.trim().startsWith('BEGIN:VCARD') && response.trim().endsWith('END:VCARD')) {
var blob = new Blob([response], { type: 'text/x-vcard;charset=utf-8' });
var blobUrl = window.URL.createObjectURL(blob);
var a = document.createElement('a');
a.style.display = 'none';
a.href = blobUrl;
a.download = filename_from_download_attr;
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(blobUrl);
if(a.parentNode) { a.parentNode.removeChild(a); }
} else {
console.error("AJAX: Received non-vCard response.");
alert("Could not download contact file via AJAX. Unexpected response.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
alert("Failed to download contact file via AJAX. Status: " + jqXHR.status);
},
complete: function() {
button.html(originalText);
button.prop('disabled', false);
}
});
} else if (isTrulyProblematicInAppBrowser) {
// --- Direct navigation for truly problematic in-app browsers (Zalo, FB, IG etc.) ---
e.preventDefault();
if (button.prop('disabled')) return;
var originalText = button.html();
button.html('Processing...');
button.prop('disabled', true);
window.location.href = vcard_url;
// Re-enable button after a delay, as we don't get a callback
setTimeout(function() {
button.html(originalText);
button.prop('disabled', false);
}, 2500); // Increased delay slightly
} else {
// --- For other mobile browsers (e.g., Chrome on Android, Safari on iOS) ---
// Do NOT call e.preventDefault(). Let the browser handle the link.
// The 'href' is the direct download URL.
// The 'download' attribute (set via PHP/Elementor) will suggest the filename.
// The server-side 'Content-Disposition: attachment' will force download.
// This aims to mimic the bio.ecard.vn behavior.
// Optionally, provide brief visual feedback
if (button.prop('disabled')) return; // Check if already processing from a quick double-click
var originalText = button.html();
var tempText = 'Downloading...'; // Or a language-specific version
// Temporarily disable and change text to prevent rapid re-clicks
// Some browsers might show their own download UI immediately.
button.html(tempText).prop('disabled', true);
setTimeout(function() {
// Restore button after a short period.
// The actual download is handled by the browser navigating to the href.
button.html(originalText).prop('disabled', false);
}, 2500); // Adjust timeout as needed
}
});
});
</script>
<script>
jQuery(document).ready(function($) {
var anHoSoValue = '';
var matKhauHienHoSo = '';
function applyHiddenEffect() {
$('.my_pro_id_tab_1').css({
'display': 'none',
'pointer-events': 'none'
});
}
function removeHiddenEffect() {
$('.my_pro_id_tab_1').css({
'display': 'block',
'pointer-events': 'auto'
});
}
$('#xem_ho_so_button').on('click', function() {
if (anHoSoValue === '1') {
var password = prompt('Vui lòng điền mật khẩu để xem hồ sơ');
if (password !== null && password !== '') {
if (password === matKhauHienHoSo) {
removeHiddenEffect();
$(this).hide(); // Hide the button
} else {
alert('Mật khẩu không chính xác!');
}
}
}
});
if (anHoSoValue === '1') {
applyHiddenEffect();
}
});
</script>
<script>
jQuery(document).ready(function($) {
$(".ptitlea").on("click", function(e) {
e.preventDefault();
var iframe = $("<iframe></iframe>");
iframe.attr("src", $(this).attr("data-url"));
$("#newspopsection").empty().append(iframe);
// $("#popcontentpopup").attr("src", $(this).attr("data-url"));
window.wppopups.showPopup(203004, true);
});
$(".newsimagelist").on("click", function(e) {
e.preventDefault();
$("#post_preview_link_" + $(this).attr("id")).trigger("click");
});
$(".product-title-bar").on("click", function(e) {
e.preventDefault();
var productLink = $("#href-"+$(this).attr("id")).find("a").attr("href");
var iframe = $("<iframe></iframe>");
iframe.attr("src", productLink);
$("#newspopsection").empty().append(iframe);
window.wppopups.showPopup(203004, true);
});
$(".product-title-bar-image").on("click", function(e) {
e.preventDefault();
var productLinkmain = $(this).attr("id").split("-")[1];
$("#" + productLinkmain).trigger("click");
});
});
</script><script src="https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.mjs" type="module"></script> <script type="text/javascript">
jQuery(document).ready(function($) {
$('#deleteAllMedia').click(function(e) {
e.preventDefault();
if (confirm('Are you sure you want to delete all media files? This action cannot be undone.')) {
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'delete_all_media'
},
success: function(response) {
if (response.success) {
alert(response.data + ' media files have been deleted.');
} else {
alert('Error: ' + response.data);
}
}
});
}
});
});
</script>
<script>
function change_expire_date_meta(author_id, expire_date) {
jQuery.ajax({
url: 'https://me.proid.vn/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'change_expire_date_meta',
author_id: author_id,
expire_date: expire_date,
security: 'b5ce40a443'
},
success: function(data) {
console.log(data);
}
});
}
</script>
<script>
function refresh_user_listings() {
const buttons = document.querySelectorAll('.ppassword_reset_btn');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
const childLink = button.querySelector('a');
if (childLink) {
const linkId = childLink.id;
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
body: new URLSearchParams({
action: 'reset_user_password',
user_id: linkId,
security: '212cb37d5a'
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('Password updated successfully');
} else {
alert('Error updating password:', data.message);
}
})
.catch(error => console.error('Fetch error:', error));
} else {
console.log('No child a element found');
}
});
});
}
function refresh_input_expire() {
const buttons = document.querySelectorAll('.expire_date_meta');
buttons.forEach(function(button) {
const childLink = button.querySelector('input');
childLink.addEventListener('change', function() {
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
body: new URLSearchParams({
action: 'change_expire_date_meta',
user_id: button.id,
expire_date: childLink.value,
security: 'b5ce40a443'
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('Expire date updated successfully');
} else {
alert('Error updating expire date:', data.message);
}
})
.catch(error => console.error('Fetch error:', error));
});
});
}
function refresh_user_listings_delete() {
const buttons = document.querySelectorAll('.delete_all_data');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
const childLink = button.querySelector('a');
if (childLink) {
const linkId = childLink.id;
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
body: new URLSearchParams({
action: 'delete_all_data',
user_id: linkId,
security: '9b8ced68d1'
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('Data deleted successfully');
} else {
alert('Error deleting data:', data.message);
}
})
.catch(error => console.error('Fetch error:', error));
} else {
console.log('No child a element found');
}
});
});
}
function permlink_assign_user() {
const buttons = document.querySelectorAll('.add_my_pro_idbtn');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
const childLink = button.querySelector('a');
if (childLink) {
const linkId = childLink.id;
//set 500ms delay to wait for the page to load
setTimeout(function() {
document.getElementById('form-field-asignusername').value = linkId;
}, 150);
} else {
console.log('No child a element found');
}
});
});
}
function blockuseradmin() {
const buttons = document.querySelectorAll('.blockbtn');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
const childLink = button.querySelector('a');
if (childLink) {
const linkId = childLink.id;
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
body: new URLSearchParams({
action: 'blockuseradmin',
user_id: linkId,
actionblock: 'blockuseradmin',
security: '0c4348ac5e'
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('User blocked successfully');
} else {
alert('Error blocking user:', data.message);
}
})
.catch(error => console.error('Fetch error:', error));
} else {
console.log('No child a element found');
}
});
});
}
function quick_update_profile(){
const buttons = document.querySelectorAll('.quick_update_profile');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
const childLink = button.querySelector('a');
if (childLink) {
const linkId = childLink.id;
setTimeout(function() {
const inputs = document.querySelectorAll('#form-field-cpostid');
inputs.forEach(function(input) {
input.value = linkId;
});
//set the value of the input with id form-field-cpostid
// document.getElementById('form-field-cpostid').value = linkId;
}, 200);
} else {
console.log('No child a element found');
}
});
});
}
function duplicatebtnc() {
const buttons = document.querySelectorAll('.duplicate_btn');
buttons.forEach(function(button) {
button.addEventListener('click', function(e) {
e.preventDefault();
const childLink = button.querySelector('a');
if (childLink) {
const linkId = childLink.id;
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
body: new URLSearchParams({
action: 'duplicatepost',
post_id: linkId,
security: 'da6343e9c3'
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('Post duplicated successfully');
location.reload();
} else {
alert('Error duplicating post:', data.message);
}
})
.catch(error => console.error('Fetch error:', error));
} else {
console.log('No child a element found');
}
});
});
}
function unblockuseradmin() {
const buttons = document.querySelectorAll('.unblockbtn');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
const childLink = button.querySelector('a');
if (childLink) {
const linkId = childLink.id;
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
body: new URLSearchParams({
action: 'blockuseradmin',
user_id: linkId,
actionblock: 'unblockuseradmin',
security: '0c4348ac5e'
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('User unblocked successfully');
} else {
alert('Error unblocking user:', data.message);
}
})
.catch(error => console.error('Fetch error:', error));
} else {
console.log('No child a element found');
}
});
});
}
function setroleuserajax() {
const buttons = document.querySelectorAll('.setuserolebtn');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
setTimeout(function() {
var selectedrole = button.parentElement.querySelector('.currentuserrole h2').innerHTML;
console.log(selectedrole);
var radios = document.getElementsByName('form_fields[userrole]');
var roles_array = {
"author": "1. Pro ID Member",
"pro_id_premium_member": "2. Pro ID Premium Member"
}
selectedrole = roles_array[selectedrole];
var role = '';
for (var i = 0, length = radios.length; i < length; i++) {
if (radios[i].value == selectedrole) {
radios[i].checked = true;
break;
}
}
document.getElementById('form-field-useridforrole').value = button.querySelector('a').id;
}, 350);
});
});
}
function setmlimituserajax() {
const buttons = document.querySelectorAll('.setmlimitbtn');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
var currenmlimit = button.parentElement.querySelector('.currentusermedialimit h2').innerHTML;
setTimeout(function() {
document.getElementById('form-field-media_limit').value = currenmlimit;
document.getElementById('form-field-useridforfilelimit').value = button.querySelector('a').id;
}, 150);
});
});
}
/* function setroleuserajax() {
const buttons = document.querySelectorAll('.setuserolebtn');
buttons.forEach(function(button) {
button.addEventListener('click', function() {
const childLink = button.querySelector('a');
//get radion element value by name form_fields[message]
var radios = document.getElementsByName('form_fields[message]');
var role = '';
for (var i = 0, length = radios.length; i < length; i++) {
if (radios[i].checked) {
role = radios[i].value;
break;
}
}
if(role == ''){
alert('Please select a role');
return;
}
if (childLink) {
const linkId = childLink.id;
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
body: new URLSearchParams({
action: 'setroleuserajax',
user_id: linkId,
user_role: role,
security: 'd5e4f29364'
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('Role updated successfully');
} else {
alert('Error updating user role:', data.message);
}
})
.catch(error => console.error('Fetch error:', error));
} else {
console.log('No child a element found');
}
});
});
}*/
document.addEventListener('DOMContentLoaded', function() {
refresh_user_listings();
// refresh_input_expire();
refresh_user_listings_delete();
permlink_assign_user();
unblockuseradmin();
setroleuserajax();
setmlimituserajax();
blockuseradmin();
duplicatebtnc();
quick_update_profile();
});
(function() {
var targetAction = 'jet_smart_filters';
var originalSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(body) {
var self = this;
this.addEventListener('load', function() {
if (body && body.indexOf('action=' + targetAction) !== -1) {
refresh_user_listings();
refresh_input_expire();
refresh_user_listings_delete();
permlink_assign_user();
unblockuseradmin();
setroleuserajax();
setmlimituserajax();
blockuseradmin();
duplicatebtnc();
quick_update_profile();
}
});
originalSend.apply(this, arguments);
};
})();
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
var inputs = document.querySelectorAll('input[id^="video"]');
inputs.forEach(function(input) {
if (!input.id.match(/video[1-6]/)) {
return;
}
input.addEventListener('input', function() {
var value = input.value;
if (value.includes('https://www.youtube.com/shorts/')) {
var newValue = value.replace('https://www.youtube.com/shorts/', 'https://www.youtube.com/embed/');
input.value = newValue;
}
});
});
});
</script>
<script>
function copyTaxData() {
document.getElementById('taxinfocopybtn').addEventListener('click', function() {
var taxInfo = document.querySelector('#taxinfoinpopup > div > p').innerText;
var tempTextarea = document.createElement('textarea');
tempTextarea.value = taxInfo;
document.body.appendChild(tempTextarea);
tempTextarea.select();
document.execCommand('copy');
document.body.removeChild(tempTextarea);
alert('Data copied to clipboard');
});
}
document.getElementById('mstbtn').addEventListener('click', function() {
setTimeout(copyTaxData, 300);
});
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
setTimeout(function() {
document.querySelectorAll('.copythisbtnid').forEach(button => {
button.addEventListener('click', function() {
const link = this.querySelector('a');
if (link) {
const hrefText = link.id;
navigator.clipboard.writeText(hrefText).then(() => {
alert('Username copied to clipboard');
}).catch(err => {
console.error('Failed to copy text:', err);
});
}
});
});
}, 1000);
});
</script>
<script>
document.addEventListener('click', function(event) {
let productsWrap = event.target.closest('.products-wrapsection');
if (productsWrap) {
document.querySelector('#dynamic-product-heading h2').textContent = productsWrap.querySelector('h2').textContent;
document.querySelector('#dynamic-product-image-widget img').src = productsWrap.querySelector('img').src;
const pElement = productsWrap.querySelector('#pelement');
document.querySelector('#dynamic-product-discription p').innerHTML = pElement.innerHTML;
const pcvideo = productsWrap.querySelector('#pcvideo .jet-listing-dynamic-field__content').innerHTML;
const videoKey = pcvideo.split('https://www.youtube.com/watch?v=')[1];
if(videoKey && videoKey != 'undefined'){
document.querySelector('#dynamic-product-video-widget div').innerHTML = `<iframe width='100%' height='190' src='https://www.youtube.com/embed/`+videoKey+`' title='YouTube video player' frameborder='0' allow='accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share' referrerpolicy='strict-origin-when-cross-origin' allowfullscreen></iframe>`;
}else{
document.querySelector('#dynamic-product-video-widget div').innerHTML = '';
}
pElement.click();
}
});
</script><script>
document.addEventListener('click', function(event) {
let newsWrap = event.target.closest('.news-wrapsection');
if (newsWrap) {
document.querySelector('#dynamic-news-heading h2').textContent = newsWrap.querySelector('h2').textContent;
document.querySelector('#dynamic-news-image-widget img').src = newsWrap.querySelector('img').src;
const newsWrappElement = newsWrap.querySelector('#pelement');
document.querySelector('#dynamic-news-discription p').innerHTML = newsWrappElement.innerHTML;
newsWrappElement.click();
}
});
</script> <script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
const saveContactButton = document.querySelector('.save_contact_btn_1');
if (saveContactButton) {
saveContactButton.addEventListener('click', function(event) {
const currentUrl = window.location.href;
// Check if the URL contains 'Zalo'
if (currentUrl.includes('Zalo')) {
alert('Để lưu danh bạ trong Zalo, vui lòng bấm vào nút 3 chấm ở góc màn hình bên tay phải, và chọn mở bằng trình duyệt ngoài');
}
// Proceed with any other functionality
});
}
});
</script>
<script>
document.addEventListener("DOMContentLoaded", function() {
setTimeout(function() {
document.querySelectorAll('.applyallbtn').forEach(button => {
button.addEventListener('click', function() {
let btn = this;
setTimeout(function() {
const link = btn.querySelector('a');
if (link) {
const hrefText = link.id;
document.querySelector('.applyallpopbtn a').id = hrefText;
}
document.querySelector('.applyallpopbtn a').addEventListener('click', function() {
let applyid = this.id;
this.querySelector('.elementor-button-text').textContent = 'Đang áp dụng...';
let data = new FormData();
data.append('action', 'apply_all_btn_trigger');
data.append('applyid', applyid);
data.append('security', 'a00ce3ff98');
fetch(ajaxurl, {
method: 'POST',
body: data
}).then(response => response.json()).then(data => {
if (data.success) {
alert('Dữ liệu đã được áp dụng thành công.');
location.reload();
} else {
alert('Error: ' + data.data);
}
}).catch(error => {
console.error('Error:', error);
alert('Error: ' + error);
});
});
}, 300);
});
});
document.querySelectorAll('.cleanmediabtn').forEach(button => {
button.addEventListener('click', function(event) {
this.querySelector('.elementor-button-text').textContent = 'Đang làm sạch...';
this.style.pointerEvents = 'none';
event.preventDefault();
let data = new FormData();
data.append('action', 'clean_media_files');
data.append('security', '3df3000ce1');
fetch(ajaxurl, {
method: 'POST',
body: data
}).then(response => response.json()).then(data => {
if (data.success) {
alert('Dữ liệu đã được tối ưu hóa thành công.');
location.reload();
} else {
alert('Error: ' + data.data);
location.reload();
}
}).catch(error => {
console.error('Error:', error);
alert('Error: ' + error);
location.reload();
});
});
});
}, 1000);
});
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const addButton = document.querySelector(".jet-form-builder-repeater__new");
const repeaterContainer = document.querySelector(".jet-form-builder-repeater");
function updateButtonState() {
const inputs = document.querySelectorAll('input[data-field-name="products-name"]');
if (inputs.length >= 30) {
addButton.disabled = true;
alert("You can't add more than 30 products");
} else {
addButton.disabled = false;
}
}
addButton.addEventListener("click", () => {
setlimitwsy();
setTimeout(updateButtonState, 100);
});
repeaterContainer.addEventListener("click", (event) => {
if (event.target.classList.contains("jet-form-builder-repeater__remove")) {
setTimeout(updateButtonState, 100);
}
});
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function () {
setlimitwsy();
});
function setlimitwsy(){
const maxChars = 2000;
setTimeout(function () {
for (let editorId in tinymce.editors) {
const editor = tinymce.editors[editorId];
if (editor) {
editor.on('keyup keypress', function () {
const content = editor.getContent({ format: 'text' });
if (content.length > maxChars) {
editor.setContent(content.substring(0, maxChars));
alert(`Đã đạt đến giới hạn cho phép ${maxChars} ký tự!`);
}
});
}
}
}, 2000);
}
</script>
<script>
document.addEventListener('DOMContentLoaded', function () {
const langSwButton = document.querySelector('.lang_sw');
if (langSwButton) {
langSwButton.addEventListener('click', function () {
const currentLanguage = 'english';
const newLanguage = currentLanguage === 'english' ? 'vietnamese' : 'english';
// Make AJAX request to update the language metafield
const data = new FormData();
data.append('action', 'toggle_language');
data.append('post_id', '411787');
data.append('new_language', newLanguage);
data.append('security', '876b63244a');
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
body: data,
})
.then(response => response.json())
.then(data => {
if (data.success) {
location.reload(); // Refresh the page after the language is updated
} else {
alert('Error: ' + data.message);
}
})
.catch(error => {
console.error('Error:', error);
alert('Error updating the language.');
});
});
}
});
</script>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
const copyButton = document.getElementById('copy_permalink_button_2');
if (copyButton) {
copyButton.addEventListener('click', function() {
const permalink = window.location.href;
const tempInput = document.createElement('input');
tempInput.value = permalink;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand('copy');
document.body.removeChild(tempInput);
alert('Permalink copied to clipboard!');
});
}
});
</script>
<style>.jet-engine-frontend-query-editor-buttons { display: none !important; }</style> <script>
document.addEventListener('DOMContentLoaded', function() {
const signOutButton = document.getElementById('signout_bt_1');
signOutButton.addEventListener('click', function() {
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: new URLSearchParams({
'action': 'logout_user' // Ensure this AJAX action is registered
})
})
.then(response => response.json())
.then(data => {
if (data.success) {
window.location.href = 'https://me.proid.vn/wp-login.php'; // Redirect after logout
} else {
alert('Logout failed, please try again!');
}
})
.catch(error => console.error('Error:', error));
});
});
</script>
<script type="text/javascript">
var meProIDExport = {
ajax_url: 'https://me.proid.vn/wp-admin/admin-ajax.php',
nonce: 'b878c70fd3'
};
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
setlimitproductname();
});
function setlimitproductname(){
const productname = document.querySelectorAll('input[data-field-name="products-name"]');
productname.forEach(productname => {
productname.addEventListener('input', function() {
if (this.value.length > 255) {
alert("Product name cannot be longer than 255 characters");
this.value = this.value.substring(0, 255);
}
});
});
}
</script>
<div data-elementor-type="popup" data-elementor-id="266165" class="elementor elementor-266165 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","exit_animation":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.6,"sizes":[]},"prevent_close_on_background_click":"yes","prevent_close_on_esc_key":"yes","triggers":[],"timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-340ccba9 e-con-full e-flex e-con e-parent" data-id="340ccba9" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="elementor-element elementor-element-34a7d285 e-con-full e-flex e-con e-child" data-id="34a7d285" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="elementor-element elementor-element-dc17b52 elementor-view-default elementor-widget elementor-widget-icon" data-id="dc17b52" data-element_type="widget" data-e-type="widget" data-widget_type="icon.default">
<div class="elementor-widget-container">
<div class="elementor-icon-wrapper">
<div class="elementor-icon">
<svg aria-hidden="true" class="e-font-icon-svg e-fas-exclamation" viewbox="0 0 192 512" xmlns="http://www.w3.org/2000/svg"><path d="M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"></path></svg> </div>
</div>
</div>
</div>
<div class="elementor-element elementor-element-7e14973a elementor-widget elementor-widget-heading" data-id="7e14973a" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
<div class="elementor-widget-container">
<h2 class="elementor-heading-title elementor-size-default">thẻ đã hết hạn sử dụng. vui lòng liên hệ với pro id để gia hạn.</h2> </div>
</div>
<div class="elementor-element elementor-element-e4401c7 elementor-widget elementor-widget-shortcode" data-id="e4401c7" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<button class="copy-link-button" id="copy_permalink_button_2" style="background-color: #e5e5e5; color: #3a3a3a; border: 1px solid #cdc7c7; font-size: 19px; width: 410px;" aria-label="Button 6">
<i class="fas fa-copy" style="margin-right: 10px;"></i> Copy link hồ sơ </button>
<script>
jQuery(document).ready(function($) {
$('#copy_permalink_button_2').on('click', function() {
// Get the current post permalink
var permalink = 'https://me.proid.vn/?my-pro-id=proid3xuw1iua';
// Use the modern Clipboard API
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(permalink).then(function() {
// Provide visual feedback to the user
alert('Link has been copied to the clipboard.');
}).catch(function(error) {
console.error('Clipboard copy failed', error);
// Fallback for older browsers or if Clipboard API fails
try {
var tempInput = document.createElement('input');
tempInput.style.position = 'absolute';
tempInput.style.left = '-9999px';
tempInput.value = permalink;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand('copy');
document.body.removeChild(tempInput);
alert('Link has been copied to the clipboard (fallback method).');
} catch (err) {
alert('Failed to copy the link. Please copy it manually.');
console.error('Fallback copy method failed', err);
}
});
} else {
// Fallback for very old browsers that don't support navigator.clipboard
try {
var tempInput = document.createElement('input');
tempInput.style.position = 'absolute';
tempInput.style.left = '-9999px';
tempInput.value = permalink;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand('copy');
document.body.removeChild(tempInput);
alert('Link has been copied to the clipboard (fallback method).');
} catch (err) {
alert('Failed to copy the link. Please copy it manually.');
console.error('Fallback copy method failed', err);
}
}
});
});
</script>
</div>
</div>
</div>
<div class="elementor-element elementor-element-d2bc8f6 edit-button-1 elementor-widget elementor-widget-button" data-id="d2bc8f6" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
<div class="elementor-widget-container">
<div class="elementor-button-wrapper">
<a class="elementor-button elementor-button-link elementor-size-sm" href="https://zalo.me/proidvn" aria-label="Link 7">
<span class="elementor-button-content-wrapper">
<span class="elementor-button-text">gia hạn qua zalo</span>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="8834" class="elementor elementor-8834 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","exit_animation":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.5,"sizes":[]},"timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-761a9abd e-flex e-con-boxed e-con e-parent" data-id="761a9abd" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-6401fb4 elementor-widget-mobile__width-inherit elementor-widget__width-inherit qrcode1 elementor-widget elementor-widget-shortcode" data-id="6401fb4" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"><div style="text-align: center; line-height: 0;"><img src="https://api.qrserver.com/v1/create-qr-code/?data=https%3A%2F%2Fme.proid.vn%2F%3Fmy-pro-id%3Dproid3xuw1iua&size=150x150&ecc=L&margin=1" alt="QR Code for this profile" width="150" height="150" style="border: 1px solid #ccc; padding: 5px; background: white; display: inline-block;"></div></div>
</div>
</div>
<div class="elementor-element elementor-element-0733576 elementor-widget elementor-widget-shortcode" data-id="0733576" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"><button class="download-qr-button elementor-button elementor-size-sm" onclick="downloadQRCode('https://api.qrserver.com/v1/create-qr-code/?data=https%3A%2F%2Fme.proid.vn%2F%3Fmy-pro-id%3Dproid3xuw1iua&size=150x150&margin=1')" aria-label="Button 7"><i class="fas fa-qrcode" style="margin-right: 8px;"></i> Download QR Code</button><script>
function downloadQRCode(qrUrl) {
fetch(qrUrl) // [cite: 1353]
.then(response => response.blob()) // [cite: 1353]
.then(imageBlob => { // [cite: 1353]
const img = new Image(); // [cite: 1353]
img.onload = function() { // [cite: 1354]
const canvas = document.createElement("canvas"); // [cite: 1354]
const ctx = canvas.getContext("2d"); // [cite: 1354]
const padding = 16; // Extra 16px padding on each side (~2mm at 96dpi) [cite: 1355]
canvas.width = img.width + padding * 2; // [cite: 1355]
canvas.height = img.height + padding * 2; // [cite: 1355]
// Fill background with white (important for QR code readability and margin)
ctx.fillStyle = "#ffffff"; // [cite: 1356]
ctx.fillRect(0, 0, canvas.width, canvas.height); // [cite: 1356]
// Draw the QR code image onto the canvas, offset by the padding
ctx.drawImage(img, padding, padding); // [cite: 1357]
// Convert canvas to Blob and trigger download
canvas.toBlob(function(canvasBlob) { // [cite: 1358]
const blobUrl = URL.createObjectURL(canvasBlob); // [cite: 1358]
const link = document.createElement("a"); // [cite: 1358]
link.href = blobUrl; // [cite: 1359]
link.download = "proid_qrcode_with_margin.png"; // More descriptive filename [cite: 1359]
document.body.appendChild(link); // [cite: 1359]
link.click(); // [cite: 1359]
document.body.removeChild(link); // [cite: 1360]
URL.revokeObjectURL(blobUrl); // [cite: 1360]
}, "image/png"); // [cite: 1360]
};
img.onerror = function() {
console.error("Error loading QR code image into Image object.");
alert("Could not process QR code image for download.");
};
img.src = URL.createObjectURL(imageBlob); // [cite: 1361]
})
.catch(error => {
console.error("Error fetching or processing QR code:", error); // [cite: 1361]
alert("Failed to download QR code. Please check the console for errors.");
});
}
</script></div>
</div>
</div>
<div class="elementor-element elementor-element-0f6067c elementor-widget elementor-widget-shortcode" data-id="0f6067c" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<button class="copy-link-button" id="copy_permalink_button_2" style="background-color: #e5e5e5; color: #3a3a3a; border: 1px solid #cdc7c7; font-size: 19px; width: 410px;" aria-label="Button 8">
<i class="fas fa-copy" style="margin-right: 10px;"></i> Copy link hồ sơ </button>
<script>
jQuery(document).ready(function($) {
$('#copy_permalink_button_2').on('click', function() {
// Get the current post permalink
var permalink = 'https://me.proid.vn/?my-pro-id=proid3xuw1iua';
// Use the modern Clipboard API
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(permalink).then(function() {
// Provide visual feedback to the user
alert('Link has been copied to the clipboard.');
}).catch(function(error) {
console.error('Clipboard copy failed', error);
// Fallback for older browsers or if Clipboard API fails
try {
var tempInput = document.createElement('input');
tempInput.style.position = 'absolute';
tempInput.style.left = '-9999px';
tempInput.value = permalink;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand('copy');
document.body.removeChild(tempInput);
alert('Link has been copied to the clipboard (fallback method).');
} catch (err) {
alert('Failed to copy the link. Please copy it manually.');
console.error('Fallback copy method failed', err);
}
});
} else {
// Fallback for very old browsers that don't support navigator.clipboard
try {
var tempInput = document.createElement('input');
tempInput.style.position = 'absolute';
tempInput.style.left = '-9999px';
tempInput.value = permalink;
document.body.appendChild(tempInput);
tempInput.select();
document.execCommand('copy');
document.body.removeChild(tempInput);
alert('Link has been copied to the clipboard (fallback method).');
} catch (err) {
alert('Failed to copy the link. Please copy it manually.');
console.error('Fallback copy method failed', err);
}
}
});
});
</script>
</div>
</div>
</div>
<div class="elementor-element elementor-element-5208b68 elementor-widget__width-inherit elementor-align-center jedv-enabled--yes elementor-widget elementor-widget-button" data-id="5208b68" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
<div class="elementor-widget-container">
<div class="elementor-button-wrapper">
<a class="elementor-button elementor-button-link elementor-size-sm" href="https://me.proid.vn/wp-login.php" aria-label="Link 8">
<span class="elementor-button-content-wrapper">
<span class="elementor-button-icon">
<svg aria-hidden="true" class="e-font-icon-svg e-fas-sign-in-alt" viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z"></path></svg> </span>
<span class="elementor-button-text">đăng nhập</span>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="258380" class="elementor elementor-258380 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","entrance_animation_mobile":"fadeInDown","exit_animation":"fadeInDown","exit_animation_mobile":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.4,"sizes":[]},"timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-32f350f8 e-flex e-con-boxed e-con e-parent" data-id="32f350f8" data-element_type="container" data-e-type="container" data-settings='{"background_background":"classic","jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="196500" class="elementor elementor-196500 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","exit_animation":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.6,"sizes":[]},"a11y_navigation":"yes","timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-73b0093 e-flex e-con-boxed e-con e-parent" data-id="73b0093" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-d1af04e elementor-align-center elementor-widget__width-inherit elementor-widget elementor-widget-button" data-id="d1af04e" data-element_type="widget" data-e-type="widget" id="zalobutton22" data-widget_type="button.default">
<div class="elementor-widget-container">
<div class="elementor-button-wrapper">
<a class="elementor-button elementor-size-sm" role="button" aria-label="Link 9">
<span class="elementor-button-content-wrapper">
<span class="elementor-button-icon">
<svg aria-hidden="true" class="e-font-icon-svg e-far-comment-alt" viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z"></path></svg> </span>
<span class="elementor-button-text">nhắn tin zalo</span>
</span>
</a>
</div>
</div>
</div>
<div class="elementor-element elementor-element-b56fca0 elementor-widget elementor-widget-shortcode" data-id="b56fca0" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"> <button class="copy-link-button" onclick="copyLink(this)" data-zalo="" aria-label="Button 9">
COPY SỐ ĐIỆN THOẠI ZALO
</button>
<script>
function copyLink(button) {
var zalo = button.getAttribute('data-zalo');
// Create a temporary textarea to hold the zalo number
var tempTextArea = document.createElement('textarea');
tempTextArea.style.position = 'absolute';
tempTextArea.style.left = '-9999px';
tempTextArea.value = zalo;
document.body.appendChild(tempTextArea);
tempTextArea.select();
document.execCommand('copy');
document.body.removeChild(tempTextArea);
// Optionally provide a visual feedback to the user
button.textContent = 'Copied!';
setTimeout(function() {
button.textContent = 'COPY SỐ ĐIỆN THOẠI ZALO';
}, 3000);
}
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="331799" class="elementor elementor-331799 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","exit_animation":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.6,"sizes":[]},"a11y_navigation":"yes","timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-9bf051e e-flex e-con-boxed e-con e-parent" data-id="9bf051e" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-5556a9c0 elementor-align-center elementor-widget__width-inherit elementor-widget elementor-widget-button" data-id="5556a9c0" data-element_type="widget" data-e-type="widget" id="zalobutton22" data-widget_type="button.default">
<div class="elementor-widget-container">
<div class="elementor-button-wrapper">
<a class="elementor-button elementor-size-sm" role="button" aria-label="Link 10">
<span class="elementor-button-content-wrapper">
<span class="elementor-button-icon">
<svg aria-hidden="true" class="e-font-icon-svg e-fab-line" viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z"></path></svg> </span>
<span class="elementor-button-text">open line</span>
</span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="670" class="elementor elementor-670 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeIn","exit_animation":"fadeIn","entrance_animation_duration":{"unit":"px","size":0.6,"sizes":[]},"prevent_close_on_esc_key":"yes","prevent_scroll":"yes","a11y_navigation":"yes","timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-85ff12f e-flex e-con-boxed e-con e-parent" data-id="85ff12f" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-2edb8b5 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-image" data-id="2edb8b5" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
<div class="elementor-widget-container">
<img src="https://cfw61.rabbitloader.xyz/eyJjIjp0cnVlLCJoIjoibWUucHJvaWQudm4iLCJ2IjozNzE2NzE0NTQ4LCJyIjoxfQ/wp-content/uploads/2023/02/kakaofallback1.jpeg" title="" alt="img-3" loading="lazy"> </div>
</div>
<div class="elementor-element elementor-element-bac479c elementor-widget elementor-widget-shortcode" data-id="bac479c" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"> <button class="copy-link-button" onclick="copyLink(this)" data-kakao="" aria-label="Button 10">
<i class="fas fa-copy"></i> COPY KAKAO ID
</button>
<script>
function copyLink(button) {
var kakao = button.getAttribute('data-kakao');
// Create a temporary textarea to hold the KakaoTalk ID
var tempTextArea = document.createElement('textarea');
tempTextArea.style.position = 'absolute';
tempTextArea.style.left = '-9999px';
tempTextArea.value = kakao;
document.body.appendChild(tempTextArea);
tempTextArea.select();
document.execCommand('copy');
document.body.removeChild(tempTextArea);
// Optionally provide a visual feedback to the user
button.textContent = 'Copied!';
setTimeout(function() {
button.textContent = 'COPY KAKAO ID';
}, 3000);
}
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="18532" class="elementor elementor-18532 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","exit_animation":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.6,"sizes":[]},"a11y_navigation":"yes","timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-c116f11 e-flex e-con-boxed e-con e-parent" data-id="c116f11" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-e5a2c28 elementor-widget elementor-widget-shortcode" data-id="e5a2c28" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"> <button class="copy-link-button" onclick="copyWeChat(this)" data-wechat="" aria-label="Button 11">
Copy WeChat Number
</button>
<script>
function copyWeChat(button) {
var wechatNumber = button.getAttribute('data-wechat');
// Create a temporary textarea to hold the wechat number
var tempTextArea = document.createElement('textarea');
tempTextArea.style.position = 'absolute';
tempTextArea.style.left = '-9999px';
tempTextArea.value = wechatNumber;
document.body.appendChild(tempTextArea);
tempTextArea.select();
document.execCommand('copy');
document.body.removeChild(tempTextArea);
// Optionally provide a visual feedback to the user
button.textContent = 'Copied!';
setTimeout(function() {
button.textContent = 'Copy WeChat Number';
}, 3000);
}
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="122546" class="elementor elementor-122546 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","exit_animation":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.4,"sizes":[]},"a11y_navigation":"yes","timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-a45daf4 e-flex e-con-boxed e-con e-parent" data-id="a45daf4" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-499f2b3 elementor-widget elementor-widget-shortcode" data-id="499f2b3" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"> <button class="copy-link-button" onclick="copyViber(this)" data-viber="" aria-label="Button 12">
Copy Viber Phone Number
</button>
<script>
function copyViber(button) {
var viberNumber = button.getAttribute('data-viber');
// Create a temporary textarea to hold the viber number
var tempTextArea = document.createElement('textarea');
tempTextArea.style.position = 'absolute';
tempTextArea.style.left = '-9999px';
tempTextArea.value = viberNumber;
document.body.appendChild(tempTextArea);
tempTextArea.select();
document.execCommand('copy');
document.body.removeChild(tempTextArea);
// Optionally provide a visual feedback to the user
button.textContent = 'Copied!';
setTimeout(function() {
button.textContent = 'Copy Viber Phone Number';
}, 3000);
}
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="1346" class="elementor elementor-1346 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","entrance_animation_mobile":"fadeInDown","exit_animation":"fadeInDown","exit_animation_mobile":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.4,"sizes":[]},"timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-a978eb3 e-flex e-con-boxed e-con e-parent" data-id="a978eb3" data-element_type="container" data-e-type="container" data-settings='{"background_background":"classic","jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-0809ea2 elementor-widget__width-inherit elementor-widget elementor-widget-shortcode" data-id="0809ea2" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"> <button class="copy-link-button" onclick="copyBankAcc(this)" data-bankacc="" aria-label="Button 13">
Copy số tài khoản
</button>
<script>
function copyBankAcc(button) {
var bankAccNumber = button.getAttribute('data-bankacc');
// Create a temporary textarea to hold the bank account number
var tempTextArea = document.createElement('textarea');
tempTextArea.style.position = 'absolute';
tempTextArea.style.left = '-9999px';
tempTextArea.value = bankAccNumber;
document.body.appendChild(tempTextArea);
tempTextArea.select();
document.execCommand('copy');
document.body.removeChild(tempTextArea);
// Optionally provide a visual feedback to the user
button.textContent = 'Copied!';
setTimeout(function() {
button.textContent = 'Copy số tài khoản';
}, 3000);
}
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="202123" class="elementor elementor-202123 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","entrance_animation_mobile":"fadeInDown","exit_animation":"fadeInDown","exit_animation_mobile":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.4,"sizes":[]},"prevent_scroll":"yes","timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-4eb5e1a9 e-flex e-con-boxed e-con e-parent" data-id="4eb5e1a9" data-element_type="container" data-e-type="container" data-settings='{"background_background":"classic","jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-4075335 elementor-widget elementor-widget-shortcode" data-id="4075335" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"> <button class="copy-link-button" onclick="copyRichText(this)" data-copy-text="" aria-label="Button 14">
<i class="fas fa-copy"></i> COPY
</button>
<script>
function copyRichText(button) {
// Get the cleaned text from our new 'data-copy-text' attribute.
var textToCopy = button.getAttribute('data-copy-text');
// Create a temporary textarea to hold the text.
var tempTextArea = document.createElement('textarea');
tempTextArea.style.position = 'absolute';
tempTextArea.style.left = '-9999px';
tempTextArea.value = textToCopy;
document.body.appendChild(tempTextArea);
tempTextArea.select();
document.execCommand('copy');
document.body.removeChild(tempTextArea);
// Provide visual feedback to the user.
button.textContent = 'Copied!';
setTimeout(function() {
button.textContent = 'COPY TAX INFO';
}, 3000);
}
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<div data-elementor-type="popup" data-elementor-id="991" class="elementor elementor-991 elementor-location-popup" data-elementor-settings='{"entrance_animation":"fadeInDown","exit_animation":"fadeInDown","entrance_animation_duration":{"unit":"px","size":0.6,"sizes":[]},"prevent_close_on_esc_key":"yes","prevent_scroll":"yes","a11y_navigation":"yes","timing":[]}' data-elementor-post-type="elementor_library">
<div class="elementor-element elementor-element-6d91ad2 e-flex e-con-boxed e-con e-parent" data-id="6d91ad2" data-element_type="container" data-e-type="container" data-settings='{"jet_parallax_layout_list":[]}'>
<div class="e-con-inner">
<div class="elementor-element elementor-element-a8c7545 elementor-widget elementor-widget-shortcode" data-id="a8c7545" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
<div class="elementor-widget-container">
<div class="elementor-shortcode"><div id="me-proid-lang-switch-message-411787" style="margin-bottom: 15px; padding: 10px; border-radius: 4px;"></div><form method="post" id="me-proid-language-switch-form-411787" class="me-proid-language-switch-form" data-password-required="false"><input type="hidden" name="post_id" value="411787" aria-label="Input 0"><input type="hidden" name="security" value="83e8eac4ad" aria-label="Input 1"><div class="form-field" style="margin-bottom: 10px;"><label style="display:block; margin-bottom: 5px; font-weight: bold;">Select Language</label><label for="me_proid_lang_english_411787" style="margin-right: 15px; display: inline-block;"><input type="radio" id="me_proid_lang_english_411787" name="target_language" value="english" checked required="" aria-label="me_proid_lang_english_411787"> English</label><label for="me_proid_lang_vietnamese_411787" style="margin-right: 15px; display: inline-block;"><input type="radio" id="me_proid_lang_vietnamese_411787" name="target_language" value="vietnamese" required="" aria-label="me_proid_lang_vietnamese_411787"> Vietnamese</label><label for="me_proid_lang_chinese_411787" style="margin-right: 15px; display: inline-block;"><input type="radio" id="me_proid_lang_chinese_411787" name="target_language" value="chinese" required="" aria-label="me_proid_lang_chinese_411787"> Chinese</label></div><button type="submit" name="me_proid_submit_language" class="me-proid-lang-switch-button" aria-label="Button 15"><i class="fas fa-sync-alt" style="margin-right: 8px;" aria-hidden="true"></i>Change language</button><span class="me-proid-spinner" style="display: none; margin-left: 10px; vertical-align: middle;">⏳</span></form> <script>
(function() {
const form = document.getElementById('me-proid-language-switch-form-411787');
const messageDiv = document.getElementById('me-proid-lang-switch-message-411787');
if (!form || !messageDiv) {
console.error('Language switch form or message div not found.');
return;
}
const submitButton = form.querySelector('.me-proid-lang-switch-button');
const spinner = form.querySelector('.me-proid-spinner');
const passwordInput = form.querySelector('input[name="me_proid_password"]');
const nonceInput = form.querySelector('input[name="security"]');
const postIdInput = form.querySelector('input[name="post_id"]');
const isPasswordRequired = form.getAttribute('data-password-required') === 'true';
if (!submitButton || !spinner || !nonceInput || !postIdInput) {
console.error('Essential Language switch form elements not found (button, spinner, nonce, post_id).');
return;
}
form.addEventListener('submit', function(event) {
event.preventDefault();
const postId = postIdInput.value;
const nonce = nonceInput.value;
let password = '';
// --- Get selected language ---
const selectedLanguageRadio = form.querySelector('input[name="target_language"]:checked');
if (!selectedLanguageRadio) {
messageDiv.innerHTML = '<span style="color: red;">Please select a language.</span>';
messageDiv.style.border = '1px solid red';
messageDiv.style.backgroundColor = '#ffecec';
return;
}
const targetLanguage = selectedLanguageRadio.value;
// --- End Get selected language ---
if (isPasswordRequired) {
if (!passwordInput) {
console.error('Password input expected but not found.');
messageDiv.innerHTML = '<span style="color: red;">Form error. Please contact support.</span>';
messageDiv.style.border = '1px solid red';
messageDiv.style.backgroundColor = '#ffecec';
return;
}
password = passwordInput.value;
if (!password) {
messageDiv.innerHTML = '<span style="color: red;">Please enter a password.</span>';
messageDiv.style.border = '1px solid red';
messageDiv.style.backgroundColor = '#ffecec';
return;
}
}
messageDiv.innerHTML = '';
messageDiv.style.border = 'none';
messageDiv.style.backgroundColor = 'transparent';
submitButton.disabled = true;
spinner.style.display = 'inline-block';
const formData = new FormData();
formData.append('action', 'me_proid_language_switch');
formData.append('post_id', postId);
formData.append('security', nonce);
formData.append('target_language', targetLanguage); // Add selected language
if (isPasswordRequired) {
formData.append('password', password);
}
fetch('https://me.proid.vn/wp-admin/admin-ajax.php', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(data => {
submitButton.disabled = false;
spinner.style.display = 'none';
if (data.success) {
messageDiv.innerHTML = '<span style="color: green;">' + (data.data.message || 'Success!') + '</span>';
messageDiv.style.border = '1px solid green';
messageDiv.style.backgroundColor = '#eeffee';
setTimeout(function() {
window.location.reload();
}, 1000);
} else {
messageDiv.innerHTML = '<span style="color: red;">' + (data.data.message || 'An unknown error occurred.') + '</span>';
messageDiv.style.border = '1px solid red';
messageDiv.style.backgroundColor = '#ffecec';
}
})
.catch(error => {
submitButton.disabled = false;
spinner.style.display = 'none';
messageDiv.innerHTML = '<span style="color: red;">Request failed. Please try again.</span>';
messageDiv.style.border = '1px solid red';
messageDiv.style.backgroundColor = '#ffecec';
console.error('AJAX Error:', error);
});
});
})();
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
const lazyloadRunObserver = () => {
const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
entries.forEach( ( entry ) => {
if ( entry.isIntersecting ) {
let lazyloadBackground = entry.target;
if( lazyloadBackground ) {
lazyloadBackground.classList.add( 'e-lazyloaded' );
}
lazyloadBackgroundObserver.unobserve( entry.target );
}
});
}, { rootMargin: '200px 0px 200px 0px' } );
lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
lazyloadBackgroundObserver.observe( lazyloadBackground );
} );
};
const events = [
'DOMContentLoaded',
'elementor/lazyload/observe',
];
events.forEach( ( event ) => {
document.addEventListener( event, lazyloadRunObserver );
} );
</script>
<script>
(function () {
var c = document.body.className;
c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
document.body.className = c;
})();
</script>
<script type="text/javascript">
// Initialize the global object if it doesn't exist
if (typeof window.meProIDApp === 'undefined') {
window.meProIDApp = {};
}
// Ensure ajax_url is defined (it might be defined by other features/theme)
if (typeof window.meProIDApp.ajax_url === 'undefined') {
window.meProIDApp.ajax_url = 'https://me.proid.vn/wp-admin/admin-ajax.php';
}
// Nonce for the "Copy Login Info & Reset Password" button
// This matches the nonce name in your provided copy_login_button.php
window.meProIDApp.resetCopyLoginNonce = '50caf1b046';
</script>
<link rel="stylesheet" id="elementor-post-52012-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-52012.css?ver=1773396894" media="all">
<link rel="stylesheet" id="widget-spacer-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/css/widget-spacer.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="widget-icon-list-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/css/widget-icon-list.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="elementor-post-1295-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-1295.css?ver=1773396894" media="all">
<link rel="stylesheet" id="swiper-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/lib/swiper/v8/css/swiper.min.css?ver=8.4.5" media="all">
<link rel="stylesheet" id="e-swiper-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/css/conditionals/e-swiper.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="widget-gallery-css" href="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/css/widget-gallery.min.css?ver=3.35.1" media="all">
<link rel="stylesheet" id="elementor-gallery-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/lib/e-gallery/css/e-gallery.min.css?ver=1.2.0" media="all">
<link rel="stylesheet" id="e-transitions-css" href="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/css/conditionals/transitions.min.css?ver=3.35.1" media="all">
<link rel="stylesheet" id="elementor-post-3393-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-3393.css?ver=1773396894" media="all">
<link rel="stylesheet" id="widget-video-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/css/widget-video.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="elementor-post-264731-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-264731.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-8834-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-8834.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-258380-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-258380.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-196500-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-196500.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-331799-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-331799.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-670-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-670.css?ver=1773396895" media="all">
<link rel="stylesheet" id="e-animation-fadeIn-css" href="https://me.proid.vn/wp-content/plugins/elementor/assets/lib/animations/styles/fadeIn.min.css?ver=3.35.4" media="all">
<link rel="stylesheet" id="elementor-post-18532-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-18532.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-122546-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-122546.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-1346-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-1346.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-202123-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-202123.css?ver=1773396895" media="all">
<link rel="stylesheet" id="elementor-post-991-css" href="https://me.proid.vn/wp-content/uploads/elementor/css/post-991.css?ver=1773396895" media="all">
<link rel="stylesheet" id="jet-elements-css" href="https://me.proid.vn/wp-content/plugins/jet-elements/assets/css/jet-elements.css?ver=2.7.6" media="all">
<script src="https://me.proid.vn/wp-content/plugins/me-proid-admin-card-creator/assets/js/admin-card-creator.js?ver=1.0.1" id="me-proid-admin-card-creator-js-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/me-proid-copy-login-button/assets/js/copy_login_button_js.js?ver=1.1.0" id="me-proid-copy-login-script-js"></script>
<script id="mepid-qco-script-js-extra">
var mepid_qco_params = {"ajax_url":"https://me.proid.vn/wp-admin/admin-ajax.php","nonce":"2a8b450368","remove_item_nonce":"c0af7ad5f6","post_id":"411787"};
//# sourceURL=mepid-qco-script-js-extra
</script>
<script src="https://me.proid.vn/wp-content/plugins/mepid-quick-checkout/assets/js/quick-checkout.js?ver=1.4.0" id="mepid-qco-script-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/woocommerce/assets/js/sourcebuster/sourcebuster.min.js?ver=8.6.3" id="sourcebuster-js-js"></script>
<script id="wc-order-attribution-js-extra">
var wc_order_attribution = {"params":{"lifetime":1.0e-5,"session":30,"ajaxurl":"https://me.proid.vn/wp-admin/admin-ajax.php","prefix":"wc_order_attribution_","allowTracking":true},"fields":{"source_type":"current.typ","referrer":"current_add.rf","utm_campaign":"current.cmp","utm_source":"current.src","utm_medium":"current.mdm","utm_content":"current.cnt","utm_id":"current.id","utm_term":"current.trm","session_entry":"current_add.ep","session_start_time":"current_add.fd","session_pages":"session.pgs","session_count":"udata.vst","user_agent":"udata.uag"}};
//# sourceURL=wc-order-attribution-js-extra
</script>
<script src="https://me.proid.vn/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=8.6.3" id="wc-order-attribution-js"></script>
<script src="https://me.proid.vn/wp-content/themes/hello-elementor-child/custom.js?ver=1.0" id="custom-js-js"></script>
<script id="hide-tab-script-js-extra">
var customScriptData = {"tabOptions":""};
//# sourceURL=hide-tab-script-js-extra
</script>
<script src="https://me.proid.vn/wp-content/themes/hello-elementor/js/hide-tab-script.js?ver=1.0.0" id="hide-tab-script-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/ui/mouse.min.js?ver=1.13.3" id="jquery-ui-mouse-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/ui/resizable.min.js?ver=1.13.3" id="jquery-ui-resizable-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/ui/draggable.min.js?ver=1.13.3" id="jquery-ui-draggable-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/ui/controlgroup.min.js?ver=1.13.3" id="jquery-ui-controlgroup-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/ui/checkboxradio.min.js?ver=1.13.3" id="jquery-ui-checkboxradio-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/ui/button.min.js?ver=1.13.3" id="jquery-ui-button-js"></script>
<script src="https://me.proid.vn/wp-includes/js/jquery/ui/dialog.min.js?ver=1.13.3" id="jquery-ui-dialog-js"></script>
<script src="https://me.proid.vn/wp-content/themes/hello-elementor-child/assets/js/custom-scripts.js?ver=1.0.0" id="my-kakao-copy-script-js"></script>
<script id="me-proid-copy-profile-script-js-extra">
var meProidCopyData = {"permalink":"https://me.proid.vn/?my-pro-id=proid3xuw1iua","copySuccessText":"Link h\u1ed3 s\u01a1 \u0111\u00e3 \u0111\u01b0\u1ee3c copy. H\u00e3y ch\u1ecdn \u0110\u0102NG NH\u1eacP TH\u00c0NH VI\u00caN \u0111\u1ec3 \u0111\u0103ng nh\u1eadp","copyErrorText":"Kh\u00f4ng th\u1ec3 sao ch\u00e9p li\u00ean k\u1ebft. Vui l\u00f2ng th\u1eed l\u1ea1i."};
//# sourceURL=me-proid-copy-profile-script-js-extra
</script>
<script src="https://me.proid.vn/wp-content/themes/hello-elementor-child/assets/js/me-proid-copy-profile.js?ver=1.0.0" id="me-proid-copy-profile-script-js"></script>
<script src="https://me.proid.vn/wp-content/themes/hello-elementor/assets/js/hello-frontend.min.js?ver=1.0.0" id="hello-theme-frontend-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/jetformbuilder/modules/jet-plugins/assets/build/index.js?ver=1.0.0" id="jet-plugins-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/jet-elements/assets/js/lib/anime-js/anime.min.js?ver=2.2.0" id="jet-anime-js-js"></script>
<script id="jet-popup-frontend-js-extra">
var jetPopupData = {"version":"2.0.12","ajax_url":"https://me.proid.vn/wp-admin/admin-ajax.php","isElementor":"true"};
//# sourceURL=jet-popup-frontend-js-extra
</script>
<script src="https://me.proid.vn/wp-content/plugins/jet-popup/assets/js/jet-popup-frontend.js?ver=2.0.12" id="jet-popup-frontend-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/elementor-pro/assets//lib/instant-page/instant-page.min.js?ver=3.35.1" id="instant-page-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.35.4" id="elementor-webpack-runtime-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.35.4" id="elementor-frontend-modules-js"></script>
<script id="elementor-frontend-js-before">
var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Chia s\u1ebb tr\u00ean Facebook","shareOnTwitter":"Chia s\u1ebb tr\u00ean Twitter","pinIt":"Ghim n\u00f3","download":"T\u1ea3i xu\u1ed1ng","downloadImage":"T\u1ea3i h\u00ecnh \u1ea3nh","fullscreen":"To\u00e0n m\u00e0n h\u00ecnh","zoom":"Thu ph\u00f3ng","share":"Chia s\u1ebb","playVideo":"Ph\u00e1t video","previous":"Quay v\u1ec1","next":"Ti\u1ebfp theo","close":"\u0110\u00f3ng","a11yCarouselPrevSlideMessage":"Slide tr\u01b0\u1edbc","a11yCarouselNextSlideMessage":"Slide ti\u1ebfp theo","a11yCarouselFirstSlideMessage":"\u0110\u00e2y l\u00e0 slide \u0111\u1ea7u ti\u00ean","a11yCarouselLastSlideMessage":"\u0110\u00e2y l\u00e0 slide cu\u1ed1i c\u00f9ng","a11yCarouselPaginationBulletMessage":"\u0110i \u0111\u1ebfn slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Di \u0111\u1ed9ng d\u1ecdc","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Ch\u1ebf \u0111\u1ed9 ngang di \u0111\u1ed9ng","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"M\u00e1y t\u00ednh b\u1ea3ng d\u1ecdc","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"M\u00e1y t\u00ednh b\u1ea3ng ngang","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Trang r\u1ed9ng","value":2400,"default_value":2400,"direction":"min","is_enabled":false}},"hasCustomBreakpoints":false},"version":"3.35.4","is_static":false,"experimentalFeatures":{"e_font_icon_svg":true,"additional_custom_breakpoints":true,"container":true,"theme_builder_v2":true,"hello-theme-header-footer":true,"nested-elements":true,"home_screen":true,"global_classes_should_enforce_capabilities":true,"e_variables":true,"cloud-library":true,"e_opt_in_v4_page":true,"e_components":true,"e_interactions":true,"e_editor_one":true,"import-export-customization":true,"mega-menu":true,"e_pro_variables":true},"urls":{"assets":"https:\/\/me.proid.vn\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/me.proid.vn\/wp-admin\/admin-ajax.php","uploadUrl":"https:\/\/me.proid.vn\/wp-content\/uploads"},"nonces":{"floatingButtonsClickTracking":"942a5e74a5"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"body_background_background":"classic","active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","woocommerce_notices_elements":[],"hello_header_logo_type":"title","hello_header_menu_layout":"horizontal","hello_footer_logo_type":"logo"},"post":{"id":411787,"title":"proid3xUW1iua%20%E2%80%93%20Pro%20ID","excerpt":"","featuredImage":false}};
//# sourceURL=elementor-frontend-js-before
</script>
<script src="https://me.proid.vn/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.35.4" id="elementor-frontend-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/lib/smartmenus/jquery.smartmenus.min.js?ver=1.2.1" id="smartmenus-js"></script>
<script src="https://me.proid.vn/?code-snippets-js-snippets=footer&ver=191" id="code-snippets-site-footer-js"></script>
<script id="proid-dummy-handle-for-tabs-js-extra">
var proidTabData = {"isChineseActive":"","translations":{"home_tab":"\u9996\u9875","info_tabv":"\u516c\u53f8\u4ecb\u7ecd","info_tabe":"\u516c\u53f8\u4ecb\u7ecd","video_tab":"\u89c6\u9891","shop_tab":"\u5546\u5e97"},"postId":"411787"};
//# sourceURL=proid-dummy-handle-for-tabs-js-extra
</script>
<script src="https://me.proid.vn/wp-content/plugins/elementor/assets/lib/swiper/v8/swiper.min.js?ver=8.4.5" id="swiper-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/elementor/assets/lib/e-gallery/js/e-gallery.min.js?ver=1.2.0" id="elementor-gallery-js"></script>
<script id="jet-engine-frontend-js-extra">
var JetEngineSettings = {"ajaxurl":"https://me.proid.vn/wp-admin/admin-ajax.php","ajaxlisting":"https://me.proid.vn/?my-pro-id=proid3xuw1iua%2F&rl-warmup=1&rl-rand=1773407630554&rl-only-after=1773407630554&nocache=1773407633","restNonce":"d5057e2df8","hoverActionTimeout":"400","post_id":"411787","addedPostCSS":["11093","392134","392144"]};
//# sourceURL=jet-engine-frontend-js-extra
</script>
<script id="jet-engine-frontend-js-before">
window.JetEngineStores = window.JetEngineStores || {};
window.JetEngineStores['local-storage'] = {
addToStore: function( storeSlug, postID, maxSize, isOnViewStore ) {
var store = window.localStorage.getItem( 'jet_engine_store_' + storeSlug );
isOnViewStore = isOnViewStore || false;
if ( store ) {
store = store.split( ',' );
} else {
store = [];
}
postID = '' + postID;
maxSize = parseInt( maxSize, 10 );
if ( 0 <= store.indexOf( postID ) ) {
return store.length;
}
if ( 0 < maxSize && store.length >= maxSize ) {
if ( isOnViewStore ) {
store.splice( 0, 1 );
} else {
alert( 'You can`t add more posts' );
return false;
}
}
store.push( postID );
window.localStorage.setItem( 'jet_engine_store_' + storeSlug, store.join( ',' ) );
return store.length;
},
remove: function( storeSlug, postID ) {
var store = window.localStorage.getItem( 'jet_engine_store_' + storeSlug ),
index;
if ( store ) {
store = store.split( ',' );
} else {
store = [];
}
postID = '' + postID;
index = store.indexOf( postID );
if ( 0 > index ) {
return store.length;
} else {
store.splice( index, 1 );
}
window.localStorage.setItem( 'jet_engine_store_' + storeSlug, store.join( ',' ) );
return store.length;
},
inStore: function( storeSlug, postID ) {
var store = window.localStorage.getItem( 'jet_engine_store_' + storeSlug ),
index;
postID = '' + postID;
if ( store ) {
store = store.split( ',' );
} else {
store = [];
}
index = store.indexOf( postID );
return ( 0 <= index );
},
getStore: function( storeSlug ) {
var store = window.localStorage.getItem( 'jet_engine_store_' + storeSlug ),
index;
if ( store ) {
store = store.split( ',' );
} else {
store = [];
}
return store;
},
};
//# sourceURL=jet-engine-frontend-js-before
</script>
<script src="https://me.proid.vn/wp-content/plugins/jet-engine/assets/js/frontend.js?ver=3.6.6.1" id="jet-engine-frontend-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=3.35.1" id="elementor-pro-webpack-runtime-js"></script>
<script src="https://me.proid.vn/wp-includes/js/dist/hooks.min.js?ver=dd5603f07f9220ed27f1" id="wp-hooks-js"></script>
<script src="https://me.proid.vn/wp-includes/js/dist/i18n.min.js?ver=c26c3dc7bed366793375" id="wp-i18n-js"></script>
<script id="wp-i18n-js-after">
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
</script>
<script id="elementor-pro-frontend-js-before">
var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/me.proid.vn\/wp-admin\/admin-ajax.php","nonce":"6ad4ad8f77","urls":{"assets":"https:\/\/me.proid.vn\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/me.proid.vn\/wp-json\/"},"settings":{"lazy_load_background_images":true},"popup":{"hasPopUps":true},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"},"x-twitter":{"title":"X"},"threads":{"title":"Threads"}},"woocommerce":{"menu_cart":{"cart_page_url":"https:\/\/me.proid.vn\/cart\/","checkout_page_url":"https:\/\/me.proid.vn\/checkout\/","fragments_nonce":"4f4982c336"}},"facebook_sdk":{"lang":"vi","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/me.proid.vn\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}};
//# sourceURL=elementor-pro-frontend-js-before
</script>
<script src="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=3.35.1" id="elementor-pro-frontend-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/elementor-pro/assets/js/elements-handlers.min.js?ver=3.35.1" id="pro-elements-handlers-js"></script>
<script id="jet-elements-js-extra">
var jetElements = {"ajaxUrl":"https://me.proid.vn/wp-admin/admin-ajax.php","isMobile":"true","templateApiUrl":"https://me.proid.vn/wp-json/jet-elements-api/v1/elementor-template","devMode":"false","messages":{"invalidMail":"Please specify a valid e-mail"}};
//# sourceURL=jet-elements-js-extra
</script>
<script src="https://me.proid.vn/wp-content/plugins/jet-elements/assets/js/jet-elements.min.js?ver=2.7.6" id="jet-elements-js"></script>
<script src="https://me.proid.vn/wp-content/plugins/jet-popup/includes/elementor/assets/js/jet-popup-elementor-frontend.js?ver=2.0.12" id="jet-popup-elementor-frontend-js"></script>
<script id="wp-emoji-settings" type="application/json">
{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://me.proid.vn/wp-includes/js/wp-emoji-release.min.js?ver=6.9.4"}}
</script>
<script type="module">
/*! This file is auto-generated */
const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))});
//# sourceURL=https://me.proid.vn/wp-includes/js/wp-emoji-loader.min.js
</script>
<script type="text/javascript">
jQuery(document).ready(function($) {
// Use event delegation for buttons that might be loaded via AJAX (like in JetListing Grid)
$(document).on('click', '.export_urls_admin', function(e) { // Target elements with class 'export_urls_admin'
e.preventDefault();
var $button = $(this);
var userId = $button.data('user-id'); // Try to get User ID from 'data-user-id' attribute first
// Fallback: if user ID is directly in the button's 'id' attribute
// This is less ideal if the class 'export_urls_admin' is on the same element as the dynamic ID.
// For this to work, the "CSS ID" field in Elementor for the button should be the dynamic user ID,
// and "CSS Classes" field should contain 'export_urls_admin'.
if (!userId || isNaN(userId)) {
var buttonElementId = $button.attr('id');
// Check if buttonElementId is not the literal string 'export_urls_admin' and is a number
if (buttonElementId && !isNaN(buttonElementId) && buttonElementId.toLowerCase() !== 'export_urls_admin') {
userId = buttonElementId;
}
}
// If after all checks, User ID is still not valid
if (!userId || isNaN(userId)) {
// Check if the ID was set to 'export_urls_admin' in Elementor's CSS ID field.
// If so, and if the user ID is in a parent element (common in listings)
var parentWithUserId = $button.closest('[data-user-id]');
if (parentWithUserId.length > 0) {
userId = parentWithUserId.data('user-id');
} else {
alert('Could not determine User ID. Please configure the button with a "data-user-id" attribute containing the User ID, or set the button\'s ID directly to the User ID. Ensure the button also has the class "export_urls_admin".');
return;
}
}
if (!userId || isNaN(userId)) {
alert('Final check: User ID is still invalid.');
return;
}
// Check if our global variables from PHP are available
if (typeof meProIDGlobal === 'undefined' || typeof meProIDGlobal.ajax_url === 'undefined' || typeof meProIDGlobal.export_urls_nonce === 'undefined') {
alert('Critical: AJAX settings not found. Please ensure the PHP code in functions.php is correct and active.');
return;
}
// Create a hidden form to trigger the download via POST request
var form = $('<form></form>');
form.attr('method', 'POST');
form.attr('action', meProIDGlobal.ajax_url); // Use the global AJAX URL
// Add action field
var actionField = $('<input></input>');
actionField.attr('type', 'hidden');
actionField.attr('name', 'action');
actionField.attr('value', 'export_user_proid_urls_action'); // This must match the wp_ajax_ hook in PHP
form.append(actionField);
// Add User ID field
var userIdField = $('<input></input>');
userIdField.attr('type', 'hidden');
userIdField.attr('name', 'user_id');
userIdField.attr('value', userId);
form.append(userIdField);
// Add Nonce field
var nonceField = $('<input></input>');
nonceField.attr('type', 'hidden');
nonceField.attr('name', 'export_urls_nonce');
nonceField.attr('value', meProIDGlobal.export_urls_nonce); // Use the global nonce
form.append(nonceField);
// Append form to body, submit it, then remove it
$(document.body).append(form);
form.submit();
form.remove();
});
});
</script>
<script type="text/javascript">
jQuery(document).ready(function($) {
// Listener is on the div with class "export-user-proid-urls-button"
$(document).on('click', '.export-user-proid-urls-button', function(e) {
e.preventDefault();
var $clickedWidgetDiv = $(this); // This is the main div of the button widget
var $linkElement = $clickedWidgetDiv.find('a.elementor-button'); // Find the <a> tag within the widget
var userId;
if ($linkElement.length > 0) {
userId = $linkElement.attr('id'); // Get the ID from the <a> tag
console.log("Found <a> tag with ID (User ID):", userId);
} else {
// This case should ideally not happen if the button HTML structure is consistent
console.error("Could not find the <a> tag with class .elementor-button inside the clicked widget.");
alert('Error: Button internal structure not found. Please contact support.');
return;
}
// Validate if the extracted ID is a usable number
if (!userId || isNaN(parseInt(userId))) {
alert('Error: User ID found on link ("' + userId + '") is not a valid number. Please check button configuration and console log.');
console.log('Clicked Widget (div) HTML:', $clickedWidgetDiv[0].outerHTML);
if($linkElement.length > 0) {
console.log('Link Element (a) HTML:', $linkElement[0].outerHTML);
}
return;
}
userId = parseInt(userId); // Convert to integer
// Check if global AJAX variables are defined
if (typeof meProIDExport === 'undefined' || typeof meProIDExport.ajax_url === 'undefined' || typeof meProIDExport.nonce === 'undefined') {
alert('Error: AJAX configuration variables (meProIDExport) not found. Check functions.php.');
return;
}
// Create and submit the form for download
var form = $('<form></form>');
form.attr('method', 'POST');
form.attr('action', meProIDExport.ajax_url);
var actionInput = $('<input></input>');
actionInput.attr('type', 'hidden');
actionInput.attr('name', 'action');
actionInput.attr('value', 'me_proid_export_user_urls_action'); // Matches PHP hook
form.append(actionInput);
var userIdInput = $('<input></input>');
userIdInput.attr('type', 'hidden');
userIdInput.attr('name', 'user_id');
userIdInput.attr('value', userId);
form.append(userIdInput);
var nonceInput = $('<input></input>');
nonceInput.attr('type', 'hidden');
nonceInput.attr('name', 'security_nonce'); // Matches PHP check_ajax_referer
nonceInput.attr('value', meProIDExport.nonce);
form.append(nonceInput);
$(document.body).append(form);
form.submit();
form.remove();
});
});
</script>
<script type="text/javascript">
jQuery(document).ready(function($) {
// Listener for buttons with class "lock_account_admin"
$(document).on('click', '.lock_account_admin', function(e) {
e.preventDefault();
var $clickedWidgetDiv = $(this); // This is the main div of the button widget
var $linkElement = $clickedWidgetDiv.find('a.elementor-button'); // Find the <a> tag within
var userIdToLock;
if ($linkElement.length > 0) {
userIdToLock = $linkElement.attr('id'); // Get the ID (User ID) from the <a> tag
console.log("Lock Account: Found <a> tag with ID (User ID):", userIdToLock);
} else {
console.error("Lock Account: Could not find the <a> tag inside the clicked widget.");
alert('Error: Button internal structure not found for locking account.');
return;
}
if (!userIdToLock || isNaN(parseInt(userIdToLock))) {
alert('Error: User ID for locking ("' + userIdToLock + '") is not a valid number. Please check button configuration.');
return;
}
userIdToLock = parseInt(userIdToLock);
// Check if global AJAX variables are defined
if (typeof window.meProIDGlobalVars === 'undefined' ||
typeof window.meProIDGlobalVars.ajax_url === 'undefined' ||
typeof window.meProIDGlobalVars.lockAccountNonce === 'undefined') {
alert('Error: AJAX configuration variables (meProIDGlobalVars or lockAccountNonce) not found. Check PHP in functions.php.');
return;
}
// Confirmation before locking
if (!confirm('Are you sure you want to lock the account for User ID: ' + userIdToLock + '?')) {
return;
}
// Provide immediate feedback
var $buttonTextSpan = $linkElement.find('.elementor-button-text');
var originalButtonText = $buttonTextSpan.text();
$buttonTextSpan.text('Locking...');
$clickedWidgetDiv.css('pointer-events', 'none'); // Disable button temporarily
$.ajax({
url: window.meProIDGlobalVars.ajax_url,
type: 'POST',
data: {
action: 'me_proid_lock_account_action', // Matches PHP hook
user_id_to_lock: userIdToLock,
security_nonce_lock_account: window.meProIDGlobalVars.lockAccountNonce // Matches check_ajax_referer
},
success: function(response) {
if (response.success) {
alert(response.data.message || 'Account action processed successfully.');
$buttonTextSpan.text('Locked'); // Indicate locked status
// You might want to change button style or disable it permanently here via a class
} else {
alert(response.data.message || 'An error occurred.');
$buttonTextSpan.text(originalButtonText); // Revert text on error
$clickedWidgetDiv.css('pointer-events', 'auto'); // Re-enable
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert('AJAX Error: Could not lock account. Please try again. Status: ' + textStatus);
console.error("Lock Account AJAX Error:", textStatus, errorThrown, jqXHR.responseText);
$buttonTextSpan.text(originalButtonText); // Revert text on error
$clickedWidgetDiv.css('pointer-events', 'auto'); // Re-enable
}
});
});
});
</script>
<script type="text/javascript">
jQuery(document).ready(function($) {
// Central function to perform the AJAX call for locking or unlocking
function performUserAccountAction(actionType, $clickedLinkElement, targetUserId) {
var nonceValue, ajaxActionName, nonceFieldName;
var confirmMsg = '';
var $widgetDiv = $clickedLinkElement.closest('.elementor-widget-button');
var $buttonTextSpan = $clickedLinkElement.find('.elementor-button-text');
var originalButtonText = $buttonTextSpan.text();
// Ensure global AJAX variables are ready
if (typeof window.meProIDAppGlobal === 'undefined' || typeof window.meProIDAppGlobal.ajax_url === 'undefined') {
alert('Lỗi cấu hình (JS): Biến AJAX URL không tìm thấy.');
return;
}
if (actionType === 'lock') {
if (typeof window.meProIDAppGlobal.lockAccountNonce === 'undefined') {
alert('Lỗi cấu hình (JS): Lock Nonce không tìm thấy.');
return;
}
nonceValue = window.meProIDAppGlobal.lockAccountNonce;
ajaxActionName = 'me_proid_lock_user_action_v3'; // Matches PHP hook for lock
nonceFieldName = 'security_nonce_lock'; // Matches 2nd param of check_ajax_referer in PHP lock handler
confirmMsg = 'Bạn có chắc muốn KHÓA tài khoản cho User ID: ' + targetUserId + '?';
} else if (actionType === 'unlock') {
if (typeof window.meProIDAppGlobal.unlockAccountNonce === 'undefined') {
alert('Lỗi cấu hình (JS): Unlock Nonce không tìm thấy.');
return;
}
nonceValue = window.meProIDAppGlobal.unlockAccountNonce;
ajaxActionName = 'me_proid_unlock_user_action_v3'; // Matches PHP hook for unlock
nonceFieldName = 'security_nonce_unlock'; // Matches 2nd param of check_ajax_referer in PHP unlock handler
confirmMsg = 'Bạn có chắc muốn MỞ KHÓA tài khoản cho User ID: ' + targetUserId + '?';
} else {
console.error("Invalid actionType for performUserAccountAction:", actionType);
return;
}
if (!confirm(confirmMsg)) {
return;
}
$buttonTextSpan.text('Đang xử lý...');
$widgetDiv.css('pointer-events', 'none');
var ajaxData = {
action: ajaxActionName,
target_user_id: targetUserId
};
ajaxData[nonceFieldName] = nonceValue; // Dynamically set the nonce field name
$.ajax({
url: window.meProIDAppGlobal.ajax_url,
type: 'POST',
data: ajaxData,
success: function(response) {
if (response.success) {
alert(response.data.message);
// Update text of the clicked button to reflect completed action
if (actionType === 'lock') {
$buttonTextSpan.text('Đã khóa'); // Or simply revert to original and let display conditions handle it
} else { // unlock
$buttonTextSpan.text('Đã mở khóa');
}
// At this point, the user would typically refresh or navigate,
// allowing Elementor Display Conditions to show the correct button.
// Or, you can uncomment the line below for an automatic reload:
// location.reload();
} else {
alert('Lỗi từ máy chủ: ' + (response.data && response.data.message ? response.data.message : 'Đã xảy ra lỗi không xác định.'));
$buttonTextSpan.text(originalButtonText);
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Lỗi AJAX: Không thể hoàn thành yêu cầu.\nTrạng thái: ' + textStatus + '\nLỗi: ' + errorThrown);
console.error("Account Action AJAX Error:", textStatus, errorThrown, jqXHR.responseText);
$buttonTextSpan.text(originalButtonText);
},
complete: function() {
$widgetDiv.css('pointer-events', 'auto');
}
});
}
// Listener for "Lock Account" button
$(document).on('click', '.lock_account_btn', function(e) {
e.preventDefault();
var $widgetDiv = $(this); // This is the div with .lock_account_btn
var $linkElement = $widgetDiv.find('a.elementor-button');
var userId = $linkElement.attr('id');
if (!userId || isNaN(parseInt(userId))) {
console.error("Lock Btn: User ID not found or invalid on link.", $linkElement);
alert('Lỗi User ID (Khóa).');
return;
}
performUserAccountAction('lock', $linkElement, parseInt(userId));
});
// Listener for "Unlock Account" button
$(document).on('click', '.unlock_account_btn', function(e) {
e.preventDefault();
var $widgetDiv = $(this); // This is the div with .unlock_account_btn
var $linkElement = $widgetDiv.find('a.elementor-button');
var userId = $linkElement.attr('id');
if (!userId || isNaN(parseInt(userId))) {
console.error("Unlock Btn: User ID not found or invalid on link.", $linkElement);
alert('Lỗi User ID (Mở Khóa).');
return;
}
performUserAccountAction('unlock', $linkElement, parseInt(userId));
});
// Initial check for global vars (for debugging setup)
$(document).ready(function() {
if (typeof window.meProIDAppGlobal === 'undefined') {
console.error("Lỗi cấu hình quan trọng: Đối tượng JS toàn cục 'meProIDAppGlobal' không được định nghĩa. Hãy kiểm tra hàm PHP 'me_proid_theme_js_globals_setup_v2' trong functions.php.");
} else {
if (typeof window.meProIDAppGlobal.ajax_url === 'undefined') console.warn("Cảnh báo cấu hình JS: 'ajax_url' không được định nghĩa trong meProIDAppGlobal.");
if (typeof window.meProIDAppGlobal.lockAccountNonce === 'undefined') console.warn("Cảnh báo cấu hình JS: 'lockAccountNonce' không được định nghĩa trong meProIDAppGlobal.");
if (typeof window.meProIDAppGlobal.unlockAccountNonce === 'undefined') console.warn("Cảnh báo cấu hình JS: 'unlockAccountNonce' không được định nghĩa trong meProIDAppGlobal.");
}
});
});
</script>
<script>jQuery(document).ready(function($) {
console.log('Admin User Search Script - V2 Loaded!'); // Check if script runs
// --- UPDATED SELECTOR BASED ON YOUR SCREENSHOT ---
const searchInputSelector = '#admin-user-search .jet-search-filter__input';
const urlPattern = 'https://me.proid.vn/?my-pro-id=';
console.log('Attempting to bind to:', searchInputSelector); // Log the selector
// Listen for the 'paste' event on the specific input field
$(document).on('paste', searchInputSelector, function(e) {
console.log('Paste event detected on:', this); // Check if paste event fires
e.preventDefault();
let pastedData = (e.originalEvent || e).clipboardData.getData('text/plain');
console.log('Pasted Data:', pastedData); // See what was pasted
if (pastedData && pastedData.startsWith(urlPattern)) {
let profileId = pastedData.substring(urlPattern.length);
console.log('Extracted ID:', profileId); // See the extracted ID
$(this).val(profileId).trigger('input'); // Set value and trigger AJAX
console.log('Input value set and triggered.');
} else {
console.log('Pasted data does not match pattern.');
$(this).val(pastedData).trigger('input'); // Paste normally and trigger
}
});
// Optional: Input listener as a fallback
$(document).on('input', searchInputSelector, function(e) {
let currentValue = $(this).val();
if (currentValue.startsWith(urlPattern)) {
let profileId = currentValue.substring(urlPattern.length);
$(this).val(profileId);
console.log('Input event - Corrected Value:', profileId);
}
});
// Test if the element exists *after* a short delay (in case it loads late)
setTimeout(function() {
if ($(searchInputSelector).length) {
console.log('Selector found successfully after delay!');
} else {
console.error('Selector NOT found after delay. Check ID and Class again!');
}
}, 1000); // 1-second delay
});</script>
<script>
jQuery(document).ready(function($) {
// Use event delegation - targeting the <a> tag *within* our button widget
$(document).on('click', '.copy-title-link-button a', function(e) {
e.preventDefault(); // Stop the # link action
e.stopPropagation(); // Stop bubbling
var $link = $(this); // The <a> link element
var postTitleId = $link.attr('id'); // Get the ID, which should be the Post Title
// Check if we found an ID
if (!postTitleId) {
console.error('Button ID (Post Title) not found on the link element.');
alert('Lỗi: Không tìm thấy ID hồ sơ.');
return false;
}
// Construct the full URL
var profileUrl = 'https://me.proid.vn/?my-pro-id=' + postTitleId;
var $buttonText = $link.find('.elementor-button-text');
var $icon = $link.find('.elementor-button-icon i');
// --- Copy to Clipboard (Using Navigator API + Fallback) ---
if (navigator.clipboard && window.isSecureContext) {
navigator.clipboard.writeText(profileUrl).then(function() {
// Success feedback
var originalText = $buttonText.text();
var originalIcon = $icon.attr('class');
$buttonText.text('Đã Sao Chép!');
$icon.removeClass().addClass('fas fa-check');
setTimeout(function() {
$buttonText.text(originalText);
$icon.removeClass().addClass(originalIcon);
}, 2000);
}).catch(function(err) {
console.error('Async: Could not copy text: ', err);
fallbackCopyTextToClipboard(profileUrl, $link);
});
} else {
fallbackCopyTextToClipboard(profileUrl, $link);
}
return false; // Extra prevention
});
// --- Fallback Function ---
function fallbackCopyTextToClipboard(text, $link) {
var textArea = document.createElement("textarea");
textArea.value = text;
textArea.style.top = "0";
textArea.style.left = "0";
textArea.style.position = "fixed";
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
var successful = document.execCommand('copy');
var $buttonText = $link.find('.elementor-button-text');
var $icon = $link.find('.elementor-button-icon i');
var originalText = $buttonText.text();
var originalIcon = $icon.attr('class');
if (successful) {
$buttonText.text('Đã Sao Chép!');
$icon.removeClass().addClass('fas fa-check');
} else {
alert('Lỗi: Không thể sao chép liên kết (Fallback failed).');
}
setTimeout(function() {
$buttonText.text(originalText);
$icon.removeClass().addClass(originalIcon);
}, 2000);
} catch (err) {
console.error('Fallback: Oops, unable to copy', err);
alert('Lỗi: Không thể sao chép liên kết.');
}
document.body.removeChild(textArea);
}
});
</script>
<script>
jQuery(document).ready(function($) {
/**
* Function to update Elementor tab titles based on provided translations
* for the new Elementor Tabs widget structure (e-n-tabs).
*/
function proidUpdateTabTitles() {
if (typeof proidTabData === 'undefined') {
// console.warn('Tab Translator: proidTabData is NOT defined. Ensure PHP localization is working.');
return;
}
if (!proidTabData.isChineseActive) {
// console.log('Tab Translator: Chinese NOT active for post ID: ' + (proidTabData.postId || 'N/A') + '. No translation needed.');
return;
}
var translations = proidTabData.translations;
// console.log('Tab Translator: Chinese ACTIVE. Applying translations for post ID: ' + (proidTabData.postId || 'N/A'), translations);
for (var tabCssId in translations) {
if (translations.hasOwnProperty(tabCssId)) {
var newTitleText = translations[tabCssId];
// The ID is directly on the button element which has the class e-n-tab-title
var $tabTitleButton = $('#' + tabCssId + '.e-n-tab-title'); // Target button by ID and class
if ($tabTitleButton.length) {
// The text is inside a <span class="e-n-tab-title-text">
var $textSpan = $tabTitleButton.find('span.e-n-tab-title-text');
if ($textSpan.length) {
$textSpan.text(newTitleText); // Update the text of this specific span
// console.log('Tab Translator: Updated text for span in tab ID "' + tabCssId + '" to "' + newTitleText + '"');
} else {
// Fallback if the specific span isn't found (shouldn't happen with the new tabs widget structure)
// console.warn('Tab Translator: span.e-n-tab-title-text not found within button ID "' + tabCssId + '". Attempting to set button text directly.');
// $tabTitleButton.text(newTitleText); // This might strip icons if any were outside a text span
}
} else {
// console.warn('Tab Translator: Tab title button with ID "' + tabCssId + '" and class "e-n-tab-title" not found.');
}
}
}
}
// Initial attempt to update titles on page load
proidUpdateTabTitles();
// Elementor frontend hooks for dynamic content / widgets loaded later
$(document).on('elementor/frontend/init', function() {
if (window.elementorFrontend && window.elementorFrontend.hooks) {
// The new Tabs widget might be identified as 'n-tabs'
window.elementorFrontend.hooks.addAction('frontend/element_ready/n-tabs.default', function($scope) {
// console.log('Tab Translator: Elementor n-tabs.default widget ready, re-running update.');
setTimeout(proidUpdateTabTitles, 120); // Short delay for safety
});
// Fallback for the older tabs widget name just in case, or if nested
window.elementorFrontend.hooks.addAction('frontend/element_ready/tabs.default', function($scope) {
// console.log('Tab Translator: Elementor legacy tabs.default widget ready, re-running update.');
setTimeout(proidUpdateTabTitles, 120);
});
// General hook if tabs are part of something else complex
window.elementorFrontend.hooks.addAction('frontend/element_ready/global', function($scope) {
if ($scope.find('.e-n-tabs, .elementor-widget-tabs').length) { // Check for new or old tab widget classes
// console.log('Tab Translator: Global widget ready containing tabs, re-running update.');
setTimeout(proidUpdateTabTitles, 120);
}
});
}
});
// Fallback for content loaded via other AJAX methods (e.g., JetEngine listings, filters)
var ajaxCompletedTimeout;
$(document).ajaxComplete(function(event, xhr, settings) {
clearTimeout(ajaxCompletedTimeout);
ajaxCompletedTimeout = setTimeout(function() {
if ($('.e-n-tabs, .elementor-widget-tabs').length) {
// console.log('Tab Translator: Tabs widget found after general AJAX, re-running update.');
proidUpdateTabTitles();
}
}, 350);
});
});
</script>
<script>
// This script now assumes `proidShareData` already exists on the page.
// The object is created by the PHP in functions.php.
document.addEventListener('click', async function (event) {
// Check if the clicked element is our share button
const shareButton = event.target.closest('.share_btn_1');
if (!shareButton) {
return; // Exit if it's not the share button
}
// Check that our data object exists before trying to use it
if (typeof proidShareData === 'undefined') {
console.error('Share Data (proidShareData) was not found. Check if the PHP snippet is active.');
alert('Lỗi: Không thể tìm thấy dữ liệu chia sẻ.'); // Error: Could not find share data.
return;
}
const shareData = {
title: proidShareData.title,
text: `Check out this profile on PRO ID!`,
url: proidShareData.url
};
// Trigger the Web Share API or fallback to clipboard
if (navigator.share) {
try {
await navigator.share(shareData);
} catch (err) {
console.log('Web Share action cancelled or failed.', err);
}
} else {
try {
await navigator.clipboard.writeText(shareData.url);
alert('Link đã được sao chép vào clipboard!');
} catch (err) {
console.error('Failed to copy link: ', err);
alert('Không thể sao chép link.');
}
}
});
</script>
<script>
jQuery(document).ready(function($) {
// Use 'on' for dynamically loaded content, like in a listing grid
$(document).on('click', '.add_basket_btn', function(e) {
e.preventDefault(); // Prevent the default button action
var $thisbutton = $(this);
var product_id = $thisbutton.attr('id');
if ($thisbutton.hasClass('loading') || $thisbutton.hasClass('added')) {
return; // Prevent multiple clicks
}
$.ajax({
type: 'POST',
url: '<?php echo admin_url('admin-ajax.php'); ?>',
data: {
action: 'me_proid_add_to_cart',
product_id: product_id,
nonce: '<?php echo wp_create_nonce('me_proid_add_to_cart_nonce'); ?>'
},
beforeSend: function() {
$thisbutton.addClass('loading');
$thisbutton.find('.elementor-button-text').text('Đang thêm...');
},
success: function(response) {
if (response.success) {
$thisbutton.removeClass('loading').addClass('added');
$thisbutton.find('.elementor-button-text').text('Đã thêm vào giỏ!');
$thisbutton.find('.elementor-button-icon i').attr('class', 'fas fa-check');
// Trigger WooCommerce to update the mini-cart
$(document.body).trigger('wc_fragment_refresh');
} else {
$thisbutton.removeClass('loading');
$thisbutton.find('.elementor-button-text').text('Lỗi!');
}
},
error: function() {
$thisbutton.removeClass('loading');
$thisbutton.find('.elementor-button-text').text('Lỗi kết nối');
}
});
});
});
</script>
<script>
/*
This script handles the product limit update form.
It's wrapped in a 'no-conflict' function to ensure '$' works as a shortcut for jQuery
without conflicting with other libraries.
*/
jQuery(document).ready(function($) {
// Target the form by its unique ID
const form = $('#update-product-limit-form');
// If the form doesn't exist on this page, do nothing.
if (form.length === 0) {
return;
}
// Listen for the form to be submitted
form.on('submit', function(e) {
// Prevent the page from reloading
e.preventDefault();
const submitButton = form.find('button[type="submit"]');
const buttonTextSpan = submitButton.find('.elementor-button-text');
const originalButtonText = buttonTextSpan.text();
// Give visual feedback
buttonTextSpan.text('Processing...');
submitButton.prop('disabled', true);
form.find('.ajax-response').remove();
// Get the values from the form fields
const productLimit = form.find('input[name="form_fields[set_product_limit_form]"]').val();
const userId = form.find('input[name="form_fields[user_id_1]"]').val();
// Check if the AJAX object from PHP exists
if (typeof my_ajax_obj === 'undefined') {
form.append('<div class="ajax-response" style="color: red; margin-top: 10px;">Error: AJAX object not found. Check functions.php.</div>');
return;
}
// Send the data to the server
$.ajax({
url: my_ajax_obj.ajax_url,
type: 'POST',
data: {
action: 'update_user_product_limit',
security: my_ajax_obj.nonce,
user_id: userId,
product_limit: productLimit
},
success: function(response) {
let messageColor = response.success ? 'green' : 'red';
let messageText = response.success ? response.data.message : 'Error: ' + response.data.message;
form.append('<div class="ajax-response" style="color: ' + messageColor + '; margin-top: 10px;">' + messageText + '</div>');
},
error: function() {
form.append('<div class="ajax-response" style="color: red; margin-top: 10px;">An unexpected server error occurred.</div>');
},
complete: function() {
// Restore the button to its original state
submitButton.prop('disabled', false);
buttonTextSpan.text(originalButtonText);
}
});
});
});
</script>
<script>
// Ensure jQuery is loaded before executing
jQuery(document).ready(function($) {
// Listen for the WooCommerce 'added_to_cart' event
// This event fires after a product has been successfully added to the cart via AJAX
$(document.body).on('added_to_cart', function(event, fragments, cart_hash, $button) {
// Check if the button that triggered the event is our custom button
// We're looking for the specific class we added in the PHP: 'me-proid-custom-atc-button'
if ($button && $button.hasClass('me-proid-custom-atc-button')) {
// Get the ID of the wrapper div from the button's data attribute
var wrapperId = $button.data('wrapper-id');
var $messageDiv = $('#' + wrapperId).find('.me-proid-atc-message');
if ($messageDiv.length) { // Ensure the message div exists
$messageDiv.text('Sản phẩm của bạn đã được thêm vào giỏ hàng') // Set the message text
.css({ // Apply some basic styling
'color': '#28a745', // Green color
'font-size': '0.85em',
'margin-top': '5px',
'text-align': 'center'
})
.fadeIn(200); // Fade in the message
// Dismiss the message after 1 second (1000 milliseconds)
setTimeout(function() {
$messageDiv.fadeOut(500, function() { // Fade out smoothly
$(this).empty().removeAttr('style'); // Clear text and remove inline styles
});
}, 1000);
}
}
});
});
</script>
<script>
// Wrap everything in a try...catch block to prevent other scripts from breaking this one.
try {
// This function helps parse different date formats, like DD/MM/YYYY or YYYY-MM-DD.
function parseFlexibleDate(dateString) {
// First, try the standard JavaScript parser. This works well for ISO formats (YYYY-MM-DD).
let date = new Date(dateString);
if (!isNaN(date.getTime())) {
return date;
}
// If that fails, try to parse formats like DD/MM/YYYY or DD-MM-YYYY.
const parts = dateString.match(/^(\d{1,2})[./-](\d{1,2})[./-](\d{4})$/);
if (parts) {
// parts[1] is Day, parts[2] is Month, parts[3] is Year.
// Note: JavaScript months are 0-11, so we subtract 1 from the month.
return new Date(parts[3], parts[2] - 1, parts[1]);
}
// Return null if no valid format could be parsed.
return null;
}
// Use 'DOMContentLoaded' to ensure the HTML is ready before the script runs.
document.addEventListener('DOMContentLoaded', function() {
console.log('ProID Expiry Alert: Script starting...');
// --- STEP 1: Find the expiry date element ---
const expiryDateElement = document.getElementById('proid-expiry-date');
if (!expiryDateElement) {
console.error('ProID Expiry Alert -> ERROR: The HTML element with ID "proid-expiry-date" was not found. Please double-check Step 1 of the setup instructions.');
return;
}
const expiryDateString = expiryDateElement.textContent.trim();
if (!expiryDateString) {
console.log('ProID Expiry Alert -> INFO: No expiry date found in the element. Exiting.');
return;
}
console.log('ProID Expiry Alert -> Found date string: "' + expiryDateString + '"');
// --- STEP 2: Parse the date string ---
const expiryDate = parseFlexibleDate(expiryDateString);
if (!expiryDate || isNaN(expiryDate.getTime())) {
console.error('ProID Expiry Alert -> ERROR: The date format "' + expiryDateString + '" is invalid and could not be read.');
return;
}
console.log('ProID Expiry Alert -> Date parsed successfully:', expiryDate.toDateString());
// --- STEP 3: Compare dates ---
const today = new Date();
today.setHours(0, 0, 0, 0); // Normalize to the beginning of the day.
expiryDate.setHours(0, 0, 0, 0); // Normalize to the beginning of the day.
const timeDiff = expiryDate.getTime() - today.getTime();
const daysUntilExpiry = Math.ceil(timeDiff / (1000 * 60 * 60 * 24));
console.log(`ProID Expiry Alert -> Days until expiry: ${daysUntilExpiry}`);
// --- STEP 4: Show alert if within the 14-day window ---
if (daysUntilExpiry >= 0 && daysUntilExpiry <= 14) {
let expiryMessage;
if (daysUntilExpiry === 0) {
expiryMessage = 'Thẻ của bạn hết hạn vào hôm nay.';
} else if (daysUntilExpiry === 1) {
expiryMessage = 'Thẻ của bạn sẽ hết hạn vào ngày mai.';
} else {
expiryMessage = `Thẻ của bạn sẽ hết hạn trong ${daysUntilExpiry} ngày nữa.`;
}
const fullMessage = `${expiryMessage} Truy cập proid.vn để gia hạn hoặc liên hệ qua hotline Zalo 096 578 4668`;
console.log('ProID Expiry Alert -> SUCCESS: Displaying alert.');
alert(fullMessage);
} else {
console.log('ProID Expiry Alert -> INFO: Not within the 14-day notification window.');
}
});
} catch (e) {
console.error('ProID Expiry Alert -> CRITICAL ERROR:', e);
}
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Target the specific textarea field by its ID.
// Elementor prefixes the ID you set ('usernames_list') with 'form-field-'.
const textarea = document.querySelector('#form-field-usernames_list');
if (textarea) {
// This function will run whenever the content of the textarea changes.
const handleInput = () => {
const currentValue = textarea.value;
// Regular expression to find all me.proid.vn URLs and capture the ID.
// The 'g' flag is crucial for finding all matches, not just the first one.
const pattern = /https?:\/\/me\.proid\.vn\/\?my-pro-id=(proid[a-f0-9]+)/g;
// Use matchAll to get all captures.
const matches = [...currentValue.matchAll(pattern)];
// Only reformat the text if we found at least one matching URL.
// This prevents it from interfering with manually typed lists.
if (matches.length > 0) {
// Extract just the captured IDs (the first capture group, index [1]).
const usernames = matches.map(match => match[1]);
// Replace the textarea content with the cleaned list, one per line.
textarea.value = usernames.join('\n');
}
};
// Listen for the 'input' event, which covers pasting, typing, and cutting.
textarea.addEventListener('input', handleInput);
}
});
</script>
<style>
/* Styling for the Pro ID Toggle Button */
.proid-status-toggle {
padding: 8px 16px;
border: none;
border-radius: 4px;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
font-size: 14px;
width: 100%; /* Adjust if you want it smaller */
}
.proid-btn-deactivate {
background-color: #f44336; /* Red for deactivating */
color: #fff;
}
.proid-btn-deactivate:hover { background-color: #d32f2f; }
.proid-btn-activate {
background-color: #4CAF50; /* Green for activating */
color: #fff;
}
.proid-btn-activate:hover { background-color: #388E3C; }
.proid-status-toggle.is-loading {
opacity: 0.6;
cursor: not-allowed;
}
</style>
<script>
jQuery(document).ready(function($) {
// Listen for clicks on the toggle button
$(document).on('click', '.proid-status-toggle', function(e) {
e.preventDefault();
var $btn = $(this);
if ($btn.hasClass('is-loading')) return; // Prevent double clicks
var post_id = $btn.data('post-id');
var current_status = $btn.data('status');
var nonce = $btn.data('nonce');
// Visual feedback
$btn.addClass('is-loading').text('Processing...');
// Send AJAX request
$.ajax({
url: proid_ajax.ajax_url,
type: 'POST',
data: {
action: 'proid_toggle_card_status',
post_id: post_id,
status: current_status,
nonce: nonce
},
success: function(response) {
if (response.success) {
// Update button data, class, and text based on the new status
var new_status = response.data.new_status;
var new_text = response.data.new_text;
$btn.removeClass('is-loading proid-btn-activate proid-btn-deactivate');
if (new_status === 'yes') {
$btn.addClass('proid-btn-activate');
} else {
$btn.addClass('proid-btn-deactivate');
}
$btn.data('status', new_status);
$btn.text(new_text);
} else {
alert('Error: ' + response.data);
$btn.removeClass('is-loading').text(current_status === 'yes' ? 'Activate Card' : 'Deactivate Card');
}
},
error: function() {
alert('Connection error. Please try again.');
$btn.removeClass('is-loading').text(current_status === 'yes' ? 'Activate Card' : 'Deactivate Card');
}
});
});
});
</script>
<noscript><style>.woocommerce-product-gallery{ opacity: 1 !important; }</style></noscript><!--Optimized with rabbitloader.com; generated at Fri, 13 Mar 2026 13:13:54 GMT--></body></html>