1 <!doctype html> 2 <html lang="th"> 3 4 <head><meta charset="UTF-8">
4<script>if(navigator.userAgent.match(/MSIE|Internet Explorer/i)||navigator.userAgent.match(/Trident\/7\..*?rv:11/i)){var href=document.location.href;if(!href.match(/[?&]nowprocket/)){if(href.indexOf("?")==-1){if(href.indexOf("#")==-1){document.location.href=href+"?nowprocket=1"}else{document.location.href=href.replace("#","?nowprocket=1#")}}else{if(href.indexOf("#")==-1){document.location.href=href+"&nowprocket=1"}else{document.location.href=href.replace("#","&nowprocket=1#")}}}}</script>
4<script>class RocketLazyLoadScripts{constructor(){this.v="1.2.3",this.triggerEvents=["keydown","mousedown","mousemove","touchmove","touchstart","touchend","wheel"],this.userEventHandler=this._triggerListener.bind(this),this.touchStartHandler=this._onTouchStart.bind(this),this.touchMoveHandler=this._onTouchMove.bind(this),this.touchEndHandler=this._onTouchEnd.bind(this),this.clickHandler=this._onClick.bind(this),this.interceptedClicks=[],window.addEventListener("pageshow",t=>{this.persisted=t.persisted}),window.addEventListener("DOMContentLoaded",()=>{this._preconnect3rdParties()}),this.delayedScripts={normal:[],async:[],defer:[]},this.trash=[],this.allJQueries=[]}_addUserInteractionListener(t){if(document.hidden){t._triggerListener();return}this.triggerEvents.forEach(e=>window.addEventListener(e,t.userEventHandler,{passive:!0})),window.addEventListener("touchstart",t.touchStartHandler,{passive:!0}),window.addEventListener("mousedown",t.touchStartHandler),document.addEventListener("visibilitychange",t.userEventHandler)}_removeUserInteractionListener(){this.triggerEvents.forEach(t=>window.removeEventListener(t,this.userEventHandler,{passive:!0})),document.removeEventListener("visibilitychange",this.userEventHandler)}_onTouchStart(t){"HTML"!==t.target.tagName&&(window.addEventListener("touchend",this.touchEndHandler),window.addEventListener("mouseup",this.touchEndHandler),window.addEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.addEventListener("mousemove",this.touchMoveHandler),t.target.addEventListener("click",this.clickHandler),this._renameDOMAttribute(t.target,"onclick","rocket-onclick"),this._pendingClickStarted())}_onTouchMove(t){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler),t.target.removeEventListener("click",this.clickHandler),this._renameDOMAttribute(t.target,"rocket-onclick","onclick"),this._pendingClickFinished()}_onTouchEnd(t){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler)}_onClick(t){t.target.removeEventListener("click",this.clickHandler),this._renameDOMAttribute(t.target,"rocket-onclick","onclick"),this.interceptedClicks.push(t),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),this._pendingClickFinished()}_replayClicks(){window.removeEventListener("touchstart",this.touchStartHandler,{passive:!0}),window.removeEventListener("mousedown",this.touchStartHandler),this.interceptedClicks.forEach(t=>{t.target.dispatchEvent(new MouseEvent("click",{view:t.view,bubbles:!0,cancelable:!0}))})}_waitForPendingClicks(){return new Promise(t=>{this._isClickPending?this._pendingClickFinished=t:t()})}_pendingClickStarted(){this._isClickPending=!0}_pendingClickFinished(){this._isClickPending=!1}_renameDOMAttribute(t,e,r){t.hasAttribute&&t.hasAttribute(e)&&(event.target.setAttribute(r,event.target.getAttribute(e)),event.target.removeAttribute(e))}_triggerListener(){this._removeUserInteractionListener(this),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this._loadEverythingNow.bind(this)):this._loadEverythingNow()}_preconnect3rdParties(){let t=[];document.querySelectorAll("script[type=rocketlazyloadscript]").forEach(e=>{if(e.hasAttribute("src")){let r=new URL(e.src).origin;r!==location.origin&&t.push({src:r,crossOrigin:e.crossOrigin||"module"===e.getAttribute("data-rocket-type")})}}),t=[...new Map(t.map(t=>[JSON.stringify(t),t])).values()],this._batchInjectResourceHints(t,"preconnect")}
4async _loadEverythingNow(){this.lastBreath=Date.now(),this._delayEventListeners(this),this._delayJQueryReady(this),this._handleDocumentWrite(),this._registerAllDelayedScripts(),this._preloadAllScripts(),await this._loadScriptsFromList(this.delayedScripts.normal),await this._loadScriptsFromList(this.delayedScripts.defer),await this._loadScriptsFromList(this.delayedScripts.async);try{await this._triggerDOMContentLoaded(),await this._triggerWindowLoad()}catch(t){console.error(t)}window.dispatchEvent(new Event("rocket-allScriptsLoaded")),this._waitForPendingClicks().then(()=>{this._replayClicks()}),this._emptyTrash()}_registerAllDelayedScripts(){document.querySelectorAll("script[type=rocketlazyloadscript]").forEach(t=>{t.hasAttribute("data-rocket-src")?t.hasAttribute("async")&&!1!==t.async?this.delayedScripts.async.push(t):t.hasAttribute("defer")&&!1!==t.defer||"module"===t.getAttribute("data-rocket-type")?this.delayedScripts.defer.push(t):this.delayedScripts.normal.push(t):this.delayedScripts.normal.push(t)})}async _transformScript(t){return new Promise((await this._littleBreath(),navigator.userAgent.indexOf("Firefox/")>0||""===navigator.vendor)?e=>{let r=document.createElement("script");[...t.attributes].forEach(t=>{let e=t.nodeName;"type"!==e&&("data-rocket-type"===e&&(e="type"),"data-rocket-src"===e&&(e="src"),r.setAttribute(e,t.nodeValue))}),t.text&&(r.text=t.text),r.hasAttribute("src")?(r.addEventListener("load",e),r.addEventListener("error",e)):(r.text=t.text,e());try{t.parentNode.replaceChild(r,t)}catch(i){e()}}:async e=>{function r(){t.setAttribute("data-rocket-status","failed"),e()}try{let i=t.getAttribute("data-rocket-type"),n=t.getAttribute("data-rocket-src");t.text,i?(t.type=i,t.removeAttribute("data-rocket-type")):t.removeAttribute("type"),t.addEventListener("load",function r(){t.setAttribute("data-rocket-status","executed"),e()}),t.addEventListener("error",r),n?(t.removeAttribute("data-rocket-src"),t.src=n):t.src="data:text/javascript;base64,"+window.btoa(unescape(encodeURIComponent(t.text)))}catch(s){r()}})}async _loadScriptsFromList(t){let e=t.shift();return e&&e.isConnected?(await this._transformScript(e),this._loadScriptsFromList(t)):Promise.resolve()}_preloadAllScripts(){this._batchInjectResourceHints([...this.delayedScripts.normal,...this.delayedScripts.defer,...this.delayedScripts.async],"preload")}_batchInjectResourceHints(t,e){var r=document.createDocumentFragment();t.forEach(t=>{let i=t.getAttribute&&t.getAttribute("data-rocket-src")||t.src;if(i){let n=document.createElement("link");n.href=i,n.rel=e,"preconnect"!==e&&(n.as="script"),t.getAttribute&&"module"===t.getAttribute("data-rocket-type")&&(n.crossOrigin=!0),t.crossOrigin&&(n.crossOrigin=t.crossOrigin),t.integrity&&(n.integrity=t.integrity),r.appendChild(n),this.trash.push(n)}}),document.head.appendChild(r)}_delayEventListeners(t){let e={};function r(t,r){!function t(r){!e[r]&&(e[r]={originalFunctions:{add:r.addEventListener,remove:r.removeEventListener},eventsToRewrite:[]},r.addEventListener=function(){arguments[0]=i(arguments[0]),e[r].originalFunctions.add.apply(r,arguments)},r.removeEventListener=function(){arguments[0]=i(arguments[0]),e[r].originalFunctions.remove.apply(r,arguments)});function i(t){return e[r].eventsToRewrite.indexOf(t)>=0?"rocket-"+t:t}}(t),e[t].eventsToRewrite.push(r)}function i(t,e){let r=t[e];Object.defineProperty(t,e,{get:()=>r||function(){},set(i){t["rocket"+e]=r=i}})}r(document,"DOMContentLoaded"),r(window,"DOMContentLoaded"),r(window,"load"),r(window,"pageshow"),r(document,"readystatechange"),i(document,"onreadystatechange"),i(window,"onload"),i(window,"onpageshow")}_delayJQueryReady(t){let e;function r(r){if(r&&r.fn&&!t.allJQueries.includes(r)){r.fn.ready=r.fn.init.prototype.ready=function(e){return t.domReadyFired?e.bind(document)(r):document.addEventListener("rocket-DOMContentLoaded",()=>e.bind(document)(r)),r([])};let i=r.fn.on;r.fn.on=r.fn.init.prototype.on=function(){if(this[0]===window){function t(t){return t.split(" ").map(t=>"load"===t||0===t.indexOf("load.")?"rocket-jquery-load":t).join(" ")}"string"==typeof arguments[0]||arguments[0]instanceof String?arguments[0]=t(arguments[0]):"object"==typeof arguments[0]&&Object.keys(arguments[0]).forEac
4h(e=>{let r=arguments[0][e];delete arguments[0][e],arguments[0][t(e)]=r})}return i.apply(this,arguments),this},t.allJQueries.push(r)}e=r}r(window.jQuery),Object.defineProperty(window,"jQuery",{get:()=>e,set(t){r(t)}})}async _triggerDOMContentLoaded(){this.domReadyFired=!0,await this._littleBreath(),document.dispatchEvent(new Event("rocket-DOMContentLoaded")),await this._littleBreath(),window.dispatchEvent(new Event("rocket-DOMContentLoaded")),await this._littleBreath(),document.dispatchEvent(new Event("rocket-readystatechange")),await this._littleBreath(),document.rocketonreadystatechange&&document.rocketonreadystatechange()}async _triggerWindowLoad(){await this._littleBreath(),window.dispatchEvent(new Event("rocket-load")),await this._littleBreath(),window.rocketonload&&window.rocketonload(),await this._littleBreath(),this.allJQueries.forEach(t=>t(window).trigger("rocket-jquery-load")),await this._littleBreath();let t=new Event("rocket-pageshow");t.persisted=this.persisted,window.dispatchEvent(t),await this._littleBreath(),window.rocketonpageshow&&window.rocketonpageshow({persisted:this.persisted})}_handleDocumentWrite(){let t=new Map;document.write=document.writeln=function(e){let r=document.currentScript;r||console.error("WPRocket unable to document.write this: "+e);let i=document.createRange(),n=r.parentElement,s=t.get(r);void 0===s&&(s=r.nextSibling,t.set(r,s));let a=document.createDocumentFragment();i.setStart(a,0),a.appendChild(i.createContextualFragment(e)),n.insertBefore(a,s)}}async _littleBreath(){Date.now()-this.lastBreath>45&&(await this._requestAnimFrame(),this.lastBreath=Date.now())}async _requestAnimFrame(){return document.hidden?new Promise(t=>setTimeout(t)):new Promise(t=>requestAnimationFrame(t))}_emptyTrash(){this.trash.forEach(t=>t.remove())}static run(){let t=new RocketLazyLoadScripts;t._addUserInteractionListener(t)}}RocketLazyLoadScripts.run();</script>
4 5 6 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> 7 <meta name="google-site-verification" content="eSj6mpCAKpBm4fIzx4jbpXm6KtDJxGOjcJC--gvQ8mg" /> 8 <link rel="profile" href="https://gmpg.org/xfn/11"> 9 10 <!-- Google Tag Manager --> 11
11<script type="rocketlazyloadscript">
vendor: 611 bytes, lines 11-25
11 12 (function (w, d, s, l, i) { 13 w[l] = w[l] || []; 14 w[l].push({ 15 'gtm.start': new Date().getTime(), 16 event: 'gtm.js' 17 }); 18 var f = d.getElementsByTagName(s)[0], 19 j = d.createElement(s), 20 dl = l != 'dataLayer' ? '&l=' + l : ''; 21 j.async = true; 22 j.src = 23 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 24 f.parentNode.insertBefore(j, f); 25 })(window, document, 'script', 'dataLayer', '
25GTM-PBGKBBXT
vendor: 12 bytes, lines 25-26
25'); 26
26</script>
26 27 <!-- End Google Tag Manager --> 28 29 30 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 31 32 <!-- This site is optimized with the Yoast SEO plugin v28.6 - https://yoast.com/product/yoast-seo-wordpress/ --> 33 <title>à¸à¸²à¸à¹à¸à¹à¸² pgslot - pgslot77.art</title><link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Roboto%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CRoboto%20Slab%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&display=swap" /><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CRoboto%20Slab%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&display=swap" media="print" onload="this.media='all'" /><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CRoboto%20Slab%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&display=swap" /></noscript> 34 <link rel="canonical" href="https://pgslot77.art/enter-pgslot/" /> 35 <meta property="og:locale" content="th_TH" /> 36 <meta property="og:type" content="article" /> 37 <meta property="og:title" content="à¸à¸²à¸à¹à¸à¹à¸² pgslot - pgslot77.art" /> 38 <meta property="og:url" content="https://pgslot77.art/enter-pgslot/" /> 39 <meta property="og:site_name" content="pgslot77.art" /> 40 <meta property="article:modified_time" content="2026-09-07T03:04:28+00:00" /> 41 <meta name="twitter:card" content="summary_large_image" /> 42
42<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/pgslot77.art\/enter-pgslot\/","url":"https:\/\/pgslot77.art\/enter-pgslot\/","name":"à¸à¸²à¸à¹à¸à¹à¸² pgslot - pgslot77.art","isPartOf":{"@id":"https:\/\/pgslot77.art\/#website"},"datePublished":"2021-05-27T06:52:15+00:00","dateModified":"2026-09-07T03:04:28+00:00","breadcrumb":{"@id":"https:\/\/pgslot77.art\/enter-pgslot\/#breadcrumb"},"inLanguage":"th","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pgslot77.art\/enter-pgslot\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/pgslot77.art\/enter-pgslot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pgslot77.art\/"},{"@type":"ListItem","position":2,"name":"à¸à¸²à¸à¹à¸à¹à¸² pgslot"}]},{"@type":"WebSite","@id":"https:\/\/pgslot77.art\/#website","url":"https:\/\/pgslot77.art\/","name":"pgslot77.art","description":"สลà¹à¸à¸à¸à¸à¸à¹à¸¥à¸à¹ Pgslot","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pgslot77.art\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"th"}]}</script>
42 43 <!-- / Yoast SEO plugin. --> 44 45 46<link rel='dns-prefetch' href='//ajax.googleapis.com' /> 47<link rel='dns-prefetch' href='//cdnjs.cloudflare.com' /> 48<link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> 49<link href='https://fonts.gstatic.com' crossorigin rel='preconnect' /> 50<link rel="alternate" type="application/rss+xml" title="pgslot77.art » à¸à¸µà¸" href="https://pgslot77.art/feed/" /> 51<link rel="alternate" type="application/rss+xml" title="pgslot77.art » à¸à¸µà¸à¸à¸§à¸²à¸¡à¹à¸«à¹à¸" href="https://pgslot77.art/comments/feed/" /> 52<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://pgslot77.art/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpgslot77.art%2Fenter-pgslot%2F" /> 53<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://pgslot77.art/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpgslot77.art%2Fenter-pgslot%2F&format=xml" /> 54<style id="wp-img-auto-sizes-contain-inline-css"> 55img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 56/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 57</style> 58<link rel='stylesheet' id='formidable-css' href='https://pgslot77.art/wp-content/plugins/formidable/css/formidableforms.css?ver=910551' media='all' /> 59<style id="wp-emoji-styles-inline-css"> 60 61 img.wp-smiley, img.emoji { 62 display: inline !important; 63 border: none !important; 64 box-shadow: none !important; 65 height: 1em !important; 66 width: 1em !important; 67 margin: 0 0.07em !important; 68 vertical-align: -0.1em !important; 69 background: none !important; 70 padding: 0 !important; 71 } 72/*# sourceURL=wp-emoji-styles-inline-css */ 73</style> 74<style id="classic-theme-styles-inline-css"> 75/*! This file is auto-generated */ 76.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} 77/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 78</style> 79 80<style id="global-styles-inline-css"> 81: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%);
81--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);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 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;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.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;}
81.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;} 82/*# sourceURL=global-styles-inline-css */ 83</style> 84 85<link rel='stylesheet' id='seed-social-css' href='https://pgslot77.art/wp-content/plugins/seed-social/style.css?ver=2021.02' media='all' /> 86<link rel='stylesheet' id='gds-style-css' href='https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/style.css?ver=7.1.3' media='all' /> 87<link rel='stylesheet' id='main-style-css' href='https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/css/style.min.css?ver=7.1.3' media='all' /> 88<link rel='stylesheet' id='wow-style-css' href='https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/css/animate.css?ver=7.1.3' media='all' /> 89<link rel='stylesheet' id='lightslider-style-css' href='https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/vendor/light-slider/css/lightslider.min.css?ver=7.1.3' media='all' /> 90<link rel='stylesheet' id='swiper-style-css' href='https://cdn.jsdelivr.net/npm/swiper/swiper-bundle.min.css?ver=7.1.3' media='all' /> 91<link rel='stylesheet' id='elementor-frontend-css' href='https://pgslot77.art/wp-content/plugins/elementor/assets/css/frontend-lite.min.css?ver=3.21.8' media='all' /> 92<style id="elementor-frontend-inline-css"> 93@-webkit-keyframes ha_fadeIn{0%{opacity:0}to{opacity:1}}@keyframes ha_fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes ha_zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes ha_zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@-webkit-keyframes ha_rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1}}@keyframes ha_rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1}}@-webkit-keyframes ha_bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}40%,43%{-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1);-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05);-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translate3d(0,0,0) scaleY(.95);transform:translate3d(0,0,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes ha_bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}40%,43%{-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1);-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}70%{-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05);-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);
93-webkit-transform:translate3d(0,0,0) scaleY(.95);transform:translate3d(0,0,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@-webkit-keyframes ha_bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1}}@keyframes ha_bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1}}@-webkit-keyframes ha_flipInX{0%{opacity:0;-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{opacity:1;-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg)}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}}@keyframes ha_flipInX{0%{opacity:0;-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{opacity:1;-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg)}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}}@-webkit-keyframes ha_flipInY{0%{opacity:0;-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{opacity:1;-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg)}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}}@keyframes ha_flipInY{0%{opacity:0;-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{opacity:1;-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg)}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}}@-webkit-keyframes ha_swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);
93transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}}@keyframes ha_swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}}@-webkit-keyframes ha_slideInDown{0%{visibility:visible;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes ha_slideInDown{0%{visibility:visible;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes ha_slideInUp{0%{visibility:visible;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes ha_slideInUp{0%{visibility:visible;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes ha_slideInLeft{0%{visibility:visible;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes ha_slideInLeft{0%{visibility:visible;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@-webkit-keyframes ha_slideInRight{0%{visibility:visible;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes ha_slideInRight{0%{visibility:visible;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.ha_fadeIn{-webkit-animation-name:ha_fadeIn;animation-name:ha_fadeIn}.ha_zoomIn{-webkit-animation-name:ha_zoomIn;animation-name:ha_zoomIn}.ha_rollIn{-webkit-animation-name:ha_rollIn;animation-name:ha_rollIn}.ha_bounce{-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-name:ha_bounce;animation-name:ha_bounce}.ha_bounceIn{-webkit-animation-name:ha_bounceIn;animation-name:ha_bounceIn;-webkit-animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*.75);animation-duration:.75s;animation-duration:calc(var(--animate-duration)*.75)}.ha_flipInX,.ha_flipInY{-webkit-animation-name:ha_flipInX;animation-name:ha_flipInX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.ha_flipInY{-webkit-animation-name:ha_flipInY;animation-name:ha_flipInY}.ha_swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:ha_swing;animation-name:ha_swing}.ha_slideInDown{-webkit-animation-name:ha_slideInDown;animation-name:ha_slideInDown}.ha_slideInUp{-webkit-animation-name:ha_slideInUp;animation-name:ha_slideInUp}.ha_slideInLeft{-webkit-animation-name:ha_slideInLeft;animation-name:ha_slideInLeft}.ha_slideInRight{-webkit-animation-name:ha_slideInRight;animation-name:ha_slideInRight}.ha-css-transform-yes{-webkit-transition-duration:var(--ha-tfx-transition-duration, .2s);transition-duration:var(--ha-tfx-transition-duration, .2s);-webkit-transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transform:translate(var(--ha-tfx-translate-x, 0),var(--ha-tfx-translate-y, 0)) scale(var(--ha-tfx-scale-x, 1),var(--ha-tfx-scale-y, 1)) skew(var(--ha-tfx-skew-x, 0),var(--ha-tfx-skew-y, 0)) rotateX(var(--ha-tfx-rotate-x, 0)) rotateY(var(--ha-tfx-rotate-y, 0)) rotateZ(var(--ha-tfx-rotate-z, 0));transform:translate(var(--ha-tfx-translate-x, 0),var(--ha-tfx-translate-y, 0)) scale(var(--ha-tfx-scale-x, 1),var(--ha-tfx-scale-y, 1)) skew(var(--ha-tfx-skew-x, 0),var(--ha-tfx-skew-y, 0)) rotateX(var(--ha-tfx-rotate-x, 0)) rotateY(var(--ha-tfx-rotate-y, 0)) rotateZ(var(--ha-tfx-rotate-z, 0))}.ha-css-transform-yes:hover{-webkit-transform:translate(var(--ha-tfx-translate-x-hover, var(--ha-tfx-translate-x, 0)),var(--ha-tfx-translate-y-hover, var(--ha-tfx-translate-y, 0))) scale(var(--ha-tfx-scale-x-hover, var(--ha-tfx-scale-x, 1)),var(--ha-tfx-scale-y-hover, var(--ha-tfx-scale-y, 1))) skew(var(--ha-tfx-skew-x-hover, var(--ha-tfx-skew-x, 0)),var(--ha-tfx-skew-y-hover, var(--ha-tfx-skew-y, 0))) rotateX(var(--ha-tfx-rotate-x-hover, var(--ha-tfx-rotate-x, 0))) rotateY(var(--ha-tfx-rotate-y-hover, var(--ha-tfx-rotate-y, 0))) rotateZ(var(--ha-tfx-rotate-z-hover, var(--ha-tfx-rotate-z, 0)));transform:translate(var(--ha-tfx-translate-x-hover, var(--ha-tfx-translate-x, 0)),var(--ha-tfx-translate-y-hover, var(--ha-tfx-translate-y, 0))) scale(var(--ha-tfx-scale-x-hover, var(--ha-tfx-scale-x, 1)),var(--ha-tfx-scale-y-hover, var(--ha-tfx-scale-y, 1))) skew(var(--ha-tfx-skew-x-hover, var(--ha-tfx-skew-x, 0)),var(--ha-tfx-skew-y-hover, var(--ha-tfx-skew-y, 0))) rotateX(var(--ha-tfx-rotate-x-hover, var(--ha-tfx-rotate-x, 0))) rotateY(var(--ha-tfx-rotate-y-hover, var(--ha-tfx-rotate-y, 0))) rotateZ(var(--ha-tfx-rotate-z-hover, var(--ha-tfx-rotate-z, 0)))}.happy-addon>.elementor-widget-container{word-wrap:break-word;overflow-wrap:break-word}.happy-addon>.elementor-widget-container,.happy-addon>.elementor-widget-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.happy-addon p:empty{display:none}.happy-addon .elementor-inline-editing{min-height:auto!important}.happy-addon-pro img{max-width:100%;height:auto;-o-object-fit:cover;object-fit:cover}.ha-screen-reader-text{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);margin:-1px;padding:0;width:1px;height:1px;border:0;word-wrap:normal!important;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.ha-has-bg-overlay>.elementor-widget-container{position:relative;z-index:1}.ha-has-bg-overlay>.elementor-widget-container:before{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;content:""}.ha-popup--is-enabled .ha-js-popup,.ha-popup--is-enabled .ha-js-popup img{cursor:-webkit-zoom-in!important;cursor:zoom-in!important}.mfp-wrap .mfp-arrow,.mfp-wrap .mfp-close{background-color:transparent}.mfp-wrap .mfp-arrow:focus,.mfp-wrap .mfp-close:focus{outline-width:thin}.ha-advanced-tooltip-enable{position:relative;cursor:pointer;--ha-tooltip-arrow-color:black;--ha-tooltip-arrow-distance:0}.ha-advanced-tooltip-enable .ha-advanced-tooltip-content{position:absolute;z-index:999;display:none;padding:5px 0;width:120px;height:auto;border-radius:6px;background-color:#000;color:#fff;text-align:center;opacity:0}
93.ha-advanced-tooltip-enable .ha-advanced-tooltip-content::after{position:absolute;border-width:5px;border-style:solid;content:""}.ha-advanced-tooltip-enable .ha-advanced-tooltip-content.no-arrow::after{visibility:hidden}.ha-advanced-tooltip-enable .ha-advanced-tooltip-content.show{display:inline-block;opacity:1}.ha-advanced-tooltip-enable.ha-advanced-tooltip-top .ha-advanced-tooltip-content,body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-top .ha-advanced-tooltip-content{top:unset;right:0;bottom:calc(101% + var(--ha-tooltip-arrow-distance));left:0;margin:0 auto}.ha-advanced-tooltip-enable.ha-advanced-tooltip-top .ha-advanced-tooltip-content::after,body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-top .ha-advanced-tooltip-content::after{top:100%;right:unset;bottom:unset;left:50%;border-color:var(--ha-tooltip-arrow-color) transparent transparent transparent;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-advanced-tooltip-enable.ha-advanced-tooltip-bottom .ha-advanced-tooltip-content,body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-bottom .ha-advanced-tooltip-content{top:calc(101% + var(--ha-tooltip-arrow-distance));right:0;bottom:unset;left:0;margin:0 auto}.ha-advanced-tooltip-enable.ha-advanced-tooltip-bottom .ha-advanced-tooltip-content::after,body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-bottom .ha-advanced-tooltip-content::after{top:unset;right:unset;bottom:100%;left:50%;border-color:transparent transparent var(--ha-tooltip-arrow-color) transparent;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ha-advanced-tooltip-enable.ha-advanced-tooltip-left .ha-advanced-tooltip-content,body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-left .ha-advanced-tooltip-content{top:50%;right:calc(101% + var(--ha-tooltip-arrow-distance));bottom:unset;left:unset;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-advanced-tooltip-enable.ha-advanced-tooltip-left .ha-advanced-tooltip-content::after,body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-left .ha-advanced-tooltip-content::after{top:50%;right:unset;bottom:unset;left:100%;border-color:transparent transparent transparent var(--ha-tooltip-arrow-color);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-advanced-tooltip-enable.ha-advanced-tooltip-right .ha-advanced-tooltip-content,body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-right .ha-advanced-tooltip-content{top:50%;right:unset;bottom:unset;left:calc(101% + var(--ha-tooltip-arrow-distance));-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ha-advanced-tooltip-enable.ha-advanced-tooltip-right .ha-advanced-tooltip-content::after,body[data-elementor-device-mode=tablet] .ha-advanced-tooltip-enable.ha-advanced-tooltip-tablet-right .ha-advanced-tooltip-content::after{top:50%;right:100%;bottom:unset;left:unset;border-color:transparent var(--ha-tooltip-arrow-color) transparent transparent;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-top .ha-advanced-tooltip-content{top:unset;right:0;bottom:calc(101% + var(--ha-tooltip-arrow-distance));left:0;margin:0 auto}body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-top .ha-advanced-tooltip-content::after{top:100%;right:unset;bottom:unset;left:50%;border-color:var(--ha-tooltip-arrow-color) transparent transparent transparent;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-bottom .ha-advanced-tooltip-content{top:calc(101% + var(--ha-tooltip-arrow-distance));right:0;bottom:unset;left:0;margin:0 auto}body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-bottom .ha-advanced-tooltip-content::after{top:unset;right:unset;bottom:100%;left:50%;border-color:transparent transparent var(--ha-tooltip-arrow-color) transparent;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-left .ha-advanced-tooltip-content{top:50%;right:calc(101% + var(--ha-tooltip-arrow-distance));bottom:unset;left:unset;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-left .ha-advanced-tooltip-content::after{top:50%;right:unset;bottom:unset;left:100%;border-color:transparent transparent transparent var(--ha-tooltip-arrow-color);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-right .ha-advanced-tooltip-content{top:50%;right:unset;bottom:unset;left:calc(101% + var(--ha-tooltip-arrow-distance));-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}body[data-elementor-device-mode=mobile] .ha-advanced-tooltip-enable.ha-advanced-tooltip-mobile-right .ha-advanced-tooltip-content::after{top:50%;right:100%;bottom:unset;left:unset;border-color:transparent var(--ha-tooltip-arrow-color) transparent transparent;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}body.elementor-editor-active .happy-addon.ha-gravityforms .gform_wrapper{display:block!important}.ha-scroll-to-top-wrap.ha-scroll-to-top-hide{display:none}.ha-scroll-to-top-wrap.edit-mode,.ha-scroll-to-top-wrap.single-page-off{display:none!important}.ha-scroll-to-top-button{position:fixed;right:15px;bottom:15px;z-index:9999;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;
93-webkit-justify-content:center;justify-content:center;width:50px;height:50px;border-radius:50px;background-color:#5636d1;color:#fff;text-align:center;opacity:1;cursor:pointer;-webkit-transition:all .3s;transition:all .3s}.ha-scroll-to-top-button i{color:#fff;font-size:16px}.ha-scroll-to-top-button:hover{background-color:#e2498a} 94/*# sourceURL=elementor-frontend-inline-css */ 95</style> 96<link rel='stylesheet' id='swiper-css' href='https://pgslot77.art/wp-content/plugins/elementor/assets/lib/swiper/v8/css/swiper.min.css?ver=8.4.5' media='all' /> 97<link rel='stylesheet' id='elementor-post-4626-css' href='https://pgslot77.art/wp-content/uploads/elementor/css/post-4626.css?ver=1778328334' media='all' /> 98<link rel='stylesheet' id='font-awesome-css' href='https://pgslot77.art/wp-content/plugins/elementor/assets/lib/font-awesome/css/font-awesome.min.css?ver=4.7.0' media='all' /> 99<link rel='stylesheet' id='elementor-global-css' href='https://pgslot77.art/wp-content/uploads/elementor/css/global.css?ver=1778328337' media='all' /> 100<link rel='stylesheet' id='happy-icons-css' href='https://pgslot77.art/wp-content/plugins/happy-elementor-addons/assets/fonts/style.min.css?ver=3.11.0' media='all' /> 101 102<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin>
102<script type="rocketlazyloadscript" id=" jquery-js" data-rocket-src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js?ver=7.1.3"></script>
vendor: 1 bytes, line 102
102
103<script type="rocketlazyloadscript" id=" formload-js" data-rocket-src="https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.2.2/jquery.form.min.js?ver=7.1.3"></script>
vendor: 1 bytes, line 103
103
104<script type="rocketlazyloadscript" id="bootstrap-js" data-rocket-src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/js/bootstrap.bundle.min.js?ver=7.1.3"></script>
vendor: 1 bytes, line 104
104
105<script type="rocketlazyloadscript" id="lightslider-JS-js" data-rocket-src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/vendor/light-slider/js/lightslider.js?ver=7.1.3"></script>
vendor: 1 bytes, line 105
105
106<script type="rocketlazyloadscript" id="main-script-js" data-rocket-src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/js/script.js?ver=7.1.3"></script>
vendor: 1 bytes, line 106
106
107<script type="rocketlazyloadscript" id="swiper-js-js" data-rocket-src="https://cdn.jsdelivr.net/npm/swiper/swiper-bundle.min.js?ver=7.1.3"></script>
vendor: 1 bytes, line 107
107
108<script type="rocketlazyloadscript" id="wow-js-js" data-rocket-src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/js/wow.min.js?ver=7.1.3"></script>
vendor: 1 bytes, line 108
108
109<script type="rocketlazyloadscript" id="sweetalert2-js" data-rocket-src="https://cdn.jsdelivr.net/npm/sweetalert2@11?ver=7.1.3"></script>
vendor: 1 bytes, line 109
109
110<script type="rocketlazyloadscript" id="spark-md5-js" data-rocket-src="https://cdn.jsdelivr.net/npm/[email protected]/spark-md5.min.js?ver=7.1.3"></script>
vendor: 1 bytes, line 110
110
111<script type="rocketlazyloadscript" id="jquery-core-js" data-rocket-src="https://pgslot77.art/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 111
111
112<script type="rocketlazyloadscript" id="jquery-migrate-js" data-rocket-src="https://pgslot77.art/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
112 113<link rel="https://api.w.org/" href="https://pgslot77.art/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://pgslot77.art/wp-json/wp/v2/pages/69" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://pgslot77.art/xmlrpc.php?rsd" /> 114<meta name="generator" content="WordPress 7.1.3" /> 115<link rel='shortlink' href='https://pgslot77.art/?p=69' /> 116<meta property="og:url" content="https://pgslot77.art/enter-pgslot" /> 117 <meta property="og:type" content="article" /> 118 <meta property="og:title" content="à¸à¸²à¸à¹à¸à¹à¸² pgslot" /> 119 <meta property="og:description" content="" /> 120 <meta property="og:image" content="" />
120<script type="rocketlazyloadscript">document.documentElement.className += " js";</script>
120 121<meta name="generator" content="Elementor 3.21.8; features: e_optimized_assets_loading, e_optimized_css_loading, e_font_icon_svg, additional_custom_breakpoints, e_lazyload; settings: css_print_method-external, google_font-enabled, font_display-swap"> 122 <style> 123 .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload), 124 .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * { 125 background-image: none !important; 126 } 127 @media screen and (max-height: 1024px) { 128 .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload), 129 .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * { 130 background-image: none !important; 131 } 132 } 133 @media screen and (max-height: 640px) { 134 .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload), 135 .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * { 136 background-image: none !important; 137 } 138 } 139 </style> 140 <link rel="icon" href="https://pgslot77.art/wp-content/uploads/2021/05/favicon-pgslot77.png" sizes="32x32" /> 141<link rel="icon" href="https://pgslot77.art/wp-content/uploads/2021/05/favicon-pgslot77.png" sizes="192x192" /> 142<link rel="apple-touch-icon" href="https://pgslot77.art/wp-content/uploads/2021/05/favicon-pgslot77.png" /> 143<meta name="msapplication-TileImage" content="https://pgslot77.art/wp-content/uploads/2021/05/favicon-pgslot77.png" /> 144 </head> 145 146 147
147<script type="rocketlazyloadscript" data-rocket-type="text/javascript" data-rocket-src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js?ver=5.4.4"> 148</script>
vendor: 1 bytes, line 148
148
149<script type="rocketlazyloadscript" data-rocket-type="text/javascript" 150 data-rocket-src="https://cdnjs.cloudflare.com/ajax/libs/jquery.form/4.2.2/jquery.form.min.js?ver=5.4.4"></script>
150 151 152
152<script type="rocketlazyloadscript"> 153jQuery(document).ready(function($) { 154 155 $("#game1-wrap-login").click(function (e) { 156 e.stopPropagation(); 157 $('.form-login-cat-wrap').removeClass('show-form-login-wrap'); 158 $('.form-login-cat-wrap').addClass('show-form-login-wrap'); 159 $('.text-head-logo-popp').addClass('hide-logo-wrap'); 160 $('#game2-wrap-login').addClass('hide-logo-wrap'); 161 $('.back-select-logo-wrap').addClass('show-logo-back'); 162 $('#formapi-login').attr('action', 'https://pgslot77.slot-auto.com/?phone_number=phone_number&password=password'); 163 }); 164 $("#game2-wrap-login").click(function (e) { 165 e.stopPropagation(); 166 $('.form-login-cat-wrap').removeClass('show-form-login-wrap'); 167 $('.form-login-cat-wrap').addClass('show-form-login-wrap'); 168 $('.text-head-logo-popp').addClass('hide-logo-wrap'); 169 $('#game1-wrap-login').addClass('hide-logo-wrap'); 170 $('.back-select-logo-wrap').addClass('show-logo-back'); 171 $('#formapi-login').attr('action', 'https://game.pg77slot.com/?phone_number=phone_number&password=password'); 172 }); 173 174 175 $(".back-select-logo-wrap").click(function (e) { 176 e.stopPropagation(); 177 $('.form-login-cat-wrap').removeClass('show-form-login-wrap'); 178 $('#game1-wrap-login').removeClass('hide-logo-wrap'); 179 $('#game2-wrap-login').removeClass('hide-logo-wrap'); 180 $('.text-head-logo-popp').removeClass('hide-logo-wrap'); 181 $('.back-select-logo-wrap').removeClass('show-logo-back'); 182 $('#formapi-login').attr('action', 'https://pgslot77.slot-auto.com/?phone_number=phone_number&password=password'); 183 }); 184 185 186 187 $('#lightSlider').lightSlider({ 188 item: 4, 189 loop: true, 190 auto: true, 191 easing: 'cubic-bezier(0.25, 0, 0.25, 1)', 192 speed: 2000, 193 responsive: [{ 194 breakpoint: 800, 195 settings: { 196 item: 5, 197 slideMove: 1, 198 slideMargin: 6, 199 loop: true 200 } 201 }, 202 { 203 breakpoint: 480, 204 settings: { 205 item: 4, 206 slideMove: 1, 207 loop: true 208 } 209 } 210 ] 211 }); 212 213 214 var item_img_load 215 var i_img_load 216 var img_arr 217 var arr_img_load = $(".monitor-page-sp .list-upload-wrap") 218 var arr_count = 0 219 for (arr_count; arr_count < arr_img_load.length; arr_count++) { 220 img_arr = arr_img_load[arr_count].getElementsByTagName("input")[0].value.split(",") 221 i_img_load = 0 222 for (i_img_load; i_img_load < img_arr.length; i_img_load++) { 223 item_img_load = '<div class="item"><figure class="frame">' + 224 '<a href="' + img_arr[i_img_load] + '" target="_blank"><img src="' + img_arr[i_img_load] + 225 '"></a></figure></div>'; 226 $(".monitor-page-sp .list-upload-wrap .frm_file_container")[arr_count].insertAdjacentHTML( 227 'beforeend', item_img_load); 228 } 229 } 230 var term = 'à¹à¸à¸à¹à¸à¸£à¸à¸´à¸à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢à¹à¸¥à¹à¸§'; 231 $('.list-upload-wrap .status-ckeck').html(function () { 232 return $(this).html().replace(new RegExp(term + "(?=[^>]*<)", "ig"), 233 "<span class='green-txt-wrap'>$&</span>"); 234 }); 235 var term2 = 'ลูà¸à¸à¹à¸²à¸à¸³à¸à¸£à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¹à¸'; 236 $('.list-upload-wrap .status-ckeck').html(function () { 237 return $(this).html().replace(new RegExp(term2 + "(?=[^>]*<)", "ig"), 238 "<span class='green-txt-wrap'>$&</span>"); 239 }); 240 var term3 = 'ลูà¸à¸à¹à¸²à¸à¸³à¹à¸¡à¹à¸à¸£à¸à¸à¸²à¸¡à¹à¸à¸·à¹à¸à¸à¹à¸'; 241 $('.list-upload-wrap .status-ckeck').html(function () { 242 return $(this).html().replace(new RegExp(term3 + "(?=[^>]*<)", "ig"), 243 "<span class='red-txt-wrap'>$&</span>"); 244 }); 245 $('#upload_file').ajaxForm(function (data) { 246 if (data) { 247 $('#field_aecui').val(data); 248 } else { 249 alert('à¸à¸£à¸¸à¸à¸²à¸à¸±à¸à¹à¸«à¸¥à¸à¸£à¸¹à¸à¸ าà¸à¹à¸«à¹à¸à¸¹à¸à¸à¹à¸à¸'); 250 } 251 }); 252 $(".bttn-click-wrap").click(function () { 253 $('#random-cre').click(); 254 }); 255 256 257 258 259 260 261 262}); 263</script>
263 264 <style> 265 .button-fixed-r{ 266 z-index:999; 267 } 268 .seo-section .seo-section-item .box-seo-1 { 269 width: 100%; 270} 271 .seo-section .seo-section-item .box-seo-2 { 272 width: 100%; 273 padding: 1rem; 274} 275 #show-wrap-login{ 276 display:none; 277 } 278 .show-form-login-wrap{ 279 display:block !important; 280 } 281 .logo-popup{ 282 cursor: pointer; 283 } 284 .logo-popup img{ 285 filter: drop-shadow(0px 10px 5px rgba(0, 0, 0, 0.25)); 286 } 287 .logo-popup-sec{ 288 cursor: pointer; 289 } 290 .logo-popup-sec img{ 291 filter: drop-shadow(0px 10px 5px rgba(0, 0, 0, 0.25)); 292 } 293 294 .hide-logo-wrap{ 295 display:none; 296 } 297 .back-select-logo-wrap{ 298 color:#fff; 299 text-align:right; 300 display:none; 301 cursor: pointer; 302 font-size:1.4rem; 303 } 304 .show-logo-back{ 305 display:block !important; 306 } 307 .back-select-logo-wrap i{ 308 margin-right:10px; 309 } 310 .text-head-logo-popp{ 311 font-size:1.8rem; 312 text-shadow: 2px 2px 4px #000000; 313} 314.text-head-logo-poppsec{ 315 font-size:1.8rem; 316 text-shadow: 2px 2px 4px #000000; 317} 318.logo-popup { 319 padding:30px 15px; 320 position:relative; 321 z-index: 1; 322} 323.logo-popup.-opa:before { 324 position: absolute; 325 top: 15px; 326 right: 5px; 327 width: auto; 328 height: auto; 329 display: block; 330 content: 'HOT'; 331 background: red; 332 color: #fff; 333 font-size: 1.2rem; 334 display: inline-block; 335 z-index: -1; 336 padding: 1px 8px; 337 border-radius: 3px; 338 animation: opaaaa .3s infinite; 339} 340.logo-popup.-opa img{ 341 animation: rotatingimg .3s infinite; 342} 343@keyframes rotatingimg { 344 0% { 345 transform: translate(0%, 0%) rotate(0deg); 346 } 347 50% { 348 transform: translate(0%, -2%) rotate(5deg); 349 } 350 75% { 351 transform: translate(0%, -2%) rotate(-5deg); 352 } 353 100% { 354 transform: translate(0%, 0%) rotate(0deg); 355 } 356} 357.logo-popup-sec.-opa img{ 358 animation: rotatingimg .3s infinite; 359} 360.logo-popup-sec.-opa:before { 361 position: absolute; 362 top: 20px; 363 right: 5px; 364 width: auto; 365 height: auto; 366 display: block; 367 content: 'HOT'; 368 background: red; 369 color: #fff; 370 font-size: 1.3rem; 371 display: inline-block; 372 z-index: -1; 373 padding: 1px 8px; 374 border-radius: 3px; 375 animation: opaaaa .3s infinite; 376} 377@keyframes opaaaa { 378 0% { opacity: 0; } 379 100% { opacity: 1; } 380} 381 382.logo-popup-sec { 383 margin: 0 20px; 384 position:relative; 385 z-index: 1; 386} 387 388 389 .modal-body.-login { 390 padding: 2rem; 391 } 392 393 .modal-body.-login .logo-popup { 394 width: 50%; 395 } 396 .modal-body.-login .logo-popup img { 397 width: 100%; 398 height: auto; 399 display: block; 400 margin: 0 auto; 401 } 402 .modal-body.-login .logo-popup-sec img { 403 width: 100%; 404 height: auto; 405 display: block; 406 margin: 0 auto; 407 } 408 409 .modal-body.-login label { 410 color: #fff; 411 font-size:1.5rem; 412 } 413 414 .modal-body.-login input { 415 font-weight: 500; 416 font-size: 1.5rem; 417 } 418 419 .modal-body.-login .btn-primary { 420 margin: 30px auto; 421 padding: 3px 60px; 422 display: block; 423 font-size: 1.6rem; 424 border-radius: 30px; 425 background: linear-gradient(180deg, #ac0000 0%, #f47200 100%); 426 border: 5px solid #ffe2ae; 427 } 428 .modal-content.-login{ 429 background: #910000; 430 border:4px solid #ffdc7a; 431 border-radius:20px; 432} 433 @media only screen and (max-width: 600px) { 434 .bg-mobile{ 435 display:block !important; 436 position:fixed; 437 top: 0; 438 } 439 .bg-mobile img{ 440 width:100%; 441 height:100vh; 442 } 443 .modal-body.-login { 444 padding: 1rem; 445} 446 .logo-popup { 447 padding: 30px 10px; 448 } 449 .text-head-logo-popp { 450 font-size: 1.6rem; 451} 452 .modal-body.-login label { 453 font-size: 1.4rem; 454} 455 .modal-body.-login .btn-primary { 456 font-size: 1.4rem; 457 border: 3px solid #ffe2ae; 458} 459 .modal-body.-login input { 460 font-size: 1.4rem; 461} 462 463 } 464 </style> 465 466 <body class="wp-singular page-template page-template-page-templates page-template-enter-pgslot page-template-page-templatesenter-pgslot-php page page-id-69 wp-theme-Theme-re-pgslot77 elementor-default elementor-kit-4626 elementor-page elementor-page-69" > 467 468<!-- <body class="wp-singular page-template page-template-page-templates page-template-enter-pgslot page-template-page-templatesenter-pgslot-php page page-id-69 wp-theme-Theme-re-pgslot77 elementor-default elementor-kit-4626 elementor-page elementor-page-69" style="background-image: url(https://pgslot77.art/wp-content/uploads/2023/10/PGSLOT77-à¸à¸£à¸µà¸¡à¸®à¸±à¸¥à¹à¸¥à¸§à¸µà¸.jpg); 469 background-size: 100% 100%; 470 background-attachment: fixed;"> --> 471 472 473 <!-- Google Tag Manager (noscript) -->
vendor: 72 bytes, lines 473-474
473 474 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
474GTM-PBGKBBXT
vendor: 99 bytes, lines 474-476
474" height="0" width="0" 475 style="display:none;visibility:hidden"></iframe></noscript> 476
476<!-- End Google Tag Manager (noscript) --> 477 478 479 480 481 482 483 484<!-- <div class="bg-mobile d-none"> 485 <img src="https://pgslot77.art/wp-content/uploads/2023/10/PGSLOT77-à¸à¸£à¸µà¸¡à¸®à¸±à¸¥à¹à¸¥à¸§à¸µà¸-bg.jpg" > 486 </div> --> 487 488<!-- <div class="nav-aba-wrap bg-black"> 489 <div class="item-pc"> 490 <div class="game-aba-item w-100 d-flex flex-wrap align-items-center justify-content-around"> 491 </div> 492 </div> 493 494 <div class="item-mobile"> 495 <div class="container"> 496 <div class="head-brand-flex w-100 d-flex align-items-center"> 497 <div id="responsive-brand" class="brand-mobile" style="padding-left:15px;"> 498 499 </div> 500 </div> 501 </div> 502 </div> 503 </div> --> 504 505 <div class="modal fade" id="exampleModal2222" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 506 aria-hidden="true"> 507 <div class="modal-dialog modal-dialog-centered" role="document"> 508 <div class="modal-content -login"> 509 <div class="modal-body -login"> 510 <div class="back-select-logo-wrap"> 511 <i class="fas fa-long-arrow-left"></i>ยà¹à¸à¸à¸à¸¥à¸±à¸ 512 </div> 513 <div class="wrap-flex-logo-pop w-100 d-flex flex-wrap align-items-center justify-content-center"> 514 <p class="text-head-logo-popp w-100 text-center" style="color:#fff;">à¸à¸£à¸¸à¸à¸²à¹à¸¥à¸·à¸à¸à¹à¸§à¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</p> 515 <div class="logo-popup" href="https://pgslot77.slot-auto.com/login"> 516 <img src="https://pgslot77.art/wp-content/uploads/2022/11/pg771.png" 517 alt=""> 518 </div> 519<!-- <div class="logo-popup -opa" id="game2-wrap-login"> 520 <img src="https://pgslot77.com/wp-content/uploads/2022/11/pg772.png" 521 alt=""> 522 </div> --> 523 </div> 524 <div class="form-login-cat-wrap" id="show-wrap-login"> 525 <form action="https://pgslot77.slot-auto.com/?phone_number=phone_number&password=password" 526 method="get" id="formapi-login"> 527 <div class="form-group"> 528 <label for="phonenumber">à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹</label> 529 <input type="tel" class="form-control" name="phone_number" placeholder="à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹" 530 id="phonelogin"> 531 </div> 532 <div class="form-group"> 533 <label for="password">à¸à¸£à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸</label> 534 <input type="password" class="form-control" name="password" placeholder="à¸à¸£à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸" 535 id="passlogin"> 536 </div> 537 <button type="submit" class="btn btn-primary button-login" 538 id="loginbtnmain">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</button> 539 </form> 540 </div> 541 </div> 542 </div> 543 </div> 544 </div> 545 546 547 <div class="modal fade" id="exampleModal3333" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" 548 aria-hidden="true"> 549 <div class="modal-dialog modal-dialog-centered" role="document"> 550 <div class="modal-content -login"> 551 <div class="modal-body -login"> 552 553 <div class="wrap-flex-logo-pop w-100 d-flex flex-wrap align-items-center justify-content-center"> 554 <p class="text-head-logo-popp w-100 text-center" style="color:#fff;">à¸à¸£à¸¸à¸à¸²à¹à¸¥à¸·à¸à¸à¹à¸§à¹à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸</p> 555 <div class="logo-popup"> 556 <a href="https://pgslot77.slot-auto.com/register" target="_blank"> 557 <img src="https://pgslot77.art/wp-content/uploads/2022/11/pg771.png" 558 alt=""> 559 </a> 560 </div> 561<!-- <div class="logo-popup -opa"> 562 <a href="https://game.pg77slot.com/register" target="_blank"> 563 <img src="https://pgslot77.com/wp-content/uploads/2022/11/pg772.png" 564 alt=""> 565 </a> 566 </div> --> 567 </div> 568 </div> 569 </div> 570 </div> 571 </div> 572 573<!-- <div class="bg-head" style="background-image:none;"> --> 574 <div class="bg-head"> 575 576 <nav class="main-nav"> 577 <div class="container"> 578 <div class="nav-item d-flex justify-content-center align-items-center"> 579 <ul class="main-menu"> 580 <li><a href="https://pgslot77.art"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/index-menu.png" alt=""></a></li> 581 <li><a href="#" onclick="ModalRegister.open(); return false;"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/register-menu.png" alt=""></a></li> 582 <li><a href="#" onclick="ModalLogin.open(); return false;"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/login-menu.png" alt=""></a></li> 583 <li><a href="https://pgslot77.art/promotion/"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/promotion-menu.png" alt=""></a></li> 584 <li><a href="https://pgslot77.art/roadmap/"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/roadmap-menu.png" alt=""></a></li> 585 </ul> 586 <figure class="main-logo"> 587 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/logo-pgslot77-main.png"> 588 </figure> 589 <ul class="main-menu-1"> 590 <li><a href="https://pgslot77.art/guide/"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/guide-menu.png" alt=""></a></li> 591 <li><a href="https://pgslot77.art/enter-pgslot/"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/enter-menu.png" alt="à¸à¸²à¸à¹à¸à¹à¸² pg slot"></a></li> 592 <li><a href="https://cutt.ly/wcpg77"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/contact-menu.png" alt=""></a></li> 593 <li><a href="https://pgslot77.art/category/slot/"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/article-menu.png" alt="pg สลà¹à¸à¸"></a></li> 594<!-- <li><a href="https://www.movie87hd.com/"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/movie-menu.png" alt=""></a></li> --> 595 <li><a href="https://pgslot77.art/activity/"><img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/menu/activity-menu.png" alt="à¸à¸´à¸à¸à¸£à¸£à¸¡"></a></li> 596 </ul> 597 </div> 598 <div class="interract-button"> 599 <div class="interract-button-item d-flex align-items-center justify-content-center"> 600 <div class="box-interract-button"> 601 <a data-toggle="modal" data-target="#RoadmapModal"> 602 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/gold-head.png"> 603 </a> 604 </div> 605 <div class="box-interract-button"> 606 <a href="https://cutt.ly/frp77" target="_blank"> 607 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/creditfree-head.png"> 608 </a> 609 </div> 610 </div> 611 </div> 612 </div> 613 </nav> 614 615 616 617 618 <nav class="main-nav-mobile"> 619 <div class="container"> 620 <div class="nav-item-mobile d-flex align-items-center justify-content-between"> 621 <figure class="ham"> 622 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/Ham.png"> 623 </figure> 624 <figure class="main-logo-mobile"> 625 <a href="https://pgslot77.art"> 626 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/logo-pgslot77-main.png"> 627 </a> 628 </figure> 629 <figure class="main-line"> 630 <a href="https://cutt.ly/wcpg77"> 631 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/Line-1.png"> 632 </a> 633 </figure> 634 </div> 635 </div> 636 <div class="interract-button-mobile"> 637 <div class="interract-button-item-mobile d-flex align-items-center justify-content-center"> 638 <div class="box-interract-button-mobile"> 639 <a data-toggle="modal" data-target="#RoadmapModal"> 640 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/gold-head.png"> 641 </a> 642 </div> 643 <div class="box-interract-button-mobile"> 644 <a href="https://cutt.ly/frp77"> 645 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/creditfree-head.png"> 646 </a> 647 </div> 648 </div> 649 </div> 650 </nav> 651 652 653 654 655 <!-- Nav-Mobile --> 656 <div class="nav-mobile-box"> 657 <div class="mobile-wrap-menu"> 658 <ul class="menu-mobile"> 659 <li><a href="https://pgslot77.art">หà¸à¹à¸²à¹à¸£à¸</a></li> 660<!-- <li><a data-toggle="modal" data-target="#exampleModal3333" style="cursor:pointer;">สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸</a></li> --> 661<!-- <li><a data-toggle="modal" data-target="#exampleModal2222" style="cursor:pointer;">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</a></li> --> 662 <li><a href="#" onclick="ModalRegister.open(); return false;">สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸</a></li> 663 <li><a href="#" onclick="ModalLogin.open(); return false;">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</a></li> 664 <li><a href="https://pgslot77.art/promotion/">à¹à¸à¸£à¹à¸¡à¸à¸±à¹à¸à¹à¸¥à¸°à¸à¸´à¸à¸à¸£à¸£à¸¡</a></li> 665 <li><a href="https://pgslot77.art/download/">à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸</a></li> 666 <li><a href="https://pgslot77.art/guide/">à¸à¸¹à¹à¸¡à¸·à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸</a></li> 667 <li><a href="https://pgslot77.art/enter-pgslot/">à¸à¸²à¸à¹à¸à¹à¸² PGSLOT</a></li> 668 <li><a href="https://pgslot77.art/category/slot/">Slot</a></li> 669 <li><a href="https://cutt.ly/wcpg77">à¸à¸´à¸à¸à¹à¸à¹à¸£à¸²</a></li> 670 <li><a href="https://pgslot77.art/activity/">à¸à¸´à¸à¸à¸£à¸£à¸¡</a></li> 671 <li><a href="https://www.movie87hd.com/">à¸à¸¹à¸«à¸à¸±à¸à¸à¸à¸à¹à¸¥à¸à¹</a></li> 672 </ul> 673 </div> 674 </div> 675 <!-- End Nav-Mobile --> 676 677 </div> 678 679 680 <!-- Modal Roadmap --> 681 <div class="modal fade" id="RoadmapModal" tabindex="-1" role="dialog" aria-labelledby="RoadmapModalLabel" 682 aria-hidden="true"> 683 <div class="modal-dialog modal-dialog-centered" role="document"> 684 <div class="modal-content"> 685 <div class="modal-body"> 686 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
687 <span aria-hidden="true">X</span> 688 </button> 689 <div class="box-code-free"> 690 <figure class="thumb"> 691 <img src="https://pgslot77.art/wp-content/uploads/2026/04/Dream-PGslot77-Roadmap-17-4-69.jpg" alt=""> 692 </figure> 693 <div class="box-desc-code-free"> 694 <p class="p2"><b>ROAD MAP à¸à¸²à¸à¸°à¸¥à¸¸à¸¢à¸ªà¸°à¸ªà¸¡à¸à¸à¸ </b>ðª<b><br /> 695à¹à¸à¸ 8 à¸à¹à¸²à¸ à¸à¹à¸²à¸à¸¥à¸° 7 à¸à¸à¸<br /> 696สะสมà¹à¸§à¹à¸«à¸¡à¸¸à¸à¸à¸à¸¥à¹à¸à¸¥à¸¸à¹à¸à¸£à¸±à¸à¹à¸à¸´à¸à¸ªà¸à¹à¸¥à¸°à¸à¸à¸à¸à¸³à¸à¸£à¸µ!</b><b></b></p> 697<p class="p2">ð¹à¸à¹à¸²à¸à¸à¸µà¹ 1 Add line หลัภ(à¸à¹à¸à¸à¸£à¸±à¸)<br /> 698<a href="https://cutt.ly/wcpg77">https://cutt.ly/wcpg77</a></p> 699<p class="p2">ð¹à¸à¹à¸²à¸à¸à¸µà¹ 2 Add line สำรà¸à¸<br /> 700<a href="https://cutt.ly/frp77">https://cutt.ly/frp77</a></p> 701<p class="p2">à¸à¹à¸²à¸à¸à¸µà¹3 à¸à¸à¸à¸´à¸à¸à¸²à¸¡ Threads<br /> 702<a href="https://cutt.ly/threadspg77">https://cutt.ly/threadspg77</a></p> 703<p class="p2">ð¹à¸à¹à¸²à¸à¸à¸µà¹ 4 à¸à¸à¹à¸¥à¸à¹ à¸à¸à¸à¸´à¸à¸à¸²à¸¡ à¸à¸±à¸ Inbox à¹à¸à¸<br /> 704<a href="https://cutt.ly/facebookpg77">https://cutt.ly/facebookpg77</a></p> 705<p class="p2">ð¹à¸à¹à¸²à¸à¸à¸µà¹ 5 à¹à¸à¹à¸²à¸à¸¥à¸¸à¹à¸¡à¸¥à¸±à¸ Telegram<br /> 706<a href="https://cutt.ly/telepg77">https://cutt.ly/telepg77</a></p> 707<p class="p2">ð¹à¸à¹à¸²à¸à¸à¸µà¹ 6 à¸à¸´à¸à¸à¸²à¸¡ TIKTOK à¸à¸¹à¸à¸¥à¸´à¸à¸£à¸±à¸à¹à¸à¹à¸</p> 708<p><a href="https://cutt.ly/tiktokpg77">https://cutt.ly/tiktokpg77</a></p> 709<p class="p2"><span class="s2">ð¹</span><span class="s3">à¸à¹à¸²à¸à¸à¸µà¹</span> 7 <span class="s3">à¸à¸à¸à¸´à¸à¸à¸²à¸¡</span> X<br /> 710<a href="https://cutt.ly/Xxpgx77">https://cutt.ly/Xxpgx77</a></p> 711<p><span class="s2">ð¹</span><span class="s3">à¸à¹à¸²à¸à¸à¸µà¹</span> 8 <span class="s3">à¸à¸à¸à¸´à¸à¸à¸²à¸¡</span> instagram<br /> 712<a href="https://cutt.ly/igps77">https://cutt.ly/igps77</a></p> 713 </div> 714 </div> 715 </div> 716 </div> 717 </div> 718 </div> 719 720 721 722 723 724 725 726 727 <div class="menu-bottom"> 728 <div class="menu-bottom-item d-flex justify-content-center align-items-center"> 729 <div class="box-menu-bottom"> 730 <a href="#" onclick="ModalLogin.open(); return false;"> 731 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/Button 2-3.png"> 732 </a> 733 </div> 734 <div class="box-menu-bottom"> 735 <a href="https://pgslot77.art/promotion/"> 736 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/Button 2-4.png"> 737 </a> 738 </div> 739 <div class="box-menu-bottom"> 740 <a href="#" onclick="ModalRegister.open(); return false;"> 741 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/Button 2-1.gif"> 742 </a> 743 </div> 744 <div class="box-menu-bottom"> 745 <a href="https://pgslot77.art/download/"> 746 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/Button 2-5.png"> 747 </a> 748 </div> 749 <div class="box-menu-bottom"> 750 <a href="https://cutt.ly/wcpg77"> 751 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/Button 2-6.png"> 752 </a> 753 </div> 754 </div> 755 </div> 756 757 758 759<!-- ============================================================ 760 MODAL REGISTER â CSS (Scoped · à¹à¸¡à¹à¸à¸±à¸ CSS à¸à¸à¸ project à¸à¸¥à¸²à¸¢à¸à¸²à¸) 761 à¸à¸¸à¸ rule à¸à¸¹à¸ scope à¸à¹à¸§à¸¢ #modal-register 762 ============================================================ --> 763<style> 764 /* ===== RESET & BOX MODEL ===== */ 765 #modal-register *,
766 #modal-register *::before, 767 #modal-register *::after { 768 box-sizing: border-box; 769 } 770 771 /* ===== THEME â à¹à¸à¹à¸ªà¸µà¸à¸¸à¹à¸¡/à¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸ modal à¸à¸µà¹à¸à¸µà¹à¸à¸µà¹à¹à¸à¸µà¸¢à¸§ ===== */ 772 #modal-register, 773 #mr-modal-rules, 774 #mr-modal-success { 775 --mr-primary: #ff5600; 776 /* สีà¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¸à¸¸à¹à¸¡à¸«à¸¥à¸±à¸ */ 777 --mr-btn-text: #ffffff; 778 /* สีà¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸à¸à¸¸à¹à¸¡ */ 779 --mr-btn-back: #c20000; 780 /* สีà¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¸à¸¸à¹à¸¡à¸¢à¹à¸à¸à¸à¸¥à¸±à¸ */ 781 --mr-btn-back-text: #ffffff; 782 /* สีà¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸à¸à¸¸à¹à¸¡à¸¢à¹à¸à¸à¸à¸¥à¸±à¸ */ 783 --mr-text-main: #ffffff; 784 /* à¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸à¸à¸±à¹à¸§à¹à¸à¹à¸ modal */ 785 --mr-text-accent: #ff5600; 786 /* ลิà¸à¸à¹ / à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸ */ 787 --mr-step-icon: #ffffff; 788 /* สี icon step progress (วà¸à¸à¸¥à¸¡à¸à¹à¸²à¸à¸à¸) */ 789 --mr-modal-bg: #000000b8; 790 /* à¸à¸·à¹à¸à¸«à¸¥à¸±à¸ modal */ 791 --mr-modal-border: #ff5600; 792 /* à¸à¸à¸ modal */ 793 --mr-close: #e50b00; 794 /* à¸à¸¸à¹à¸¡à¸à¸´à¸ (X) */ 795 --mr-error: #ef4444; 796 /* à¸à¹à¸à¸à¸§à¸²à¸¡ error */ 797 --mr-input-text: #ffffff; 798 /* à¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸à¹à¸ input */ 799 --mr-input-placeholder: #ffffff; 800 /* placeholder */ 801 --mr-input-border: #a5a5a58c; 802 /* à¸à¸à¸ input */ 803 --mr-font: "Prompt", sans-serif; 804 --mr-bg-input: rgba(0, 0, 0, .56); 805 --mr-bg-dark: rgb(0, 0, 0); 806 } 807 808 /* ===== FONT ===== */ 809 #modal-register { 810 font-family: var(--mr-font); 811 font-size: 16px; 812 } 813 814 /* ===== BASE ELEMENTS ===== */ 815 #modal-register p { 816 margin: 0; 817 font-size: 16px; 818 } 819 820 #modal-register h1 { 821 font-size: 32px; 822 font-weight: 600; 823 margin-bottom: 1rem; 824 } 825 826 #modal-register h5, 827 #modal-register h6 { 828 font-weight: 600; 829 } 830 831 #modal-register figure { 832 margin: 0; 833 } 834 835 #modal-register a { 836 text-decoration: none !important; 837 font-size: 16px; 838 font-weight: 400; 839 color: var(--mr-text-accent); 840 } 841 842 #modal-register :where(p, a, span, h1, h2, h3, h4, h5, h6) { 843 font-weight: 500; 844 } 845 846 /* ===== CLOSE BUTTON ===== */ 847 #modal-register .modal-header .close span, 848 #modal-register .modal-header .close i { 849 color: var(--mr-close) !important; 850 } 851 852 /* ===== BOOTSTRAP MODAL CONTENT DARK THEME ===== */ 853 #modal-register .modal-content, 854 #mr-modal-rules .modal-content, 855 #mr-modal-success .modal-content { 856 background: var(--mr-modal-bg); 857 border: 2px solid var(--mr-modal-border); 858 border-radius: 16px; 859 color: var(--mr-text-main); 860 font-family: var(--mr-font); 861 } 862 863 #modal-register .modal-body { 864 padding: 1rem 1.5rem 2rem; 865 overflow-y: auto; 866 -webkit-overflow-scrolling: touch; 867 } 868 869 /* ===== LAYOUT ===== */ 870 #modal-register .form-layout { 871 display: flex; 872 justify-content: center; 873 } 874 875 #modal-register .from-register { 876 width: 100%; 877 margin: auto; 878 } 879 880 #modal-register .logo { 881 width: clamp(200px, 40vw, 400px); 882 margin: 0 auto; 883 } 884 885 #modal-register .logo img { 886 width: 100%; 887 height: auto; 888 } 889 890 #modal-register .form { 891 margin: 0 auto; 892 color: var(--mr-text-main); 893 } 894 895 /* ===== INPUTS ===== */ 896 #modal-register input { 897 width: 100%; 898 padding: 10px; 899 border-radius: 100px; 900 border: 1px solid var(--mr-input-border); 901 background-color: var(--mr-bg-input); 902 color: var(--mr-input-text); 903 font-family: var(--mr-font); 904 font-size: 16px; 905 } 906 907 #modal-register input:focus-visible { 908 outline: none; 909 } 910 911 #modal-register input:focus { 912 outline: none; 913 } 914 915 #modal-register ::placeholder { 916 color: var(--mr-input-placeholder); 917 opacity: 1; 918 } 919 920 /* ===== BUTTONS ===== */ 921 #modal-register .btn-text-one, 922 #mr-modal-success .btn-text-one { 923 color: var(--mr-btn-text); 924 } 925 926 #modal-register .btn-next, 927 #modal-register .btn-forget { 928 width: 100%; 929 padding: 10px; 930 border-radius: 100px; 931 border: 1px solid rgba(0, 0, 0, .56); 932 background: var(--mr-primary); 933 color: var(--mr-btn-text); 934 margin-bottom: 10px; 935 cursor: pointer; 936 font-family: var(--mr-font); 937 font-size: 16px; 938 } 939
940 #modal-register .btn-next { 941 margin: 1rem 0; 942 } 943 944 #modal-register .btn-primary { 945 background: var(--mr-primary); 946 color: var(--mr-btn-text); 947 border: none; 948 border-radius: 100px; 949 width: 50%; 950 padding: 10px; 951 font-weight: 600; 952 cursor: pointer; 953 font-family: var(--mr-font); 954 font-size: 16px; 955 position: relative; 956 } 957 958 #modal-register .btn-primary:hover, 959 #modal-register .btn-primary:focus { 960 background: var(--mr-primary) !important; 961 color: var(--mr-btn-text); 962 } 963 964 #modal-register .btn-primary.disabled, 965 #modal-register .btn-primary:disabled { 966 background: var(--mr-primary) !important; 967 color: var(--mr-btn-text); 968 cursor: not-allowed; 969 } 970 971 #modal-register .btn-primary.disabled::after, 972 #modal-register .btn-primary:disabled::after { 973 content: ""; 974 position: absolute; 975 inset: 0; 976 background-color: var(--mr-bg-dark); 977 opacity: 0.3; 978 border-radius: 100px; 979 } 980 981 #modal-register button[disabled] { 982 background-color: var(--mr-primary) !important; 983 cursor: not-allowed; 984 border: none; 985 color: var(--mr-btn-text); 986 position: relative; 987 } 988 989 #modal-register button[disabled]::after { 990 content: ""; 991 position: absolute; 992 inset: 0; 993 background-color: var(--mr-bg-dark); 994 opacity: 0.5; 995 z-index: 1; 996 border-radius: 100px; 997 } 998 999 #modal-register .btn-back { 1000 background: var(--mr-btn-back); 1001 color: var(--mr-btn-back-text); 1002 border: none; 1003 border-radius: 100px; 1004 width: 50%; 1005 padding: 10px; 1006 font-weight: 600; 1007 cursor: pointer; 1008 font-family: var(--mr-font); 1009 font-size: 16px; 1010 } 1011 1012 #modal-register .btn-login { 1013 width: 100%; 1014 padding: 10px; 1015 border-radius: 100px; 1016 border: 1px solid rgba(0, 0, 0, .56); 1017 background: var(--mr-primary); 1018 color: var(--mr-btn-text); 1019 margin-bottom: 10px; 1020 cursor: pointer; 1021 font-family: var(--mr-font); 1022 font-size: 16px; 1023 } 1024 1025 /* ===== STEPS / PROGRESS ===== */ 1026 #modal-register .progress-container { 1027 position: relative; 1028 display: flex; 1029 justify-content: space-between; 1030 align-items: center; 1031 max-width: 600px; 1032 margin: 40px auto; 1033 } 1034 1035 #modal-register .progress-line { 1036 position: absolute; 1037 top: 16px; 1038 left: 15%; 1039 width: 70%; 1040 height: 7px; 1041 background: rgba(255, 255, 255, .3); 1042 z-index: 0; 1043 } 1044 1045 #modal-register .progress-bar { 1046 height: 100%; 1047 width: 0%; 1048 background: var(--mr-primary); 1049 transition: width 0.3s ease; 1050 } 1051 1052 #modal-register .step-item { 1053 display: flex; 1054 flex-direction: column; 1055 align-items: center; 1056 flex: 1; 1057 z-index: 1; 1058 } 1059 1060 #modal-register .circle { 1061 width: 40px; 1062 height: 40px; 1063 border-radius: 50%; 1064 background: var(--mr-primary); 1065 color: var(--mr-step-icon); 1066 display: flex; 1067 align-items: center; 1068 justify-content: center; 1069 font-weight: bold; 1070 margin-bottom: 8px; 1071 } 1072 1073 #modal-register .circle .icon { 1074 display: flex; 1075 align-items: center; 1076 justify-content: center; 1077 line-height: 1; 1078 color: var(--mr-step-icon); 1079 } 1080 1081 #modal-register .circle .icon svg, 1082 #modal-register .circle .icon img { 1083 display: block; 1084 } 1085 1086 /* #modal-register .circle .icon svg path, 1087 #modal-register .circle .icon svg g path { 1088 fill: currentColor; 1089 } */ 1090 1091 #modal-register .circle .icon svg path[stroke] { 1092 stroke: currentColor; 1093 } 1094 1095 #modal-register .step-item.active-progress .circle, 1096 #modal-register .step-item.done .circle { 1097 background: var(--mr-primary); 1098 color: var(--mr-step-icon); 1099 } 1100 1101 #modal-register .step-item.active-progress .circle .icon, 1102 #modal-register .step-item.done .circle .icon { 1103 color: var(--mr-step-icon); 1104 } 1105 1106 #modal-register .step-item p { 1107 font-size: 16px; 1108 margin: 0; 1109 color: var(--mr-text-accent); 1110 } 1111 1112 #modal-register .step { 1113 display: none; 1114 } 1115 1116 #modal-register .step.active { 1117 display: block; 1118 } 1119 1120 /* ===== FORM FIELDS ===== */ 1121 #modal-register .error { 1122 color: var(--mr-error); 1123 font-size: 14px; 1124 margin-top: 4px; 1125 } 1126 1127 #modal-register .phone-number, 1128 #modal-register .password { 1129 margin-top: 1rem; 1130 } 1131
1132 #modal-register .password-container { 1133 margin-top: 1rem; 1134 } 1135 1136 #modal-register .password-wrapper { 1137 position: relative; 1138 } 1139 1140 #modal-register .toggle-button { 1141 position: absolute; 1142 top: 50%; 1143 right: 10px; 1144 transform: translateY(-50%); 1145 cursor: pointer; 1146 color: #666; 1147 } 1148 1149 #modal-register .eye-icon { 1150 width: 20px; 1151 height: 20px; 1152 color: var(--mr-text-main); 1153 } 1154 1155 /* ===== CHECKBOX ===== */ 1156 #modal-register .mr-terms-row { 1157 display: flex; 1158 align-items: center; 1159 justify-content: center; 1160 gap: 10px; 1161 width: 100%; 1162 background: none; 1163 border: none; 1164 margin: 1rem 0; 1165 } 1166 1167 #modal-register .mr-terms-row p, 1168 #modal-register .mr-terms-row a { 1169 font-size: clamp(13px, 1.5vw, 16px); 1170 font-weight: 400; 1171 } 1172 1173 #modal-register .mr-terms-row a { 1174 color: var(--mr-text-accent); 1175 text-decoration: underline !important; 1176 } 1177 1178 #modal-register .checkbox-container { 1179 display: inline-block; 1180 position: relative; 1181 padding-left: 25px; 1182 margin-bottom: 20px; 1183 cursor: pointer; 1184 font-size: 16px; 1185 user-select: none; 1186 } 1187 1188 #modal-register .custom-checkbox { 1189 position: absolute; 1190 opacity: 0; 1191 cursor: pointer; 1192 height: 0; 1193 width: 0; 1194 } 1195 1196 #modal-register .checkmark { 1197 position: absolute; 1198 top: 0; 1199 left: 0; 1200 height: 23px; 1201 width: 23px; 1202 border-radius: 4px; 1203 transition: background-color 0.3s; 1204 border: 1px solid var(--mr-text-main); 1205 } 1206 1207 #modal-register .checkmark::after { 1208 content: ""; 1209 position: absolute; 1210 display: none; 1211 left: 7px; 1212 top: 1px; 1213 width: 8px; 1214 height: 15px !important; 1215 border: solid white; 1216 border-width: 0 3px 3px 0; 1217 transform: rotate(45deg); 1218 } 1219 1220 #modal-register .custom-checkbox:checked~.checkmark { 1221 background-color: var(--mr-primary); 1222 box-shadow: 0 3px 7px rgba(33, 150, 243, .3); 1223 } 1224 1225 #modal-register .custom-checkbox:checked~.checkmark::after { 1226 display: block; 1227 } 1228 1229 /* ===== LOGIN LINK ===== */ 1230 #modal-register .login-link { 1231 display: flex; 1232 align-items: center; 1233 justify-content: center; 1234 gap: 10px; 1235 width: 100%; 1236 margin: 1rem 0; 1237 } 1238 1239 #modal-register .login-link p, 1240 #modal-register .login-link a { 1241 font-size: clamp(13px, 1.5vw, 16px); 1242 font-weight: 400; 1243 } 1244 1245 #modal-register .login-link a { 1246 color: var(--mr-text-accent); 1247 } 1248 1249 #modal-register .rule-register { 1250 color: var(--mr-text-accent); 1251 cursor: pointer; 1252 font-size: clamp(13px, 1.5vw, 16px); 1253 font-weight: 400; 1254 text-decoration: underline; 1255 } 1256 1257 /* ===== BANK ===== */ 1258 #modal-register .bank-input { 1259 margin-top: 1rem; 1260 } 1261 1262 #modal-register .mr-bank-label { 1263 display: block; 1264 margin-bottom: 0.25rem; 1265 color: var(--mr-text-main); 1266 font-size: 14px; 1267 } 1268 1269 #modal-register .is-bank-account { 1270 display: block; 1271 } 1272 1273 #modal-register #mr-bank-dropdown { 1274 z-index: 101; 1275 } 1276 1277 #modal-register .mr-bank-option, 1278 #modal-register .mr-aff-option { 1279 display: flex; 1280 align-items: center; 1281 gap: 10px; 1282 } 1283 1284 #modal-register .mr-aff-option-icon { 1285 width: 24px; 1286 height: 24px; 1287 border-radius: 50%; 1288 object-fit: contain; 1289 flex-shrink: 0; 1290 } 1291 1292 #modal-register #mr-dropdown-selected { 1293 display: flex; 1294 align-items: center; 1295 gap: 8px; 1296 min-height: 42px; 1297 } 1298 1299 #modal-register #mr-dropdown-selected.is-placeholder { 1300 color: var(--mr-input-placeholder); 1301 } 1302 1303 #modal-register .mr-bank-option-icon { 1304 width: 28px; 1305 height: 28px; 1306 border-radius: 50%; 1307 object-fit: contain; 1308 flex-shrink: 0; 1309 } 1310 1311 #modal-register #mr-bank-dropdown-selected { 1312 display: flex; 1313 align-items: center; 1314 gap: 8px; 1315 min-height: 42px; 1316 } 1317 1318 #modal-register #mr-bank-dropdown-selected.is-placeholder { 1319 color: var(--mr-input-placeholder); 1320 } 1321 1322 #modal-register .show { 1323 display: block !important; 1324 } 1325 1326 #modal-register .hidden { 1327 display: none; 1328 } 1329 1330 /* ===== DROPDOWN ===== */ 1331 #modal-register .dropdown { 1332 width: 100%; 1333 position: relative; 1334 font-size: 16px; 1335 z-index: 99; 1336 margin-top: 1rem; 1337 } 1338 1339 #modal-register .dropdown-selected { 1340 width: 100%; 1341 padding: 10px; 1342 border-radius: 100px; 1343 border: 1px solid rgb(154 154 154 / 56%); 1344 background-color: var(--mr-bg-input); 1345 color: var(--mr-input-text); 1346 cursor: pointer; 1347 position: relative; 1348 } 1349
1350 #modal-register .dropdown-selected::after { 1351 content: "â¾"; 1352 position: absolute; 1353 right: 20px; 1354 top: 50%; 1355 transform: translateY(-50%); 1356 font-size: 18px; 1357 } 1358 1359 #modal-register .dropdown-options { 1360 display: none; 1361 position: absolute; 1362 width: 100%; 1363 padding: 10px; 1364 border-radius: 8px; 1365 border: 1px solid rgba(0, 0, 0, .56); 1366 background-color: rgba(0, 0, 0, .85); 1367 color: var(--mr-text-main); 1368 margin-top: 5px; 1369 z-index: 1000; 1370 max-height: 200px; 1371 overflow: scroll; 1372 } 1373 1374 #modal-register .dropdown-options div { 1375 padding: 10px; 1376 cursor: pointer; 1377 } 1378 1379 #modal-register .dropdown-options div:hover { 1380 background-color: rgba(255, 255, 255, .1); 1381 border-radius: 8px; 1382 } 1383 1384 #modal-register .dropdown.open .dropdown-options { 1385 display: block; 1386 } 1387 1388 /* ===== BONUS / RADIO ===== */ 1389 #modal-register .bonus-container { 1390 display: flex; 1391 align-items: center; 1392 justify-content: center; 1393 gap: 50px; 1394 margin: 1rem 0; 1395 } 1396 1397 #modal-register .radio-buttons { 1398 display: flex; 1399 color: white; 1400 gap: 50px; 1401 } 1402 1403 #modal-register .radio-button { 1404 display: flex; 1405 align-items: center; 1406 cursor: pointer; 1407 } 1408 1409 #modal-register .radio-button input[type="radio"] { 1410 display: none; 1411 } 1412 1413 #modal-register .radio-circle { 1414 width: 20px; 1415 height: 20px; 1416 border-radius: 50%; 1417 border: 2px solid var(--mr-primary); 1418 position: relative; 1419 margin-right: 10px; 1420 } 1421 1422 #modal-register .radio-circle::before { 1423 content: ""; 1424 display: block; 1425 width: 12px; 1426 height: 12px; 1427 border-radius: 50%; 1428 background-color: #ddd; 1429 position: absolute; 1430 top: 50%; 1431 left: 50%; 1432 transform: translate(-50%, -50%) scale(0); 1433 transition: all 0.2s ease-in-out; 1434 } 1435 1436 #modal-register .radio-button input[type="radio"]:checked+.radio-circle::before { 1437 transform: translate(-50%, -50%) scale(1); 1438 background-color: var(--mr-primary); 1439 } 1440 1441 #modal-register .radio-button:hover .radio-circle { 1442 border-color: var(--mr-primary); 1443 } 1444 1445 #modal-register .radio-label { 1446 font-size: 16px; 1447 font-weight: bold; 1448 } 1449 1450 /* ===== PROBLEM LINK ===== */ 1451 #modal-register .problem-link { 1452 display: flex; 1453 align-items: center; 1454 justify-content: center; 1455 gap: 10px; 1456 width: 100%; 1457 margin: 1rem 0; 1458 } 1459 1460 #modal-register .problem-link span { 1461 color: var(--mr-text-accent); 1462 text-decoration: underline; 1463 cursor: pointer; 1464 } 1465 1466 /* ===== OTP ===== */ 1467 #modal-register .otp-input { 1468 width: 42px !important; 1469 height: 42px; 1470 text-align: center; 1471 border-radius: 8px !important; 1472 background-color: rgba(255, 255, 255, .15) !important; 1473 border: 1px solid rgba(255, 255, 255, .4) !important; 1474 color: var(--mr-input-text); 1475 font-size: 18px; 1476 padding: 0 !important; 1477 } 1478 1479 #modal-register #mr-countdown-text { 1480 color: var(--mr-error); 1481 font-weight: bold; 1482 margin-top: 0.75rem; 1483 } 1484 1485 /* ===== MODAL CONTENT (rules / success) ===== */ 1486 #mr-modal-rules .modal-content, 1487 #mr-modal-success .modal-content { 1488 position: relative; 1489 display: flex; 1490 flex-direction: column; 1491 width: 100%; 1492 pointer-events: auto; 1493 background-color: rgb(0, 0, 0); 1494 border: 2px solid var(--mr-modal-border); 1495 border-radius: 16px; 1496 outline: 0; 1497 color: var(--mr-text-main); 1498 font-family: var(--mr-font); 1499 } 1500 1501 #mr-modal-rules .modal-header, 1502 #mr-modal-success .modal-header { 1503 border: none; 1504 padding: 1rem 1rem 0.5rem; 1505 display: flex; 1506 align-items: center; 1507 justify-content: space-between; 1508 } 1509 1510 #mr-modal-rules .modal-title, 1511 #mr-modal-success .modal-title { 1512 font-size: 18px; 1513 font-weight: 600; 1514 margin: 0; 1515 } 1516 1517 #mr-modal-rules .modal-body, 1518 #mr-modal-success .modal-body { 1519 padding: 1rem; 1520 font-size: 16px; 1521 } 1522 1523 #mr-modal-rules .modal-footer, 1524 #mr-modal-success .modal-footer { 1525 border: none; 1526 padding: 0.5rem 1rem 1rem; 1527 } 1528 1529 #mr-modal-rules .modal-dialog, 1530 #mr-modal-success .modal-dialog { 1531 width: calc(100% - 2rem); 1532 max-width: 480px; 1533 margin: 1rem auto; 1534 } 1535
1536 #modal-register .modal-dialog.modal-dialog-scrollable .modal-content { 1537 max-height: calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); 1538 } 1539 1540 #modal-register .modal-header { 1541 position: relative; 1542 display: flex; 1543 align-items: center; 1544 justify-content: center; 1545 border: none; 1546 padding: 1rem 3rem 0.5rem 1rem; 1547 flex-shrink: 0; 1548 } 1549 1550 #modal-register .modal-header .close { 1551 position: absolute; 1552 right: 0.75rem; 1553 top: 50%; 1554 transform: translateY(-50%); 1555 margin: 0; 1556 padding: 0.25rem; 1557 z-index: 2; 1558 opacity: 1; 1559 } 1560 1561 #mr-modal-rules .modal-dialog .modal-content, 1562 #mr-modal-success .modal-dialog .modal-content { 1563 max-height: calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); 1564 } 1565 1566 #mr-modal-rules .modal-body, 1567 #mr-modal-rules #mr-rule-body { 1568 max-height: min(60vh, 480px); 1569 overflow-y: auto; 1570 -webkit-overflow-scrolling: touch; 1571 } 1572 1573 #modal-register #mr-otp-inputs { 1574 flex-wrap: nowrap; 1575 gap: 0.35rem; 1576 max-width: 100%; 1577 margin-left: auto; 1578 margin-right: auto; 1579 } 1580 1581 #modal-register #mr-otp-inputs .otp-input { 1582 margin: 0 !important; 1583 flex: 0 1 auto; 1584 } 1585 1586 #mr-modal-rules .modal-header i, 1587 #mr-modal-success .modal-header i { 1588 color: var(--mr-close); 1589 font-size: 1.5rem; 1590 cursor: pointer; 1591 } 1592 1593 #mr-modal-success .text-register-success { 1594 font-size: 24px; 1595 font-weight: 600; 1596 margin: 1rem 0; 1597 } 1598 1599 #mr-modal-success .btn-login { 1600 display: inline-block; 1601 padding: 10px; 1602 border-radius: 100px; 1603 border: none; 1604 background: var(--mr-primary); 1605 color: var(--mr-btn-text); 1606 cursor: pointer; 1607 font-family: var(--mr-font); 1608 font-size: 16px; 1609 } 1610 1611 /* ===== FLEX UTILITIES (ภายà¹à¸ modal à¹à¸à¹à¸²à¸à¸±à¹à¸) ===== */ 1612 #modal-register .d-flex { 1613 display: flex !important; 1614 } 1615 1616 #modal-register .flex-row { 1617 flex-direction: row !important; 1618 } 1619 1620 #modal-register .justify-content-center { 1621 justify-content: center !important; 1622 } 1623 1624 #modal-register .align-items-center { 1625 align-items: center !important; 1626 } 1627 1628 #modal-register .text-center { 1629 text-align: center !important; 1630 } 1631 1632 #modal-register .text-white { 1633 color: var(--mr-text-main) !important; 1634 } 1635 1636 #modal-register .mt-2 { 1637 margin-top: 0.5rem !important; 1638 } 1639 1640 #modal-register .mt-3 { 1641 margin-top: 0.75rem !important; 1642 } 1643 1644 #modal-register .mt-4 { 1645 margin-top: 1rem !important; 1646 } 1647 1648 #modal-register .me-2 { 1649 margin-right: 0.5rem !important; 1650 } 1651 1652 #modal-register .p-2 { 1653 padding: 0.5rem !important; 1654 } 1655 1656 #modal-register .px-4 { 1657 padding-left: 1.5rem !important; 1658 padding-right: 1.5rem !important; 1659 } 1660 1661 #modal-register .gap-2 { 1662 gap: 0.5rem !important; 1663 } 1664 1665 #modal-register .position-relative { 1666 position: relative !important; 1667 } 1668 1669 #modal-register .height-100 { 1670 height: 100% !important; 1671 } 1672 1673 #modal-register .fw-bold { 1674 font-weight: bold !important; 1675 } 1676 1677 #modal-register .cursor-pointer { 1678 cursor: pointer !important; 1679 } 1680 1681 /* ===== SWEETALERT2 OVERRIDES (global â à¹à¸à¹à¸£à¹à¸§à¸¡à¸à¸±à¸ login à¹à¸à¹) ===== */ 1682 .swal2-toast { 1683 color: #fff !important; 1684 } 1685 1686 .swal2-icon-success { 1687 background: rgb(1, 164, 4) !important; 1688 } 1689 1690 .swal2-icon-error { 1691 background: red !important; 1692 } 1693 1694 div:where(.swal2-icon).swal2-error { 1695 border-color: #fff !important; 1696 color: #fff !important; 1697 } 1698 1699 div:where(.swal2-icon).swal2-error [class^="swal2-x-mark-line"] { 1700 background-color: #fff !important; 1701 } 1702 1703 /* ===== RESPONSIVE ===== */ 1704 @media screen and (max-width: 768px) { 1705 1706 #modal-register .modal-dialog, 1707 #mr-modal-rules .modal-dialog, 1708 #mr-modal-success .modal-dialog { 1709 width: calc(100% - 1.5rem); 1710 margin: 0.75rem auto; 1711 } 1712 1713 #modal-register h1 { 1714 font-size: clamp(1.375rem, 5vw, 2rem); 1715 } 1716 1717 #modal-register .logo { 1718 width: clamp(140px, 50vw, 280px); 1719 } 1720 1721 #modal-register .modal-body { 1722 padding: 0.75rem 1rem 1.5rem; 1723 } 1724 1725 #modal-register .progress-container { 1726 margin: 1.5rem auto; 1727 } 1728 1729 #modal-register .step-item p { 1730 font-size: 12px; 1731 } 1732 1733 #modal-register .circle { 1734 width: 34px; 1735 height: 34px; 1736 } 1737 1738 #modal-register .progress-line { 1739 top: 14px; 1740 height: 6px; 1741 } 1742 1743 #modal-register .bank-select { 1744 padding: 1rem; 1745 } 1746 1747 #modal-register .bank-options { 1748 gap: 10px; 1749 grid-template-columns: repeat(auto-fit, minmax(36px, 1fr)); 1750 } 1751 1752 #mr-modal-rules .modal-body, 1753 #mr-modal-success .modal-body { 1754 padding: 0.75rem 1rem; 1755 } 1756 1757 #mr-modal-success .text-register-success { 1758 font-size: 20px; 1759 } 1760 } 1761 1762 @media screen and (max-width: 600px) { 1763 #modal-register .from-register { 1764 padding: 0 0.25rem; 1765 } 1766 1767 #modal-register .container { 1768 max-width: 100%; 1769 padding: 0; 1770 } 1771 1772 #modal-register .modal-header { 1773 padding: 0.75rem 2.75rem 0.5rem 0.75rem; 1774 } 1775 1776 #modal-register .mr-terms-row { 1777 flex-wrap: wrap; 1778 gap: 8px; 1779 } 1780 1781 #modal-register .mr-terms-row .d-flex { 1782 flex-wrap: wrap; 1783 justify-content: center; 1784 text-align: center; 1785 } 1786 1787 #modal-register .bonus-container, 1788 #modal-register .radio-buttons { 1789 gap: 1.25rem; 1790 flex-wrap: wrap; 1791 justify-content: center; 1792 } 1793 1794 #modal-register .radio-label { 1795 font-size: 14px; 1796 } 1797 1798 #modal-register .otp-input { 1799 width: clamp(32px, 11vw, 42px) !important; 1800 height: clamp(32px, 11vw, 42px); 1801 font-size: clamp(14px, 4vw, 18px); 1802 } 1803 1804 #modal-register .btn-next, 1805 #modal-register .btn-login, 1806 #mr-modal-success .btn-login { 1807 min-height: 44px; 1808 } 1809 1810 #modal-register .btn-primary, 1811 #modal-register .btn-back { 1812 min-height: 44px; 1813 font-size: 14px; 1814 } 1815 } 1816 1817 @media screen and (max-width: 380px) { 1818 1819 #modal-register .modal-dialog, 1820 #mr-modal-rules .modal-dialog, 1821 #mr-modal-success .modal-dialog { 1822 width: calc(100% - 1rem); 1823 margin: 0.5rem auto; 1824 } 1825 1826 #modal-register .step-item p { 1827 font-size: 10px; 1828 } 1829 1830 #modal-register .circle { 1831 width: 30px; 1832 height: 30px; 1833 } 1834 1835 #modal-register .circle .icon svg { 1836 width: 18px; 1837 height: 18px; 1838 } 1839 1840 #modal-register .progress-line { 1841 top: 12px; 1842 left: 12%; 1843 width: 76%; 1844 } 1845 1846 #modal-register .btn-primary, 1847 #modal-register .btn-back { 1848 width: 48%; 1849 padding: 8px 6px; 1850 } 1851 1852 #modal-register #mr-otp-inputs { 1853 gap: 0.2rem; 1854 } 1855 1856 #modal-register .otp-input { 1857 width: clamp(28px, 10vw, 36px) !important; 1858 height: clamp(28px, 10vw, 36px); 1859 } 1860 } 1861 1862 @media screen and (min-width: 601px) { 1863 #modal-register .container { 1864 max-width: 100%; 1865 } 1866 } 1867 1868 @media screen and (max-height: 500px) and (orientation: landscape) { 1869
1870 #modal-register .modal-dialog.modal-dialog-scrollable .modal-content, 1871 #mr-modal-rules .modal-dialog .modal-content, 1872 #mr-modal-success .modal-dialog .modal-content { 1873 max-height: calc(100dvh - 1rem); 1874 } 1875 1876 #modal-register .modal-body { 1877 padding: 0.5rem 1rem 1rem; 1878 } 1879 1880 #modal-register h1 { 1881 font-size: 1.25rem; 1882 margin-bottom: 0.5rem; 1883 } 1884 1885 #modal-register .progress-container { 1886 margin: 0.75rem auto; 1887 } 1888 1889 #modal-register .step-item p { 1890 font-size: 10px; 1891 } 1892 1893 #modal-register .circle { 1894 width: 28px; 1895 height: 28px; 1896 margin-bottom: 4px; 1897 } 1898 1899 #modal-register .progress-line { 1900 top: 10px; 1901 } 1902 1903 #modal-register .logo img { 1904 max-height: 40px !important; 1905 } 1906 } 1907</style> 1908 1909<!-- ============================================================ 1910 MODAL REGISTER â HTML 1911 ============================================================ --> 1912<div class="modal modal-diamond fade" id="modal-register" tabindex="-1" role="dialog" 1913 aria-labelledby="mr-modal-title" aria-hidden="true" 1914 data-backdrop="static" data-keyboard="false" 1915 data-bs-backdrop="static" data-bs-keyboard="false"> 1916 <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document"> 1917 <div class="modal-content"> 1918 1919 <!-- Modal Header --> 1920 <div class="modal-header"> 1921 <div class="logo" id="mr-logo" style="margin:0 auto;"> 1922 <figure class="thumb"> 1923 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/logo-pgslot77-main.png" alt="logo" style="max-height:60px;width:auto;"/> 1924 </figure> 1925 </div> 1926 <button id="mr-close-btn" type="button" class="close" data-dismiss="modal" aria-label="Close" 1927 onclick="ModalRegister.close()"> 1928 <span aria-hidden="true"><i class="fas fa-times-circle"></i></span> 1929 </button> 1930 </div> 1931 1932 <div class="modal-body"> 1933 <div class="from-register"> 1934 1935 <h1 class="text-center text-white">สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸</h1> 1936 1937 <div class="form"> 1938 <!-- Progress --> 1939 <div class="progress-container"> 1940 <div class="progress-line"> 1941 <div class="progress-bar" id="mr-progress-bar"></div> 1942 </div> 1943 <div class="step-item active-progress" id="mr-step-item-1"> 1944 <div class="circle"><span class="icon"></span></div> 1945 <p>สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸</p> 1946 </div> 1947 <div class="step-item" id="mr-step-item-2"> 1948 <div class="circle"><span class="icon"></span></div> 1949 <p>à¸à¸±à¹à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸</p> 1950 </div> 1951 <div class="step-item" id="mr-step-item-3"> 1952 <div class="circle"><span class="icon"></span></div> 1953 <p>à¸à¸±à¸à¸à¸µà¸à¸à¸²à¸à¸²à¸£</p> 1954 </div> 1955 </div> 1956 1957 <!-- Step 1: Phone --> 1958 <div id="mr-step-1" class="step active"> 1959 <p class="text-white/70 font-sans text-[14px] my-1">à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹</p> 1960 <input type="tel" id="mr-phone" placeholder="à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹" maxlength="10" /> 1961 <div id="mr-phone-error" class="error"></div> 1962 <button class="btn-next" id="mr-next-button" disabled> 1963 <span class="btn-text-one">à¸à¸±à¸à¹à¸</span> 1964 </button> 1965 <!-- TEMP: à¸à¸´à¸à¸¢à¸à¸¡à¸£à¸±à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§ 1966 <div class="mr-terms-row"> 1967 <label class="checkbox-container"> 1968 <input class="custom-checkbox" type="checkbox" id="mr-terms" /> 1969 <span class="checkmark"></span> 1970 </label> 1971 <div class="d-flex align-items-center gap-2"> 1972 <p>ยà¸à¸¡à¸£à¸±à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸</p> 1973 <div class="rule-register" id="mr-rule-trigger" style="cursor:pointer;">(à¸à¹à¸²à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡)</div> 1974 </div> 1975 </div> 1976 --> 1977 <div class="login-link"> 1978 <p>มีà¸à¸±à¸à¸à¸µà¹à¸¥à¹à¸§?</p> 1979 <a id="mr-goto-login" style="cursor:pointer;">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</a> 1980 </div> 1981 </div> 1982 1983 <!-- Step 2: OTP --> 1984 <div id="mr-step-2" class="step"> 1985 <div class="container height-100 d-flex justify-content-center align-items-center"> 1986 <div class="position-relative"> 1987 <div class="p-2 text-center"> 1988 <h6>à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¸£à¸«à¸±à¸ª OTP</h6> 1989 <div>
1990 <span>à¸à¸µà¹à¸ªà¹à¸à¹à¸à¸¢à¸±à¸à¹à¸à¸à¸£à¹:</span> 1991 <small id="mr-otp-phone-display"></small> 1992 </div> 1993 <div id="mr-otp-inputs" class="inputs d-flex flex-row justify-content-center mt-2"> 1994 <input class="otp-input m-2 text-center form-control rounded" type="text" maxlength="1" inputmode="numeric" pattern="[0-9]*" /> 1995 <input class="otp-input m-2 text-center form-control rounded" type="text" maxlength="1" inputmode="numeric" pattern="[0-9]*" /> 1996 <input class="otp-input m-2 text-center form-control rounded" type="text" maxlength="1" inputmode="numeric" pattern="[0-9]*" /> 1997 <input class="otp-input m-2 text-center form-control rounded" type="text" maxlength="1" inputmode="numeric" pattern="[0-9]*" /> 1998 <input class="otp-input m-2 text-center form-control rounded" type="text" maxlength="1" inputmode="numeric" pattern="[0-9]*" /> 1999 <input class="otp-input m-2 text-center form-control rounded" type="text" maxlength="1" inputmode="numeric" pattern="[0-9]*" /> 2000 </div> 2001 <p id="mr-countdown-text" class="mt-3 text-danger fw-bold"></p> 2002 <div class="mt-4 d-flex justify-content-center"> 2003 <button id="mr-otp-back-button" class="btn btn-back me-2">ยà¹à¸à¸à¸à¸¥à¸±à¸</button> 2004 <button id="mr-otp-validate-button" class="btn btn-primary px-4" disabled>à¸à¸±à¸à¹à¸</button> 2005 </div> 2006 </div> 2007 </div> 2008 </div> 2009 </div> 2010 2011 <!-- Step 3: Password --> 2012 <div id="mr-step-3" class="step"> 2013 <div class="password-container"> 2014 <p class="text-white/70 my-1">รหัสà¸à¹à¸²à¸</p> 2015 <div class="password-wrapper"> 2016 <input type="password" id="mr-password" 2017 oninput="this.value=this.value.replace(/[^A-Za-z0-9]/g,'')" 2018 placeholder="à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸" /> 2019 <div class="toggle-button" id="mr-toggle-password"> 2020 <span id="mr-icon-password"> 2021 <svg width="24" height="19" viewBox="0 0 24 19" fill="currentColor" class="eye-icon" xmlns="http://www.w3.org/2000/svg"> 2022 <path d="M19.5254 0.966275C19.2322 0.673025 18.7582 0.673025 18.4649 0.966275L16.3919 3.03928C15.0802 2.51128 13.6154 2.17078 11.9999 2.17078C4.80066 2.17078 0.303663 9.15553 0.116163 9.45328C0.00516307 9.62953 -0.0233369 9.83428 0.0201631 10.0225C-0.0158369 10.201 0.00741308 10.3923 0.110163 10.5603C0.214413 10.7313 1.70166 13.102 4.34166 15.091L2.59941 16.8325C2.30616 17.1258 2.30616 17.5998 2.59941 17.893C2.74566 18.0393 2.93766 18.1128 3.12966 18.1128C3.32166 18.1128 3.51366 18.0393 3.65991 17.893L19.5254 2.02678C19.8179 1.73428 19.8179 1.25953 19.5254 0.966275ZM7.67991 9.95578C7.67991 7.57378 9.61791 5.63578 11.9999 5.63578C12.5339 5.63578 13.0439 5.73628 13.5157 5.91478L12.2699 7.16053C12.1799 7.15078 12.0922 7.13578 11.9999 7.13578C10.4452 7.13578 9.17991 8.40103 9.17991 9.95578C9.17991 10.048 9.19566 10.1358 9.20466 10.2258L7.95891 11.4715C7.78041 11.0005 7.67991 10.4898 7.67991 9.95578ZM23.8837 10.5468C23.6962 10.8438 19.1992 17.8293 11.9999 17.8293C10.1204 17.8293 8.44041 17.3725 6.97416 16.6915L9.92391 13.741C10.5404 14.0808 11.2484 14.275 12.0007 14.275C14.3827 14.275 16.3207 12.337 16.3207 9.95502C16.3207 9.20278 16.1264 8.49553 15.7867 7.87827L19.1392 4.52578C22.1047 6.57928 23.7802 9.25753 23.8904 9.43903C23.9932 9.60703 24.0164 9.79827 23.9804 9.97678C24.0232 10.1665 23.9954 10.3705 23.8837 10.5468ZM11.0624 12.6033L14.6474 9.01903C14.7524 9.31378 14.8199 9.62653 14.8199 9.95653C14.8199 11.5113 13.5547 12.7765 11.9999 12.7765C11.6699 12.7758 11.3572 12.7083 11.0624 12.6033Z" fill="white" /> 2023 </svg> 2024 </span> 2025 </div> 2026 </div> 2027 <div id="mr-password-error" class="error"></div> 2028 </div> 2029 <div class="password-container"> 2030 <p class="text-white/70 my-1">ยืà¸à¸¢à¸±à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸</p> 2031 <div class="password-wrapper"> 2032 <input type="password" id="mr-confirm-password"
2033 oninput="this.value=this.value.replace(/[^A-Za-z0-9]/g,'')" 2034 placeholder="à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸à¸à¸µà¸à¸à¸£à¸±à¹à¸" /> 2035 <div class="toggle-button" id="mr-toggle-confirm-password"> 2036 <span id="mr-icon-confirm-password"> 2037 <svg width="24" height="19" viewBox="0 0 24 19" fill="currentColor" class="eye-icon" xmlns="http://www.w3.org/2000/svg"> 2038 <path d="M19.5254 0.966275C19.2322 0.673025 18.7582 0.673025 18.4649 0.966275L16.3919 3.03928C15.0802 2.51128 13.6154 2.17078 11.9999 2.17078C4.80066 2.17078 0.303663 9.15553 0.116163 9.45328C0.00516307 9.62953 -0.0233369 9.83428 0.0201631 10.0225C-0.0158369 10.201 0.00741308 10.3923 0.110163 10.5603C0.214413 10.7313 1.70166 13.102 4.34166 15.091L2.59941 16.8325C2.30616 17.1258 2.30616 17.5998 2.59941 17.893C2.74566 18.0393 2.93766 18.1128 3.12966 18.1128C3.32166 18.1128 3.51366 18.0393 3.65991 17.893L19.5254 2.02678C19.8179 1.73428 19.8179 1.25953 19.5254 0.966275ZM7.67991 9.95578C7.67991 7.57378 9.61791 5.63578 11.9999 5.63578C12.5339 5.63578 13.0439 5.73628 13.5157 5.91478L12.2699 7.16053C12.1799 7.15078 12.0922 7.13578 11.9999 7.13578C10.4452 7.13578 9.17991 8.40103 9.17991 9.95578C9.17991 10.048 9.19566 10.1358 9.20466 10.2258L7.95891 11.4715C7.78041 11.0005 7.67991 10.4898 7.67991 9.95578ZM23.8837 10.5468C23.6962 10.8438 19.1992 17.8293 11.9999 17.8293C10.1204 17.8293 8.44041 17.3725 6.97416 16.6915L9.92391 13.741C10.5404 14.0808 11.2484 14.275 12.0007 14.275C14.3827 14.275 16.3207 12.337 16.3207 9.95502C16.3207 9.20278 16.1264 8.49553 15.7867 7.87827L19.1392 4.52578C22.1047 6.57928 23.7802 9.25753 23.8904 9.43903C23.9932 9.60703 24.0164 9.79827 23.9804 9.97678C24.0232 10.1665 23.9954 10.3705 23.8837 10.5468ZM11.0624 12.6033L14.6474 9.01903C14.7524 9.31378 14.8199 9.62653 14.8199 9.95653C14.8199 11.5113 13.5547 12.7765 11.9999 12.7765C11.6699 12.7758 11.3572 12.7083 11.0624 12.6033Z" fill="white" /> 2039 </svg> 2040 </span> 2041 </div> 2042 </div> 2043 <div id="mr-password-error-confirm" class="error"></div> 2044 </div> 2045 <div class="mt-4 d-flex justify-content-center"> 2046 <button id="mr-back-to-step-2" class="btn btn-back me-2">ยà¹à¸à¸à¸à¸¥à¸±à¸</button> 2047 <button id="mr-next-step-3" class="btn btn-primary px-4" disabled>à¸à¸±à¸à¹à¸</button> 2048 </div> 2049 <div class="problem-link"> 2050 <p>à¸à¸à¸à¸±à¸à¸«à¸²</p> 2051 <a href="https://cutt.ly/wcpg77" class="cursor-pointer"><span>à¸à¸´à¸à¸à¹à¸à¸à¹à¸²à¸¢à¸à¸£à¸´à¸à¸²à¸£à¸¥à¸¹à¸à¸à¹à¸²</span></a> 2052 </div> 2053 </div> 2054 2055 <!-- Step 4: Bank (PopupRegister â dropdown + icon /images/bank/{CODE}.png) --> 2056 <div id="mr-step-4" class="step"> 2057 <div id="mr-is-bank-account" class="is-bank-account"> 2058 <label class="mr-bank-label">à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸à¸à¸²à¸à¸²à¸£à¸à¸à¸à¸à¸¸à¸</label> 2059 <div class="dropdown" id="mr-bank-dropdown"> 2060 <div class="dropdown-selected is-placeholder" id="mr-bank-dropdown-selected">à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸±à¸à¸à¸µà¸à¸à¸²à¸à¸²à¸£</div> 2061 <div class="dropdown-options" id="mr-bank-dropdown-options"></div> 2062 </div> 2063 <input class="bank-input hidden" type="text" id="mr-true-wallet" 2064 placeholder="à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¸à¸·à¹à¸à¸à¸±à¸à¸à¸µ" /> 2065 <div id="mr-wallet-error" class="error"></div> 2066 <label class="mr-bank-label" for="mr-account-number">à¹à¸¥à¸à¸à¸±à¸à¸à¸µà¸à¸à¸²à¸à¸²à¸£</label> 2067 <input class="bank-input" type="tel" id="mr-account-number" 2068 placeholder="à¸à¸£à¸à¸à¹à¸¥à¸à¸à¸±à¸à¸à¸µà¸à¸à¸²à¸à¸²à¸£" maxlength="20" minlength="6" /> 2069 <div id="mr-account-error" class="error"></div> 2070 </div> 2071 <div id="mr-aff-wrap"> 2072 <label class="mr-bank-label">รูà¹à¸à¸±à¸à¹à¸£à¸²à¸à¸²à¸à¸à¹à¸à¸à¸à¸²à¸à¹à¸«à¸</label> 2073 <div class="dropdown" id="mr-dropdown"> 2074 <div class="dropdown-selected is-placeholder" id="mr-dropdown-selected">à¹à¸¥à¸·à¸à¸à¸à¹à¸à¸à¸à¸²à¸</div> 2075 <div class="dropdown-options" id="mr-dropdown-options"></div> 2076 </div> 2077 <input type="hidden" id="mr-selected-value" value="" /> 2078 </div> 2079 <div class="bonus-container"> 2080 <div class="d-flex align-items-center"> 2081 <div class="radio-buttons"> 2082 <label class="radio-button"> 2083 <input type="radio" name="mr-promotion" value="1" id="mr-bonus" /> 2084 <div class="radio-circle"></div>
2085 <span class="radio-label">รัà¸à¹à¸à¸à¸±à¸ª</span> 2086 </label> 2087 <label class="radio-button"> 2088 <input type="radio" name="mr-promotion" value="0" id="mr-no-bonus" checked /> 2089 <div class="radio-circle"></div> 2090 <span class="radio-label">à¹à¸¡à¹à¸£à¸±à¸à¹à¸à¸à¸±à¸ª</span> 2091 </label> 2092 </div> 2093 </div> 2094 </div> 2095 <div class="mt-4 d-flex justify-content-center"> 2096 <button id="mr-back-to-step-3" class="btn btn-back me-2">ยà¹à¸à¸à¸à¸¥à¸±à¸</button> 2097 <button id="mr-submit-button" class="btn btn-primary px-4" disabled 2098 onclick="window._mrConfirmRegister()">ยืà¸à¸¢à¸±à¸à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£</button> 2099 </div> 2100 <div class="problem-link"> 2101 <p>à¸à¸à¸à¸±à¸à¸«à¸²</p> 2102 <a href="https://cutt.ly/wcpg77" class="cursor-pointer"><span>à¸à¸´à¸à¸à¹à¸à¸à¹à¸²à¸¢à¸à¸£à¸´à¸à¸²à¸£à¸¥à¸¹à¸à¸à¹à¸²</span></a> 2103 </div> 2104 </div> 2105 2106 </div><!-- /.form --> 2107 </div><!-- /.from-register --> 2108 </div><!-- /.modal-body --> 2109 </div><!-- /.modal-content --> 2110 </div><!-- /.modal-dialog --> 2111</div><!-- /#modal-register --> 2112 2113<!-- TEMP: à¸à¸´à¸ modal à¹à¸à¸·à¹à¸à¸à¹à¸à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¸à¸±à¹à¸§à¸à¸£à¸²à¸§ 2114<div class="modal fade" id="mr-modal-rules" tabindex="-1" role="dialog" data-bs-backdrop="static" data-backdrop="static"> 2115 <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document"> 2116 <div class="modal-content"> 2117 <div class="modal-header"> 2118 <h5 class="modal-title">à¹à¸à¸·à¹à¸à¸à¹à¸à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸</h5> 2119 <i class="far fa-times-circle" style="cursor:pointer;" id="mr-rules-close"></i> 2120 </div> 2121 <div class="modal-body" id="mr-rule-body"></div> 2122 </div> 2123 </div> 2124</div> 2125--> 2126 2127<!-- Modal: สมัà¸à¸£à¸ªà¸³à¹à¸£à¹à¸ --> 2128<div class="modal fade" id="mr-modal-success" tabindex="-1" role="dialog" data-bs-backdrop="static" data-backdrop="static"> 2129 <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document"> 2130 <div class="modal-content"> 2131 <div class="modal-header justify-content-end"> 2132 <i class="far fa-times-circle" style="cursor:pointer;" id="mr-success-close"></i> 2133 </div> 2134 <div class="modal-body text-center"> 2135 <svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg"> 2136 <g clip-path="url(#mr-clip0)"> 2137 <path d="M40 0C17.9449 0 0 17.9449 0 40C0 62.0551 17.9449 80 40 80C62.0551 80 80 62.0551 80 40C80 17.9449 62.0551 0 40 0ZM62.3559 29.4737L36.792 54.8371C35.2882 56.3409 32.8822 56.4411 31.2782 54.9373L17.7444 42.6065C16.1404 41.1028 16.0401 38.5965 17.4436 36.9925C18.9474 35.3885 21.4536 35.2882 23.0576 36.792L33.7845 46.6165L56.6416 23.7594C58.2456 22.1554 60.7519 22.1554 62.3559 23.7594C63.9599 25.3634 63.9599 27.8697 62.3559 29.4737Z" fill="#30B972" /> 2138 </g> 2139 <defs> 2140 <clipPath id="mr-clip0"> 2141 <rect width="80" height="80" fill="white" /> 2142 </clipPath> 2143 </defs> 2144 </svg> 2145 <p class="text-register-success">สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢</p> 2146 <button class="btn-login" id="mr-success-btn" style="width:60%;"> 2147 <span class="btn-text-one">à¸à¸à¸¥à¸</span> 2148 </button> 2149 </div> 2150 </div> 2151 </div> 2152</div> 2153 2154<!-- ============================================================ 2155 MODAL REGISTER â JAVASCRIPT (Self-Contained IIFE) 2156 ============================================================ -->
2157<script type="rocketlazyloadscript"> 2158 (function() { 2159 /* ===================================================== 2160 CONFIG â à¹à¸à¹à¸à¸£à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¢à¹à¸²à¸¢ project 2161 หรืภset window.ModalRegisterConfig à¸à¹à¸à¸ include 2162 ===================================================== */ 2163 var CFG = { 2164 urlApi: "https:\/\/pgslot77.pglst.com", 2165 siteUrl: "https:\/\/pgslot77.art\/", 2166 jwtSecret: 'ABAsercretPayload' 2167 }; 2168 if (window.ModalRegisterConfig) { 2169 Object.assign(CFG, window.ModalRegisterConfig); 2170 } 2171 if (!CFG.bankImgBase && CFG.urlApi) { 2172 CFG.bankImgBase = String(CFG.urlApi).replace(/\/$/, '') + '/images/bank/'; 2173 } 2174 if (!CFG.affImgBase && CFG.urlApi) { 2175 CFG.affImgBase = String(CFG.urlApi).replace(/\/$/, '') + '/images/iconAff/'; 2176 } 2177 2178 /* ===== STATE ===== */ 2179 var state = { 2180 currentStep: 1, 2181 otpTimer: null, 2182 otpSeconds: 120, 2183 walletTouched: false, 2184 bankTouched: false, 2185 banklist: [], 2186 prefixRegister: { 2187 type_register: '', 2188 bank_account: '', 2189 otp: '', 2190 true_wallet: '', 2191 disable: '', 2192 description: '', 2193 not_checkbank: '' 2194 }, 2195 registerData: { 2196 phone_number: '', 2197 password: '', 2198 affiliate: '', 2199 ref_join: '', 2200 clickid: '', 2201 bank_code: '', 2202 bank_type: '', 2203 bank_number: '', 2204 bank_name: '', 2205 register_type: '' 2206 } 2207 }; 2208 2209 /* ===== JWT sign (PopupRegister â $jwt.sign payload, secret) ===== */ 2210 function toBase64Url(input) { 2211 var bytes = typeof input === 'string' ? 2212 new TextEncoder().encode(input) : 2213 new Uint8Array(input); 2214 var binary = ''; 2215 for (var i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]); 2216 return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); 2217 } 2218 2219 async function signJwt(payload, secret) { 2220 var header = { 2221 alg: 'HS256', 2222 typ: 'JWT' 2223 }; 2224 var encodedHeader = toBase64Url(JSON.stringify(header)); 2225 var encodedPayload = toBase64Url(JSON.stringify(payload)); 2226 var signingInput = encodedHeader + '.' + encodedPayload; 2227 var key = await crypto.subtle.importKey( 2228 'raw', 2229 new TextEncoder().encode(secret), { 2230 name: 'HMAC', 2231 hash: 'SHA-256' 2232 }, 2233 false, 2234 ['sign'] 2235 ); 2236 var signature = await crypto.subtle.sign('HMAC', key, new TextEncoder().encode(signingInput)); 2237 return signingInput + '.' + toBase64Url(signature); 2238 } 2239 2240 /* ===== STATIC BANK DATA (RegisterData.vue databank â à¹à¸¡à¹à¹à¸£à¸µà¸¢à¸ API) ===== */ 2241 var DATA_BANK = { 2242 KBANK: 'à¸à¸ªà¸´à¸à¸£à¹à¸à¸¢ à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2243 SCB: 'à¹à¸à¸¢à¸à¸²à¸à¸´à¸à¸¢à¹ à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2244 KTB: 'à¸à¸£à¸¸à¸à¹à¸à¸¢ à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2245 BAY: 'à¸à¸£à¸¸à¸à¸¨à¸£à¸µà¸à¸¢à¸¸à¸à¸¢à¸² à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2246 GSB: 'à¸à¸à¸¡à¸ªà¸´à¸', 2247 UOB: 'ยูà¹à¸à¸à¸µ à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2248 BBL: 'à¸à¸£à¸¸à¸à¹à¸à¸ à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2249 CI: 'à¸à¸´à¸à¸µà¹à¹à¸à¹à¸à¸à¹', 2250 LNH: 'à¹à¸¥à¸à¸à¹ à¹à¸à¸à¸à¹ à¹à¸®à¹à¸²à¸ªà¹', 2251 BAAC: 'à¸à¸à¸²à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸à¸²à¸£à¹à¸à¸©à¸à¸£à¹à¸¥à¸°à¸ªà¸«à¸à¸£à¸à¹à¸à¸²à¸£à¹à¸à¸©à¸à¸£', 2252 OSK: 'à¸à¸²à¸à¸²à¸£à¸ªà¸à¹à¸à¸£à¸²à¸°à¸«à¹', 2253 KKP: 'à¹à¸à¸µà¸¢à¸£à¸à¸´à¸à¸²à¸à¸´à¸ à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2254 JPK: 'à¹à¸à¸à¸µà¸¡à¸à¸£à¹à¹à¸à¸ à¹à¸à¸ª สาà¸à¸²à¸à¸£à¸¸à¸à¹à¸à¸à¸¯', 2255 CIMB: 'à¸à¸µà¹à¸à¹à¸à¹à¸¡à¸à¸µ à¹à¸à¸¢ à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2256 ZTM: 'à¸à¸¹à¸¡à¸´à¹à¸à¹à¸¡ มิà¸à¸à¸¸à¸¢ à¹à¸à¸à¸à¸´à¹à¸ à¸à¸à¸£à¹à¸à¸à¹à¸£à¸à¸±à¹à¸', 2257 DOIB: 'à¸à¸à¸¢à¸à¹à¹à¸à¸à¸à¹', 2258 TISGO: 'à¸à¸´à¸ªà¹à¸à¹ à¸à¸³à¸à¸±à¸ (มหาà¸à¸)', 2259 TCREDIT: 'à¹à¸à¸¢à¹à¸à¸£à¸à¸´à¸ à¹à¸à¸·à¹à¸à¸£à¸²à¸¢à¸¢à¹à¸à¸¢', 2260 BNP: 'à¸à¸à¸²à¸à¸²à¸£à¸à¸µà¹à¸à¹à¸à¸à¸µ à¸à¸²à¸£à¸µà¸à¸²à¸ªà¹ สาà¸à¸²à¸à¸£à¸¸à¸à¹à¸à¸à¸¯', 2261 MSU: 'มิà¸à¸¹à¹à¸® à¸à¸à¸£à¹à¸à¸à¹à¸£à¸ à¸à¸³à¸à¸±à¸ สาà¸à¸²à¸à¸£à¸¸à¸à¹à¸à¸à¸¯', 2262 MEGA: 'à¹à¸¡à¸à¸° สาà¸à¸¥à¸à¸²à¸à¸´à¸à¸¢à¹', 2263 SNT: 'สà¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸²à¸£à¹à¹à¸à¸à¸£à¹à¸ (à¹à¸à¸¢)', 2264 CN: 'à¸à¸à¸²à¸à¸²à¸£à¹à¸«à¹à¸à¸à¸£à¸°à¹à¸à¸¨à¸à¸µà¸ (à¹à¸à¸¢)', 2265 USA: 'à¹à¸«à¹à¸à¸à¹à¸¡à¸£à¸´à¸à¸²à¸¯', 2266 ASL: 'à¸à¸à¸²à¸à¸²à¸£à¸à¸´à¸ªà¸¥à¸²à¸¡à¹à¸«à¹à¸à¸à¸£à¸°à¹à¸à¸¨à¹à¸à¸¢', 2267 IZBS: 'à¹à¸à¸à¸µà¸à¸µà¸à¸µ (à¹à¸à¸¢)', 2268 TTB: 'à¸à¸à¸²à¸à¸²à¸£à¸à¸«à¸²à¸£à¹à¸à¸¢à¸à¸à¸à¸²à¸' 2269 }; 2270 2271 /* bank_type สำหรัà¸à¸ªà¹à¸ register â à¸à¸²à¸ PopupRegister myJson.bankType */ 2272 var BANK_TYPE = { 2273 TRUEWALLET: 'à¸à¸£à¸¹ วà¸à¸¥à¹à¸¥à¹à¸', 2274 SCB: 'à¹à¸à¸¢à¸à¸²à¸à¸´à¸à¸¢à¹', 2275 KBANK: 'à¸à¸ªà¸´à¸à¸£à¹à¸à¸¢', 2276 BBL: 'à¸à¸£à¸¸à¸à¹à¸à¸', 2277 KTB: 'à¸à¸£à¸¸à¸à¹à¸à¸¢', 2278 BAY: 'à¸à¸£à¸¸à¸à¸¨à¸£à¸µà¸à¸¢à¸¸à¸à¸¢à¸²', 2279 KKP: 'à¹à¸à¸µà¸¢à¸£à¸à¸´à¸à¸²à¸à¸´à¸', 2280 JPK: 'à¹à¸à¸à¸µà¸¡à¸à¸£à¹à¹à¸à¸à¹à¸à¸ª', 2281 CI: 'à¸à¸´à¸à¸µà¹à¹à¸à¹à¸à¸à¹', 2282 CIMB: 'à¸à¸µà¹à¸à¹à¸à¹à¸¡à¸à¸µ', 2283 ZTM: 'à¸à¸¹à¸¡à¸´à¹à¸à¹à¸¡à¸¡à¸´à¸à¸à¸¸à¸¢', 2284 DOIB: 'à¸à¸à¸¢à¸à¹à¹à¸à¸à¸à¹', 2285 TISGO: 'à¸à¸´à¸ªà¹à¸à¹', 2286 TCREDIT: 'à¹à¸à¸¢à¹à¸à¸£à¸à¸´à¸', 2287 BNP: 'à¸à¸à¸²à¸à¸²à¸£à¸à¸µà¹à¸à¹à¸à¸à¸µ',
2288 BAAC: 'à¸à¸à¸²à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸à¸²à¸£à¹à¸à¸©à¸à¸£à¹à¸¥à¸°à¸ªà¸«à¸à¸£à¸à¹à¸à¸²à¸£à¹à¸à¸©à¸à¸£', 2289 MSU: 'มิà¸à¸¹à¹à¸®', 2290 MEGA: 'à¹à¸¡à¸à¸°', 2291 UOB: 'ยูà¹à¸à¸à¸µ', 2292 LNH: 'à¹à¸¥à¸à¸à¹à¹à¸à¸à¸à¹ à¹à¸®à¹à¸²à¸ªà¹', 2293 SNT: 'สà¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸²à¸£à¹à¹à¸à¸à¸£à¹à¸', 2294 CN: 'à¸à¸à¸²à¸à¸²à¸£à¹à¸«à¹à¸à¸à¸£à¸°à¹à¸à¸¨à¸à¸µà¸', 2295 USA: 'à¹à¸«à¹à¸à¸à¹à¸¡à¸£à¸´à¸à¸²à¸¯', 2296 GSB: 'à¸à¸à¸¡à¸ªà¸´à¸', 2297 OSK: 'à¸à¸²à¸à¸²à¸£à¸ªà¸à¹à¸à¸£à¸²à¸°à¸«à¹', 2298 ASL: 'à¸à¸´à¸ªà¸¥à¸²à¸¡à¹à¸«à¹à¸à¸à¸£à¸°à¹à¸à¸¨à¹à¸à¸¢', 2299 IZBS: 'à¹à¸à¸à¸µà¸à¸µà¸à¸µ', 2300 TTB: 'à¸à¸à¸²à¸à¸²à¸£à¸à¸«à¸²à¸£à¹à¸à¸¢à¸à¸à¸à¸²à¸' 2301 }; 2302 2303 var TRUEWALLET_BANK = { 2304 TRUEWALLET: 'à¸à¸£à¸¹à¸¡à¸±à¸à¸à¸µà¹ วà¸à¸¥à¹à¸¥à¹à¸ (TRUEWALLET)' 2305 }; 2306 2307 /* AllAffData.aff â à¸à¸²à¸ PopupRegister / myJson.json */ 2308 var AFF_DATA = [{ 2309 text: 'YOUTUBE', 2310 value: 'YOUTUBE', 2311 icon: 'youtube.png' 2312 }, 2313 { 2314 text: 'TIKTOK', 2315 value: 'TIKTOK', 2316 icon: 'tiktok.png' 2317 }, 2318 { 2319 text: 'à¹à¸à¸·à¹à¸à¸à¹à¸à¸°à¸à¸³à¸¡à¸²', 2320 value: 'AFF', 2321 icon: 'talk.png' 2322 }, 2323 { 2324 text: 'à¸à¹à¸²à¸¢à¹à¸à¸©à¸à¸²à¸à¸²à¸¡à¹à¸§à¹à¸', 2325 value: 'ADVERTISEMENT', 2326 icon: 'billboard.png' 2327 }, 2328 { 2329 text: 'FACEBOOK', 2330 value: 'FACEBOOK', 2331 icon: 'facebook.png' 2332 }, 2333 { 2334 text: 'GOOGLE', 2335 value: 'GOOGLE', 2336 icon: 'search.png' 2337 } 2338 ]; 2339 2340 /* ===== ICON HELPERS ===== */ 2341 var ICON_EYE_OPEN = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="eye-icon"><path d="M12 15a3 3 0 100-6 3 3 0 000 6z"/><path fill-rule="evenodd" d="M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 010-1.113zM17.25 12a5.25 5.25 0 11-10.5 0 5.25 5.25 0 0110.5 0z" clip-rule="evenodd"/></svg>'; 2342 var ICON_EYE_CLOSED = '<svg width="24" height="19" viewBox="0 0 24 19" fill="currentColor" class="eye-icon" xmlns="http://www.w3.org/2000/svg"><path d="M19.5254 0.966275C19.2322 0.673025 18.7582 0.673025 18.4649 0.966275L16.3919 3.03928C15.0802 2.51128 13.6154 2.17078 11.9999 2.17078C4.80066 2.17078 0.303663 9.15553 0.116163 9.45328C0.00516307 9.62953 -0.0233369 9.83428 0.0201631 10.0225C-0.0158369 10.201 0.00741308 10.3923 0.110163 10.5603C0.214413 10.7313 1.70166 13.102 4.34166 15.091L2.59941 16.8325C2.30616 17.1258 2.30616 17.5998 2.59941 17.893C2.74566 18.0393 2.93766 18.1128 3.12966 18.1128C3.32166 18.1128 3.51366 18.0393 3.65991 17.893L19.5254 2.02678C19.8179 1.73428 19.8179 1.25953 19.5254 0.966275ZM7.67991 9.95578C7.67991 7.57378 9.61791 5.63578 11.9999 5.63578C12.5339 5.63578 13.0439 5.73628 13.5157 5.91478L12.2699 7.16053C12.1799 7.15078 12.0922 7.13578 11.9999 7.13578C10.4452 7.13578 9.17991 8.40103 9.17991 9.95578C9.17991 10.048 9.19566 10.1358 9.20466 10.2258L7.95891 11.4715C7.78041 11.0005 7.67991 10.4898 7.67991 9.95578ZM23.8837 10.5468C23.6962 10.8438 19.1992 17.8293 11.9999 17.8293C10.1204 17.8293 8.44041 17.3725 6.97416 16.6915L9.92391 13.741C10.5404 14.0808 11.2484 14.275 12.0007 14.275C14.3827 14.275 16.3207 12.337 16.3207 9.95502C16.3207 9.20278 16.1264 8.49553 15.7867 7.87827L19.1392 4.52578C22.1047 6.57928 23.7802 9.25753 23.8904 9.43903C23.9932 9.60703 24.0164 9.79827 23.9804 9.97678C24.0232 10.1665 23.9954 10.3705 23.8837 10.5468ZM11.0624 12.6033L14.6474 9.01903C14.7524 9.31378 14.8199 9.62653 14.8199 9.95653C14.8199 11.5113 13.5547 12.7765 11.9999 12.7765C11.6699 12.7758 11.3572 12.7083 11.0624 12.6033Z" fill="white"/></svg>'; 2343 2344 var STEP_ICONS = [ 2345 '<svg width="23" height="23" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.66665 9.33333C9.66665 5.84133 12.508 3 16 3C19.492 3 22.3333 5.84133 22.3333 9.33333C22.3333 12.8253 19.492 15.6667 16 15.6667C12.508 15.6667 9.66665 12.8253 9.66665 9.33333ZM20 17.6667H12C7.77331 17.6667 4.33331 21.1067 4.33331 25.3333C4.33331 27.356 5.97731 29 7.99998 29H24C26.0226 29 27.6666 27.356 27.6666 25.3333C27.6666 21.1067 24.2266 17.6667 20 17.6667Z" fill="currentColor"/></svg>', 2346 '<svg width="23" height="23" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24.4706 13.1765V9.41175C24.4706 4.70587 20.7059 0.941162 16 0.941162C11.2941 0.941162 7.5294 4.70587 7.5294 9.41175V13.1765C5.9294 13.1765 4.70587 14.4 4.70587 16V28.2353C4.70587 29.7412 5.9294 31.0588 7.5294 31.0588H24.4706C26.0706 31.0588 27.2941 29.7412 27.2941 28.2353V16C27.2941 14.4 26.0706 13.1765 24.4706 13.1765ZM9.41175 9.41175C9.41175 5.74116 12.3294 2.82352 16 2.82352C19.6706 2.82352 22.5882 5.74116 22.5882 9.41175V13.1765H9.41175V9.41175ZM16.9412 23.3412V25.4118C16.9412 25.9765 16.5647 26.3529 16 26.3529C15.4353 26.3529 15.0588 25.9765 15.0588 25.4118V23.3412C13.9294 22.9647 13.1765 21.9294 13.1765 20.7059C13.1765 19.1059 14.4 17.8823 16 17.8823C1
23467.6 17.8823 18.8235 19.1059 18.8235 20.7059C18.8235 21.9294 18.0706 22.9647 16.9412 23.3412Z" fill="currentColor"/></svg>', 2347 '<svg width="23" height="23" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#mr-bank-icon)"><path d="M24.7766 16.7715H28.5264V25.75H24.7766V16.7715Z" fill="currentColor"/><path d="M17.6755 16.7715H21.4255V25.75H17.6755V16.7715Z" fill="currentColor"/><path d="M10.5745 16.7715H14.3245V25.75H10.5745V16.7715Z" fill="currentColor"/><path d="M3.47363 16.7715H7.22339V25.75H3.47363V16.7715Z" fill="currentColor"/><path d="M29.7766 13.959V13.0215H2.22363V13.959C2.22363 14.4768 2.64331 14.8965 3.16113 14.8965H28.8391C29.3567 14.8965 29.7766 14.4768 29.7766 13.959Z" fill="currentColor"/><path d="M31.062 27.625H0.938476C0.420654 27.625 0.000976562 28.0447 0.000976562 28.5625V31.0625C0.000976562 31.5803 0.420654 32 0.938476 32H31.062C31.5798 32 31.9995 31.5803 31.9995 31.0625V28.5625C31.9995 28.0447 31.5798 27.625 31.062 27.625Z" fill="currentColor"/><path d="M0.937538 11.1465H31.0625C31.482 11.1465 31.8504 10.8679 31.9646 10.4643C32.0786 10.0608 31.9112 9.63037 31.554 9.41064L16.4915 0.13916C16.1902-0.0463867 15.8101-0.0463867 15.5086 0.13916L0.446083 9.41064C0.0889055 9.63061-0.0785748 10.0608 0.0356829 10.4643C0.149941 10.8679 0.518349 11.1465 0.937538 11.1465ZM15.3628 5.51416H16.6375C17.1553 5.51416 17.575 5.93383 17.575 6.45166C17.575 6.96948 17.1553 7.38916 16.6375 7.38916H15.3628C14.845 7.38916 14.4253 6.96948 14.4253 6.45166C14.4253 5.93383 14.845 5.51416 15.3628 5.51416Z" fill="currentColor"/></g><defs><clipPath id="mr-bank-icon"><rect width="32" height="32" fill="white"/></clipPath></defs></svg>' 2348 ]; 2349 var ICON_CHECK = '<svg width="24" height="24" fill="currentColor"><path d="M20 6L9 17L4 12" stroke="currentColor" stroke-width="3" fill="none"/></svg>'; 2350 2351 /* ===== BOOTSTRAP MODAL HELPERS ===== */ 2352 function bsShow(id) { 2353 var target = document.getElementById(id); 2354 if (!target) return; 2355 if (window.bootstrap && bootstrap.Modal && bootstrap.Modal.getOrCreateInstance) { 2356 bootstrap.Modal.getOrCreateInstance(target).show(); 2357 } else if (window.$ && $.fn.modal) { 2358 $(target).modal('show'); 2359 } else { 2360 target.style.display = 'block'; 2361 target.classList.add('show'); 2362 document.body.classList.add('modal-open'); 2363 if (!document.getElementById(id + '-bd')) { 2364 var bd = document.createElement('div'); 2365 bd.id = id + '-bd'; 2366 bd.className = 'modal-backdrop fade show'; 2367 document.body.appendChild(bd); 2368 } 2369 } 2370 } 2371 2372 function bsHide(id) { 2373 var target = document.getElementById(id); 2374 if (!target) return; 2375 if (window.bootstrap && bootstrap.Modal && bootstrap.Modal.getInstance) { 2376 var inst = bootstrap.Modal.getInstance(target); 2377 if (inst) inst.hide(); 2378 } else if (window.$ && $.fn.modal) { 2379 $(target).modal('hide'); 2380 } else { 2381 target.style.display = 'none'; 2382 target.classList.remove('show'); 2383 var bd = document.getElementById(id + '-bd'); 2384 if (bd) bd.remove(); 2385 var anyOpen = document.querySelector('.modal.show'); 2386 if (!anyOpen) document.body.classList.remove('modal-open'); 2387 } 2388 } 2389 2390 /* ===== DOM REFS ===== */ 2391 function el(id) { 2392 return document.getElementById(id); 2393 } 2394 var overlay = el('modal-register'); 2395 var phoneInput = el('mr-phone'); 2396 var phoneError = el('mr-phone-error'); 2397 // TEMP: à¸à¸´à¸à¸¢à¸à¸¡à¸£à¸±à¸à¹à¸à¸·à¹à¸à¸à¹à¸à¸à¸±à¹à¸§à¸à¸£à¸²à¸§ 2398 // var termsChk = el('mr-terms'); 2399 var nextBtn = el('mr-next-button'); 2400 var otpInputs = document.querySelectorAll('#mr-otp-inputs input'); 2401 var otpDisplay = el('mr-otp-phone-display'); 2402 var otpValidBtn = el('mr-otp-validate-button'); 2403 var otpBackBtn = el('mr-otp-back-button'); 2404 var countdown = el('mr-countdown-text'); 2405 var pwdInput = el('mr-password'); 2406 var cfmPwdInput = el('mr-confirm-password'); 2407 var pwdError = el('mr-password-error'); 2408 var pwdErrorCfm = el('mr-password-error-confirm'); 2409 var nextStep3Btn = el('mr-next-step-3'); 2410 var backStep2Btn = el('mr-back-to-step-2'); 2411 var backStep3Btn = el('mr-back-to-step-3'); 2412 var bankDropdown = el('mr-bank-dropdown'); 2413 var bankDropSelected = el('mr-bank-dropdown-selected'); 2414 var bankDropOptions = el('mr-bank-dropdown-options'); 2415 var bankNumInput = el('mr-account-number'); 2416 var trueWallet = el('mr-true-wallet'); 2417 var submitBtn = el('mr-submit-button'); 2418 var accountError = el('mr-account-error'); 2419 var walletError = el('mr-wallet-error'); 2420 var dropdown = el('mr-dropdown'); 2421 var dropSelected = el('mr-dropdown-selected'); 2422 var dropOptions = el('mr-dropdown-options'); 2423 var referrerInput = el('mr-selected-value'); 2424 var progressBar = el('mr-progress-bar'); 2425 var stepItems = [el('mr-step-item-1'), el('mr-step-item-2'), el('mr-step-item-3')]; 2426 2427 /* ===== PROGRESS / STEPS ===== */ 2428 function updateSteps() { 2429 var total = stepItems.length;
2430 stepItems.forEach(function(item, i) { 2431 var circle = item.querySelector('.circle'); 2432 var icon = circle.querySelector('.icon'); 2433 item.classList.remove('active-progress', 'done'); 2434 if (i + 1 < state.currentStep) { 2435 item.classList.add('done'); 2436 icon.innerHTML = ICON_CHECK; 2437 } else { 2438 if (i + 1 === state.currentStep) item.classList.add('active-progress'); 2439 if (STEP_ICONS[i]) icon.innerHTML = STEP_ICONS[i]; 2440 } 2441 }); 2442 progressBar.style.width = (((state.currentStep - 1) / (total - 1)) * 100) + '%'; 2443 } 2444 2445 function nextStep() { 2446 if (state.currentStep < stepItems.length) { 2447 state.currentStep++; 2448 updateSteps(); 2449 } 2450 } 2451 2452 function prevStep() { 2453 if (state.currentStep > 1) { 2454 state.currentStep--; 2455 updateSteps(); 2456 } 2457 } 2458 2459 /* ===== PHONE VALIDATION ===== */ 2460 function validatePhone(phone) { 2461 return /^(0[689])\d*$/.test(phone); 2462 } 2463 2464 function updateButtonState() { 2465 // TEMP: à¹à¸¡à¹à¸à¸£à¸§à¸ termsChk.checked 2466 var valid = validatePhone(phoneInput.value) && phoneInput.value.length === 10; 2467 if (phoneInput.value === '') phoneError.textContent = 'à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹'; 2468 else if (!validatePhone(phoneInput.value)) phoneError.textContent = 'à¹à¸à¸à¸£à¹à¹à¸à¸£à¸à¹à¸à¸à¸à¸¶à¹à¸à¸à¹à¸à¸à¹à¸§à¸¢ 0 à¸à¹à¸à¸à¹à¸§à¸¢ 6 หรืภ8 หรืภ9'; 2469 else phoneError.textContent = ''; 2470 nextBtn.disabled = !valid; 2471 } 2472
2473 phoneInput.addEventListener('input', function() { 2474 this.value = this.value.replace(/\D/g, ''); 2475 updateButtonState(); 2476 }); 2477 // TEMP: termsChk.addEventListener('change', updateButtonState); 2478 2479 /* ===== STEP 1 NEXT ===== */ 2480 nextBtn.addEventListener('click', function() { 2481 state.registerData.phone_number = phoneInput.value.trim(); 2482 var otp = state.prefixRegister.otp; 2483 if (otp === 'allow' || otp === 'main') { 2484 showStep(1, 3); 2485 nextStep(); 2486 } else { 2487 getOtp(phoneInput.value); 2488 } 2489 }); 2490 2491 /* ===== OTP ===== */ 2492 function showStep(from, to) { 2493 el('mr-step-' + from).classList.remove('active'); 2494 el('mr-step-' + to).classList.add('active'); 2495 } 2496 2497 function goToStep2() { 2498 showStep(1, 2); 2499 var phone = state.registerData.phone_number || '*******xxxx'; 2500 otpDisplay.textContent = phone.slice(0, -4).replace(/\d/g, '*') + phone.slice(-4); 2501 resetOtpInputs(); 2502 startOtpCountdown(); 2503 } 2504 2505 function returnToStep1() { 2506 showStep(2, 1); 2507 phoneInput.value = ''; 2508 nextBtn.disabled = true; 2509 } 2510 2511 otpInputs.forEach(function(input, i) { 2512 input.addEventListener('input', function(e) { 2513 e.target.value = e.target.value.replace(/\D/g, ''); 2514 if (e.target.value.length === 1 && i < otpInputs.length - 1) otpInputs[i + 1].focus(); 2515 checkOtpComplete(); 2516 }); 2517 input.addEventListener('keydown', function(e) { 2518 if (e.key === 'Backspace' && !e.target.value && i > 0) otpInputs[i - 1].focus(); 2519 }); 2520 input.addEventListener('paste', function(e) { 2521 e.preventDefault(); 2522 var pasted = e.clipboardData.getData('text').replace(/\D/g, ''); 2523 pasted.split('').forEach(function(c, j) { 2524 if (otpInputs[i + j]) otpInputs[i + j].value = c; 2525 }); 2526 var last = Math.min(i + pasted.length, otpInputs.length) - 1; 2527 otpInputs[last].focus(); 2528 checkOtpComplete(); 2529 }); 2530 }); 2531 2532 function checkOtpComplete() { 2533 var code = Array.from(otpInputs).map(function(x) { 2534 return x.value; 2535 }).join(''); 2536 otpValidBtn.disabled = code.length !== 6; 2537 } 2538 2539 function resetOtpInputs() { 2540 otpInputs.forEach(function(x) { 2541 x.value = ''; 2542 }); 2543 otpInputs[0].focus(); 2544 otpValidBtn.disabled = true; 2545 } 2546 2547 function startOtpCountdown() { 2548 clearInterval(state.otpTimer); 2549 state.otpSeconds = 120; 2550 updateCountdownText(); 2551 state.otpTimer = setInterval(function() { 2552 state.otpSeconds--; 2553 updateCountdownText(); 2554 if (state.otpSeconds <= 0) { 2555 clearInterval(state.otpTimer); 2556 returnToStep1(); 2557 } 2558 }, 1000); 2559 } 2560 2561 function updateCountdownText() { 2562 countdown.textContent = 'à¹à¸§à¸¥à¸²à¸à¸µà¹à¹à¸«à¸¥à¸·à¸: ' + state.otpSeconds + ' วิà¸à¸²à¸à¸µ'; 2563 } 2564 2565 otpValidBtn.addEventListener('click', function() { 2566 var code = Array.from(otpInputs).map(function(x) { 2567 return x.value; 2568 }).join(''); 2569 verifyOtp(phoneInput.value, code); 2570 }); 2571 2572 otpBackBtn.addEventListener('click', function() { 2573 clearInterval(state.otpTimer); 2574 returnToStep1(); 2575 nextBtn.disabled = true; 2576 }); 2577 2578 /* ===== PASSWORD ===== */ 2579 function togglePassword(inputEl, iconEl) { 2580 var type = inputEl.getAttribute('type') === 'password' ? 'text' : 'password'; 2581 inputEl.setAttribute('type', type); 2582 iconEl.innerHTML = type === 'text' ? ICON_EYE_OPEN : ICON_EYE_CLOSED; 2583 } 2584 2585 el('mr-toggle-password').addEventListener('click', function() { 2586 togglePassword(pwdInput, el('mr-icon-password')); 2587 }); 2588 el('mr-toggle-confirm-password').addEventListener('click', function() { 2589 togglePassword(cfmPwdInput, el('mr-icon-confirm-password')); 2590 }); 2591 2592 function validatePasswords() { 2593 var pwd = pwdInput.value, 2594 cfm = cfmPwdInput.value; 2595 var onlyAlNum = /^[A-Za-z0-9]+$/.test(pwd); 2596 var longEnough = pwd.length > 5; 2597 var valid = pwd && cfm && pwd === cfm && onlyAlNum && longEnough; 2598 2599 if (!pwd && !cfm) pwdError.textContent = 'à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸'; 2600 else if (pwd !== cfm && pwd && cfm) { 2601 pwdErrorCfm.textContent = 'รหัสà¸à¹à¸²à¸à¹à¸¡à¹à¸à¸£à¸à¸à¸±à¸'; 2602 pwdError.textContent = ''; 2603 } else if (!longEnough) { 2604 pwdError.textContent = 'รหัสà¸à¹à¸²à¸à¸à¹à¸à¸à¸¡à¸µà¸à¸§à¸²à¸¡à¸¢à¸²à¸§à¸à¸¢à¹à¸²à¸à¸à¹à¸à¸¢ 6 à¸à¸±à¸§à¸à¸±à¸à¸©à¸£'; 2605 pwdErrorCfm.textContent = ''; 2606 } else if (!onlyAlNum) { 2607 pwdError.textContent = 'รหัสà¸à¹à¸²à¸à¸à¹à¸à¸à¸¡à¸µà¸à¸±à¸§à¸à¸±à¸à¸©à¸£à¸ าษาà¸à¸±à¸à¸à¸¤à¸©à¸«à¸£à¸·à¸à¸à¸±à¸§à¹à¸¥à¸à¹à¸à¹à¸²à¸à¸±à¹à¸'; 2608 pwdErrorCfm.textContent = ''; 2609 } else { 2610 pwdError.textContent = ''; 2611 pwdErrorCfm.textContent = ''; 2612 } 2613 2614 nextStep3Btn.disabled = !valid; 2615 } 2616 2617 pwdInput.addEventListener('input', validatePasswords); 2618 cfmPwdInput.addEventListener('input', validatePasswords); 2619 2620 nextStep3Btn.addEventListener('click', function() { 2621 state.registerData.password = pwdInput.value; 2622 showStep(3, 4); 2623 nextStep(); 2624 loadBankList(); 2625 }); 2626 2627 backStep2Btn.addEventListener('click', function() { 2628 showStep(3, 1); 2629 prevStep(); 2630 }); 2631 2632 /* ===== BANK VALIDATION ===== */ 2633 bankNumInput.addEventListener('input', function() { 2634 state.bankTouched = true; 2635 bankNumInput.value = bankNumInput.value.replace(/\D/g, ''); 2636 checkSubmitButton(); 2637 }); 2638 2639 trueWallet.addEventListener('input', function() { 2640 state.walletTouched = true; 2641 trueWallet.value = trueWallet.value.replace(/[^à¸-à¹A-Za-z\s]/g, ''); 2642 checkSubmitButton(); 2643 }); 2644 2645 function validateBankName(name) { 2646 if (!name) name = ''; 2647 var isValid = /^[à¸-à¹A-Za-z\s]+$/.test(name); 2648 if (state.walletTouched && name === '') walletError.textContent = 'à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¸à¸·à¹à¸à¸à¸±à¸à¸à¸µ'; 2649 else if (state.walletTouched && !isValid) walletError.textContent = 'à¸à¸à¸¸à¸à¸²à¸à¹à¸à¸à¸²à¸°à¸à¸±à¸§à¸à¸±à¸à¸©à¸£à¹à¸à¸¢à¸«à¸£à¸·à¸à¸à¸±à¸à¸à¸¤à¸©à¹à¸à¹à¸²à¸à¸±à¹à¸'; 2650 else walletError.textContent = ''; 2651 return isValid; 2652 } 2653 2654 function validateBankNumber(number) { 2655 if (!number) number = ''; 2656 var onlyNum = /^\d+$/.test(number); 2657 var lenOk = number.length >= 10 && number.length <= 20; 2658 if (state.bankTouched && number === '') accountError.textContent = 'à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¹à¸¥à¸à¸à¸±à¸à¸à¸µà¸à¸à¸²à¸à¸²à¸£'; 2659 else if (state.bankTouched && !onlyNum) accountError.textContent = 'à¹à¸¥à¸à¸à¸±à¸à¸à¸µà¸à¹à¸à¸à¹à¸à¹à¸à¸à¸±à¸§à¹à¸¥à¸à¹à¸à¹à¸²à¸à¸±à¹à¸'; 2660 else if (state.bankTouched && !lenOk) accountError.textContent = 'à¹à¸¥à¸à¸à¸±à¸à¸à¸µà¸à¸§à¸£à¸¡à¸µ 10 à¸à¸¶à¸ 20 หลัà¸'; 2661 else accountError.textContent = ''; 2662 return onlyNum && lenOk; 2663 } 2664 2665 function checkSubmitButton() { 2666 var walletName = trueWallet.value.trim(); 2667 var accountNum = bankNumInput.value.trim(); 2668 var isTrue = state.registerData.bank_code === 'TRUEWALLET'; 2669 var bnValid = !isTrue || validateBankName(walletName); 2670 var numValid = validateBankNumber(accountNum); 2671 submitBtn.disabled = !(state.registerData.bank_code && numValid && bnValid); 2672 } 2673 2674 function getBankImgUrl(code) { 2675 if (!CFG.bankImgBase || !code) return ''; 2676 return String(CFG.bankImgBase).replace(/\/?$/, '/') + code + '.png'; 2677 } 2678 2679 function updateBankSelectedDisplay(bank) { 2680 if (!bankDropSelected) return; 2681 if (!bank) { 2682 bankDropSelected.classList.add('is-placeholder'); 2683 bankDropSelected.textContent = 'à¹à¸à¸£à¸à¹à¸¥à¸·à¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¸±à¸à¸à¸µà¸à¸à¸²à¸à¸²à¸£'; 2684 return; 2685 } 2686 bankDropSelected.classList.remove('is-placeholder'); 2687 var imgUrl = getBankImgUrl(bank.bank_code); 2688 var imgHtml = imgUrl ? 2689 '<img src="' + imgUrl + '" alt="' + bank.bank_code + '" class="mr-bank-option-icon" onerror="this.style.display=\'none\'">' : 2690 ''; 2691 bankDropSelected.innerHTML = imgHtml + '<span>' + bank.full_name + '</span>'; 2692 } 2693 2694 function selectBank(bank) { 2695 if (!bank) return; 2696 state.registerData.bank_code = bank.bank_code; 2697 state.registerData.bank_type = bank.bank_type; 2698 updateBankSelectedDisplay(bank); 2699 trueWallet.value = ''; 2700 bankNumInput.value = ''; 2701 accountError.textContent = ''; 2702 walletError.textContent = ''; 2703 state.bankTouched = false;
2704 state.walletTouched = false; 2705 if (bank.bank_code === 'TRUEWALLET' || state.prefixRegister.not_checkbank) { 2706 trueWallet.classList.remove('hidden'); 2707 trueWallet.classList.add('show'); 2708 } else { 2709 trueWallet.classList.add('hidden'); 2710 trueWallet.classList.remove('show'); 2711 } 2712 checkSubmitButton(); 2713 } 2714 2715 bankDropSelected.addEventListener('click', function() { 2716 if (bankDropdown) bankDropdown.classList.toggle('open'); 2717 }); 2718 2719 backStep3Btn.addEventListener('click', function() { 2720 showStep(4, 3); 2721 pwdInput.value = ''; 2722 cfmPwdInput.value = ''; 2723 nextStep3Btn.disabled = true; 2724 prevStep(); 2725 }); 2726 2727 /* ===== DROPDOWN ===== */ 2728 dropSelected.addEventListener('click', function() { 2729 dropdown.classList.toggle('open'); 2730 }); 2731 document.addEventListener('click', function(e) { 2732 if (dropdown && !dropdown.contains(e.target)) dropdown.classList.remove('open'); 2733 if (bankDropdown && !bankDropdown.contains(e.target)) bankDropdown.classList.remove('open'); 2734 }); 2735 2736 /* ===== API CALLS ===== */ 2737 async function fetchPrefix() { 2738 if (!window._prefixPromise) { 2739 window._prefixPromise = fetch(CFG.urlApi + '/api/prefix') 2740 .then(function(res) { 2741 return res.json(); 2742 }) 2743 .catch(function() { 2744 window._prefixPromise = null; 2745 return null; 2746 }); 2747 } 2748 return window._prefixPromise; 2749 } 2750 2751 async function getOtp(phone) { 2752 nextBtn.disabled = true; 2753 try { 2754 var jwtPayload = { 2755 Phone_number: phone, 2756 iat: Math.floor(Date.now() / 1000) 2757 }; 2758 var token = await signJwt(jwtPayload, CFG.jwtSecret); 2759 var res = await fetch(CFG.urlApi + '/api/verify_phone', { 2760 method: 'POST', 2761 headers: { 2762 'X-API-KEY': 'officex-homey-dev', 2763 Accept: 'application/json', 2764 'Content-Type': 'application/json' 2765 }, 2766 body: JSON.stringify({ 2767 token: token 2768 }) 2769 }); 2770 var data = await res.json(); 2771 if (data.code === 0) { 2772 if (window.Swal) Swal.fire({ 2773 toast: true, 2774 position: 'top-end', 2775 icon: 'success', 2776 title: data.msg,
2777 showConfirmButton: false, 2778 timer: 1500 2779 }); 2780 if (data.payload && data.payload.active === 0) goToStep2(); 2781 else { 2782 showStep(1, 3); 2783 nextStep(); 2784 } 2785 nextBtn.disabled = false; 2786 } else { 2787 if (window.Swal) Swal.fire({ 2788 toast: true, 2789 position: 'top-end', 2790 icon: 'error', 2791 title: data.msg || 'à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£à¹à¸¡à¹à¸ªà¸³à¹à¸£à¹à¸', 2792 showConfirmButton: false, 2793 timer: 1500 2794 }); 2795 nextBtn.disabled = false; 2796 } 2797 } catch (e) { 2798 nextBtn.disabled = false; 2799 } 2800 } 2801 2802 async function verifyOtp(phone, otp) { 2803 otpValidBtn.disabled = true; 2804 try { 2805 var jwtPayload = { 2806 phone_verify: phone, 2807 otp_verify: otp, 2808 iat: Math.floor(Date.now() / 1000) 2809 }; 2810 var token = await signJwt(jwtPayload, CFG.jwtSecret); 2811 var res = await fetch(CFG.urlApi + '/api/verify_OTP', { 2812 method: 'POST', 2813 headers: { 2814 'X-API-KEY': 'officex-homey-dev', 2815 Accept: 'application/json', 2816 'Content-Type': 'application/json' 2817 }, 2818 body: JSON.stringify({ 2819 token: token 2820 }) 2821 }); 2822 var data = await res.json(); 2823 if (data.code === 0) { 2824 if (window.Swal) Swal.fire({ 2825 toast: true, 2826 position: 'top-end', 2827 icon: 'success', 2828 title: data.msg,
2829 showConfirmButton: false, 2830 timer: 1500 2831 }); 2832 showStep(2, 3); 2833 nextStep(); 2834 clearInterval(state.otpTimer); 2835 otpValidBtn.disabled = false; 2836 } else { 2837 if (window.Swal) Swal.fire({ 2838 toast: true, 2839 position: 'top-end', 2840 icon: 'error', 2841 title: data.msg, 2842 showConfirmButton: false, 2843 timer: 1500 2844 }); 2845 otpValidBtn.disabled = false; 2846 } 2847 } catch (e) { 2848 otpValidBtn.disabled = false; 2849 } 2850 } 2851 2852 function buildBankListFromJson() { 2853 var banks = Object.assign({}, DATA_BANK); 2854 if (state.prefixRegister.true_wallet) { 2855 Object.assign(banks, TRUEWALLET_BANK); 2856 } 2857 return Object.keys(banks).map(function(code) { 2858 return { 2859 bank_code: code, 2860 full_name: banks[code], 2861 bank_type: BANK_TYPE[code] || banks[code] 2862 }; 2863 }); 2864 } 2865 2866 function renderBankDropdown(bankData) { 2867 if (!bankDropOptions) return; 2868 var current = state.registerData.bank_code; 2869 bankDropOptions.innerHTML = ''; 2870 var list = bankData.filter(function(item) { 2871 return item.bank_code !== 'PEER2PAY' && item.bank_code !== 'UMPAY'; 2872 }); 2873 state.banklist = list; 2874 list.forEach(function(bank) { 2875 var opt = document.createElement('div'); 2876 opt.setAttribute('data-value', bank.bank_code); 2877 opt.setAttribute('role', 'option'); 2878 opt.className = 'mr-bank-option'; 2879 var imgUrl = getBankImgUrl(bank.bank_code); 2880 var imgHtml = imgUrl ? 2881 '<img src="' + imgUrl + '" alt="' + bank.bank_code + '" class="mr-bank-option-icon" onerror="this.style.display=\'none\'">' : 2882 ''; 2883 opt.innerHTML = imgHtml + '<span>' + bank.full_name + '</span>'; 2884 opt.addEventListener('click', function() { 2885 selectBank(bank); 2886 bankDropdown.classList.remove('open'); 2887 }); 2888 bankDropOptions.appendChild(opt); 2889 }); 2890 if (current) { 2891 var selected = list.find(function(b) { 2892 return b.bank_code === current; 2893 }); 2894 if (selected) updateBankSelectedDisplay(selected); 2895 } 2896 } 2897 2898 function loadBankList() { 2899 renderBankDropdown(buildBankListFromJson()); 2900 } 2901 2902 function getAffIconUrl(icon) { 2903 if (!icon) return ''; 2904 if (/^https?:\/\//.test(icon)) return icon; 2905 if (icon.charAt(0) === '/' && CFG.urlApi) { 2906 return String(CFG.urlApi).replace(/\/$/, '') + icon; 2907 } 2908 if (!CFG.affImgBase) return ''; 2909 return String(CFG.affImgBase).replace(/\/?$/, '/') + icon; 2910 } 2911 2912 function updateAffSelectedDisplay(item) { 2913 if (!dropSelected) return; 2914 if (!item || !item.value) { 2915 dropSelected.classList.add('is-placeholder'); 2916 dropSelected.textContent = 'à¹à¸¥à¸·à¸à¸à¸à¹à¸à¸à¸à¸²à¸'; 2917 return; 2918 } 2919 dropSelected.classList.remove('is-placeholder'); 2920 var imgUrl = getAffIconUrl(item.icon); 2921 var imgHtml = imgUrl ? 2922 '<img src="' + imgUrl + '" alt="' + item.text + '" class="mr-aff-option-icon" onerror="this.style.display=\'none\'">' : 2923 ''; 2924 dropSelected.innerHTML = imgHtml + '<span>' + item.text + '</span>'; 2925 } 2926 2927 function selectAff(item) { 2928 if (!item || !item.value) return; 2929 referrerInput.value = item.value; 2930 state.registerData.affiliate = item.value; 2931 updateAffSelectedDisplay(item); 2932 } 2933 2934 function renderAffDropdown() { 2935 if (!dropOptions) return; 2936 dropOptions.innerHTML = ''; 2937 AFF_DATA.forEach(function(item) { 2938 var opt = document.createElement('div'); 2939 opt.setAttribute('data-value', item.value); 2940 opt.setAttribute('role', 'option'); 2941 opt.className = 'mr-aff-option'; 2942 var imgUrl = getAffIconUrl(item.icon); 2943 var imgHtml = imgUrl ? 2944 '<img src="' + imgUrl + '" alt="' + item.text + '" class="mr-aff-option-icon" onerror="this.style.display=\'none\'">' : 2945 ''; 2946 opt.innerHTML = imgHtml + '<span>' + item.text + '</span>'; 2947 opt.addEventListener('click', function() { 2948 selectAff(item); 2949 dropdown.classList.remove('open'); 2950 }); 2951 dropOptions.appendChild(opt); 2952 }); 2953 } 2954 2955 function loadAffList() { 2956 renderAffDropdown(); 2957 updateAffSelectedDisplay(null); 2958 } 2959 2960 async function checkAffiliateFromQuery() { 2961 var affWrap = el('mr-aff-wrap'); 2962 var params = new URLSearchParams(window.location.search); 2963 var ref = params.get('ref'); 2964 var clickid = params.get('clickid'); 2965 2966 state.registerData.ref_join = ''; 2967 state.registerData.clickid = clickid || ''; 2968 2969 if (ref) { 2970 if (affWrap) affWrap.style.display = 'none'; 2971 state.registerData.affiliate = 'INVITFRIEND'; 2972 referrerInput.value = 'INVITFRIEND'; 2973 try { 2974 var jwtPayload = { 2975 join: ref, 2976 iat: Math.floor(Date.now() / 1000) 2977 }; 2978 var token = await signJwt(jwtPayload, CFG.jwtSecret); 2979 var res = await fetch(CFG.urlApi + '/AffrefDE', { 2980 method: 'POST', 2981 headers: { 2982 'X-API-KEY': 'officex-homey-dev', 2983 Accept: 'application/json', 2984 'Content-Type': 'application/json' 2985 }, 2986 body: JSON.stringify({ 2987 token: token 2988 }) 2989 }); 2990 var data = await res.json(); 2991 if (data.payload && data.payload.token) { 2992 state.registerData.ref_join = data.payload.token; 2993 } 2994 } catch (e) {} 2995 } else { 2996 if (affWrap) affWrap.style.display = ''; 2997 if (!state.registerData.affiliate) { 2998 referrerInput.value = ''; 2999 updateAffSelectedDisplay(null); 3000 } 3001 } 3002 } 3003 3004 function renderRuleRegister(data) { 3005 el('mr-rule-body').innerHTML = '<p>' + data.data.register.description + '</p>'; 3006 } 3007 3008 function usePrefixData(data) { 3009 var pr = state.prefixRegister; 3010 var linecontact = "https:\/\/cutt.ly\/wcpg77" || 3011 (data.data.contact && data.data.contact.linecontact) || ''; 3012 if (linecontact) { 3013 el('mr-contact-link').addEventListener('click', function() { 3014 window.open(linecontact, '_blank'); 3015 }); 3016 el('mr-contact-link-step').addEventListener('click', function() { 3017 window.open(linecontact, '_blank'); 3018 }); 3019 } 3020 pr.type_register = data.data.register.type_register; 3021 pr.bank_account = data.data.register.bank_account; 3022 pr.otp = data.data.register.otp; 3023 pr.true_wallet = data.data.register.true_wallet; 3024 pr.disable = data.data.register.disable; 3025 pr.description = data.data.register.description;
3026 pr.not_checkbank = data.data.register.not_checkbank; 3027 3028 loadBankList(); 3029 // TEMP: renderRuleRegister(data); 3030 } 3031 3032 /* ===== CONFIRM REGISTER ===== */ 3033 window._mrConfirmRegister = async function() { 3034 var bankNumber = bankNumInput.value.trim(); 3035 var promotion = parseInt(document.querySelector('input[name="mr-promotion"]:checked')?.value, 10) || 0; 3036 var affWrap = el('mr-aff-wrap'); 3037 var affVisible = affWrap && affWrap.style.display !== 'none'; 3038 3039 if (affVisible && !state.registerData.affiliate) { 3040 if (window.Swal) Swal.fire({ 3041 toast: true, 3042 position: 'top-end', 3043 icon: 'error', 3044 title: 'à¸à¸¸à¸à¸£à¸¹à¹à¸à¸±à¸à¹à¸£à¸²à¸à¸²à¸à¸à¹à¸à¸à¸à¸²à¸à¹à¸«à¸', 3045 showConfirmButton: false, 3046 timer: 1500 3047 }); 3048 return; 3049 } 3050 3051 if (state.prefixRegister.not_checkbank) state.registerData.register_type = 'WAIT'; 3052 state.registerData.bank_number = bankNumber; 3053 state.registerData.affiliate = referrerInput.value || state.registerData.affiliate; 3054 state.registerData.bank_name = trueWallet.value; 3055 state.registerData.promotion = promotion; 3056 3057 var timedate = window.moment ? 3058 moment(new Date()).format('Y-MM-DD HH:mm:ss') : 3059 new Date().toISOString().slice(0, 19).replace('T', ' '); 3060 submitBtn.disabled = true; 3061 try { 3062 var jwtPayload = { 3063 date_regis: timedate, 3064 phone_number: state.registerData.phone_number, 3065 password: state.registerData.password, 3066 bank_type: state.registerData.bank_type, 3067 bank_code: state.registerData.bank_code, 3068 bank_number: bankNumber, 3069 bank_name: state.registerData.bank_name || '', 3070 affiliate: state.registerData.affiliate, 3071 join: state.registerData.ref_join || '', 3072 clickid: state.registerData.clickid || '', 3073 is_bonus: promotion, 3074 iat: Math.floor(Date.now() / 1000) 3075 }; 3076 var token = await signJwt(jwtPayload, CFG.jwtSecret); 3077 var res = await fetch(CFG.urlApi + '/api/register', { 3078 method: 'POST', 3079 headers: { 3080 'X-API-KEY': 'officex-homey-dev', 3081 Accept: 'application/json', 3082 'Content-Type': 'application/json' 3083 }, 3084 body: JSON.stringify({ 3085 token: token 3086 }) 3087 }); 3088 var data = await res.json(); 3089 if (data.code === 0) { 3090 submitBtn.disabled = false; 3091 showModalSuccess(); 3092 } else { 3093 if (window.Swal) Swal.fire({ 3094 toast: true, 3095 position: 'top-end', 3096 icon: 'error', 3097 title: data.msg || data.message?.message || 'สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸¡à¹à¸ªà¸³à¹à¸£à¹à¸',
3098 showConfirmButton: false, 3099 timer: 1500 3100 }); 3101 submitBtn.disabled = false; 3102 if (data.payload?.is_input_bank_name || data.data?.is_input_bank_name || state.prefixRegister.not_checkbank) { 3103 state.registerData.register_type = 'WAIT'; 3104 trueWallet.classList.add('show'); 3105 } 3106 } 3107 } catch (e) { 3108 submitBtn.disabled = false; 3109 } 3110 }; 3111 3112 // TEMP: à¸à¸´à¸ rules modal à¸à¸±à¹à¸§à¸à¸£à¸²à¸§ 3113 /* 3114 function closeRulesAndShowRegister() { 3115 bsHide('mr-modal-rules'); 3116 bsShow('modal-register'); 3117 } 3118 3119 el('mr-rule-trigger').addEventListener('click', function() { 3120 bsHide('modal-register'); 3121 bsShow('mr-modal-rules'); 3122 }); 3123 el('mr-rules-close').addEventListener('click', function() { 3124 closeRulesAndShowRegister(); 3125 }); 3126 */ 3127 3128 /* ===== SUCCESS MODAL ===== */ 3129 function showModalSuccess() { 3130 bsShow('mr-modal-success'); 3131 } 3132 3133 function openLoginAfterRegister() { 3134 bsHide('mr-modal-success'); 3135 ModalRegister.close(); 3136 if (window.ModalLogin) ModalLogin.open(); 3137 else window.location.href = CFG.siteUrl; 3138 } 3139 3140 el('mr-success-close').addEventListener('click', openLoginAfterRegister); 3141 el('mr-success-btn').addEventListener('click', openLoginAfterRegister); 3142 3143 /* ===== GOTO LOGIN LINK ===== */ 3144 el('mr-goto-login').addEventListener('click', function() { 3145 ModalRegister.close(); 3146 if (window.ModalLogin) ModalLogin.open(); 3147 else window.location.href = CFG.siteUrl; 3148 }); 3149 3150 /* ===== RESET MODAL STATE ===== */ 3151 function resetAll() { 3152 state.currentStep = 1; 3153 state.otpSeconds = 120; 3154 state.walletTouched = false; 3155 state.bankTouched = false; 3156 clearInterval(state.otpTimer); 3157 state.registerData = { 3158 phone_number: '', 3159 password: '', 3160 affiliate: '', 3161 ref_join: '', 3162 clickid: '', 3163 bank_code: '', 3164 bank_type: '', 3165 bank_number: '', 3166 bank_name: '', 3167 register_type: '' 3168 }; 3169 3170 // reset steps visibility 3171 [1, 2, 3, 4].forEach(function(s) { 3172 var step = el('mr-step-' + s); 3173 if (step) step.classList.remove('active'); 3174 }); 3175 var s1 = el('mr-step-1'); 3176 if (s1) s1.classList.add('active'); 3177 3178 // reset inputs 3179 phoneInput.value = ''; 3180 phoneError.textContent = ''; 3181 nextBtn.disabled = true; 3182 // TEMP: termsChk.checked = false; 3183 resetOtpInputs(); 3184 pwdInput.value = ''; 3185 cfmPwdInput.value = ''; 3186 pwdError.textContent = ''; 3187 pwdErrorCfm.textContent = ''; 3188 nextStep3Btn.disabled = true; 3189 updateBankSelectedDisplay(null); 3190 if (bankDropdown) bankDropdown.classList.remove('open'); 3191 bankNumInput.value = ''; 3192 trueWallet.value = ''; 3193 submitBtn.disabled = true; 3194 trueWallet.classList.add('hidden'); 3195 trueWallet.classList.remove('show'); 3196 accountError.textContent = ''; 3197 walletError.textContent = ''; 3198 state.registerData.bank_code = ''; 3199 state.registerData.bank_type = ''; 3200 updateAffSelectedDisplay(null); 3201 if (dropdown) dropdown.classList.remove('open'); 3202 referrerInput.value = ''; 3203 checkAffiliateFromQuery(); 3204 updateSteps(); 3205 } 3206 3207 /* ===== INIT ===== */ 3208 var prefixLoaded = false; 3209 3210 function init() { 3211 updateSteps(); 3212 loadBankList(); 3213 loadAffList(); 3214 checkAffiliateFromQuery(); 3215 } 3216 3217 /* ===== PUBLIC API ===== */ 3218 window.ModalRegister = { 3219 /** 3220 * à¹à¸à¸´à¸ modal สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸ 3221 * à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸«à¸à¹à¸²: ModalRegister.open() 3222 */ 3223 open: function() { 3224 resetAll(); 3225 if (!prefixLoaded) { 3226 fetchPrefix().then(function(data) { 3227 if (data) { 3228 usePrefixData(data); 3229 prefixLoaded = true; 3230 } else { 3231 loadBankList(); 3232 } 3233 }); 3234 } else { 3235 loadBankList(); 3236 } 3237 bsShow('modal-register'); 3238 }, 3239 /** 3240 * à¸à¸´à¸ modal สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸ 3241 * à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸«à¸à¹à¸²: ModalRegister.close() 3242 */ 3243 close: function() { 3244 bsHide('modal-register'); 3245 bsHide('mr-modal-rules'); 3246 bsHide('mr-modal-success'); 3247 clearInterval(state.otpTimer); 3248 }, 3249 /** 3250 * Override config หลัภinclude 3251 * à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸«à¸à¹à¸²: ModalRegister.setConfig({ urlApi: '...', siteUrl: '...' }) 3252 */ 3253 setConfig: function(cfg) { 3254 Object.assign(CFG, cfg); 3255 } 3256 }; 3257 3258 init(); 3259 })(); 3260</script>
3260 3261<!-- ============================================================ 3262 MODAL LOGIN â CSS (Scoped · à¹à¸¡à¹à¸à¸±à¸ CSS à¸à¸à¸ project à¸à¸¥à¸²à¸¢à¸à¸²à¸) 3263 à¸à¸¸à¸ rule à¸à¸¹à¸ scope à¸à¹à¸§à¸¢ #modal-login 3264 ============================================================ --> 3265<style> 3266 /* ===== RESET & BOX MODEL ===== */ 3267 #modal-login *, 3268 #modal-login *::before, 3269 #modal-login *::after { 3270 box-sizing: border-box; 3271 } 3272 3273 /* ===== THEME â à¹à¸à¹à¸ªà¸µà¸à¸¸à¹à¸¡/à¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸ modal à¸à¸µà¹à¸à¸µà¹à¸à¸µà¹à¹à¸à¸µà¸¢à¸§ ===== */ 3274 #modal-login, 3275 #ml-modal-forgot, 3276 #ml-modal-disable-register { 3277 --ml-primary: #ff5600; 3278 /* สีà¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¸à¸¸à¹à¸¡à¸«à¸¥à¸±à¸ (à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸) */ 3279 --ml-btn-text: #ffffff; 3280 /* สีà¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸à¸à¸¸à¹à¸¡à¸«à¸¥à¸±à¸ */ 3281 --ml-btn-line: #39cd00; 3282 /* สีà¸à¸·à¹à¸à¸«à¸¥à¸±à¸à¸à¸¸à¹à¸¡ LINE / à¸à¸´à¸à¸à¹à¸ */ 3283 --ml-btn-line-text: #ffffff; 3284 /* สีà¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸à¸à¸¸à¹à¸¡ LINE / à¸à¸´à¸à¸à¹à¸ */ 3285 --ml-text-main: #ffffff; 3286 /* à¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸à¸à¸±à¹à¸§à¹à¸à¹à¸ modal */ 3287 --ml-text-accent: #ff5600; 3288 /* ลิà¸à¸à¹ / à¸à¹à¸à¸à¸§à¸²à¸¡à¹à¸à¹à¸ */ 3289 --ml-modal-bg: #000000b8; 3290 /* à¸à¸·à¹à¸à¸«à¸¥à¸±à¸ modal */ 3291 --ml-modal-border: #ff5600; 3292 /* à¸à¸à¸ modal */ 3293 --ml-close: #e50b00; 3294 /* à¸à¸¸à¹à¸¡à¸à¸´à¸ (X) */ 3295 --ml-error: red; 3296 /* à¸à¹à¸à¸à¸§à¸²à¸¡ error */ 3297 --ml-input-text: #ffffff; 3298 /* à¸à¸±à¸§à¸«à¸à¸±à¸à¸ªà¸·à¸à¹à¸ input */ 3299 --ml-input-placeholder: #ffffff; 3300 /* placeholder */ 3301 --ml-input-border: #a5a5a58c; 3302 /* à¸à¸à¸ input */ 3303 --ml-font: "Prompt", sans-serif; 3304 --ml-bg-input: rgba(0, 0, 0, .56); 3305 } 3306 3307 /* ===== FONT & BASE ===== */ 3308 #modal-login { 3309 font-family: var(--ml-font); 3310 font-size: 16px; 3311 } 3312 3313 #modal-login p { 3314 margin: 0; 3315 font-size: 16px; 3316 } 3317 3318 #modal-login h1 { 3319 font-size: 32px; 3320 font-weight: 600; 3321 margin-bottom: 1rem; 3322 } 3323 3324 #modal-login h5 { 3325 font-weight: 600; 3326 margin: 0; 3327 } 3328 3329 #modal-login figure { 3330 margin: 0; 3331 } 3332 3333 #modal-login a { 3334 text-decoration: none !important; 3335 font-size: 16px; 3336 font-weight: 400; 3337 color: var(--ml-text-accent); 3338 } 3339 3340 #modal-login :where(p, a, span, h1, h2, h3, h4, h5, h6) { 3341 font-weight: 500; 3342 } 3343 3344 /* ===== CLOSE BUTTON ===== */ 3345 #modal-login .modal-header .close span, 3346 #modal-login .modal-header .close i { 3347 color: var(--ml-close) !important; 3348 } 3349 3350 /* ===== BOOTSTRAP MODAL CONTENT DARK THEME ===== */ 3351 #modal-login .modal-content, 3352 #ml-modal-forgot .modal-content, 3353 #ml-modal-disable-register .modal-content { 3354 background: var(--ml-modal-bg); 3355 border: 2px solid var(--ml-modal-border); 3356 border-radius: 16px; 3357 color: var(--ml-text-main); 3358 font-family: var(--ml-font); 3359 } 3360 3361 #modal-login .modal-body { 3362 padding: 1rem 1.5rem 2rem; 3363 overflow-y: auto; 3364 -webkit-overflow-scrolling: touch; 3365 } 3366 3367 /* ===== LAYOUT ===== */ 3368 #modal-login .form-layout { 3369 display: flex; 3370 justify-content: center; 3371 } 3372 3373 #modal-login .from-login { 3374 width: 100%; 3375 margin: auto; 3376 } 3377 3378 #modal-login .logo { 3379 width: clamp(200px, 40vw, 400px); 3380 margin: 0 auto; 3381 } 3382 3383 #modal-login .logo img { 3384 width: 100%; 3385 height: auto; 3386 } 3387 3388 #modal-login .form { 3389 margin: 0 auto; 3390 color: var(--ml-text-main); 3391 } 3392 3393 /* ===== INPUTS ===== */ 3394 #modal-login input { 3395 width: 100%; 3396 padding: 10px; 3397 border-radius: 100px; 3398 border: 1px solid var(--ml-input-border); 3399 background-color: var(--ml-bg-input); 3400 color: var(--ml-input-text); 3401 font-family: var(--ml-font); 3402 font-size: 16px; 3403 } 3404 3405 #modal-login input:focus-visible, 3406 #modal-login input:focus { 3407 outline: none; 3408 } 3409 3410 #modal-login ::placeholder { 3411 color: var(--ml-input-placeholder); 3412 opacity: 1; 3413 } 3414 3415 /* ===== BUTTONS ===== */ 3416 #modal-login .btn-login .btn-text-one, 3417 #modal-login .btn-forget .btn-text-one, 3418 #ml-modal-forgot .btn-text-one { 3419 color: var(--ml-btn-text); 3420 } 3421
3422 #modal-login .btn-line .btn-text-one, 3423 #ml-modal-disable-register .btn-line .btn-text-one { 3424 color: var(--ml-btn-line-text); 3425 } 3426 3427 #modal-login .btn-login, 3428 #modal-login .btn-register, 3429 #modal-login .btn-forget { 3430 width: 100%; 3431 padding: 10px; 3432 border-radius: 100px; 3433 border: 1px solid rgba(0, 0, 0, .56); 3434 background: var(--ml-primary); 3435 color: var(--ml-btn-text); 3436 margin-bottom: 10px; 3437 cursor: pointer; 3438 font-family: var(--ml-font); 3439 font-size: 16px; 3440 } 3441 3442 #modal-login .btn-register { 3443 background: transparent; 3444 border: 1px solid var(--ml-primary); 3445 color: var(--ml-primary); 3446 margin-top: 0.5rem; 3447 } 3448 3449 #modal-login .btn-line { 3450 width: 100%; 3451 padding: 10px; 3452 border-radius: 100px; 3453 border: none; 3454 background: var(--ml-btn-line); 3455 color: var(--ml-btn-line-text); 3456 margin-top: 10px; 3457 cursor: pointer; 3458 font-family: var(--ml-font); 3459 font-size: 16px; 3460 display: flex; 3461 text-align: center; 3462 justify-content: center; 3463 } 3464 3465 #modal-login .btn-line.line-login { 3466 display: none; 3467 } 3468 3469 #modal-login .btn-line.active-line { 3470 display: block !important; 3471 } 3472 3473 #modal-login button[disabled] { 3474 background-color: var(--ml-primary) !important; 3475 cursor: not-allowed; 3476 border: none; 3477 color: var(--ml-btn-text); 3478 position: relative; 3479 } 3480 3481 #modal-login button[disabled]::after { 3482 content: ""; 3483 position: absolute; 3484 inset: 0; 3485 background-color: #000; 3486 opacity: 0.5; 3487 z-index: 1; 3488 border-radius: 100px; 3489 } 3490 3491 /* ===== FORM FIELDS ===== */ 3492 #modal-login .error { 3493 color: var(--ml-error); 3494 font-size: 14px; 3495 margin-top: 4px; 3496 } 3497 3498 #modal-login .phone-number, 3499 #modal-login .password { 3500 margin-top: 1rem; 3501 } 3502 3503 #modal-login .password-wrapper { 3504 position: relative; 3505 } 3506 3507 #modal-login .toggle-button { 3508 position: absolute; 3509 top: 50%; 3510 right: 10px; 3511 transform: translateY(-50%); 3512 display: flex; 3513 align-items: center; 3514 cursor: pointer; 3515 color: #666; 3516 } 3517 3518 #modal-login .eye-icon { 3519 width: 20px; 3520 height: 20px; 3521 color: var(--ml-text-main); 3522 } 3523 3524 #modal-login .page-wrap { 3525 width: 100%; 3526 } 3527 3528 #modal-login .page-logo { 3529 text-align: center; 3530 margin-bottom: 1rem; 3531 } 3532 3533 #modal-login .page-logo img { 3534 width: clamp(200px, 50vw, 250px); 3535 height: auto; 3536 } 3537 3538 #modal-login .form-group label, 3539 #modal-login .form-password>label { 3540 display: block; 3541 margin-bottom: 0.5rem; 3542 color: var(--ml-text-main); 3543 } 3544 3545 #modal-login .form-password .forgot-password { 3546 margin: 0.5rem 0 0; 3547 } 3548 3549 #modal-login .form-password .forgot-password small { 3550 color: var(--ml-text-accent); 3551 cursor: pointer; 3552 } 3553 3554 /* ===== FORGOT / NOT-MEMBER ===== */ 3555 #modal-login .forgot-password { 3556 margin: 1rem 0; 3557 text-align: right; 3558 } 3559 3560 #modal-login .forgot-password span { 3561 color: var(--ml-text-accent); 3562 cursor: pointer; 3563 } 3564 3565 #modal-login .not-member { 3566 text-align: center; 3567 display: block; 3568 width: 100%; 3569 margin: 1rem 0; 3570 font-size: 16px; 3571 color: var(--ml-text-main); 3572 } 3573 3574 #modal-login .not-member a { 3575 color: var(--ml-text-accent) !important; 3576 } 3577 3578 /* ===== MODAL CONTENT (forgot / disable) ===== */ 3579 #ml-modal-forgot .modal-content, 3580 #ml-modal-disable-register .modal-content { 3581 position: relative; 3582 display: flex; 3583 flex-direction: column; 3584 width: 100%; 3585 pointer-events: auto; 3586 background-color: rgb(0, 0, 0); 3587 border-radius: 16px; 3588 outline: 0; 3589 color: var(--ml-text-main); 3590 font-family: var(--ml-font); 3591 } 3592 3593 #ml-modal-forgot .modal-header, 3594 #ml-modal-disable-register .modal-header { 3595 border: none; 3596 padding: 1rem 1rem 0.5rem; 3597 display: flex; 3598 align-items: center; 3599 justify-content: space-between; 3600 } 3601 3602 #ml-modal-forgot .modal-header.justify-content-end, 3603 #ml-modal-disable-register .modal-header.justify-content-end { 3604 justify-content: flex-end; 3605 } 3606 3607 #ml-modal-forgot .modal-title { 3608 font-size: 18px; 3609 font-weight: 600; 3610 margin: 0; 3611 } 3612 3613 #ml-modal-forgot .modal-body, 3614 #ml-modal-disable-register .modal-body { 3615 padding: 1rem; 3616 font-size: 16px; 3617 } 3618
3619 #ml-modal-forgot .modal-footer { 3620 border: none; 3621 padding: 0.5rem 1rem 1rem; 3622 } 3623 3624 /* ===== MODAL SHELL (login + sub-modals) ===== */ 3625 #modal-login .modal-dialog, 3626 #ml-modal-forgot .modal-dialog, 3627 #ml-modal-disable-register .modal-dialog { 3628 width: calc(100% - 2rem); 3629 max-width: 480px; 3630 margin: 1rem auto; 3631 } 3632 3633 #modal-login .modal-dialog.modal-dialog-scrollable .modal-content { 3634 max-height: calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); 3635 } 3636 3637 #modal-login .modal-header { 3638 position: relative; 3639 display: flex; 3640 align-items: flex-start; 3641 justify-content: flex-end; 3642 border: none; 3643 min-height: 2.5rem; 3644 padding: 0.75rem 2.75rem 0.75rem 0.75rem; 3645 flex-shrink: 0; 3646 } 3647 3648 #modal-login .modal-header .close { 3649 position: absolute; 3650 right: 0.75rem; 3651 top: 0.75rem; 3652 transform: none; 3653 margin: 0; 3654 padding: 0.25rem; 3655 z-index: 2; 3656 opacity: 1; 3657 } 3658 3659 #ml-modal-forgot .modal-dialog .modal-content, 3660 #ml-modal-disable-register .modal-dialog .modal-content { 3661 max-height: calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); 3662 } 3663 3664 #ml-modal-forgot .modal-content input { 3665 width: 100%; 3666 padding: 10px; 3667 border-radius: 100px; 3668 border: 1px solid var(--ml-input-border); 3669 background-color: var(--ml-bg-input); 3670 color: var(--ml-input-text); 3671 outline: none; 3672 } 3673 3674 #ml-modal-forgot i, 3675 #ml-modal-disable-register i { 3676 color: var(--ml-close); 3677 font-size: 1.5rem; 3678 cursor: pointer; 3679 } 3680 3681 #ml-modal-forgot .btn-forget { 3682 width: 100%; 3683 padding: 10px; 3684 border-radius: 100px; 3685 border: none; 3686 background: var(--ml-primary); 3687 color: var(--ml-btn-text); 3688 cursor: pointer; 3689 font-family: var(--ml-font); 3690 font-size: 16px; 3691 } 3692 3693 #ml-modal-disable-register .btn-line { 3694 display: inline-block; 3695 padding: 10px; 3696 border-radius: 100px; 3697 border: none; 3698 background: var(--ml-btn-line); 3699 color: var(--ml-btn-line-text); 3700 cursor: pointer; 3701 font-family: var(--ml-font); 3702 font-size: 16px; 3703 } 3704 3705 #ml-modal-disable-register .text-disabled-register { 3706 font-size: clamp(18px, 1.5vw, 20px); 3707 font-weight: 600; 3708 margin: 2rem 0; 3709 } 3710 3711 /* ===== FLEX UTILITIES ===== */ 3712 #modal-login .d-flex { 3713 display: flex !important; 3714 } 3715 3716 #modal-login .justify-content-center { 3717 justify-content: center !important; 3718 } 3719 3720 #modal-login .align-items-center { 3721 align-items: center !important; 3722 } 3723 3724 #modal-login .text-center { 3725 text-align: center !important; 3726 } 3727 3728 #modal-login .text-white { 3729 color: var(--ml-text-main) !important; 3730 } 3731 3732 #modal-login .mt-2 { 3733 margin-top: 0.5rem !important; 3734 } 3735 3736 #modal-login .mt-4 { 3737 margin-top: 1rem !important; 3738 } 3739 3740 #modal-login .me-2 {
3741 margin-right: 0.5rem !important; 3742 } 3743 3744 #modal-login .cursor-pointer { 3745 cursor: pointer !important; 3746 } 3747 3748 /* ===== RESPONSIVE ===== */ 3749 @media screen and (max-width: 768px) { 3750 3751 #modal-login .modal-dialog, 3752 #ml-modal-forgot .modal-dialog, 3753 #ml-modal-disable-register .modal-dialog { 3754 width: calc(100% - 1.5rem); 3755 margin: 0.75rem auto; 3756 } 3757 3758 #modal-login h1 { 3759 font-size: clamp(1.375rem, 5vw, 2rem); 3760 } 3761 3762 #modal-login .logo { 3763 width: clamp(140px, 50vw, 280px); 3764 } 3765 3766 #modal-login .modal-body { 3767 padding: 0.75rem 1rem 1.5rem; 3768 } 3769 3770 #ml-modal-forgot .modal-body, 3771 #ml-modal-disable-register .modal-body { 3772 padding: 0.75rem 1rem; 3773 } 3774 3775 #ml-modal-forgot .modal-title { 3776 font-size: 16px; 3777 } 3778 } 3779 3780 @media screen and (max-width: 600px) { 3781 #modal-login .from-login { 3782 padding: 0 0.25rem; 3783 } 3784 3785 #modal-login .modal-header { 3786 min-height: 2.25rem; 3787 padding: 0.75rem 2.75rem 0.75rem 0.75rem; 3788 } 3789 3790 #modal-login .not-member { 3791 font-size: 14px; 3792 line-height: 1.5; 3793 } 3794 3795 #modal-login .btn-login, 3796 #modal-login .btn-line, 3797 #ml-modal-forgot .btn-forget { 3798 min-height: 44px; 3799 } 3800 3801 #ml-modal-disable-register .text-disabled-register { 3802 margin: 1.25rem 0; 3803 } 3804 } 3805 3806 @media screen and (max-width: 380px) { 3807 3808 #modal-login .modal-dialog, 3809 #ml-modal-forgot .modal-dialog, 3810 #ml-modal-disable-register .modal-dialog { 3811 width: calc(100% - 1rem); 3812 margin: 0.5rem auto; 3813 } 3814 3815 #modal-login input { 3816 padding: 8px 2.5rem 8px 12px; 3817 font-size: 16px; 3818 } 3819 } 3820 3821 @media screen and (max-height: 500px) and (orientation: landscape) { 3822
3823 #modal-login .modal-dialog.modal-dialog-scrollable .modal-content, 3824 #ml-modal-forgot .modal-dialog .modal-content, 3825 #ml-modal-disable-register .modal-dialog .modal-content { 3826 max-height: calc(100dvh - 1rem); 3827 } 3828 3829 #modal-login .modal-body { 3830 padding: 0.5rem 1rem 1rem; 3831 } 3832 3833 #modal-login h1 { 3834 font-size: 1.25rem; 3835 margin-bottom: 0.5rem; 3836 } 3837 3838 #modal-login .phone-number, 3839 #modal-login .password { 3840 margin-top: 0.5rem; 3841 } 3842 3843 #modal-login .logo img { 3844 max-height: 40px !important; 3845 } 3846 } 3847</style> 3848 3849<!-- ============================================================ 3850 MODAL LOGIN â HTML 3851 ============================================================ --> 3852<div class="modal modal-diamond fade" id="modal-login" tabindex="-1" role="dialog" 3853 aria-labelledby="ml-modal-title" aria-hidden="true" 3854 data-backdrop="static" data-keyboard="false" 3855 data-bs-backdrop="static" data-bs-keyboard="false"> 3856 <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document"> 3857 <div class="modal-content"> 3858 3859 <!-- Modal Header â close only (PopupLogin style) --> 3860 <div class="modal-header"> 3861 <button type="button" class="close" data-dismiss="modal" aria-label="Close" 3862 onclick="ModalLogin.close()"> 3863 <span aria-hidden="true"><i class="fas fa-times"></i></span> 3864 </button> 3865 </div> 3866 3867 <div class="modal-body"> 3868 <div class="from-login page-wrap"> 3869 3870 <div class="page-logo" id="ml-logo"> 3871 <figure class="thumb"> 3872 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/logo-pgslot77-main.png" alt="logo" style="max-height:60px;width:auto;" /> 3873 </figure> 3874 </div> 3875 3876 <form id="ml-login-form" class="form" novalidate> 3877 <!-- Phone --> 3878 <div class="form-group phone-number"> 3879 <label for="ml-phone">à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹</label> 3880 <input id="ml-phone" type="tel" maxlength="10" 3881 oninput="if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);" /> 3882 </div> 3883 3884 <!-- Password --> 3885 <div class="form-password password"> 3886 <label for="ml-password">à¸à¸£à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸</label> 3887 <div class="password-wrapper"> 3888 <input type="password" id="ml-password" /> 3889 <div class="toggle-button" id="ml-toggle-password" aria-label="à¹à¸ªà¸à¸/à¸à¹à¸à¸à¸£à¸«à¸±à¸ªà¸à¹à¸²à¸"> 3890 <span id="ml-icon-password"> 3891 <svg width="24" height="19" viewBox="0 0 24 19" fill="currentColor" class="eye-icon" xmlns="http://www.w3.org/2000/svg"> 3892 <path d="M19.5254 0.966275C19.2322 0.673025 18.7582 0.673025 18.4649 0.966275L16.3919 3.03928C15.0802 2.51128 13.6154 2.17078 11.9999 2.17078C4.80066 2.17078 0.303663 9.15553 0.116163 9.45328C0.00516307 9.62953 -0.0233369 9.83428 0.0201631 10.0225C-0.0158369 10.201 0.00741308 10.3923 0.110163 10.5603C0.214413 10.7313 1.70166 13.102 4.34166 15.091L2.59941 16.8325C2.30616 17.1258 2.30616 17.5998 2.59941 17.893C2.74566 18.0393 2.93766 18.1128 3.12966 18.1128C3.32166 18.1128 3.51366 18.0393 3.65991 17.893L19.5254 2.02678C19.8179 1.73428 19.8179 1.25953 19.5254 0.966275ZM7.67991 9.95578C7.67991 7.57378 9.61791 5.63578 11.9999 5.63578C12.5339 5.63578 13.0439 5.73628 13.5157 5.91478L12.2699 7.16053C12.1799 7.15078 12.0922 7.13578 11.9999 7.13578C10.4452 7.13578 9.17991 8.40103 9.17991 9.95578C9.17991 10.048 9.19566 10.1358 9.20466 10.2258L7.95891 11.4715C7.78041 11.0005 7.67991 10.4898 7.67991 9.95578ZM23.8837 10.5468C23.6962 10.8438 19.1992 17.8293 11.9999 17.8293C10.1204 17.8293 8.44041 17.3725 6.97416 16.6915L9.92391 13.741C10.5404 14.0808 11.2484 14.275 12.0007 14.275C14.3827 14.275 16.3207 12.337 16.3207 9.95502C16.3207 9.20278 16.1264 8.49553 15.7867 7.87827L19.1392 4.52578C22.1047 6.57928 23.7802 9.25753 23.8904 9.43903C23.9932 9.60703 24.0164 9.79827 23.9804 9.97678C24.0232 10.1665 23.9954 10.3705 23.8837 10.5468ZM11.0624 12.6033L14.6474 9.01903C14.7524 9.31378 14.8199 9.62653 14.8199 9.95653C14.8199 11.5113 13.5547 12.7765 11.9999 12.7765C11.6699 12.7758 11.3572 12.7083 11.0624 12.6033Z" fill="white" /> 3893 </svg> 3894 </span> 3895 </div> 3896 </div> 3897 <div class="forgot-password text-right" id="ml-forgot-trigger"> 3898 <small>ลืมรหัสà¸à¹à¸²à¸</small> 3899 </div> 3900 </div> 3901 3902 <!-- Submit --> 3903 <div class="text-center mt-4"> 3904 <button type="submit" class="btn-login" id="ml-submit-btn">
3905 <span class="btn-text-one" id="ml-submit-text">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸</span> 3906 </button> 3907 </div> 3908 3909 <!-- Register --> 3910 <div class="text-center mt-4"> 3911 <button type="button" class="btn-register" id="ml-goto-register"> 3912 สมัà¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸ 3913 </button> 3914 </div> 3915 </form> 3916 3917 <!-- Line login --> 3918 <button class="btn-line line-login" id="ml-btn-line-login" style="display:none;"> 3919 <span class="btn-text-one">à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸à¸à¹à¸²à¸à¹à¸¥à¸à¹</span> 3920 </button> 3921 3922 <!-- Contact support --> 3923 <a class="btn-line" href="https://cutt.ly/wcpg77"> 3924 <span class="btn-text-one">à¸à¸à¸à¸±à¸à¸«à¸²à¸à¸´à¸à¸à¹à¸à¸à¸µà¸¡à¸à¸²à¸</span> 3925 </a> 3926 3927 </div><!-- /.from-login --> 3928 </div><!-- /.modal-body --> 3929 </div><!-- /.modal-content --> 3930 </div><!-- /.modal-dialog --> 3931</div><!-- /#modal-login --> 3932 3933<!-- Modal: ลืมรหัสà¸à¹à¸²à¸ --> 3934<div class="modal fade" id="ml-modal-forgot" tabindex="-1" role="dialog" data-bs-backdrop="static" data-backdrop="static"> 3935 <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document"> 3936 <div class="modal-content"> 3937 <div class="modal-header"> 3938 <h5 class="modal-title">ลืมรหัสà¸à¹à¸²à¸</h5> 3939 <i class="far fa-times-circle" style="cursor:pointer;" id="ml-forgot-close"></i> 3940 </div> 3941 <div class="modal-body"> 3942 <div class="phone-number"> 3943 <p class="text-white/70 font-sans text-[14px] my-1">à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹</p> 3944 <input id="ml-phone-forget" type="tel" placeholder="à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹" maxlength="10" /> 3945 <div id="ml-phone-error-forget" class="error"></div> 3946 </div> 3947 </div> 3948 <div class="modal-footer"> 3949 <button class="btn-forget" id="ml-forget-btn" disabled> 3950 <span class="btn-text-one">à¸à¸à¸¥à¸</span> 3951 </button> 3952 </div> 3953 </div> 3954 </div> 3955</div> 3956 3957<!-- Modal: à¸à¸´à¸à¸£à¸±à¸à¸ªà¸¡à¸±à¸à¸£ --> 3958<div class="modal fade" id="ml-modal-disable-register" tabindex="-1" role="dialog" data-bs-backdrop="static" data-backdrop="static"> 3959 <div class="modal-dialog modal-dialog-centered modal-dialog-scrollable" role="document"> 3960 <div class="modal-content"> 3961 <div class="modal-header justify-content-end"> 3962 <i class="far fa-times-circle" style="cursor:pointer;" id="ml-disable-close"></i> 3963 </div> 3964 <div class="modal-body text-center"> 3965 <svg width="81" height="80" viewBox="0 0 81 80" fill="none" xmlns="http://www.w3.org/2000/svg"> 3966 <path fill-rule="evenodd" clip-rule="evenodd" 3967 d="M40.5 0C18.424 0 0.5 17.924 0.5 40C0.5 62.076 18.424 80 40.5 80C62.576 80 80.5 62.076 80.5 40C80.5 17.924 62.576 0 40.5 0ZM40.5 51.972C42.708 51.972 44.5 53.764 44.5 55.972C44.5 58.18 42.708 59.972 40.5 59.972C38.292 59.972 36.5 58.18 36.5 55.972C36.5 53.764 38.292 51.972 40.5 51.972ZM44.5 44V20C44.5 17.792 42.708 16 40.5 16C38.292 16 36.5 17.792 36.5 20V44C36.5 46.208 38.292 48 40.5 48C42.708 48 44.5 46.208 44.5 44Z" 3968 fill="#FFB711" /> 3969 </svg> 3970 <p class="text-disabled-register">à¸à¸à¸à¸ ัยà¹à¸¡à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸ªà¸¡à¸±à¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸à¹à¸à¸à¸°à¸à¸µà¹</p> 3971 <a class="btn-line" href="https://cutt.ly/wcpg77" style="width:60%;"> 3972 <span class="btn-text-one">à¸à¸à¸à¸±à¸à¸«à¸²à¸à¸´à¸à¸à¹à¸à¸à¸µà¸¡à¸à¸²à¸</span> 3973 </a> 3974 </div> 3975 </div> 3976 </div> 3977</div> 3978 3979<!-- ============================================================ 3980 MODAL LOGIN â JAVASCRIPT (Self-Contained IIFE) 3981 ============================================================ -->
3982<script type="rocketlazyloadscript"> 3983 (function() { 3984 /* ===================================================== 3985 CONFIG â à¹à¸à¹à¸à¸£à¸à¸à¸µà¹à¹à¸à¸·à¹à¸à¸¢à¹à¸²à¸¢ project 3986 หรืภset window.ModalLoginConfig à¸à¹à¸à¸ include 3987 ===================================================== */ 3988 var CFG = { 3989 urlApi: "https:\/\/pgslot77.pglst.com", 3990 siteUrl: "https:\/\/pgslot77.art\/", 3991 jwtSecret: 'ABAsercretPayload' 3992 }; 3993 if (window.ModalLoginConfig) { 3994 Object.assign(CFG, window.ModalLoginConfig); 3995 } 3996 3997 /* ===== STATE ===== */ 3998 var btnLoading = false; 3999 4000 /* ===== Swal toast helper ===== */ 4001 function showSwal(message, icon) { 4002 if (!window.Swal) return; 4003 Swal.fire({ 4004 toast: true, 4005 position: 'top-end', 4006 icon: icon || 'error', 4007 title: message, 4008 showConfirmButton: false, 4009 timer: 1500 4010 }); 4011 } 4012 4013 /* ===== JWT sign (PopupLogin â $jwt.sign payload, secret) ===== */ 4014 function toBase64Url(input) { 4015 var bytes = typeof input === 'string' ? 4016 new TextEncoder().encode(input) : 4017 new Uint8Array(input); 4018 var binary = ''; 4019 for (var i = 0; i < bytes.length; i++) binary += String.fromCharCode(bytes[i]); 4020 return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, ''); 4021 } 4022 4023 async function signJwt(payload, secret) { 4024 var header = { 4025 alg: 'HS256', 4026 typ: 'JWT' 4027 }; 4028 var encodedHeader = toBase64Url(JSON.stringify(header)); 4029 var encodedPayload = toBase64Url(JSON.stringify(payload)); 4030 var signingInput = encodedHeader + '.' + encodedPayload; 4031 var key = await crypto.subtle.importKey( 4032 'raw', 4033 new TextEncoder().encode(secret), { 4034 name: 'HMAC', 4035 hash: 'SHA-256' 4036 }, 4037 false, 4038 ['sign'] 4039 ); 4040 var signature = await crypto.subtle.sign('HMAC', key, new TextEncoder().encode(signingInput)); 4041 return signingInput + '.' + toBase64Url(signature); 4042 } 4043 4044 /* ===== checkPhone â same logic as ESC_BAC checkPhone.js ===== */ 4045 function checkPhone(number) { 4046 var pattern = /^[^a-z][0-9]+$/; 4047 if (number != null && number !== '') { 4048 if (pattern.test(number)) { 4049 if (number[0] === '0') { 4050 if (number.length === 10) return true; 4051 return 'à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹à¹à¸«à¹à¸à¸£à¸ 10 à¸à¸±à¸§'; 4052 } 4053 return 'à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹à¸à¹à¸à¸à¸à¸¶à¹à¸à¸à¹à¸à¸à¹à¸§à¸¢ 0 à¹à¸à¹à¸²à¸à¸±à¹à¸'; 4054 } 4055 return 'à¹à¸à¸à¸£à¹à¹à¸à¸£à¸à¸à¸à¸à¸¸à¸à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¹à¸à¹à¸à¸±à¸§à¹à¸¥à¸'; 4056 } 4057 return 'à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹'; 4058 } 4059 4060 /* ===== ICON HELPERS ===== */ 4061 var ICON_EYE_OPEN = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="eye-icon"><path d="M12 15a3 3 0 100-6 3 3 0 000 6z"/><path fill-rule="evenodd" d="M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 010-1.113zM17.25 12a5.25 5.25 0 11-10.5 0 5.25 5.25 0 0110.5 0z" clip-rule="evenodd"/></svg>'; 4062 var ICON_EYE_CLOSED = '<svg width="24" height="19" viewBox="0 0 24 19" fill="currentColor" class="eye-icon" xmlns="http://www.w3.org/2000/svg"><path d="M19.5254 0.966275C19.2322 0.673025 18.7582 0.673025 18.4649 0.966275L16.3919 3.03928C15.0802 2.51128 13.6154 2.17078 11.9999 2.17078C4.80066 2.17078 0.303663 9.15553 0.116163 9.45328C0.00516307 9.62953 -0.0233369 9.83428 0.0201631 10.0225C-0.0158369 10.201 0.00741308 10.3923 0.110163 10.5603C0.214413 10.7313 1.70166 13.102 4.34166 15.091L2.59941 16.8325C2.30616 17.1258 2.30616 17.5998 2.59941 17.893C2.74566 18.0393 2.93766 18.1128 3.12966 18.1128C3.32166 18.1128 3.51366 18.0393 3.65991 17.893L19.5254 2.02678C19.8179 1.73428 19.8179 1.25953 19.5254 0.966275ZM7.67991 9.95578C7.67991 7.57378 9.61791 5.63578 11.9999 5.63578C12.5339 5.63578 13.0439 5.73628 13.5157 5.91478L12.2699 7.16053C12.1799 7.15078 12.0922 7.13578 11.9999 7.13578C10.4452 7.13578 9.17991 8.40103 9.17991 9.95578C9.17991 10.048 9.19566 10.1358 9.20466 10.2258L7.95891 11.4715C7.78041 11.0005 7.67991 10.4898 7.67991 9.95578ZM23.8837 10.5468C23.6962 10.8438 19.1992 17.8293 11.9999 17.8293C10.1204 17.8293 8.44041 17.3725 6.97416 16.6915L9.92391 13.741C10.5404 14.0808 11.2484 14.275 12.0007 14.275C14.3827 14.275 16.3207 12.337 16.3207 9.95502C16.3207 9.20278 16.1264 8.49553 15.7867 7.87827L19.1392 4.52578C22.1047 6.57928 23.7802 9.25753 23.8904 9.43903C23.9932 9.60703 24.0164 9.79827 23.9804 9.97678C24.0232 10.1665 23.9954 10.3705 23.8837 10.5468ZM11.0624 12.6033L14.6474 9.01903C14.7524 9.31378 14.8199 9.62653 14.8199 9.95653C14.8199 11.5113 13.5547 12.7765 11.9999 12.7765C11.6699 12.7758 11.3572 12.7083 11.0624 12.6033Z" fill="white"/></svg>'; 4063 4064 /* ===== BOOTSTRAP MODAL HELPERS ===== */ 4065 function bsShow(id) { 4066 var target = document.getElementById(id); 4067 if (!target) return; 4068 if (window.bootstrap && bootstrap.Modal && bootstrap.Modal.getOrCreateInstance) { 4069 bootstrap.Modal.getOrCreateInstance(target).show(); 4070 } else if (window.$ && $.fn.modal) { 4071 $(target).modal('show'); 4072 } else { 4073 target.style.display = 'block'; 4074 target.classList.add('show'); 4075 document.body.classList.add('modal-open'); 4076 if (!document.getElementById(id + '-bd')) { 4077 var bd = document.createElement('div'); 4078 bd.id = id + '-bd'; 4079 bd.className = 'modal-backdrop fade show'; 4080 document.body.appendChild(bd); 4081 } 4082 } 4083 } 4084 4085 function bsHide(id) { 4086 var target = document.getElementById(id); 4087 if (!target) return; 4088 if (window.bootstrap && bootstrap.Modal && bootstrap.Modal.getInstance) { 4089 var inst = bootstrap.Modal.getInstance(target); 4090 if (inst) inst.hide(); 4091 } else if (window.$ && $.fn.modal) { 4092 $(target).modal('hide'); 4093 } else { 4094 target.style.display = 'none'; 4095 target.classList.remove('show'); 4096 var bd = document.getElementById(id + '-bd'); 4097 if (bd) bd.remove(); 4098 var anyOpen = document.querySelector('.modal.show'); 4099 if (!anyOpen) document.body.classList.remove('modal-open'); 4100 } 4101 } 4102 4103 /* ===== DOM REFS ===== */ 4104 function el(id) { 4105 return document.getElementById(id); 4106 }
4107 var overlay = el('modal-login'); 4108 var loginForm = el('ml-login-form'); 4109 var phoneInput = el('ml-phone'); 4110 var pwdInput = el('ml-password'); 4111 var submitBtn = el('ml-submit-btn'); 4112 var submitText = el('ml-submit-text'); 4113 var forgotTrigger = el('ml-forgot-trigger'); 4114 var gotoRegister = el('ml-goto-register'); 4115 var btnLineLogin = el('ml-btn-line-login'); 4116 var btnContact = el('ml-btn-contact'); 4117 4118 var phoneForgetInput = el('ml-phone-forget'); 4119 var phoneErrForget = el('ml-phone-error-forget'); 4120 var forgetBtn = el('ml-forget-btn'); 4121 4122 /* ===== LOADING STATE (PopupLogin btnLoading) ===== */ 4123 function setLoading(loading) { 4124 btnLoading = loading; 4125 submitBtn.disabled = loading; 4126 submitText.textContent = loading ? 'à¸à¸£à¸¸à¸à¸²à¸£à¸à¸ªà¸±à¸à¸à¸£à¸¹à¹' : 'à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸'; 4127 } 4128 4129 /* ===== VALIDATE & SUBMIT (PopupLogin handlerValidate) ===== */ 4130 function handlerValidate(e) { 4131 if (e) e.preventDefault(); 4132 if (btnLoading) return; 4133 var isPhone = checkPhone(phoneInput.value.trim()); 4134 if (isPhone === true) { 4135 doLogin(phoneInput.value.trim(), pwdInput.value); 4136 } else { 4137 showSwal(isPhone, 'error'); 4138 } 4139 } 4140 4141 loginForm.addEventListener('submit', handlerValidate); 4142 4143 phoneInput.addEventListener('input', function() { 4144 this.value = this.value.replace(/\D/g, ''); 4145 }); 4146 4147 /* ===== FORGOT PASSWORD PHONE VALIDATION (ForgotPassword handlerValidate) ===== */ 4148 function validatePhoneForget() { 4149 var val = phoneForgetInput.value.trim(); 4150 var isPhone = checkPhone(val); 4151 if (isPhone === true) { 4152 phoneErrForget.textContent = ''; 4153 forgetBtn.disabled = false; 4154 } else { 4155 phoneErrForget.textContent = isPhone === 'à¸à¸£à¸¸à¸à¸²à¸à¸£à¸à¸à¹à¸à¸à¸£à¹à¹à¸à¸£à¸¨à¸±à¸à¸à¹' ? '' : isPhone; 4156 forgetBtn.disabled = true; 4157 } 4158 } 4159
4160 phoneForgetInput.addEventListener('input', function() { 4161 this.value = this.value.replace(/\D/g, ''); 4162 validatePhoneForget(); 4163 }); 4164 4165 /* ===== PASSWORD TOGGLE ===== */ 4166 el('ml-toggle-password').addEventListener('click', function() { 4167 var type = pwdInput.getAttribute('type') === 'password' ? 'text' : 'password'; 4168 pwdInput.setAttribute('type', type); 4169 el('ml-icon-password').innerHTML = type === 'text' ? ICON_EYE_OPEN : ICON_EYE_CLOSED; 4170 }); 4171 4172 /* ===== SUBMIT LOGIN (PopupLogin login â passToLogin) ===== */ 4173 async function doLogin(phone, password) { 4174 setLoading(true); 4175 var loadingStarted = Date.now(); 4176 try { 4177 var jwtPayload = { 4178 phone_number: phone, 4179 password: password, 4180 iat: Math.floor(Date.now() / 1000) 4181 }; 4182 var token = await signJwt(jwtPayload, CFG.jwtSecret); 4183 var res = await fetch(CFG.urlApi + '/api/login', { 4184 method: 'POST', 4185 headers: { 4186 'X-API-KEY': 'officex-homey-dev', 4187 Accept: 'application/json', 4188 'Content-Type': 'application/json' 4189 }, 4190 body: JSON.stringify({ 4191 token: token 4192 }) 4193 }); 4194 var data = await res.json(); 4195 if (data.code === 0) { 4196 window.location.href = CFG.urlApi + '/login?phone_number=' + encodeURIComponent(phone) + '&password=' + encodeURIComponent(password); 4197 } else { 4198 showSwal(data.msg, 'error'); 4199 } 4200 } catch (e) { 4201 showSwal('à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¹à¸à¸', 'error'); 4202 } finally { 4203 var elapsed = Date.now() - loadingStarted; 4204 var delay = Math.max(0, 1500 - elapsed); 4205 setTimeout(function() { 4206 setLoading(false); 4207 }, delay); 4208 } 4209 } 4210 4211 function closeForgotAndShowLogin() { 4212 bsHide('ml-modal-forgot'); 4213 bsShow('modal-login'); 4214 } 4215 4216 /* ===== FORGOT PASSWORD ===== */ 4217 forgotTrigger.addEventListener('click', function() { 4218 phoneForgetInput.value = ''; 4219 phoneErrForget.textContent = ''; 4220 forgetBtn.disabled = true; 4221 bsHide('modal-login'); 4222 bsShow('ml-modal-forgot'); 4223 }); 4224 4225 el('ml-forgot-close').addEventListener('click', function() { 4226 closeForgotAndShowLogin(); 4227 }); 4228 4229 forgetBtn.addEventListener('click', function() { 4230 if (forgetBtn.disabled || btnLoading) return; 4231 var isPhone = checkPhone(phoneForgetInput.value.trim()); 4232 if (isPhone === true) { 4233 doForgetPassword(phoneForgetInput.value.trim()); 4234 } else { 4235 showSwal(isPhone, 'error'); 4236 } 4237 }); 4238 4239 async function doForgetPassword(phone) { 4240 forgetBtn.disabled = true; 4241 try { 4242 var jwtPayload = { 4243 phone_number: phone, 4244 iat: Math.floor(Date.now() / 1000) 4245 }; 4246 var token = await signJwt(jwtPayload, CFG.jwtSecret); 4247 var res = await fetch(CFG.urlApi + '/api//forgetPassword?type=SMS', { 4248 method: 'POST', 4249 headers: { 4250 'X-API-KEY': 'officex-homey-dev', 4251 Accept: 'application/json', 4252 'Content-Type': 'application/json' 4253 }, 4254 body: JSON.stringify({ 4255 token: token 4256 }) 4257 }); 4258 var data = await res.json(); 4259 var icon = data.code === 0 ? 'success' : 'error'; 4260 if (data.code === 0) { 4261 closeForgotAndShowLogin(); 4262 } 4263 showSwal(data.msg, icon); 4264 forgetBtn.disabled = false; 4265 } catch (e) { 4266 showSwal('à¸à¸²à¸£à¹à¸à¸·à¹à¸à¸¡à¸à¹à¸à¸à¸±à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹à¸à¸±à¸à¸à¹à¸à¸', 'error'); 4267 forgetBtn.disabled = false; 4268 } 4269 } 4270 4271 /* ===== DISABLE REGISTER MODAL ===== */ 4272 el('ml-disable-close').addEventListener('click', function() { 4273 bsHide('ml-modal-disable-register'); 4274 }); 4275 4276 /* ===== SWITCH POPUP â login â register (PopupLogin switchPopup) ===== */ 4277 var registerDisabled = false; 4278 4279 function switchToRegister() { 4280 ModalLogin.close(); 4281 if (window.ModalRegister) { 4282 ModalRegister.open(); 4283 } else {
4284 window.location.href = CFG.siteUrl + 'register'; 4285 } 4286 } 4287 4288 function handleRegisterClick(e) { 4289 if (e) e.preventDefault(); 4290 if (registerDisabled) { 4291 bsShow('ml-modal-disable-register'); 4292 } else { 4293 switchToRegister(); 4294 } 4295 } 4296 4297 gotoRegister.addEventListener('click', handleRegisterClick); 4298 4299 /* ===== API: PREFIX ===== */ 4300 async function fetchPrefix() { 4301 if (!window._prefixPromise) { 4302 window._prefixPromise = fetch(CFG.urlApi + '/api/prefix') 4303 .then(function(res) { 4304 return res.json(); 4305 }) 4306 .catch(function() { 4307 window._prefixPromise = null; 4308 return null; 4309 }); 4310 } 4311 return window._prefixPromise; 4312 } 4313 4314 function usePrefixData(data) { 4315 var linecontact = "https:\/\/cutt.ly\/wcpg77" || 4316 (data.data.contact && data.data.contact.linecontact) || ''; 4317 var isLineLogin = data.data.register.line_status_login; 4318 var lineClientID = data.data.line_login?.client_id || ''; 4319 var isDisable = data.data.register.disable; 4320 4321 if (linecontact) { 4322 btnContact.addEventListener('click', function() { 4323 window.open(linecontact, '_blank'); 4324 }); 4325 el('ml-btn-disable-contact').addEventListener('click', function() { 4326 window.open(linecontact, '_blank'); 4327 }); 4328 } 4329 4330 if (isLineLogin && lineClientID !== '') { 4331 btnLineLogin.style.display = ''; 4332 btnLineLogin.classList.add('active-line'); 4333 btnLineLogin.addEventListener('click', function() { 4334 location.href = 'https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=' + lineClientID + 4335 '&redirect_uri=' + CFG.urlApi + '/login&state=' + Date.now() + '&scope=openid profile email'; 4336 }); 4337 } 4338 4339 registerDisabled = !!isDisable; 4340 } 4341 4342 /* ===== AUTO LOGIN FROM URL (PopupLogin mounted) ===== */ 4343 function tryAutoLoginFromQuery() { 4344 var params = new URLSearchParams(window.location.search); 4345 var queryPhone = params.get('phone_number'); 4346 var queryPassword = params.get('password'); 4347 if (!queryPhone || !queryPassword) return; 4348 4349 phoneInput.value = queryPhone; 4350 pwdInput.value = queryPassword; 4351 4352 var url = new URL(window.location.href); 4353 url.searchParams.delete('phone_number'); 4354 url.searchParams.delete('password'); 4355 window.history.replaceState({}, '', url.pathname + (url.search || '') + url.hash); 4356 4357 bsShow('modal-login'); 4358 doLogin(queryPhone, queryPassword); 4359 } 4360 4361 /* ===== RESET STATE ===== */ 4362 function resetAll() { 4363 phoneInput.value = ''; 4364 pwdInput.value = ''; 4365 pwdInput.setAttribute('type', 'password'); 4366 el('ml-icon-password').innerHTML = ICON_EYE_CLOSED; 4367 setLoading(false); 4368 } 4369 4370 /* ===== INIT ===== */ 4371 function init() { 4372 fetchPrefix().then(function(data) { 4373 if (data) usePrefixData(data); 4374 }); 4375 tryAutoLoginFromQuery(); 4376 } 4377 4378 /* ===== PUBLIC API ===== */ 4379 window.ModalLogin = { 4380 /** 4381 * à¹à¸à¸´à¸ modal à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ 4382 * à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸«à¸à¹à¸²: ModalLogin.open() 4383 */ 4384 open: function() { 4385 resetAll(); 4386 bsShow('modal-login'); 4387 }, 4388 /** 4389 * à¸à¸´à¸ modal à¹à¸à¹à¸²à¸ªà¸¹à¹à¸£à¸°à¸à¸ 4390 * à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¸à¸²à¸à¸à¸¸à¸à¸«à¸à¹à¸²: ModalLogin.close() 4391 */ 4392 close: function() { 4393 bsHide('modal-login'); 4394 bsHide('ml-modal-forgot'); 4395 bsHide('ml-modal-disable-register'); 4396 }, 4397 /** 4398 * Override config หลัภinclude 4399 * ModalLogin.setConfig({ urlApi: '...', siteUrl: '...' }) 4400 */ 4401 setConfig: function(cfg) { 4402 Object.assign(CFG, cfg); 4403 } 4404 }; 4405 4406 init(); 4407 })(); 4408</script>
4408 4409 4410<div class="bg-in-page"> 4411 <div class="container"> 4412 <div class="row pd-t"> 4413 <div class="col-12 enter-wrap"> 4414 <h1 class="text-center fc-gold-g mt-4">à¸à¸²à¸à¹à¸à¹à¸² PGSLOT77</h1> 4415 <p class="mt-4"> 4416 <p class="mt-4">รวมà¸à¸²à¸à¹à¸à¹à¸² PGSLOT หรืà¸à¸à¸²à¸à¹à¸à¹à¸² PGSLOT77 à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¸à¸à¹à¸£à¸²à¹à¸à¹à¸à¸³à¸¡à¸²à¸£à¸§à¸à¸£à¸§à¸¡à¹à¸§à¹à¸à¸µà¹à¸à¸µà¹à¸à¸µà¹à¹à¸à¸µà¸¢à¸§à¹à¸«à¹à¸à¸±à¸à¸à¸¸à¸à¸à¹à¸²à¸à¹à¸à¹à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸²à¸à¸±à¸à¹à¸à¹à¹à¸¥à¸¢à¸à¸µà¹à¹à¸£à¸²à¸à¸³à¸à¸²à¸à¹à¸à¹à¸² à¹à¸§à¹à¸«à¸¥à¸²à¸¢à¹à¸à¸²à¸à¹à¸à¸£à¸²à¸°à¸§à¹à¸²à¸à¸²à¸à¸à¸°à¸¡à¸µà¸¥à¸¹à¸à¸à¹à¸²à¸à¸²à¸à¸à¹à¸²à¸à¸à¸³à¸¥à¸´à¸à¸à¹à¸à¸à¸à¹à¸£à¸²à¹à¸¡à¹à¹à¸à¹à¸à¸³à¸ªà¸±à¸à¸ªà¸à¸à¸±à¸à¸à¸±à¸à¸à¸·à¹à¸à¸à¹à¸²à¸ à¹à¸à¸§à¸±à¸à¸à¸µà¹à¹à¸£à¸²à¹à¸à¹à¸£à¸§à¸¡à¸£à¸§à¸¡à¸à¸¸à¸à¸¥à¸´à¸à¸à¹à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸²à¹à¸à¹à¸¡à¸²à¹à¸«à¹à¸à¹à¸²à¸à¹à¸¥à¹à¸§</p> 4417<p class="mt-4">à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 1 : <span style="color: #ffff00"><a style="color: #ffff00" href="https://rebrand.ly/pgslot77_pglst">https://rebrand.ly/pgslot77_pglst</a></span><br /> 4418à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 2 : <span style="color: #ffff00"><a style="color: #ffff00" href="https://cutly.art/pgslot77_pglst">https://cutly.art/pgslot77_pglst</a></span><br /> 4419à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 3 : <span style="color: #ffff00"><a style="color: #ffff00" href="https://bitt.to/2netx0">https://bitt.to/2netx0</a></span><br /> 4420à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 4 : <span style="color: #ffff00"><a style="color: #ffff00" href="https://www.shorturl.asia/nghecr">https://www.shorturl.asia/nghecr</a></span></p> 4421<p>à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 5 : <span style="color: #ffff00"><a style="color: #ffff00" href="https://t.co/4krdlM9SWL">https://t.co/4krdlM9SWL</a></span></p> 4422<p class="mt-4">à¸à¸²à¸à¹à¸à¹à¸² PG Slot สำหรัà¸à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸à¹à¸à¸à¸à¸²à¸à¸à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸´à¸à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸µà¹à¸à¹à¸¡à¸µà¸à¸±à¹à¸à¸«à¸¡à¸ 3 à¸à¹à¸à¸à¸à¸²à¸à¸à¸·à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¹à¸²à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹ ลà¸à¸à¸¸à¸à¸à¹à¸²à¸à¸à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¹à¸à¹à¸¥à¸°à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸¶à¹à¸à¸à¹à¸à¸·à¸à¹à¸à¹à¸§à¹à¸²à¸à¸à¸à¹à¸à¸à¸¢à¹à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¹à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸µ à¸à¹à¸²à¹à¸£à¸²à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸¥à¸°à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸£à¸²à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸£à¸²à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸µà¹à¸¥à¸°à¸¡à¸µà¸à¸¸à¸à¸ าภPg slot77 สำหรัà¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸£à¸²à¸à¸à¸à¸³à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¹à¸à¸§à¸±à¸à¸à¸µà¹à¸à¹à¸à¸·à¸à¹à¸§à¹à¸à¹à¸à¸à¹ pg slot77 à¸à¸µà¹à¹à¸à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸´à¸à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸¥à¹à¸à¹à¸à¸¡à¸ªà¸¥à¹à¸à¸à¸à¸à¸à¹à¸¥à¸à¹à¹à¸à¸¢à¸à¸£à¸ à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸à¸¢à¹à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¸¢à¹à¸à¸à¸²à¸° à¸à¹à¸²à¸«à¸²à¸à¹à¸à¸£à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¸à¸¢à¸²à¸à¸à¸³à¸à¸²à¸£à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¢à¸²à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¹
4422สามารà¸à¸à¸³à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¹à¸²à¸à¹à¸à¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸³à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¹à¸à¹à¸à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸«à¹à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢à¹à¸à¹à¸²à¸à¸µà¹à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¹à¸¥à¹à¸§ วิà¸à¸µà¸à¸²à¸£à¹à¸¥à¹à¸à¹à¸¥à¸°à¸§à¸´à¸à¸µà¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸à¸à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸¥à¸°à¸à¸à¸à¸±à¹à¸à¸¡à¸µà¸à¸±à¸à¸©à¸°à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸¥à¸°à¸¡à¸µà¸à¸±à¸à¸©à¸°à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸±à¸à¸à¸¢à¸¹à¹à¸à¸µà¹à¸§à¹à¸²à¹à¸£à¸²à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸£à¸¹à¸à¹à¸à¸à¹à¸«à¸à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¹à¸£à¸²à¹à¸à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸£à¸²à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸µà¹à¸à¸µà¹à¸¥à¸°à¸¡à¸µà¸à¸¸à¸à¸ าà¸à¸¡à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸à¸¡à¸²à¹à¸à¹à¸à¸±à¸§à¸à¹à¸§à¸¢à¸¡à¸²à¹à¸à¹à¸à¸à¸±à¸§à¸à¹à¸§à¸¢à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¹à¹à¸à¹à¸à¹à¸²à¹à¸£à¸²à¹à¸à¹à¸à¸±à¸§à¸à¹à¸§à¸¢à¸¡à¸²à¹à¸à¹à¸à¸à¸±à¸§à¸à¹à¸§à¸¢à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¹à¸§à¸à¹à¸à¸°à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸°à¸ªà¹à¸à¸à¸¥à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸à¸à¸ à¹à¸¥à¸°à¸à¸µà¹à¸à¹à¸à¸·à¸à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸à¸§à¸±à¸à¸à¸µà¹ Pg slot77 หวัà¸à¸§à¹à¸²à¸à¸°à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¹à¸à¹à¸à¹à¸à¸§à¸à¸²à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¹à¸¡à¹à¸¡à¸²à¸à¸à¹à¸à¹à¸à¸¢à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸¡à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸à¹à¸à¹à¸£à¸±à¸à¸à¸¥à¸à¸³à¹à¸£à¸à¸¥à¸±à¸à¸à¸·à¸à¸¡à¸²à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¸à¹à¸²à¸à¹à¸«à¹à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸¥à¸°à¹à¸«à¹à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸«à¹à¸à¹à¸²à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹ มีà¹à¸à¸§à¸à¸²à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸µà¸à¹à¸²à¸à¸à¹
4422à¸à¸°à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸¢à¸¹à¹à¹à¸ªà¸¡à¸ วà¹à¸²à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¹à¸£à¸²à¹à¸à¸§à¸±à¸à¸à¸µà¹à¸à¸°à¹à¸à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸à¸à¹à¸à¸à¸¢à¹à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸à¹ à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¹à¸²à¸¢à¸à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸¡à¸²à¸à¸¢à¸´à¹à¸à¸à¸¶à¹à¸</p> 4423 </p> 4424<!-- <p class="mt-4"> 4425 à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 1 : <a style="color:gold;" 4426 href="https://pgslot77.slot-auto.com/login">https://pgslot77.slot-auto.com/login</a> <br> 4427 à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 2 : <a style="color:gold;" 4428 href="https://bit.ly/pgslot77-entrance">https://bit.ly/pgslot77-entrance</a> <br> 4429 à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 3 : <a style="color:gold;" 4430 href="http://ow.ly/nATQ30qWWyi">http://ow.ly/nATQ30qWWyi</a> <br> 4431 à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 4 : <a style="color:gold;" 4432 href="http://bit.do/pgslot77-entrance">http://bit.do/pgslot77-entrance</a> 4433 <br> 4434 à¸à¸²à¸à¹à¸à¹à¸² PGSLOT à¸à¸µà¹ 5 : <a style="color:gold;" 4435 href="https://t.co/dkdBQ3GGtN">https://t.co/dkdBQ3GGtN</a> <br> 4436 </p> 4437 <p class="mt-4"> 4438 à¸à¸²à¸à¹à¸à¹à¸² PG Slot 4439 สำหรัà¸à¸à¹à¸à¸à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸à¹à¸à¸à¸à¸²à¸à¸à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸´à¸à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¸à¸±à¸à¸à¸¸à¸à¸±à¸à¸à¸µà¹à¸à¹à¸¡à¸µà¸à¸±à¹à¸à¸«à¸¡à¸ 3 4440 à¸à¹à¸à¸à¸à¸²à¸à¸à¸·à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¹à¸²à¸à¸à¸²à¸à¹à¸§à¹à¸à¹à¸à¸à¹ 4441 ลà¸à¸à¸¸à¸à¸à¹à¸²à¸à¸à¸²à¸à¹à¸à¸à¸à¸¥à¸´à¹à¸à¸à¸±à¹à¸à¹à¸¥à¸°à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸²à¸à¸à¸²à¸£à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸à¸à¸¶à¹à¸à¸à¹à¸à¸·à¸à¹à¸à¹à¸§à¹à¸²à¸à¸à¸à¹à¸à¸à¸¢à¹à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¹à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸µ 4442 à¸à¹à¸²à¹à¸£à¸²à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸¥à¸°à¸¡à¸µà¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸£à¸²à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸£à¸²à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸µà¹à¸à¸µà¹à¸¥à¸°à¸¡à¸µà¸à¸¸à¸à¸ าภ4443 4444 4445 Pg slot77 สำหรัà¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¸µà¹à¹à¸£à¸²à¸à¸à¸à¸³à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¹à¸à¸§à¸±à¸à¸à¸µà¹à¸à¹à¸à¸·à¸à¹à¸§à¹à¸à¹à¸à¸à¹ pg slot77 4446 à¸à¸µà¹à¹à¸à¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸´à¸à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¹à¸¥à¹à¸à¹à¸à¸¡à¸ªà¸¥à¹à¸à¸à¸à¸à¸à¹à¸¥à¸à¹à¹à¸à¸¢à¸à¸£à¸ 4447 à¹à¸à¸·à¹à¸à¸à¸à¸à¹à¸à¸à¸¢à¹à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¸¢à¹à¸à¸à¸²à¸° 4448 à¸à¹à¸²à¸«à¸²à¸à¹à¸à¸£à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¸à¸¢à¸²à¸à¸à¸³à¸à¸²à¸£à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¢à¸²à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¹
4448สามารà¸à¸à¸³à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¹à¸²à¸à¹à¸à¹à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸³à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¹à¸à¹à¸à¸ªà¸¡à¸²à¸à¸´à¸à¹à¸«à¹à¹à¸£à¸µà¸¢à¸à¸£à¹à¸à¸¢à¹à¸à¹à¸²à¸à¸µà¹à¸à¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¹à¸¥à¹à¸§ 4449 4450 วิà¸à¸µà¸à¸²à¸£à¹à¸¥à¹à¸à¹à¸¥à¸°à¸§à¸´à¸à¸µà¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸à¸à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸¥à¸°à¸à¸à¸à¸±à¹à¸à¸¡à¸µà¸à¸±à¸à¸©à¸°à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸¥à¸°à¸¡à¸µà¸à¸±à¸à¸©à¸°à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸µà¹à¹à¸¡à¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸±à¸à¸à¸¢à¸¹à¹à¸à¸µà¹à¸§à¹à¸²à¹à¸£à¸²à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸£à¸¹à¸à¹à¸à¸à¹à¸«à¸à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¹à¸£à¸²à¹à¸à¹à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸£à¸²à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸µà¹à¸à¸µà¹à¸¥à¸°à¸¡à¸µà¸à¸¸à¸à¸ าà¸à¸¡à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸à¸¡à¸²à¹à¸à¹à¸à¸±à¸§à¸à¹à¸§à¸¢à¸¡à¸²à¹à¸à¹à¸à¸à¸±à¸§à¸à¹à¸§à¸¢à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¹à¹à¸à¹à¸à¹à¸²à¹à¸£à¸²à¹à¸à¹à¸à¸±à¸§à¸à¹à¸§à¸¢à¸¡à¸²à¹à¸à¹à¸à¸à¸±à¸§à¸à¹à¸§à¸¢à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¹à¸§à¸à¹à¸à¸°à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸°à¸ªà¹à¸à¸à¸¥à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¸à¸à¸ 4451 à¹à¸¥à¸°à¸à¸µà¹à¸à¹à¸à¸·à¸à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸à¸§à¸±à¸à¸à¸µà¹ 4452 4453 Pg slot77 4454 หวัà¸à¸§à¹à¸²à¸à¸°à¹à¸à¹à¸à¸à¹à¸à¸¡à¸¹à¸¥à¹à¸¥à¸°à¹à¸à¹à¸à¹à¸à¸§à¸à¸²à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¹à¸¥à¸°à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸à¹à¹à¸¡à¹à¸¡à¸²à¸à¸à¹à¸à¹à¸à¸¢à¸à¸³à¹à¸«à¹à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸à¸à¸à¸¹à¹à¹à¸¥à¹à¸à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸¡à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸à¹à¸à¹à¸£à¸±à¸à¸à¸¥à¸à¸³à¹à¸£à¸à¸¥à¸±à¸à¸à¸·à¸à¸¡à¸²à¸à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¸à¹à¸²à¸à¹à¸«à¹à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸¥à¸°à¹à¸«à¹à¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸«à¹à¸à¹à¸²à¸à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸¥à¸·à¸à¸à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸²à¸¡à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¹à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸¡à¸à¸µà¹ 4455 มีà¹à¸à¸§à¸à¸²à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¹à¸²à¸à¸à¸µà¸à¹à¸²à¸à¸à¹
4455à¸à¸°à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¸à¹à¸à¸à¸²à¸£à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¸°à¸¡à¸µà¹à¸à¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸à¸à¸§à¸²à¸¡à¸ªà¸³à¹à¸£à¹à¸à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸à¸¢à¸¹à¹à¹à¸ªà¸¡à¸ 4456 วà¹à¸²à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸à¸à¹à¸£à¸²à¹à¸à¸§à¸±à¸à¸à¸µà¹à¸à¸°à¹à¸à¹à¸à¸à¸²à¸£à¸à¸³à¹à¸ªà¸à¸à¸à¹à¸à¸¡à¸¹à¸¥à¸à¸µà¹à¸à¸à¸à¹à¸à¸à¸¢à¹à¸à¸§à¸²à¸¡à¸à¹à¸à¸à¸à¸²à¸£à¸à¸à¸à¸à¸¹à¹à¹à¸à¹à¸à¸£à¸´à¸à¸²à¸£à¸à¸µà¹à¸¡à¸µà¸à¸§à¸²à¸¡à¸ªà¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¹à¸à¹ 4457 à¹à¸¥à¸°à¹à¸à¸·à¹à¸à¹à¸«à¹à¸à¹à¸²à¸¢à¸à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸ªà¸´à¸à¹à¸à¹à¸à¸à¸²à¸£à¸¥à¸à¸à¸¸à¸à¸¡à¸²à¸à¸¢à¸´à¹à¸à¸à¸¶à¹à¸ 4458 4459 </p> --> 4460 </div> 4461 </div> 4462 </div> 4463</div> 4464 4465 4466 4467 4468 4469
4469<script type="speculationrules"> 4470{"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/Theme-re-pgslot77/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 4471</script>
4471 4472
4472<script type="rocketlazyloadscript" data-rocket-type='text/javascript'> 4473 const lazyloadRunObserver = () => { 4474 const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); 4475 const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { 4476 entries.forEach( ( entry ) => { 4477 if ( entry.isIntersecting ) { 4478 let lazyloadBackground = entry.target; 4479 if( lazyloadBackground ) { 4480 lazyloadBackground.classList.add( 'e-lazyloaded' ); 4481 } 4482 lazyloadBackgroundObserver.unobserve( entry.target ); 4483 } 4484 }); 4485 }, { rootMargin: '200px 0px 200px 0px' } ); 4486 lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { 4487 lazyloadBackgroundObserver.observe( lazyloadBackground ); 4488 } ); 4489 }; 4490 const events = [ 4491 'DOMContentLoaded', 4492 'elementor/lazyload/observe', 4493 ]; 4494 events.forEach( ( event ) => { 4495 document.addEventListener( event, lazyloadRunObserver ); 4496 } ); 4497 </script>
4497 4498
4498<script type="rocketlazyloadscript" id="seed-social-js" data-rocket-src="https://pgslot77.art/wp-content/plugins/seed-social/script.js?ver=2021.02"></script>
vendor: 1 bytes, line 4498
4498
4499<script type="rocketlazyloadscript" id="moment-js" data-rocket-src="https://pgslot77.art/wp-includes/js/dist/vendor/moment.min.js?ver=2.30.1"></script>
vendor: 1 bytes, line 4499
4499
4500<script type="rocketlazyloadscript" id="moment-js-after"> 4501moment.updateLocale( 'th', {"months":["\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21","\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c","\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21","\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19","\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21","\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19","\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21","\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21","\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19","\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21","\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19","\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"],"monthsShort":["\u0e21.\u0e04.","\u0e01.\u0e1e.","\u0e21\u0e35.\u0e04.","\u0e40\u0e21.\u0e22.","\u0e1e.\u0e04.","\u0e21\u0e34.\u0e22.","\u0e01.\u0e04.","\u0e2a.\u0e04.","\u0e01.\u0e22.","\u0e15.\u0e04.","\u0e1e.\u0e22.","\u0e18.\u0e04."],"weekdays":["\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c","\u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c","\u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23","\u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18","\u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35","\u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c","\u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c"],"weekdaysShort":["\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c","\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c","\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23","\u0e1e\u0e38\u0e18","\u0e1e\u0e24\u0e2b\u0e31\u0e2a","\u0e28\u0e38\u0e01\u0e23\u0e4c","\u0e40\u0e2a\u0e32\u0e23\u0e4c"],"week":{"dow":1},"longDateFormat":{"LT":"g:i a","LTS":null,"L":null,"LL":"F j, Y","LLL":"j F Y G:i \u0e19.","LLLL":null}} ); 4502//# sourceURL=moment-js-after 4503</script>
vendor: 1 bytes, line 4503
4503
4504<script id="happy-elementor-addons-js-extra"> 4505var HappyLocalize = {"ajax_url":"https://pgslot77.art/wp-admin/admin-ajax.php","nonce":"d19089708f","pdf_js_lib":"https://pgslot77.art/wp-content/plugins/happy-elementor-addons/assets/vendor/pdfjs/lib"}; 4506//# sourceURL=happy-elementor-addons-js-extra 4507</script>
vendor: 1 bytes, line 4507
4507
4508<script type="rocketlazyloadscript" id="happy-elementor-addons-js" data-rocket-src="https://pgslot77.art/wp-content/plugins/happy-elementor-addons/assets/js/happy-addons.min.js?ver=3.11.0"></script>
4508 4509 4510 4511 <div class="nav-aba-wrap bg-black"> 4512 <div class="item-pc"> 4513 <div class="game-aba-item w-100 d-flex flex-wrap align-items-center justify-content-around"> 4514 </div> 4515 </div> 4516 4517 <div class="item-mobile"> 4518 <div class="container"> 4519 <div class="head-brand-flex w-100 d-flex align-items-center"> 4520 <div id="responsive-brand" class="brand-mobile" style="padding-left:15px;"> 4521 4522 </div> 4523 </div> 4524 </div> 4525 </div> 4526 </div> 4527 4528 <footer class="main-foot" style=" position: relative;"> 4529 <div class="container"> 4530 <div class="footer-item d-flex flex-wrap align-items-center justify-content-center"> 4531 <div class="info-hubslotxo d-flex flex-wrap align-items-top"> 4532 <figure class="foot-logo"> 4533 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/logo-pgslot77-main.png"> 4534 </figure> 4535 <div class="text-box"> 4536 <h1 class="fc-gold-g">PGSLOT</h1> 4537 <p> 4538 PGSLOT ระà¸à¸à¹à¸à¸´à¸¡ à¸à¸à¸ à¹à¸à¸£à¸à¸´à¸ à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¹à¸à¸¢à¹à¸¡à¹à¸à¹à¸à¸à¸à¹à¸²à¸ Call Center 4539 à¸à¸à¸à¸±à¸à¸à¸£à¸°à¸ªà¸à¸à¸²à¸£à¸à¹à¹à¸«à¸¡à¹à¹à¸à¸à¸²à¸£à¸ªà¸¡à¸±à¸à¸£à¸ªà¸¡à¸²à¸à¸´à¸ à¸à¸²à¸ à¸à¸à¸ à¹à¸à¸£à¸à¸´à¸ à¸à¹à¸§à¸¢à¸à¸±à¸§à¹à¸à¸à¸à¸±à¸à¸£à¸°à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸£à¸§à¸à¹à¸£à¹à¸§ à¸à¸¥à¸à¸à¸ ัย 4540 ระà¸à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ 100% สลà¹à¸à¸à¸à¸à¸à¹à¸¥à¸à¹à¹à¸à¹à¸²à¹à¸£à¸à¹à¸«à¹à¸à¸à¸£à¸°à¹à¸à¸¨à¹à¸à¸¢ à¸à¸£à¹à¸à¸¡à¹à¸«à¹à¸à¸£à¸´à¸à¸²à¸£à¹à¸¥à¹à¸§ 4541 </p> 4542 <h3 class="fc-gold-g pt-3">à¹à¸¡à¸à¸¹à¸¥à¸±à¸</h3> 4543 <ul class="shortcut-menu"> 4544 <li> 4545 <a href="https://pgslot77.art/category/slot/">à¸à¸à¸à¸§à¸²à¸¡</a> 4546 </li> 4547 <li> 4548 <a href="https://pgslot77.art/download/">à¸à¸²à¸§à¸à¹à¹à¸«à¸¥à¸</a> 4549 </li> 4550 </ul> 4551 </div> 4552 </div> 4553 <div class="interract-foot "> 4554 <h2 class="fc-gold-g">à¹à¸¥à¹à¸ PGSLOT77</h2> 4555 <ul class="button-foot"> 4556 <li> 4557<!-- <a data-toggle="modal" data-target="#exampleModal2222" style="cursor:pointer;"> --> 4558 <a href="https://pgslot77.pglst.com/login"> 4559 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/button-4-1.png"> 4560 </a> 4561 </li> 4562 </ul> 4563 <h2 class="fc-gold-g pt-3">à¸à¸´à¸à¸à¹à¸à¹à¸£à¸² PGSLOT77</h2> 4564 <ul class="download-foot"> 4565 <li> 4566 <a href="https://cutt.ly/facebookpg77"> 4567 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/face-popup-fixed.png"> 4568 </a> 4569 </li> 4570 <li> 4571 <a href="https://cutt.ly/wcpg77"> 4572 <img src="https://pgslot77.art/wp-content/themes/Theme-re-pgslot77/assets/img/line-popup-fixed.png"> 4573 </a> 4574 </li> 4575 </ul> 4576 </div> 4577 </div> 4578 <p class="pt-3 foot text-center"> 4579 COPYRIGHT 2019 WWW.PGSLOT77.COM 4580 <a href="https://www.dmca.com/Protection/Status.aspx?ID=52f37f18-c647-4f03-a771-381e31d7d3ec&refurl=https://pgslot77.com/" 4581 title="DMCA.com Protection Status" class="dmca-badge"> <img 4582 src="https://images.dmca.com/Badges/dmca-badge-w100-5x1-06.png?ID=52f37f18-c647-4f03-a771-381e31d7d3e
4582c" 4583 alt="DMCA.com Protection Status"></a> 4584
4584<script type="rocketlazyloadscript" data-rocket-src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js"> </script>
4584 4585 </p> 4586 </div> 4587 4588 </footer> 4589 4590 4591 4592
4592<script>class RocketElementorAnimation{constructor(){this.deviceMode=document.createElement("span"),this.deviceMode.id="elementor-device-mode-wpr",this.deviceMode.setAttribute("class","elementor-screen-only"),document.body.appendChild(this.deviceMode)}_detectAnimations(){let t=getComputedStyle(this.deviceMode,":after").content.replace(/"/g,"");this.animationSettingKeys=this._listAnimationSettingsKeys(t),document.querySelectorAll(".elementor-invisible[data-settings]").forEach(t=>{const e=t.getBoundingClientRect();if(e.bottom>=0&&e.top<=window.innerHeight)try{this._animateElement(t)}catch(t){}})}_animateElement(t){const e=JSON.parse(t.dataset.settings),i=e._animation_delay||e.animation_delay||0,n=e[this.animationSettingKeys.find(t=>e[t])];if("none"===n)return void t.classList.remove("elementor-invisible");t.classList.remove(n),this.currentAnimation&&t.classList.remove(this.currentAnimation),this.currentAnimation=n;let s=setTimeout(()=>{t.classList.remove("elementor-invisible"),t.classList.add("animated",n),this._removeAnimationSettings(t,e)},i);window.addEventListener("rocket-startLoading",function(){clearTimeout(s)})}_listAnimationSettingsKeys(t="mobile"){const e=[""];switch(t){case"mobile":e.unshift("_mobile");case"tablet":e.unshift("_tablet");case"desktop":e.unshift("_desktop")}const i=[];return["animation","_animation"].forEach(t=>{e.forEach(e=>{i.push(t+e)})}),i}_removeAnimationSettings(t,e){this._listAnimationSettingsKeys().forEach(t=>delete e[t]),t.dataset.settings=JSON.stringify(e)}static run(){const t=new RocketElementorAnimation;requestAnimationFrame(t._detectAnimations.bind(t))}}document.addEventListener("DOMContentLoaded",RocketElementorAnimation.run);</script>
4592<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"c5f7a1de92cc4ae29abfde1f3d615538","r":1,"spa":2}' crossorigin="anonymous"></script>
4592 4593</body> 4594 4595 </html> 4596<!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me --> 4597<!-- plugin=object-cache-pro client=phpredis metric#hits=1703 metric#misses=7 metric#hit-ratio=99.6 metric#bytes=536017 metric#prefetches=108 metric#store-reads=25 metric#store-writes=7 metric#store-hits=125 metric#store-misses=0 metric#sql-queries=20 metric#ms-total=516.82 metric#ms-cache=5.73 metric#ms-cache-avg=0.1848 metric#ms-cache-ratio=1.1 sample#redis-hits=70754868 sample#redis-misses=2151306 sample#redis-hit-ratio=97.0 sample#redis-ops-per-sec=80 sample#redis-evicted-keys=0 sample#redis-used-memory=101781536 sample#redis-used-memory-rss=104271872 sample#redis-memory-fragmentation-ratio=1.0 sample#redis-connected-clients=3 sample#redis-tracking-clients=0 sample#redis-rejected-connections=0 sample#redis-keys=61347 -->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.