PageSourceSearch

https://pamtoto.online/home

html pamtoto.online collected 2026-10-09 22:48:14 UTC 215,835 bytes, 4,753 lines download raw bytes

1<!doctype html>
2<html lang="id">
3  <head>
4    <meta charset="utf-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
6    <title>PAMTOTO: Toto Slot 4D Togel Deposit Via Qris Games Slot Terpopuler Login</title>    
7    <link rel="icon" type="image/png" href="/favicon.png">
8    
9    <meta charset="utf-8" />
10<meta name="viewport" content="width=device-width, initial-scale=1.0">
11<title>PAMTOTO: Toto Slot 4D Togel Deposit Via Qris Games Slot Terpopuler Login</title>
12<meta content="PAMTOTO: Toto Slot 4D Togel Deposit Via Qris Games Slot Terpopuler Login" name="title" />
13<meta content="PAMTOTO menghadirkan akses login ke Toto Slot 4D Togel dan games slot terpopuler dari 6 provider dengan RTP di atas 96%. Deposit via Qris proses di bawah 90 detik tanpa biaya tambahan, minimum mulai 10 ribu rupiah." name="description" />
14<meta content="pamtoto, pamtoto login, pamtoto situs, pamtoto daftar, pamtoto link alternatif, pamtoto rtp" name="keywords" />
15<meta content="id_ID" property="og:locale" />
16<meta content="website" property="og:type" />
17<meta content="https://pamtoto.online/" property="og:url" />
18<meta content="PAMTOTO" property="og:site_name" />
19<meta content="PAMTOTO: Toto Slot 4D Togel Deposit Via Qris Games Slot Terpopuler Login" property="og:title" />
20<meta content="PAMTOTO menghadirkan akses login ke Toto Slot 4D Togel dan games slot terpopuler dari 6 provider dengan RTP di atas 96%. Deposit via Qris proses di bawah 90 detik tanpa biaya tambahan, minimum mulai 10 ribu rupiah." property="og:description" />
21<meta content="id-ID" name="language" />
22<meta content="website" name="categories" />
23<meta content="jakarta" name="geo.region" />
24<meta content="indonesia" name="geo.placename" />
25<meta content="index, follow" name="robots" />
26
27<!-- Geo Meta Tags for Jakarta -->
28<meta name="geo.region" content="ID-JK" />
29<meta name="geo.placename" content="Jakarta" />
30<meta name="geo.position" content="-6.6062838902390935;106.808779011015" />
31<meta name="ICBM" content="-6.6062838902390935, 106.808779011015" />
32<!-- End Geo Meta Tags for Jakarta -->
33<meta name="google-site-verification" content="Om3Ir36UBg0dARHDpz7yywRU2oLYGr3SEUmwoDUD2yU" />
34<link href="https://pamtoto.online/" rel="canonical" />
35<link href="https://cdn.sunpam.cloud/pamtoto/images/favicon.png" rel="icon" type="image/x-icon" />
36<link rel="preload" as="image" href="https://img.viva88athenae.com/pop/mobile-fgs.jpg" fetchpriority="high">
37<link rel="amphtml" href="https://amp-pamtoto-online.pages.dev/" />
38<link rel="alternate" hreflang="id-id" href="https://amp-pamtoto-online.pages.dev/"/>
39<link rel="alternate" href="https://amp-pamtoto-online.pages.dev/"/>
40<link rel="alternate" hreflang="id" href="https://amp-pamtoto-online.pages.dev/"/>
41<link rel="alternate" hreflang="en" href="https://amp-pamtoto-online.pages.dev/"/>
42<!-- RTP Start -->
43<link rel="stylesheet" href="https://cdn.sunpam.cloud/pamtoto/resources/rtp/rtp.min.css"/>
44<script src="https://cdn.sunpam.cloud/pamtoto/resources/rtp/rtp.min.js"></script>
44
45<!-- RTP End -->
46    
47    <link rel="preconnect" href="https://img.viva88athenae.com">
48    <link rel="preload" href="/fonts/new/ubuntu-normal-400-latin.woff2" as="font" type="font/woff2" crossorigin>
49    <link rel="preload" href="/fonts/new/ubuntu-normal-700-latin.woff2" as="font" type="font/woff2" crossorigin>
50    <link rel="preload" href="/fonts/new/oswald-normal-400-latin.woff2" as="font" type="font/woff2" crossorigin>
51    <link href="/css/new/vendor/bootstrap.min.css?v=1790436663" rel="stylesheet">
52    <style id="jt-fonts">/* Self-hosted Ubuntu + Oswald (latin / latin-ext), font-display: swap */
53/* latin-ext */
54@font-face {
55  font-family: 'Oswald';
56  font-style: normal;
57  font-weight: 400;
58  font-display: swap;
59  src: url(/fonts/new/oswald-normal-400-latinext.woff2) format('woff2');
60  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
61}
62/* latin */
63@font-face {
64  font-family: 'Oswald';
65  font-style: normal;
66  font-weight: 400;
67  font-display: swap;
68  src: url(/fonts/new/oswald-normal-400-latin.woff2) format('woff2');
69  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
70}
71/* latin-ext */
72@font-face {
73  font-family: 'Oswald';
74  font-style: normal;
75  font-weight: 500;
76  font-display: swap;
77  src: url(/fonts/new/oswald-normal-500-latinext.woff2) format('woff2');
78  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
79}
80/* latin */
81@font-face {
82  font-family: 'Oswald';
83  font-style: normal;
84  font-weight: 500;
85  font-display: swap;
86  src: url(/fonts/new/oswald-normal-500-latin.woff2) format('woff2');
87  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
88}
89/* latin-ext */
90@font-face {
91  font-family: 'Oswald';
92  font-style: normal;
93  font-weight: 600;
94  font-display: swap;
95  src: url(/fonts/new/oswald-normal-600-latinext.woff2) format('woff2');
96  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
97}
98/* latin */
99@font-face {
100  font-family: 'Oswald';
101  font-style: normal;
102  font-weight: 600;
103  font-display: swap;
104  src: url(/fonts/new/oswald-normal-600-latin.woff2) format('woff2');
105  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
106}
107/* latin-ext */
108@font-face {
109  font-family: 'Oswald';
110  font-style: normal;
111  font-weight: 700;
112  font-display: swap;
113  src: url(/fonts/new/oswald-normal-700-latinext.woff2) format('woff2');
114  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
115}
116/* latin */
117@font-face {
118  font-family: 'Oswald';
119  font-style: normal;
120  font-weight: 700;
121  font-display: swap;
122  src: url(/fonts/new/oswald-normal-700-latin.woff2) format('woff2');
123  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
124}
125/* latin-ext */
126@font-face {
127  font-family: 'Ubuntu';
128  font-style: italic;
129  font-weight: 300;
130  font-display: swap;
131  src: url(/fonts/new/ubuntu-italic-300-latinext.woff2) format('woff2');
132  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
133}
134/* latin */
135@font-face {
136  font-family: 'Ubuntu';
137  font-style: italic;
138  font-weight: 300;
139  font-display: swap;
140  src: url(/fonts/new/ubuntu-italic-300-latin.woff2) format('woff2');
141  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
142}
143/* latin-ext */
144@font-face {
145  font-family: 'Ubuntu';
146  font-style: italic;
147  font-weight: 400;
148  font-display: swap;
149  src: url(/fonts/new/ubuntu-italic-400-latinext.woff2) format('woff2');
150  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
150BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
151}
152/* latin */
153@font-face {
154  font-family: 'Ubuntu';
155  font-style: italic;
156  font-weight: 400;
157  font-display: swap;
158  src: url(/fonts/new/ubuntu-italic-400-latin.woff2) format('woff2');
159  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
160}
161/* latin-ext */
162@font-face {
163  font-family: 'Ubuntu';
164  font-style: italic;
165  font-weight: 500;
166  font-display: swap;
167  src: url(/fonts/new/ubuntu-italic-500-latinext.woff2) format('woff2');
168  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
169}
170/* latin */
171@font-face {
172  font-family: 'Ubuntu';
173  font-style: italic;
174  font-weight: 500;
175  font-display: swap;
176  src: url(/fonts/new/ubuntu-italic-500-latin.woff2) format('woff2');
177  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
178}
179/* latin-ext */
180@font-face {
181  font-family: 'Ubuntu';
182  font-style: italic;
183  font-weight: 700;
184  font-display: swap;
185  src: url(/fonts/new/ubuntu-italic-700-latinext.woff2) format('woff2');
186  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
187}
188/* latin */
189@font-face {
190  font-family: 'Ubuntu';
191  font-style: italic;
192  font-weight: 700;
193  font-display: swap;
194  src: url(/fonts/new/ubuntu-italic-700-latin.woff2) format('woff2');
195  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
196}
197/* latin-ext */
198@font-face {
199  font-family: 'Ubuntu';
200  font-style: normal;
201  font-weight: 300;
202  font-display: swap;
203  src: url(/fonts/new/ubuntu-normal-300-latinext.woff2) format('woff2');
204  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
205}
206/* latin */
207@font-face {
208  font-family: 'Ubuntu';
209  font-style: normal;
210  font-weight: 300;
211  font-display: swap;
212  src: url(/fonts/new/ubuntu-normal-300-latin.woff2) format('woff2');
213  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
214}
215/* latin-ext */
216@font-face {
217  font-family: 'Ubuntu';
218  font-style: normal;
219  font-weight: 400;
220  font-display: swap;
221  src: url(/fonts/new/ubuntu-normal-400-latinext.woff2) format('woff2');
222  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
223}
224/* latin */
225@font-face {
226  font-family: 'Ubuntu';
227  font-style: normal;
228  font-weight: 400;
229  font-display: swap;
230  src: url(/fonts/new/ubuntu-normal-400-latin.woff2) format('woff2');
231  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
232}
233/* latin-ext */
234@font-face {
235  font-family: 'Ubuntu';
236  font-style: normal;
237  font-weight: 500;
238  font-display: swap;
239  src: url(/fonts/new/ubuntu-normal-500-latinext.woff2) format('woff2');
240  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
241}
242/* latin */
243@font-face {
244  font-family: 'Ubuntu';
245  font-style: normal;
246  font-weight: 500;
247  font-display: swap;
248  src: url(/fonts/new/ubuntu-normal-500-latin.woff2) format('woff2');
249  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
250}
251/* latin-ext */
252@font-face {
253  font-family: 'Ubuntu';
254  font-style: normal;
255  font-weight: 700;
256  font-display: swap;
257  src: url(/fonts/new/ubuntu-normal-700-latinext.woff2) format('woff2');
258  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
258BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
259}
260/* latin */
261@font-face {
262  font-family: 'Ubuntu';
263  font-style: normal;
264  font-weight: 700;
265  font-display: swap;
266  src: url(/fonts/new/ubuntu-normal-700-latin.woff2) format('woff2');
267  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
268}
269</style>    <style id="jt-theme">/* Theme: BD — BD */
270:root {
271    /* --- Accent --- */
272    --accent-color:               #00afff;
273
274    /* --- Text --- */
275    --primary-text-color:         #ffffff;
276    --secondary-text-color:       #d4d4d4;
277    --accent-text-color:          #33bfff;
278
279    /* --- Teks tambahan --- */
280    --muted-text-color:           #888888;
281    --muted-text-color-secondary: #2b2626;
282    --muted-text-color-tertiary:  #4a93b5;
283
284    /* --- Background utama --- */
285    --primary-background-color:   #0f1d24;
286    --secondary-background-color: #08161c;
287    --ternary-background-color:   #15262e;
288    --quaternary-background-color: #0f1d24;
289
290    /* --- Background tambahan --- */
291    --placeholder-bg:             #1e343e;
292    --overlay-bg:                 rgba(0,0,0,0.6);
293    --handle-color:               rgba(255,255,255,0.2);
294    --table-hover-bg:             rgba(0,175,255,0.05);
295    --btn-close-hover-bg:         rgba(128,128,128,0.12);
296    --qr-bg:                      #ffffff;
297
298    /* --- Navbar --- */
299    --navbar-bg:                  var(--ternary-background-color);
300    --bottom-navbar-bg:           var(--ternary-background-color);
301
302    /* --- Navbar text --- */
303    --navbar-text-color:          #ffffff;
304    --bottom-navbar-text-color:   #ffffff;
305
306    /* --- Header & Home elemen (terpisah dari primary/secondary/accent-text) --- */
307    --topbar-link-color:          var(--primary-text-color);
308    --section-title-color:        var(--primary-text-color);
309    --togel-market-name-color:    var(--primary-text-color);
310    --balance-text-color:         var(--secondary-text-color);
311    --nav-active-color:           var(--accent-text-color);
312    --marquee-date-color:         var(--accent-text-color);
313    --username-text-color:        var(--secondary-text-color);
314    --marquee-text-color:         var(--secondary-text-color);
315
316    /* --- Menu / Marquee / Search --- */
317    --menu-box-bg:                rgba(0,175,255,0.05);
318    --marquee-bg:                 #08161c;
319    --search-bg:                  #15262e;
320
321    /* --- Widget profile gradient --- */
322    --widget-profile-bg-start:    #1c343f;
323    --widget-profile-bg-end:      #08161c;
324
325    /* --- Tombol Deposit (gradient) --- */
326    --btn-deposit-color-start:    #00afff;
327    --btn-deposit-color-mid:      #1fb9ff;
328    --btn-deposit-color-end:      #00afff;
329    --btn-deposit-text:           #ffffff;
330
331    /* --- Tombol Withdraw (gradient) --- */
332    --btn-withdraw-color-start:   #08161c;
333    --btn-withdraw-color-end:     #15262e;
334    --btn-withdraw-text:          #ffffff;
335
336    /* --- Tab aktif & tabel rekening (terpisah dari accent utama) --- */
337    --tx-tab-active-color:        var(--accent-color);
338    --tx-table-accent-color:      var(--accent-text-color);
339
340    /* --- Table stripe & input placeholder (terpisah, dikalibrasi thd bg literal) --- */
341    --table-stripe-odd-bg:        var(--primary-background-color);
342    --table-stripe-even-bg:       var(--secondary-background-color);
343    --input-placeholder-color:    #6b7280;
344
345    /* --- CMS sidebar nav item (state tidak-aktif/hover/aktif, terpisah dari muted-text-color umum) --- */
346    --cms-nav-color:              var(--muted-text-color);
347    --cms-nav-hover-color:        var(--secondary-text-color);
348    --cms-nav-active-color:       var(--primary-text-color);
349
350    /* --- History table --- */
351    --color-tanggal:              #ef5350;
352    --color-pasaran:              #42a5f5;
353    --color-debit:                #ef5350;
354    --color-kredit:               #66bb6a;
355    --color-balance:              #42a5f5;
356
357    /* --- Component backgrounds --- */
358    --btn-menu-bg:                var(--ternary-background-color);
359    --card-bg:                    var(--ternary-background-color);
360    --avatar-bg:                  var(--ternary-background-color);
361    --table-header-bg:            var(--ternary-background-color);
362    --dropdown-bg:                var(--secondary-background-color);
363    --sidebar-bg:                 var(--secondary-background-color);
364    --input-bg:                   var(--secondary-background-color);
365    --menu-box-border-color:      rgba(0,175,255,0.12);
366    --breadcrumb-color:           var(--accent-color);
367    --alert-danger-bg:            #ee5f5b;
368
369    /* --- Accent alpha (untuk hover/active) --- */
370    --accent-bg-subtle:           rgba(0,175,255,0.10);
371    --accent-bg-active:           rgba(0,175,255,0.12);
372    --accent-border-subtle:       rgba(0,175,255,0.32);
373
374    /* --- Skeleton shimmer --- */
375    --skeleton-color-base:        var(--ternary-background-color);
376    --skeleton-color-shine:       #1e343e;
377
378    /* --- Card togel pasaran (home) --- */
379    --togel-card-bg:               var(--secondary-background-color);
380    --togel-card-number-color:    var(--primary-text-color);
381
382    /* --- Splide pagination --- */
383    --splide-pagination-inactive: #dee2e6;
384
385    /* --- Border --- */
386    --border-color:               rgba(255,255,255,0.08);
387    --border-subtle-color:        rgba(255,255,255,0.04);
388
389    /* --- Font & Radius --- */
390    --font-body:                  "Ubuntu", sans-serif;
391    --radius-sm:                  6px;
392    --radius-md:                  8px;
393    --radius-lg:                  10px;
394    --radius-xl:                  12px;
395    --radius-pill:                999px;
396
397    /* --- Font sizes --- */
398    --fs-xs:                      10px;
399    --fs-sm:                      11px;
400    --fs-md:                      12px;
401    --fs-base:                    13px;
402    --fs-lg:                      14px;
403    --fs-xl:                      15px;
404    --fs-2xl:                     16px;
405    --fs-3xl:                     18px;
406}
407
408:root[data-theme="light"] {
409    /* --- Light theme overrides (auto-generated dari base gelap) --- */
410    /* --- Accent --- */
411    --accent-color:                #006694;
412
413    /* --- Text --- */
414    --primary-text-color:          #141414;
415    --secondary-text-color:        #2b2b2b;
416    --accent-text-color:           #006694;
417
418    /* --- Teks tambahan --- */
419    --muted-text-color:            #595959;
420    --muted-text-color-secondary:  #5c5656;
421    --muted-text-color-tertiary:   #47606c;
422
423    /* --- Background utama --- */
424    --primary-background-color:    #e1e7ea;
425    --secondary-background-color:  #eaeef0;
426    --ternary-background-color:    #d9dfe2;
427    --quaternary-background-color: #e1e7ea;
428
429    /* --- Background tambahan --- */
430    --placeholder-bg:              #cbd3d7;
431    --overlay-bg:                  rgba(0,0,0,0.6);
432    --handle-color:                rgba(0,0,0,0.2);
433    --table-hover-bg:              rgba(0,175,255,0.05);
434    --btn-close-hover-bg:          rgba(128,128,128,0.12);
435    --qr-bg:                       #ffffff;
436
437    /* --- Navbar --- */
438    --navbar-bg:                   var(--ternary-background-color);
439    --bottom-navbar-bg:            var(--ternary-background-color);
440
441    /* --- Navbar text --- */
442    --navbar-text-color:           #141414;
443    --bottom-navbar-text-color:    #141414;
444
445    /* --- Header & Home elemen (terpisah dari primary/secondary/accent-text) --- */
446    --topbar-link-color:           var(--primary-text-color);
447    --section-title-color:         var(--primary-text-color);
448    --togel-market-name-color:     var(--primary-text-color);
449    --balance-text-color:          var(--secondary-text-color);
450    --nav-active-color:            var(--accent-text-color);
451    --marquee-date-color:          var(--accent-text-color);
452    --username-text-color:         var(--secondary-text-color);
453    --marquee-text-color:          var(--secondary-text-color);
454
455    /* --- Menu / Marquee / Search --- */
456    --menu-box-bg:                 rgba(0,175,255,0.05);
457    --marquee-bg:                  #eaeef0;
458    --search-bg:                   #d9dfe2;
459
460    /* --- Widget profile gradient --- */
461    --widget-profile-bg-start:     #cad4d8;
462    --widget-profile-bg-end:       #eaeef0;
463
464    /* --- Tombol Deposit (gradient) --- */
465    --btn-deposit-color-start:     #006694;
466    --btn-deposit-color-mid:       #007bb3;
467    --btn-deposit-color-end:       #006694;
468    --btn-deposit-text:            #ffffff;
469
470    /* --- Tombol Withdraw (gradient) --- */
471    --btn-withdraw-color-start:    #eaeef0;
472    --btn-withdraw-color-end:      #d9dfe2;
473    --btn-withdraw-text:           #141414;
474
475    /* --- Tab aktif & tabel rekening (terpisah dari accent utama) --- */
476    --tx-tab-active-color:         var(--accent-color);
477    --tx-table-accent-color:       var(--accent-text-color);
478
479    /* --- Table stripe & input placeholder (terpisah, dikalibrasi thd bg literal) --- */
480    --table-stripe-odd-bg:         var(--primary-background-color);
481    --table-stripe-even-bg:        var(--secondary-background-color);
482    --input-placeholder-color:     #6b7280;
483
484    /* --- CMS sidebar nav item (state tidak-aktif/hover/aktif, terpisah dari muted-text-color umum) --- */
485    --cms-nav-color:               var(--muted-text-color);
486    --cms-nav-hover-color:         var(--secondary-text-color);
487    --cms-nav-active-color:        var(--primary-text-color);
488
489    /* --- History table --- */
490    --color-tanggal:               #c91612;
491    --color-pasaran:               #0967b3;
492    --color-debit:                 #c91612;
493    --color-kredit:                #327135;
494    --color-balance:               #0967b3;
495
496    /* --- Component backgrounds --- */
497    --btn-menu-bg:                 var(--ternary-background-color);
498    --card-bg:                     var(--ternary-background-color);
499    --avatar-bg:                   var(--ternary-background-color);
500    --table-header-bg:             var(--ternary-background-color);
501    --dropdown-bg:                 var(--secondary-background-color);
502    --sidebar-bg:                  var(--secondary-background-color);
503    --input-bg:                    var(--secondary-background-color);
504    --menu-box-border-color:       rgba(0,175,255,0.12);
505    --breadcrumb-color:            var(--accent-color);
506    --alert-danger-bg:             #ee5f5b;
507
508    /* --- Accent alpha (untuk hover/active) --- */
509    --accent-bg-subtle:            rgba(0,102,148,0.10);
510    --accent-bg-active:            rgba(0,102,148,0.12);
511    --accent-border-subtle:        rgba(0,102,148,0.32);
512
513    /* --- Skeleton shimmer --- */
514    --skeleton-color-base:         var(--ternary-background-color);
515    --skeleton-color-shine:        #cbd3d7;
516
517    /* --- Card togel pasaran (home) --- */
518    --togel-card-bg:               var(--secondary-background-color);
519    --togel-card-number-color:    var(--primary-text-color);
520
521    /* --- Splide pagination --- */
522    --splide-pagination-inactive:  #a8b2bd;
523
524    /* --- Border --- */
525    --border-color:                rgba(0,0,0,0.08);
526    --border-subtle-color:         rgba(0,0,0,0.04);
527
528    /* --- Font & Radius --- */
529    --font-body:                   "Ubuntu", sans-serif;
530    --radius-sm:                   6px;
531    --radius-md:                   8px;
532    --radius-lg:                   10px;
533    --radius-xl:                   12px;
534    --radius-pill:                 999px;
535
536    /* --- Font sizes --- */
537    --fs-xs:                       10px;
538    --fs-sm:                       11px;
539    --fs-md:                       12px;
540    --fs-base:                     13px;
541    --fs-lg:                       14px;
542    --fs-xl:                       15px;
543    --fs-2xl:                      16px;
544    --fs-3xl:                      18px;
545}
546
547/* History table column colors */
548.history-table .col-tanggal  { white-space: nowrap; color: var(--color-tanggal); }
549.history-table .col-pasaran  { color: var(--color-pasaran); }
550.history-table .col-betid    { font-size: var(--fs-xs); word-break: break-all; color: var(--accent-text-color); }
551.history-table .col-deskripsi { color: var(--primary-text-color); }
552.history-table .col-balance  { white-space: nowrap; color: var(--color-balance); }
553</style>    <link rel="stylesheet" href="/css/new/layout.min.css?v=1790436663">
554    <link rel="stylesheet" href="/css/new/logo.css?v=1790436663">
555    <style>.splide__list{display:flex;margin:0!important;padding:0!important}.splide__track{overflow:hidden;position:relative}</style>
556
557    <link id="css-home-sections" rel="stylesheet" href="/css/new/home-sections.min.css?v=1790436663" media="print" onload="this.media='all'">
558    
559    <link id="css-bootstrap-icons" rel="stylesheet" href="/css/new/vendor/bootstrap-icons.min.css?v=1790436663" media="print" onload="this.media='all'">
560    <link id="css-splide" rel="stylesheet" href="/css/new/vendor/splide.min.css?v=1790436663" media="print" onload="this.media='all'">
561    <noscript>
562        <link rel="stylesheet" href="/css/new/home-sections.min.css?v=1790436663">
563        <link rel="stylesheet" href="/css/new/vendor/bootstrap-icons.min.css?v=1790436663">
564        <link rel="stylesheet" href="/css/new/vendor/splide.min.css?v=1790436663">
565        <link rel="stylesheet" href="/css/new/game.min.css?v=1790436663">
566    </noscript>
567
568    <style>
569    @media (max-width: 768px) {
570        .driver-popover { max-width: 220px !important; font-size: 12px !important; padding: 10px 12px !important; }
571        .driver-popover-title { font-size: 13px !important; margin-bottom: 4px !important; }
572        .driver-popover-description { font-size: 12px !important; }
573    }
574    </style>
575
576    <style>
577        a {
578          color: inherit; /* blue colors for links too */
579          text-decoration: inherit; /* no underline */
580        }
581    
582        .desktop-only {
583            display: block!important;
584        }
585        
586        .mobile-only {
587            display: none !important;
588        }
589        
590        .btn {
591            height: 30px;
592            border-radius: 3px;
593        }
594        
595        .login-field {
596            width: 104px;
597            height: 30px;
598            border-radius: 3px;
599        }
600
601        .login-input-field {
602            margin: 0px;
603            padding: 0px 8px;
604            border-radius: 3px !important;
605        }
606        
607        .section>.home-view {
608            padding: 0px;
609        }
610
611        @media only screen and (max-width: 1000px) {
612
613            .desktop-only {
614                display: none!important;
615            }
616                
617            .mobile-only {
618                display: block!important;
619            }
620            
621            .login-form {
622                padding: 32px 0;
623                margin: 0px 64px;
624                display: flex;
625                flex-direction: column;
626            }
627            
628            .login-field, .login-form>button, .btn-promosi {
629                height: 36px;
630                width: 100% !important;
631                border-radius: 8px;
632                overflow: hidden;
633            }
634                    
635            .login-input-field {
636                border-top-left-radius: 0 !important;
637                border-bottom-left-radius: 0 !important;
638                font-size: 1rem;
639            }
640            
641            .section {
642                padding: 0px 8px!important;
643            }
644        }
645
646        .grecaptcha-badge {
647            display: none !important;
648        }
649    </style>
650    
651    
652</head>
653  <body>
654    
654<script src="/js/new/vendor/jquery.min.js?v=1790436663"></script>
654
655    
655<script>
656        window.JT_CSRF_TOKEN = '3d40fb317950285221da9edf86649051ed01786cdbb02924a4568143e1164e29';
657        window.JT_NEED_RECAPTCHA_REGISTER = false;
658        window.JT_NEED_RECAPTCHA_LOGIN = false;
659        window.JT_NEED_RECAPTCHA = false;
660        window.JT_RECAPTCHA_SITE_KEY = '6Leu4cosAAAAABe-B_1-oryumOl99wsUEEFN3z8A';
661        window.JT_NEED_TURNSTILE_REGISTER = false;
662        window.JT_NEED_TURNSTILE_LOGIN = false;
663        window.JT_NEED_TURNSTILE = false;
664        window.JT_NEED_IFRAME_CAPTCHA = false;
665        window.JT_CAPTCHA_LOGIN_MODE = '1';
666        window.JT_CAPTCHA_REGISTER_MODE = '1';
667
668        $.ajaxSetup({
669            beforeSend: function (xhr, settings) {
670                if (settings.type === 'POST' && !settings.crossDomain) {
671                    xhr.setRequestHeader('X-CSRF-Token', window.JT_CSRF_TOKEN || '');
672                }
673            }
674        });
675
676        var _recaptchaLoader = null;
677        function jtLoadRecaptcha() {
678            if (!window.JT_NEED_RECAPTCHA) return Promise.resolve();
679            if (typeof grecaptcha !== 'undefined' && grecaptcha.enterprise) return Promise.resolve();
680            if (_recaptchaLoader) return _recaptchaLoader;
681            _recaptchaLoader = new Promise(function (resolve, reject) {
682                var s = document.createElement('script');
683                s.src = 'https://www.google.com/recaptcha/enterprise.js?render=' + encodeURIComponent(window.JT_RECAPTCHA_SITE_KEY);
684                s.async = true;
685                s.onload = function () { resolve(); };
686                s.onerror = function () { _recaptchaLoader = null; reject(new Error('recaptcha load failed')); };
687                document.head.appendChild(s);
688            });
689            return _recaptchaLoader;
690        }
691
692        
693        function jtWarmAuthScripts() {
694            if (window.JT_NEED_RECAPTCHA) jtLoadRecaptcha().catch(function () {});
695            if (window.JT_NEED_TURNSTILE && typeof window.turnst === 'function') {
696                window.turnst('').catch(function () {});
697            }
698        }
699
700        $(document).on(
701            'focusin',
702            '#desktoplogin input, #mobilelogin input, #formRegister input, #formRegister select, #desktopregister input, #mobileregister input',
703            jtWarmAuthScripts
704        );
705        $(document).on(
706            'click',
707            '.btn-daftar, [onclick*="register"], a[href*="register"]',
708            jtWarmAuthScripts
709        );
710
711        function jtNeedRecaptchaRegister($form) {
712            var isRecaptchaRegister = String($form.find('input[name="isrecaptcharegister"]').val() || '');
713            return window.JT_NEED_RECAPTCHA_REGISTER === true || isRecaptchaRegister === '1';
714        }
715
716        function jtNeedRecaptchaLogin($form) {
717            var isRecaptchaLogin = String($form.find('input[name="isrecaptchalogin"]').val() || '');
718            return window.JT_NEED_RECAPTCHA_LOGIN === true || isRecaptchaLogin === '1';
719        }
720
721        function jtWithRecaptchaToken($form, $status, action, shouldRun, onReady, failCls, onFail, tokenField) {
722            if (!shouldRun) {
723                onReady();
724                return;
725            }
726            var fieldName = tokenField || 'recaptcha_token';
727            var warnCls = (failCls === undefined) ? 'alert alert-sm alert-warning' : failCls;
728            function showFail(msg) {
729                if (warnCls) {
730                    $status.removeClass().addClass(warnCls).text(msg).fadeIn(1000);
731                } else {
732                    $status.removeClass().text(msg).fadeIn(1000);
733                }
734                if (typeof onFail === 'function') {
735                    onFail();
736                }
737            }
738            jtLoadRecaptcha().then(function () {
739                if (typeof grecaptcha === 'undefined' || !grecaptcha.enterprise) {
740                    showFail('Verifikasi gagal dimuat, refresh halaman');
741                    return;
742                }
743                grecaptcha.enterprise.ready(function () {
744                    grecaptcha.enterprise.execute(window.JT_RECAPTCHA_SITE_KEY, { action: action })
745                        .then(function (token) {
746                            jtSetHidden($form, fieldName, token);
747                            onReady();
748                        })
749                        .catch(function () {
750                            showFail('Verifikasi gagal, coba lagi');
751                        });
752                });
753            }).catch(function () {
754                showFail('Verifikasi gagal dimuat, refresh halaman');
755            });
756        }
757
758        function jtWithRecaptchaRegisterToken($form, $status, onReady) {
759            jtWithRecaptchaToken($form, $status, 'register', jtNeedRecaptchaRegister($form), onReady, undefined, undefined, 'recaptcha_register_token');
760        }
761
762        function jtWithRecaptchaLoginToken($form, $status, onReady, onF
762ail) {
763            jtWithRecaptchaToken($form, $status, 'login', jtNeedRecaptchaLogin($form), onReady, '', onFail, 'recaptcha_login_token');
764        }
765
766        function jtSetHidden($form, name, value) {
767            var $el = $form.find('input[name="' + name + '"]');
768            if ($el.length === 0) {
769                $form.append('<input type="hidden" name="' + name + '" value="">');
770                $el = $form.find('input[name="' + name + '"]');
771            }
772            $el.val(value);
773        }
774
775        function jtWithTurnstileAction($form, actionName, needFlag, onReady) {
776            if (!needFlag || typeof window.turnst !== 'function') {
777                onReady();
778                return;
779            }
780            window.turnst(actionName).then(function (fpResult) {
781                jtSetHidden($form, 'fp_event_id', (fpResult && fpResult.eventId) || '');
782                jtSetHidden($form, 'fp_visitor_id', (fpResult && fpResult.visitorId) || '');
783                onReady();
784            }).catch(function () {
785                jtSetHidden($form, 'fp_event_id', '');
786                jtSetHidden($form, 'fp_visitor_id', '');
787                onReady();
788            });
789        }
790
791        function jtWithTurnstileRegister($form, onReady) {
792            jtWithTurnstileAction($form, 'account_create', window.JT_NEED_TURNSTILE_REGISTER, onReady);
793        }
794
795        function jtWithTurnstileLogin($form, onReady) {
796            jtWithTurnstileAction($form, 'account_login', window.JT_NEED_TURNSTILE_LOGIN, onReady);
797        }
798
799        var _jtIframePending = null;
800
801        function jtShowIframeCaptcha(isMobile, onReady, onCancelMsg) {
802            if (!window.JT_NEED_IFRAME_CAPTCHA) {
803                onReady();
804                return;
805            }
806            var modalId = isMobile ? '#captchaModalMobile' : '#captchaModalDesktop';
807            var $modal = $(modalId);
808            if ($modal.length === 0) {
809                onReady();
810                return;
811            }
812            _jtIframePending = {
813                isMobile: !!isMobile,
814                onReady: onReady,
815                onCancelMsg: onCancelMsg || null
816            };
817            $modal.css('display', 'flex');
818        }
819
820        function jtWithIframeCaptchaLogin($form, isMobile, onReady, onCancelMsg) {
821            var mode = String($form.find('input[name="iscaptchalogin"]').val() || window.JT_CAPTCHA_LOGIN_MODE || '1');
822            if (mode !== '2') {
823                onReady();
824                return;
825            }
826            jtShowIframeCaptcha(isMobile, function (token, key) {
827                jtSetHidden($form, 'token', token || '');
828                jtSetHidden($form, 'key', key || '');
829                onReady();
830            }, onCancelMsg);
831        }
832
833        function jtWithIframeCaptchaRegister($form, isMobile, onReady, onCancelMsg) {
834            var mode = String($form.find('input[name="iscaptcharegister"]').val() || window.JT_CAPTCHA_REGISTER_MODE || '1');
835            if (mode !== '2') {
836                onReady();
837                return;
838            }
839            jtShowIframeCaptcha(isMobile, function (token, key) {
840                jtSetHidden($form, 'token', token || '');
841                jtSetHidden($form, 'key', key || '');
842                onReady();
843            }, onCancelMsg);
844        }
845
846        window.addEventListener('message', function (e) {
847            if (e.origin !== 'https://recaptcha.viva88athenae.com') {
848                return;
849            }
850            if (!_jtIframePending) {
851                return; 
852            }
853            var pending = _jtIframePending;
854            _jtIframePending = null;
855
856            var dataCaptcha = e.data || {};
857            var $modal = pending.isMobile ? $('#captchaModalMobile') : $('#captchaModalDesktop');
858            $modal.css('display', 'none');
859
860            if (dataCaptcha.verified !== true) {
861                if (typeof pending.onCancelMsg === 'function') {
862                    pending.onCancelMsg('Verifikasi Kosong');
863                }
864                return;
865            }
866
867            if (typeof pending.onReady === 'function') {
868                pending.onReady(dataCaptcha.token || '', dataCaptcha.key || '');
869            }
870        });
871    </script>
871
872
873      
874<style>
875    .btn-tele {
876        text-shadow: 1px 1px #000000;
877        height: 36px!important;
878        border-radius: 8px;
879        background: #28323C;
880        color: white;
881    }
882</style>
883
884    
885<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasRight" aria-labelledby="offcanvasExampleLabel" style="width: 50%; background: var(--primary-background-color); color: var(--primary-text-color); z-index: 99999">
886    <div class="offcanvas-header py-3 d-flex justify-content-between">
887        <h5 class="offcanvas-title" id="offcanvasExampleLabel" style="color: var(--menu-item-color); font-size: 1.2rem; font-weight: bold">Kontak Kami</h5>
888        <button type="button" class="text-reset" style="background: transparent; border: none" data-bs-dismiss="offcanvas" aria-label="Close"><i class="bi bi-x" style="color: var(--primary-text-color); font-size: 20px"></i></button>
889    </div>
890    <div class="offcanvas-body p-0 px-2">
891            <div class="d-flex flex-column w-100 gap-2">
892                
893                                
894                                                
895                            <a  href="https://wa.me/6285923558116" target='_blank' class="d-flex p-3 w-100 gap-3 rounded" style="background: var(--menu-box-bg, transparent); border: 1px solid var(--menu-box-border-color, rgba(255, 255, 255, 0.06));">
896                               <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/whatsapp.png" width="18" height="18" alt=""></div>
897                               <div style="color: var(--primary-text-color);">WHATSAPP</div>
898                            </a>
899                            
900                                            
901
902                                
903
904            </div>
905
906    </div>
907</div>
908
909            
910    <style>
911    
912    #mySidenav {
913    position: fixed;
914    top: 180px;
915    right: 100px;
916    z-index: 999;
917}
918
919#mySidenav div#nav:hover {
920  left: -138px;
921}
922
923#mySidenav div#nav {
924    position: absolute;
925    font-size: 20px;
926    border-radius: 0 5px 5px 0;
927    left: 36px;
928    transition: 0.3s;
929    display: flex;
930}
931
932#kontak-content {
933    width: 190px;
934    padding: 5px 10px 8px 10px;
935    font-size: 15px;
936    background-color: #FFF;
937    color: #000;
938}
939    
940</style>
941
942            <!-- SIDENAV -->
943            <div id="mySidenav" class="sidenav desktop-only">
944                <div id="nav">
945                    <div style="display: flex; align-items: start;">
946                        <div style="height: 246px; width: 64px; background: var(--accent-color); border-radius: 8px 0px 0px 8px; overflow: hidden;  box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;">
947                            
948                            <img src="https://img.viva88athenae.com//new/assets/hubungi.png?2" alt="Hubungi Kami">
949
950                        </div>
951                        <!--<img id="about" src="/images/kontak.png?4">-->
952                    </div>
953                    <div class="ptsans" style="font-size: 1rem; background: white; border-radius: 0px 5px 5px 5px; overflow: hidden; width: 160px">
954                       <div id="" style="padding: 4px">
955                       <img src="/assets/24h.png" style="width: 100%" alt="Layanan 24 Jam">
956                        </div>
957                    
958                        <div id="kontak-content" style="display: flex; flex-direction: column; width: 100%; font-size: .8rem">
959                            <div style="display: grid; place-items: center; font-weight: bold; font-size: 1rem">MEMBER SERVICE</div>
960                            
961                                                                
962                                                                                
963                                            <a href="https://wa.me/6285923558116" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0">
964                                                <img src="https://img.viva88athenae.com/kontak/whatsapp.png" width="20" height="20" alt=""><span>WHATSAPP</span>
965                                            </a>
966                                            
967                                            
968                                    
969                                                                
970    
971                        </div>
972                            <div style="margin: 8px">
973                                <a href="/register"><input type="button" value="DAFTAR SEKARANG" style="width: 100%; border-radius: 5px; font-size: .875rem!important; height: 40px; border: none; font-weight: bold; background: black; color: white"></a>
974                            </div>
975                    </div>
976                </div>
977            </div>
978    
979        
980        
981    
982    <div class="d-none d-md-block px-2">
983        
984                        
985                <div class="section desktop-topbar d-flex align-items-center justify-content-between">
986                    <div class="d-flex align-items-center gap-4">
987            
988                    </div>
989            
990                                
991                    <!-- Desktop Login Start -->
992                    
993                    <style>
994                        
995                        .login-form {
996                            display: flex;
997                            align-items: center;
998                            justify-content: end;
999                            gap: 4px;
1000                        }
1001                        
1002                        .btn-masuk {
1003                            background: linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49) !important;
1004                            color: white;
1005                        }
1006                        
1007                        .btn-daftar {
1008                            background: linear-gradient(#74cae3, #5bc0de 60%, #4ab9db); !important;
1009                            color: white;
1010                        }
1011
1012                        .btn-google {
1013                            width: 30px;
1014                            height: 30px;
1015                            background: #fff;
1016                            border: 1px solid #ddd;
1017                            border-radius: 3px;
1018                            display: inline-flex;
1019                            align-items: center;
1020                            justify-content: center;
1021                        }
1022
1023                        .btn-google:hover {
1024                            background: #f5f5f5;
1025                        }
1026
1027                        .btn-google-mobile {
1028                            background: #fff;
1029                            color: #3c4043;
1030                            border: 1px solid #dadce0;
1031                            border-radius: 3px;
1032                            height: 36px;
1033                            padding: 0 12px;
1034                            font-weight: 600;
1035                            font-size: 1.2rem;
1036                            display: flex;
1037                            align-items: center;
1038                            justify-content: center;
1039                            gap: 8px;
1040                        }
1041
1042                        .btn-google-mobile:hover {
1043                            background: #f8f9fa;
1044                            color: #202124;
1045                        }
1046
1047                    </style>
1048                    
1049                    <div class="d-flex align-items-center gap-2">
1050                        <div id="desktoplogin" class="desktop-only">
1051                            <form class="login-form form" role="form">
1052                                <div id="msgbox" style="margin-right: 8px; color: #b29459; font-size: 1rem; white-space:nowrap;"></div>
1053                                <div class="input-group login-field">
1054                                    <span class="input-group-text prepend mobile-only "><div class="h-100 center"><i class="bi bi-person-circle prepend-icon"></i></div></span>
1055                                    <input type="text" name="username" class="form-control login-input-field username" placeholder="Nama Akun" aria-label="Username">
1056                                </div>
1057                                
1058                                
1059                                
1060                                <div class="input-group login-field">
1061                                    <span class="input-group-text mobile-only prepend"><div class="h-100 center"><i class="bi bi-shield-lock-fill prepend-icon"></i></div></span>
1062                                    <input type="password" name="password" class="form-control login-input-field password" placeholder="Kata Sandi" aria-label="Password">
1063                                </div>
1064                                
1065                                <!-- captcha -->
1066                         
1067                                    <div class="verifikasiform" style="">
1068                                        <div style="display: flex; gap: 2px;">
1069                                            <span id="verifikasi"><img src="/capimg.php" width="40" height="30" style="border:1px #999 solid;" alt="Kode verifikasi"></span>
1070                                            <input type="text" class="form-control login-field" name="verifikasi" id="verform" style="width:40px;height: 30px !important" autocomplete="off" aria-label="Kode verifikasi">
1071                                        </div>
1072            
1073                                    </div>
1074                                    <input type="hidden" name="verif" id="verifval" class="verifval" value="1">
1075                              
1076                                <!-- end captcha -->
1077            
1078            
1079                                <!--<button value="Masuk" class="btn btn-masuk fw-bold p-0 px-2 submit">Masuk</button>-->
1080                                <button type="button" class="btn btn-masuk fw-bold p-0 px-2 submit d-flex justify-content-center align-items-center">Masuk</button>
1081                                <button type="button" class="btn btn-daftar btn-daftar-desktop fw-bold p-0 px-2 desktop-only" onclick="openRegister('desktop')">Daftar</button>
1082                                
1083                                <input type="hidden" name="task" value="login">
1084                                <input type="hidden" name="iscaptchalogin" value="1">
1085                                <input type="hidden" name="isrecaptchalogin" value="0">
1086                                <input type="hidden" name="recaptcha_login_token" value="">
1087                                <input type="hidden" name="fp_event_id" value="">
1088                                <input type="hidden" name="fp_visitor_id" value="">
1089                                <input type="hidden" name="logindesktop" value="++xallHkXxsruE8sljIIM8eJRvgRmYEi8zhEvgVzcjY=">
1090                            </form>
1091
1092                                                        
1093                            
1093<script>
1094                                function jtRandomString(length) {
1095                                    var result = '';
1096                                    var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
1097                                
1098                                    for (var i = 0; i < length; i++) {
1099                                        result += characters.charAt(Math.floor(Math.random() * characters.length));
1100                                    }
1101                                
1102                                    return result;
1103                                }
1104                                
1105                                function jtGetCaptchaHtml(captchaPath, captchaStyle) {
1106                                    var r = Math.floor(Math.random() * 10000);
1107                                    return '<img src="' + captchaPath + '?' + r + '" ' + captchaStyle + ' alt="Kode verifikasi">';
1108                                }
1109                                
1110                                function jtHandleLoginResponse(res, $root, verHtml) {
1111                                    var $msg = $root.find('#msgbox');
1112
1113                                    var code = res && res.error && res.error.code;
1114                                    var msg  = res && res.error && res.error.message;
1115                                    var data = (res && res.data) || {};
1116
1117                                    if (code === 200 && msg === 'success') {
1118                                        toast('Login berhasil', 200);
1119                                        $msg.removeClass().text('Logging in').fadeTo(900, 1, function() {
1120                                            window.location = '/home';
1121                                        });
1122                                        return;
1123                                    }
1124
1125                                    if (code === 429 || msg === 'ratelimit') {
1126                                        $msg.removeClass().text('Terlalu banyak percobaan.').fadeIn(1000);
1127                                    } else if (msg === 'wrong') {
1128                                        $msg.removeClass().text('Salah Password').fadeIn(1000);
1129                                        $root.find('#verifikasi').html(verHtml);
1130                                    } else if (msg === 'banned') {
1131                                        $msg.removeClass().text('User di Banned').fadeIn(1000);
1132                                        $root.find('#verifikasi').html(verHtml);
1133                                    } else if (msg === 'empty') {
1134                                        $msg.removeClass().text('Silakan diisi').fadeIn(1000);
1135                                    } else if (msg === 'capempty') {
1136                                        $msg.removeClass().text('Verifikasi Kosong').fadeIn(1000);
1137                                        $root.find('#verifikasi').html(verHtml);
1138                                    } else if (msg === 'caperror') {
1139                                        $msg.removeClass().text('Verifikasi Salah').fadeIn(1000);
1140                                        $root.find('#verifikasi').html(verHtml);
1141                                    } else if (msg === 'recaperror') {
1142                                        $msg.removeClass().text('Recaptcha salah, coba lagi').fadeIn(1000);
1143                                    } else if (msg === 'iperror') {
1144                                        $msg.removeClass().text('IP Tidak Sesuai').fadeIn(1000);
1145                                        $root.find('#verifikasi').html(verHtml);
1146                                    } else if (msg === 'capexp') {
1147                                        $msg.removeClass().text('Captcha Expired').fadeIn(1000);
1148                                        $root.find('#verifikasi').html(verHtml);
1149                                    } else if (msg === 'cap') {
1150                                        $msg.removeClass().text('Isi Verifikasi').fadeIn(1000);
1151                                        $root.find('#verifikasi').html(verHtml);
1152                                        $root.find('.verifikasiform, #mverifikasiform').show();
1153                                        $root.find('.verifval').val('1');
1154                                    } else if (msg === 'turnnoevent') {
1155                                        window.location.reload();
1156                                    } else if (msg === 'turnblock') {
1157                                        $msg.removeClass().text('Insecure Device').fadeIn(1000);
1158                                    } else {
1159                                        $msg.removeClass().text('Login gagal, coba lagi').fadeIn(1000);
1160                                        $root.find('#verifikasi').html(verHtml);
1161                                    }
1162                                }
1163                                
1164                                function jtSubmitLogin(rootSel, captchaPath, captchaStyle) {
1165                                    var $root = $(rootSel);
1166                                    var $form = $root.find('form.form');
1167                                
1168                                    if ($form.length === 0) {
1169                                        $form = $root.find('.form');
1170                                    }
1171                                
1172                                    if ($form.length === 0) {
1173                                        console.error('Login form not found:', rootSel);
1174                                        return false;
1175                                    }
1176                                
1177                                    var $submitBtn = $root.find('.submit');
1178                                    var $msg = $root.find('#msgbox');
1179                                    var verHtml = jtGetCaptchaHtml(captchaPath, captchaStyle);
1180                                    var isMobile = (rootSel.indexOf('mobile') !== -1);
1181                                
1182                                    $msg.removeClass().text('Validating').fadeIn(1000);
1183                                
1184                                    $submitBtn.prop('disabled', true).addClass('disabled');
1185
1186                                    function unlockSubmit() {
1187                                        $submitBtn.prop('disabled', false).removeClass('disabled');
1188                                    }
1189
1190                                    function doLoginPost() {
1191                                        $.ajax({
1192                                            url: '/api/front/login',
1193                                            type: 'POST',
1194                                            data: $form.serialize(),
1195                                            dataType: 'json',
1196                                            headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' },
1197                                            success: function(data) {
1198                                                jtHandleLoginResponse(data, $root, verHtml);
1199                                            }
1200                                        })
1201                                        .fail(function() {
1202                                            $msg.removeClass().text('Koneksi gagal').fadeIn(1000);
1203                                            $root.find('#verifikasi').html(verHtml);
1204                                        })
1205                                        .always(unlockSubmit);
1206                                    }
1207
1208                                    function afterTurnstile() {
1209                                        if (typeof jtWithRecaptchaLoginToken === 'function') {
1210                                            jtWithRecaptchaLoginToken($form, $msg, doLoginPost, unlockSubmit);
1211                                        } else {
1212                                            doLoginPost();
1213                                        }
1214                                    }
1215
1216                                    function afterIframe() {
1217                                        if (typeof jtWithTurnstileLogin === 'function') {
1218                                            jtWithTurnstileLogin($form, afterTurnstile);
1219                                        } else {
1220                                            afterTurnstile();
1221                                        }
1222                                    }
1223
1224                                    if (typeof jtWithIframeCaptchaLogin === 'function') {
1225                                        jtWithIframeCaptchaLogin($form, isMobile, afterIframe, function (msgText) {
1226                                            $msg.removeClass().text(msgText || 'Verifikasi Kosong').fadeIn(1000);
1227                                            unlockSubmit();
1228                                        });
1229                                    } else {
1230                                        afterIframe();
1231                                    }
1232                                
1233                                    return false;
1234                                }
1235                                
1236                                // Login desktop
1237                                $(document).on('click', '#desktoplogin .submit', function(e) {
1238                                    e.preventDefault();
1239                                
1240                                    jtSubmitLogin(
1241                                        '#desktoplogin',
1242                                        '/capimg.php',
1243                                        'width="40" height="30" style="border:1px #999 solid;"'
1244                                    );
1245                                
1246                                    return false;
1247                                });
1248                                
1249                                // Login mobile
1250                                $(document).on('click', '#mobilelogin .submit', function(e) {
1251                                    e.preventDefault();
1252                                
1253                                    jtSubmitLogin(
1254                                        '#mobilelogin',
1255                                        '/mcapimg.php',
1256                                        'width="600" height="88" style="width:100%;height:auto;border-radius:5px;"'
1257                                    );
1258                                
1259                                    return false;
1260                                });
1261                                
1262                                // Tekan Enter utk login
1263                                $(document).on('keypress', '#desktoplogin input, #mobilelogin input', function(e) {
1264                                    if (e.which === 13) {
1265                                        e.preventDefault();
1266                                
1267                                        var $root = $(this).closest('#desktoplogin, #mobilelogin');
1268                                
1269                                        if ($root.attr('id') === 'desktoplogin') {
1270                                            $('#desktoplogin .submit').trigger('click');
1271                                        } else {
1272                                            $('#mobilelogin .submit').trigger('click');
1273                                        }
1274                                
1275                                        return false;
1276                                    }
1277                                });
1278                                
1279                                function jtEnsureDriver(done) {
1280                                    if (window.driver && window.driver.js) {
1281                                        done();
1282                                        return;
1283                                    }
1284                                    if (window._jtDriverLoading) {
1285                                        window._jtDriverLoading.push(done);
1286                                        return;
1287                                    }
1288                                    window._jtDriverLoading = [done];
1289
1290                                    var link = document.createElement('link');
1291                                    link.rel = 'stylesheet';
1292                                    link.href = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.css';
1293                                    link.integrity = 'sha384-eyrYgcjChmzD338JTHFZssgJHOqqOZbajet8yZpCw8ESroLDi28BarMEKCImNGHC';
1294                                    link.crossOrigin = 'anonymous';
1295                                    document.head.appendChild(link);
1296
1297                                    var s = document.createElement('script');
1298                                    s.src = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.js.iife.js';
1299                                    s.integrity = 'sha384-BhR06AMz62Xn0o53z8itVS1vw4JslNckRFgOTa6/Dob0Agdmbbh8Dr9sDO2h18TO';
1300                                    s.crossOrigin = 'anonymous';
1301                                    s.onload = function () {
1302                                        var q = window._jtDriverLoading || [];
1303                                        window._jtDriverLoading = null;
1304                                        q.forEach(function (fn) {
1305                                            try { fn(); } catch (e) {}
1306                                        });
1307                                    };
1308                                    s.onerror = function () {
1309                                        window._jtDriverLoading = null;
1310                                    };
1311                                    document.head.appendChild(s);
1312                                }
1313
1314                                function scrollToLoginForm() {
1315                                    if (typeof jtWarmAuthScripts === 'function') jtWarmAuthScripts();
1316                                    var isDesktop = window.innerWidth >= 992;
1317                                    var formEl = document.getElementById(isDesktop ? 'desktoplogin' : 'mobilelogin');
1318
1319                                    if (!formEl) {
1320                                        return;
1321                                    }
1322
1323                                    formEl.scrollIntoView({
1324                                        behavior: 'smooth',
1325                                        block: 'center'
1326                                    });
1327
1328                                    setTimeout(function() {
1329                                        var inp = formEl.querySelector('input[type="text"], input[name="username"], input[name="BOX_username"]');
1330
1331                                        if (inp) {
1332                                            inp.focus();
1333                                        }
1334
1335                                        if (!inp) {
1336                                            return;
1337                                        }
1338
1339                                        jtEnsureDriver(function () {
1340                                            if (!window.driver || !window.driver.js) {
1341                                                return;
1342                                            }
1343
1344                                            var driver = window.driver.js.driver({
1345                                                popoverClass: 'driverjs-theme',
1346                                                showProgress: false,
1347                                                showButtons: [],
1348                                                overlayOpacity: 0.3,
1349                                                steps: [
1350                                                    {
1351                                                        element: inp,
1352                                                        popover: {
1353                                                            title: 'Harap Login',
1354                                                            description: 'Silakan masukkan username Anda',
1355                                                            side: 'bottom',
1356                                                            align: 'start',
1357                                                            showButtons: [],
1358                                                            nextBtnText: '',
1359                                                            prevBtnText: '',
1360                                                            doneBtnText: ''
1361                                                        }
1362                                                    }
1363                                                ],
1364                                                onDestroyStarted: () => driver.destroy(),
1365                                            });
1366                                            driver.drive();
1367
1368                                            var destroyDriver = function() {
1369                                                driver.destroy();
1370                                                inp.removeEventListener('input', destroyDriver);
1371                                                inp.removeEventListener('click', destroyDriver);
1372                                                inp.removeEventListener('focus', destroyDriver);
1373                                            };
1374                                            inp.addEventListener('input', destroyDriver, { once: true });
1375                                            inp.addEventListener('click', destroyDriver, { once: true });
1376                                            inp.addEventListener('focus', destroyDriver, { once: true });
1377                                        });
1378                                    }, 400);
1379                                }
1380                                
1381                                window.JT_LOGGED_IN = false;
1382                                
1383                                if (sessionStorage.getItem('jt_pending_action')) {
1384                                    $(document).ready(function() {
1385                                        scrollToLoginForm();
1386                                    });
1387                                }
1388                                </script>
1388
1389            
1390                        </div>
1391                    
1392                        
1393                        <!--<a href="/event">-->
1394                        <!--    <img src="https://img.viva88athenae.com//btnevent.png" alt="EVENT" height="24px"/>-->
1395                        <!--</a>-->
1396                    </div>
1397                    
1398                    <!-- Desktop Login End -->
1399                  </div>
1400                  
1401                  <div class="desktop-topbar-line"></div>
1402                
1403                
1404                
1405
1406        <div class="desktop-topbar-line d-flex align-items-center justify-content-between" style="margin-left:-2.0rem;margin-right:-2.0rem"></div>
1407            
1408                  <nav class="section desktop-mainnav d-flex align-items-center">
1409                    <!-- <a class="navbar-brand me-2 flex-shrink-0 navbar-brand-guest" href="/home" onclick="content('/home.php','#content',this); return false;"> -->
1410                    <a class="navbar-brand me-2 flex-shrink-0" href="/home" onclick="openPage('home'); return false;">
1411                      <img src="/images/logo.png?v=1790436663" alt="Logo" class="logo">
1412                    </a>
1413                    <div class="d-flex align-items-stretch h-100 ms-auto" style="overflow-x:auto;scrollbar-width:none;">
1414                                            <a href="/home"
1415                         onclick="openPage('home',this); return false;"                         class="desktop-nav-link"
1416                         data-nav="home">
1417                                                  <img src="https://img.viva88athenae.com/new/menu-home.png?v=1790436663" alt="">
1418                                                <span>Home</span>
1419                      </a>
1420                                            <a href="/togel"
1421                         onclick="window.JT_LOGGED_IN ? content('/togel.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'togel'})), scrollToLoginForm()); return false;"                         class="desktop-nav-link"
1422                         data-nav="togel">
1423                                                  <img src="https://img.viva88athenae.com/new/menu-togel.png?v=1790436663" alt="">
1424                                                <span>Togel</span>
1425                      </a>
1426                                            <a href="/slot"
1427                         onclick="showProviders('slot',this); return false;"                         class="desktop-nav-link"
1428                         data-nav="slot">
1429                                                  <img src="https://img.viva88athenae.com/new/menu-slot.png?v=1790436663" alt="">
1430                                                <span>Slot</span>
1431                      </a>
1432                                            <a href="/casino"
1433                         onclick="showProviders('casino',this); return false;"                         class="desktop-nav-link"
1434                         data-nav="casino">
1435                                                  <img src="https://img.viva88athenae.com/new/menu-casino.png?v=1790436663" alt="">
1436                                                <span>Casino</span>
1437                      </a>
1438                                            <a href="/sport"
1439                         onclick="openPage('sport',this); return false;"                         class="desktop-nav-link"
1440                         data-nav="sport">
1441                                                  <img src="https://img.viva88athenae.com/new/menu-sport.png?v=1790436663" alt="">
1442                                                <span>Sport</span>
1443                      </a>
1444                                            <a href="/sabung"
1445                         onclick="openPage('sabung',this); return false;"                         class="desktop-nav-link"
1446                         data-nav="sabung">
1447                                                  <img src="https://img.viva88athenae.com/new/menu-sabung.png?v=1790436663" alt="">
1448                                                <span>Sabung</span>
1449                      </a>
1450                                            <a href="/arcade"
1451                         onclick="showProviders('arcade',this); return false;"                         class="desktop-nav-link"
1452                         data-nav="arcade">
1453                                                  <img src="https://img.viva88athenae.com/new/menu-arcade.png?v=1790436663" alt="">
1454                                                <span>Arcade</span>
1455                      </a>
1456                                            <a href="/interactive"
1457                         onclick="showProviders('interactive',this); return false;"                         class="desktop-nav-link"
1458                         data-nav="interactive">
1459                                                  <img src="https://img.viva88athenae.com/new/menu-interactive.png?v=1790436663" alt="">
1460                                                <span>Interactive</span>
1461                      </a>
1462                                            <a href="/kupon"
1463                         onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm()); return false;"                         class="desktop-nav-link"
1464                         data-nav="kupon">
1465                                                  <img src="https://img.viva88athenae.com/new/menu-kupon.png?v=1790436663" alt="">
1466                                                <span>Kupon</span>
1467                      </a>
1468                                            <a href="/promosi"
1469                         onclick="openPage('promosi',this); return false;"                         class="desktop-nav-link"
1470                         data-nav="promosi">
1471                                                  <img src="https://img.viva88athenae.com/new/menu-promo.png?v=1790436663" alt="">
1472                                                <span>Promosi</span>
1473                      </a>
1474                                            <a href="/event"
1475                         onclick="openPage('event',this); return false;"                         class="desktop-nav-link"
1476                         data-nav="event">
1477                                                  <img src="https://img.viva88athenae.com/new/menu-event.png?v=1790436663" alt="">
1478                                                <span>Event</span>
1479                      </a>
1480                                          </div>
1481                  </nav>
1482            
1483                </div>
1484        <!-- WHEEL -->
1485                <!-- WHEEL -->
1486        
1487
1488            
1489                <nav class="navbar px-3 d-md-none" style="z-index: 1046">
1490                  <div class="w-100 d-flex justify-content-between align-items-center ps-3">
1491                    <a class="navbar-brand" href="/home" onclick="content('/home.php','#content',this); return false;">
1492                      <img src="/images/logo.png?v=1790436663" alt="Logo" class="logo">
1493                    </a>
1494                                            <div class="d-flex align-items-center gap-2 pe-2">
1495                          <button class="btn btn-transparent py-0 px-2" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasRight" aria-controls="offcanvasRight" aria-label="Menu kontak">
1496                            <i class="bi bi-person-lines-fill" style="font-size: 20px; color: var(--primary-text-color)" aria-hidden="true"></i>
1497                          </button>
1498                        </div>
1499                                              </div>
1500                  </div>
1501                </nav>
1502                
1503
1504
1505                
1506                
1507
1508<style>
1509
1510        .banner {
1511              aspect-ratio: 1920 / 380;
1512              width: 100%;
1513              object-fit: cover;
1514              background: black
1515        }
1516
1517        @media only screen and (max-width: 1000px) {
1518
1519            .banner {
1520                aspect-ratio: 600 / 300;
1521            }
1522
1523        }
1524
1525</style>
1526
1527<div class="carousel slide" id="banner-carousel" data-bs-ride="carousel">
1528  <div class="carousel-indicators">
1529                         <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
1530                                <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="1" aria-label="Slide 2"></button>
1531                                <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="2" aria-label="Slide 3"></button>
1532                                <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="3" aria-label="Slide 4"></button>
1533                                <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="4" aria-label="Slide 5"></button>
1534              </div>
1535    <div class="carousel-inner" style="height: 100%">
1536                    <div class="carousel-item active" style="height: 100%">
1537    
1538                <a >
1539    
1540                    <img
1541                        src="/images/upload-Slides-20260901165332.jpg"
1542                        class="d-block w-100 banner"
1543                        alt="PAMTOTO BONUS CASHBACK 5%"
1544                        fetchpriority="high"                    >
1545    
1546                </a>
1547    
1548            </div>
1549                    <div class="carousel-item " style="height: 100%">
1550    
1551                <a >
1552    
1553                    <img
1554                        src="/images/upload-Slides-20231105202208.jpg"
1555                        class="d-block w-100 banner"
1556                        alt="KWPAY SLIDE"
1557                                            >
1558    
1559                </a>
1560    
1561            </div>
1562                    <div class="carousel-item " style="height: 100%">
1563    
1564                <a >
1565    
1566                    <img
1567                        src="/images/upload-Slides-20230420172358.jpg"
1568                        class="d-block w-100 banner"
1569                        alt="HADIAH TOGEL DESKTOP"
1570                                            >
1571    
1572                </a>
1573    
1574            </div>
1575                    <div class="carousel-item " style="height: 100%">
1576    
1577                <a >
1578    
1579                    <img
1580                        src="https://img.viva88athenae.com/banner/mgl-25.jpg"
1581                        class="d-block w-100 banner"
1582                        alt=""
1583                                            >
1584    
1585                </a>
1586    
1587            </div>
1588                    <div class="carousel-item " style="height: 100%">
1589    
1590                <a >
1591    
1592                    <img
1593                        src="https://img.viva88athenae.com/banner/slider-fgs.jpg"
1594                        class="d-block w-100 banner"
1595                        alt=""
1596                                            >
1597    
1598                </a>
1599    
1600            </div>
1601            </div>
1602</div>
1603
1604                <div class="section marquee-bar">
1605                  <div class="marquee-date ps-2">
1606                    <span id="datetime"></span>
1607                    <i class="bi bi-volume-up-fill ms-1 secondary-text-color"></i>
1608                  </div>
1609                  <div class="marquee-text">
1610                    <div class="marquee-runner" id="marqueeRunner">
1611                      <span>SELAMAT DATANG DI PAMTOTO.com | Mohon menggunakan angka unik ketika melakukan Deposit, Cth : 50.038</span>
1612                    </div>
1613                  </div>
1614                </div>
1615
1616                <div class="p-2">
1617                    <div class="d-md-none">
1618                    <div id="lobbyMenuWrap" class="splide pb-4 mt-2">
1619                      <div class="splide__track">
1620                        <ul class="splide__list">
1621                                                    <li class="splide__slide">
1622                            <a href="/home"
1623                               onclick="openPage('home',this); return false;"
1624                               class="lobby-menu"
1625                               data-nav="home">
1626                              <img src="https://img.viva88athenae.com/new/menu-home.png?v=1790436663" alt="">
1627                              <small>Home</small>
1628                            </a>
1629                          </li>
1630                                                    <li class="splide__slide">
1631                            <a href="/togel"
1632                               onclick="window.JT_LOGGED_IN ? content('/togel.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'togel'})), scrollToLoginForm()); return false;"
1633                               class="lobby-menu"
1634                               data-nav="togel">
1635                              <img src="https://img.viva88athenae.com/new/menu-togel.png?v=1790436663" alt="">
1636                              <small>Togel</small>
1637                            </a>
1638                          </li>
1639                                                    <li class="splide__slide">
1640                            <a href="/kupon"
1641                               onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm()); return false;"
1642                               class="lobby-menu"
1643                               data-nav="kupon">
1644                              <img src="https://img.viva88athenae.com/new/menu-kupon.png?v=1790436663" alt="">
1645                              <small>Kupon</small>
1646                            </a>
1647                          </li>
1648                                                    <li class="splide__slide">
1649                            <a href="/slot"
1650                               onclick="showProviders('slot',this); return false;"
1651                               class="lobby-menu"
1652                               data-nav="slot">
1653                              <img src="https://img.viva88athenae.com/new/menu-slot.png?v=1790436663" alt="">
1654                              <small>Slot</small>
1655                            </a>
1656                          </li>
1657                                                    <li class="splide__slide">
1658                            <a href="/casino"
1659                               onclick="showProviders('casino',this); return false;"
1660                               class="lobby-menu"
1661                               data-nav="casino">
1662                              <img src="https://img.viva88athenae.com/new/menu-casino.png?v=1790436663" alt="">
1663                              <small>Casino</small>
1664                            </a>
1665                          </li>
1666                                                    <li class="splide__slide">
1667                            <a href="/sport"
1668                               onclick="openPage('sport',this); return false;"
1669                               class="lobby-menu"
1670                               data-nav="sport">
1671                              <img src="https://img.viva88athenae.com/new/menu-sport.png?v=1790436663" alt="">
1672                              <small>Sport</small>
1673                            </a>
1674                          </li>
1675                                                    <li class="splide__slide">
1676                            <a href="/sabung"
1677                               onclick="openPage('sabung',this); return false;"
1678                               class="lobby-menu"
1679                               data-nav="sabung">
1680                              <img src="https://img.viva88athenae.com/new/menu-sabung.png?v=1790436663" alt="">
1681                              <small>Sabung</small>
1682                            </a>
1683                          </li>
1684                                                    <li class="splide__slide">
1685                            <a href="/arcade"
1686                               onclick="showProviders('arcade',this); return false;"
1687                               class="lobby-menu"
1688                               data-nav="arcade">
1689                              <img src="https://img.viva88athenae.com/new/menu-arcade.png?v=1790436663" alt="">
1690                              <small>Arcade</small>
1691                            </a>
1692                          </li>
1693                                                    <li class="splide__slide">
1694                            <a href="/interactive"
1695                               onclick="showProviders('interactive',this); return false;"
1696                               class="lobby-menu"
1697                               data-nav="interactive">
1698                              <img src="https://img.viva88athenae.com/new/menu-interactive.png?v=1790436663" alt="">
1699                              <small>Interactive</small>
1700                            </a>
1701                          </li>
1702                                                  </ul>
1703                      </div>
1704                    </div>
1705                    </div>
1706
1707                    
1707<script>
1708                    document.addEventListener('DOMContentLoaded', function () {
1709                      var lobbyEl = document.getElementById('lobbyMenuWrap');
1710                      if (lobbyEl && !lobbyEl.classList.contains('is-initialized')) {
1711                        var mountLobby = function () {
1712                          if (!lobbyEl || typeof Splide === 'undefined' || lobbyEl.classList.contains('is-initialized')) return;
1713                          new Splide('#lobbyMenuWrap', {
1714                            type: 'slide', perPage: 5, perMove: 5,
1715                            gap: '8px', pagination: true, arrows: false, drag: true,
1716                          }).mount();
1717                        };
1718                        if (typeof ensureSplide === 'function') {
1719                          ensureSplide().then(mountLobby).catch(function () {});
1720                        } else {
1721                          mountLobby();
1722                        }
1723                      }
1724
1725                      if (typeof initUserareaShell === 'function') {
1726                        initUserareaShell();
1727                      } else if (typeof initGuestShell === 'function') {
1728                        initGuestShell();
1729                      } else if (typeof content === 'function') {
1730                        var isDesktop = window.innerWidth >= 768;
1731                        var homeMenu = isDesktop
1732                          ? document.querySelector('.desktop-nav-link[data-nav="home"]')
1733                          : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]');
1734                        content('/home.php', '#content', homeMenu);
1735                      }
1736                    });
1737                    </script>
1737
1738                </div>
1739                
1740                    
1741                <!-- Mobile Login Start -->
1742            
1743                <div id="mobilelogin" class="d-block d-lg-none mb-3">
1744                        <form class="login-form form d-flex flex-column gap-2 align-items-center" style="padding: 0px; padding-top: 16px" role="form">
1745                        <div id="msgbox" style="font-size: 1rem; width: 100%"></div>
1746                        <div class="input-group login-field">
1747                            <span class="input-group-text prepend mobile-only "><div class="h-100 center"><i class="bi bi-person-circle prepend-icon"></i></div></span>
1748                            <input type="text" name="username" class="form-control login-input-field username" placeholder="Username" aria-label="Username">
1749                        </div>
1750                        <div class="input-group login-field">
1751                            <span class="input-group-text mobile-only prepend"><div class="h-100 center"><i class="bi bi-shield-lock-fill prepend-icon"></i></div></span>
1752                            <input type="password" name="password" class="form-control login-input-field password" placeholder="Password" aria-label="Password">
1753                        </div>
1754                        
1755                        <!-- captcha -->
1756                       
1757                        <div id="mverifikasiform" class="w-100" style="">
1758                            
1759                            <span id="verifikasi"><img src="/mcapimg.php" width="600" height="88" style="width:100%;height:auto;border-radius: 5px;" alt="Kode verifikasi"></span>
1760                            <div class="input-group login-field mt-1">
1761                                <span class="input-group-text mobile-only prepend"><div class="h-100 center"><i class="bi bi-person-fill-check prepend-icon"></i></div></span>
1762                                <input type="text" class="form-control login-input-field" name="verifikasi" id="mverform" autocomplete="off" placeholder="Verifikasi">
1763                            </div>
1764                        </div>
1765                
1766                        <input type="hidden" name="verif" id="verifval" class="verifval" value="1">
1767                
1768                        <!-- end captcha -->
1769                        
1770                        <label style="font-size:12px;display:flex;align-items:center;margin-top:2px;margin-bottom:4px;cursor:pointer;">
1771                            <input class="login-field" type="checkbox" id="rememberMe" name="remember" style="margin-right:4px;width:12px;height:12px;cursor:pointer;"> <span style="white-space: nowrap;">Remember Me</span>
1772                        </label>
1773                
1774                        <!--<button type="submit" value="Masuk" class="btn btn-masuk fw-bold p-0 px-2 submit">Masuk</button>-->
1775                        <button type="button" class="btn btn-masuk fw-bold p-0 px-2 submit w-100 d-flex justify-content-center align-items-center" style="height: 36px; border-radius: 8px">Masuk</button>
1776                        <button type="button" class="btn btn-daftar btn-info btn-daftar-mobile fw-bold p-0 px-2 mobile-only" onclick="openDaftarMobile()">Daftar Sekarang</button>
1777
1778                        
1779                                        
1780                        
1781                        <input type="hidden" name="task" value="login">    
1782                        <input type="hidden" name="iscaptchalogin" value="1">
1783                        <input type="hidden" name="isrecaptchalogin" value="0">
1784                        <input type="hidden" name="recaptcha_login_token" value="">
1785                        <input type="hidden" name="fp_event_id" value="">
1786                        <input type="hidden" name="fp_visitor_id" value="">
1787                        <input type="hidden" name="loginmobile" value="DzXTrNjavKQ4o2iIC925HBtf2D7Nmpmjl1COVBHexeE=">
1788                    </form>
1789
1790                                        
1791                    <a href="/wap" class="mt-4" style="display: grid; place-items: center; font-size: 1rem; cursor: pointer; color: var(--menu-item-color)">WAP</a>
1792                
1793                </div>
1794            
1795                <!-- Mobile Login End -->
1796
1797                
1797<script>
1798                    function openDaftar() {
1799                        if (typeof openRegister === 'function') {
1800                            openRegister('desktop');
1801                        } else {
1802                            window.location.href = '/register';
1803                        }
1804                    }
1805                    
1806                    function openDaftarMobile() {
1807                        if (typeof openRegister === 'function') {
1808                            openRegister('mobile');
1809                            $("#content").get(0).scrollIntoView({behavior: 'smooth'});
1810                        } else {
1811                            window.location.href = '/register';
1812                        }
1813                    }
1814                    
1815                    
1816                </script>
1816
1817
1818                
1819        <style>
1820        
1821                    
1822            #popup .modal-dialog {
1823                max-width: max-content;
1824                margin-top: 180px
1825            }
1826
1827            .imgpop {
1828                width: 600px;
1829                aspect-ratio: 2;
1830                object-fit: cover;
1831            }
1832
1833
1834            @media only screen and (max-width: 768px) {
1835
1836                #popup .modal-dialog {
1837                    margin-top: 98px
1838                }
1839                
1840                .imgpop {
1841                    width: 100%; 
1842                }
1843                
1844            }
1845            
1846            
1847            
1848        </style>
1849
1850
1851    <!-- Modal -->
1852    <div class="modal fade" id="popup" tabindex="-1"
1853         aria-label="CARA CEPAT CARI PAMTOTO "
1854         aria-hidden="true">
1855    
1856        <div class="modal-dialog">
1857            <div class="modal-content" style="background-color: transparent">
1858                <div class="modal-body" style="padding: 0px">
1859    
1860                    <a >
1861    
1862                        <img
1863                            src="/images/upload-Popup-20260626183841.jpg"
1864                            alt="CARA CEPAT CARI PAMTOTO "
1865                            class="imgpop"
1866                        />
1867    
1868                    </a>
1869    
1870                </div>
1871            </div>
1872        </div>
1873    </div>
1874
1875
1876
1877    <div class="modal fade" id="modal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
1878      <div class="modal-dialog modal-dialog-centered modal-lg modal-fullscreen-sm-down">
1879        <div id="modal-content" class="modal-content rounded-0 primary-background-color">
1880        </div>
1881      </div>
1882    </div>
1883
1884    <div id="content" class="section p-2" style="position:relative;min-height:60vh;">
1885<div class="home-view">
1886            
1887        <div class="home-section">
1888        <div class="section-title">
1889            <i class="bi bi-bar-chart-fill me-1"></i>
1890            Pasaran Togel        </div>
1891        <div id="togel-panel" class="togel-grid-wrap togel-panel" style="margin-bottom: 20px;margin-top: 15px;">
1892                        <div class="togel-panel-more"><i class="bi bi-chevron-double-down"></i></div>
1893        </div>
1894    </div>
1895
1896    
1897        
1898        <div class="home-section">
1899        <div class="section-title">
1900            <i class="bi bi-fire me-1"></i>
1901            Hot Slot Games        </div>
1902        <div class="game-scroll-wrap">
1903                    <div class="game-card" onclick="launchGame('uWpXOTgMmxmyuldO6srdosEghtQpIlORtHodp2giIzc', 450, 800)">
1904            <div class="game-card-img-box">
1905                <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/mahjong-ways.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async">
1906                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1907                <span class="game-flag-badge game-flag-badge--hot">HOT</span>
1908                
1909            </div>
1910            
1911        </div>        <div class="game-card" onclick="launchGame('hQxn5ZK9MgqNZEV6EJCPqbZLnujx3w_31LP4wEaLTBs', 450, 800)">
1912            <div class="game-card-img-box">
1913                <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/mahjong-ways2.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async">
1914                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1915                <span class="game-flag-badge game-flag-badge--hot">HOT</span>
1916                
1917            </div>
1918            
1919        </div>        <div class="game-card" onclick="launchGame('_CftlxPEtJS6lc034qFUX1tJWc0ZsLIhuxGJ6chLWOo', 450, 800)">
1920            <div class="game-card-img-box">
1921                <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/wild-bounty-showdown.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async">
1922                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1923                <span class="game-flag-badge game-flag-badge--hot">HOT</span>
1924                
1925            </div>
1926            
1927        </div>        <div class="game-card" onclick="launchGame('wFUp-cyEj3fK_jjbTa6cw3G0qjrGmaL7IpMDwS4qWrI', 1200, 800)">
1928            <div class="game-card-img-box">
1929                <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vs20olympx.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async">
1930                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1931                <span class="game-flag-badge game-flag-badge--hot">HOT</span>
1932                
1933            </div>
1934            
1935        </div>        <div class="game-card" onclick="launchGame('zMOAE_0l84lYT78miwDUO2kiMB9Yqn1jAXp3OoVWZzkOgC-eok8NezzH1RbQbUcd', 1200, 800)">
1936            <div class="game-card-img-box">
1937                <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vswaysmahwblck.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async">
1938                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1939                <span class="game-flag-badge game-flag-badge--hot">HOT</span>
1940                
1941            </div>
1942            
1943        </div>        <div class="game-card" onclick="launchGame('KBeSYe0G1tAXWLoJHGKY03AZYmHUlDkOtPZSxITkDkbExPI04OnqWe76rnG3hJFW', 1200, 800)">
1944            <div class="game-card-img-box">
1945                <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vs20olympgold.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async">
1946                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1947                <span class="game-flag-badge game-flag-badge--hot">HOT</span>
1948                
1949            </div>
1950            
1951        </div>        <div class="game-card" onclick="launchGame('nV_BmR3ozfzmKUXKQH_ESvEOMhUJAub-Qrpu_YGJzSQ', 450, 800)">
1952            <div class="game-card-img-box">
1953                <img class="js-game-image" src="https://img.viva88athenae.com/new/cq9/images/VPCQS28.png?v=1" data-provider="cq9" alt="" loading="lazy" decoding="async">
1954                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1955                
1956                
1957            </div>
1958            
1959        </div>        <div class="game-card" onclick="launchGame('p2eo69ufqLOUzuhmViz9VWLqVIMnnGsAM6Y4TroFUnc', 450, 800)">
1960            <div class="game-card-img-box">
1961                <img class="js-game-image" src="https://img.viva88athenae.com/new/mgw/images/6059.png?v=1" data-provider="mgw" alt="" loading="lazy" decoding="async">
1962                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1963                <span class="game-flag-badge game-flag-badge--hot">HOT</span>
1964                
1965            </div>
1966            
1967        </div>        <div class="game-card" onclick="launchGame('vx5lGr0pLR1KGPeDSz4O_VbWN5R98teGvzjNzhlULSJIKsrOQHf6NesuYNvlVZD4', 1200, 800)">
1968            <div class="game-card-img-box">
1969                <img class="js-game-image" src="https://img.viva88athenae.com/new/mg/images/p5_mahjongmaxwin.png?v=1" data-provider="mg" alt="" loading="lazy" decoding="async">
1970                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1971                
1972                
1973            </div>
1974            
1975        </div>        <div class="game-card" onclick="launchGame('DtmQ7P0V05zU6eqUK09EjTqWJblh4SMwNdqylyoY5Z_K5y6P6ARNyNxiHnh8HlZH', 450, 800)">
1976            <div class="game-card-img-box">
1977                <img class="js-game-image" src="https://img.viva88athenae.com/new/fgs/images/S5G-H5-99950.png?v=1" data-provider="fgs" alt="" loading="lazy" decoding="async">
1978                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1979                
1980                
1981            </div>
1982            
1983        </div>        </div>
1984    </div>
1985    
1986        
1987        <div class="home-section">
1988        <div class="section-title">
1989            <i class="bi bi-suit-heart-fill me-1"></i>
1990            Hot Casino Games        </div>
1991        <div class="game-scroll-wrap">
1992                    <div class="game-card" onclick="launchGame('fuSyRRfGs7aFb-RrbQh22MsJXn1AJlDMfubk5qa4rPw', 1080, 700)">
1993            <div class="game-card-img-box">
1994                <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/1301.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async">
1995                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
1996                
1997                
1998            </div>
1999            
2000        </div>        <div class="game-card" onclick="launchGame('ZeJfZ_nPcqYxLSEdTyqGh_4w2GhYZQ4ycei4hUQhSmQ', 1080, 700)">
2001            <div class="game-card-img-box">
2002                <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/1101.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async">
2003                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2004                
2005                
2006            </div>
2007            
2008        </div>        <div class="game-card" onclick="launchGame('kQL64M5NjNgkArFbZ66UQDZJAnDlIl9LLTAmpDAfklE', 1080, 700)">
2009            <div class="game-card-img-box">
2010                <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/801.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async">
2011                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2012                
2013                
2014            </div>
2015            
2016        </div>        <div class="game-card" onclick="launchGame('OtjvVLkOEVPLvePiSeNTkuLkR9-en3ixy5I2dhHIyO4', 1080, 700)">
2017            <div class="game-card-img-box">
2018                <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/icefishing.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async">
2019                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2020                
2021                
2022            </div>
2023            
2024        </div>        <div class="game-card" onclick="launchGame('VhQIsjbLE0HwRT1xBhgizJuNsrGm4kj2jPkeA2lJV80', 1080, 700)">
2025            <div class="game-card-img-box">
2026                <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/crazytime.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async">
2027                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2028                
2029                
2030            </div>
2031            
2032        </div>        <div class="game-card" onclick="launchGame('nvr8-nPWFNP9q7Xjrw5T
2032-3raltSXkY9ozpSIr5HjydmocAAOJn03UPoSUgXa6rSY', 1080, 700)">
2033            <div class="game-card-img-box">
2034                <img class="js-game-image" src="https://img.viva88athenae.com/new/ion/images/ion_roulette.png?v=1" data-provider="ion" alt="" loading="lazy" decoding="async">
2035                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2036                
2037                
2038            </div>
2039            
2040        </div>        <div class="game-card" onclick="launchGame('uYAW6TotQ0ft1JvADhPxNxhCT2MC35xxFuMg9He-zjiEa96Q5UDzQjUEnu5r8DpT', 1080, 700)">
2041            <div class="game-card-img-box">
2042                <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/lightningstorm.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async">
2043                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2044                
2045                
2046            </div>
2047            
2048        </div>        <div class="game-card" onclick="launchGame('BYPeFr1GhpOLVozswfsBZ8gyDSjsjdLZ7fY4xZmmHEI', 1080, 700)">
2049            <div class="game-card-img-box">
2050                <img class="js-game-image" src="https://img.viva88athenae.com/new/sx/images/lobby.png?v=1" data-provider="sx" alt="" loading="lazy" decoding="async">
2051                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2052                
2053                
2054            </div>
2055            
2056        </div>        <div class="game-card" onclick="launchGame('4EaFFjkS_nXcXCkhRRd0_ES20We9VMz78TCgpF2JM3PT7BznunCS7GbRJwkSPICW', 1080, 700)">
2057            <div class="game-card-img-box">
2058                <img class="js-game-image" src="https://img.viva88athenae.com/new/sbo/images/sbol_roulette.png?v=1" data-provider="sbol" alt="" loading="lazy" decoding="async">
2059                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2060                
2061                
2062            </div>
2063            
2064        </div>        <div class="game-card" onclick="launchGame('i4eGrv_zMMjEA0vmTzcs1Gwz1YJp1Qx52kt1JTtLKsY', 1080, 700)">
2065            <div class="game-card-img-box">
2066                <img class="js-game-image" src="https://img.viva88athenae.com/new/ptlc/images/rol.png?v=1" data-provider="ptlc" alt="" loading="lazy" decoding="async">
2067                <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2068                
2069                
2070            </div>
2071            
2072        </div>        </div>
2073    </div>
2074    
2075        
2076        <div class="home-section">
2077        <div class="section-title">
2078            <i class="bi bi-trophy-fill me-1"></i>
2079            Sport Matches        </div>
2080        <div class="match-slider-wrap">
2081            <div id="sportMatchSplide" class="splide">
2082                <div class="splide__track">
2083                    <ul class="splide__list">
2084                                                <li class="splide__slide">
2085                            <div class="match-card-home">
2086                                <div class="league-name">ENGLISH PREMIER LEAGUE</div>
2087                                <div class="kickoff-time">October 10, 2026 — 18:30 WIB</div>
2088                                <div class="match-main-row">
2089                                    <div class="team-col">
2090                                        <img src="https://cdn.sportnanoapi.com/football/team/d6f5debc456da1119256ab66462ab510.png" class="team-logo" alt="">
2091                                        <div class="team-name">Arsenal</div>
2092                                    </div>
2093                                    <div class="score-col">
2094                                        <div class="score-value">0 : 0</div>
2095                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100346)">BET NOW</a>
2096                                    </div>
2097                                    <div class="team-col">
2098                                        <img src="https://cdn.sportnanoapi.com/football/team/cd46d2ed1d364308dc206c97b48ce556.png" class="team-logo" alt="">
2099                                        <div class="team-name">Leeds United</div>
2100                                    </div>
2101                                </div>
2102                                <div class="match-odds-row">
2103                                    <div class="odds-col">
2104                                        0.75                                        <small style="margin-left: 5px;">0.50</small>
2105                                    </div>
2106                                    <div class="odds-spacer"></div>
2107                                    <div class="odds-col">
2108                                        -0.75                                        <small style="margin-left: 5px;">-0.60</small>
2109                                    </div>
2110                                </div>
2111                            </div>
2112                        </li>
2113                                                <li class="splide__slide">
2114                            <div class="match-card-home">
2115                                <div class="league-name">ENGLISH PREMIER LEAGUE</div>
2116                                <div class="kickoff-time">October 10, 2026 — 21:00 WIB</div>
2117                                <div class="match-main-row">
2118                                    <div class="team-col">
2119                                        <img src="https://cdn.sportnanoapi.com/football/team/a0cf8f551e9440acb3f4ff533dcc58a4.png" class="team-logo" alt="">
2120                                        <div class="team-name">Chelsea</div>
2121                                    </div>
2122                                    <div class="score-col">
2123                                        <div class="score-value">0 : 0</div>
2124                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100428)">BET NOW</a>
2125                                    </div>
2126                                    <div class="team-col">
2127                                        <img src="https://cdn.sportnanoapi.com/football/team/240b30d333c97d293752ab7afd77ccd6.png" class="team-logo" alt="">
2128                                        <div class="team-name">Bournemouth AFC</div>
2129                                    </div>
2130                                </div>
2131                                <div class="match-odds-row">
2132                                    <div class="odds-col">
2133                                        0.5                                        <small style="margin-left: 5px;">0.66</small>
2134                                    </div>
2135                                    <div class="odds-spacer"></div>
2136                                    <div class="odds-col">
2137                                        -0.5                                        <small style="margin-left: 5px;">-0.76</small>
2138                                    </div>
2139                                </div>
2140                            </div>
2141                        </li>
2142                                                <li class="splide__slide">
2143                            <div class="match-card-home">
2144                                <div class="league-name">
2144SPAIN LA LIGA</div>
2145                                <div class="kickoff-time">October 10, 2026 — 23:30 WIB</div>
2146                                <div class="match-main-row">
2147                                    <div class="team-col">
2148                                        <img src="https://cdn.sportnanoapi.com/football/team/f378eb1ea04e53999b89051aa3244de6.png" class="team-logo" alt="">
2149                                        <div class="team-name">Barcelona</div>
2150                                    </div>
2151                                    <div class="score-col">
2152                                        <div class="score-value">0 : 0</div>
2153                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215606)">BET NOW</a>
2154                                    </div>
2155                                    <div class="team-col">
2156                                        <img src="https://cdn.sportnanoapi.com/football/team/36bf5bf0c8fdf08c1270124808f060e1.png" class="team-logo" alt="">
2157                                        <div class="team-name">Getafe</div>
2158                                    </div>
2159                                </div>
2160                                <div class="match-odds-row">
2161                                    <div class="odds-col">
2162                                        2.5                                        <small style="margin-left: 5px;">0.82</small>
2163                                    </div>
2164                                    <div class="odds-spacer"></div>
2165                                    <div class="odds-col">
2166                                        -2.5                                        <small style="margin-left: 5px;">-0.92</small>
2167                                    </div>
2168                                </div>
2169                            </div>
2170                        </li>
2171                                                <li class="splide__slide">
2172                            <div class="match-card-home">
2173                                <div class="league-name">ENGLISH PREMIER LEAGUE</div>
2174                                <div class="kickoff-time">October 10, 2026 — 21:00 WIB</div>
2175                                <div class="match-main-row">
2176                                    <div class="team-col">
2177                                        <img src="https://cdn.sportnanoapi.com/football/team/a3c32d6a906083118cac2cb796edaab3.png" class="team-logo" alt="">
2178                                        <div class="team-name">Aston Villa</div>
2179                                    </div>
2180                                    <div class="score-col">
2181                                        <div class="score-value">0 : 0</div>
2182                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100395)">BET NOW</a>
2183                                    </div>
2184                                    <div class="team-col">
2185                                        <img src="https://cdn.sportnanoapi.com/football/team/60f1c7788be3148a370dbf59f914abfe.png" class="team-logo" alt="">
2186                                        <div class="team-name">Brentford</div>
2187                                    </div>
2188                                </div>
2189                                <div class="match-odds-row">
2190                                    <div class="odds-col">
2191                                        0.00                                        <small style="margin-left: 5px;">-0.97</small>
2192                                    </div>
2193                                    <div class="odds-spacer"></div>
2194                                    <div class="odds-col">
2195                                        0.00                                        <small style="margin-left: 5px;">0.87</small>
2196                                    </div>
2197                                </div>
2198                            </div>
2199                        </li>
2200                                                <li class="splide__slide">
2201                            <div class="match-card-home">
2202                                <div class="league-name">ENGLISH PREMIER LEAGUE</div>
2203                                <div class="kickoff-time">October 10, 2026 — 21:00 WIB</div>
2204                                <div class="match-main-row">
2205                                    <div class="team-col">
2206                                        <img src="https://cdn.sportnanoapi.com/football/team/957bdc50c307e2a9b526b34b3792da1a.png" class="team-logo" alt="">
2207                                        <div class="team-name">Sunderland</div>
2208                                    </div>
2209                                    <div class="score-col">
2210                                        <div class="score-value">0 : 0</div>
2211                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100525)">BET NOW</a>
2212                                    </div>
2213                                    <div class="team-col">
2214                                        <img src="https://cdn.sportnanoapi.com/football/team/9b43a690d5a09f1e319f036821e8e1d3.png" class="team-logo" alt="">
2215                                        <div class="team-name">Brighton &amp; Hove Albion</div>
2216                                    </div>
2217                                </div>
2218                                <div class="match-odds-row">
2219                                    <div class="odds-col">
2220                                        0.00                                        <small style="margin-left: 5px;">-0.82</small>
2221                                    </div>
2222                                    <div class="odds-spacer"></div>
2223                                    <div class="odds-col">
2224                                        0.00                                        <small style="margin-left: 5px;">0.72</small>
2225                                    </div>
2226                                </div>
2227                            </div>
2228                        </li>
2229                                                <li class="splide__slide">
2230                            <div class="match-card-home">
2231                                <div class="league-name">ENGLISH PREMIER LEAGUE</div>
2232                                <div class="kickoff-time">October 10, 2026 — 23:30 WIB</div>
2233                                <div class="match-main-row">
2234                                    <div class="team-col">
2235                                        <img src="https://cdn.sportnanoapi.com/football/team/d39ce586fd7278342dde33b3090b3f75.png" class="team-logo" alt="">
2236                                        <div class="team-name">Manchester United</div>
2237                                    </div>
2238                                    <div class="score-col">
2239                                        <div class="score-value">0 : 0</div>
2240                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100582)">BET NOW</a>
2241                                    </div>
2242                                    <div class="team-col">
2243                                        <img src="https://cdn.sportnanoapi.com/football/team/8b22ab4041e666b996a2d96f20dea707.png" class="team-logo" alt="">
2244                                        <div class="team-name">Tottenham Hotspur</div>
2245                                    </div>
2246                                </div>
2247                                <div class="match-odds-row">
2248                                    <div class="odds-col">
2249                                        0.5                                        <small style="margin-left: 5px;">0.72</small>
2250                                    </div>
2251                                    <div class="odds-spacer"></div>
2252                                    <div class="odds-col">
2253                                        -0.5                                        <small style="margin-left: 5px;">-0.82</small>
2254                                    </div>
2255                                </div>
2256                            </div>
2257                        </li>
2258                                                <li class="splide__slide">
2259                            <div class="match-card-home">
2260                                <div class="league-name">
2260SPAIN LA LIGA</div>
2261                                <div class="kickoff-time">October 11, 2026 — 02:00 WIB</div>
2262                                <div class="match-main-row">
2263                                    <div class="team-col">
2264                                        <img src="https://cdn.sportnanoapi.com/football/team/7dacaa934fe4be00f23c1e209b5ef947.png" class="team-logo" alt="">
2265                                        <div class="team-name">Real Madrid</div>
2266                                    </div>
2267                                    <div class="score-col">
2268                                        <div class="score-value">0 : 0</div>
2269                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215615)">BET NOW</a>
2270                                    </div>
2271                                    <div class="team-col">
2272                                        <img src="https://cdn.sportnanoapi.com/football/team/aee62af96a956756cc29fe4831286357.png" class="team-logo" alt="">
2273                                        <div class="team-name">Villarreal</div>
2274                                    </div>
2275                                </div>
2276                                <div class="match-odds-row">
2277                                    <div class="odds-col">
2278                                        1                                        <small style="margin-left: 5px;">0.55</small>
2279                                    </div>
2280                                    <div class="odds-spacer"></div>
2281                                    <div class="odds-col">
2282                                        -1                                        <small style="margin-left: 5px;">-0.65</small>
2283                                    </div>
2284                                </div>
2285                            </div>
2286                        </li>
2287                                                <li class="splide__slide">
2288                            <div class="match-card-home">
2289                                <div class="league-name">ITALY SERIE A</div>
2290                                <div class="kickoff-time">October 10, 2026 — 22:59 WIB</div>
2291                                <div class="match-main-row">
2292                                    <div class="team-col">
2293                                        <img src="https://cdn.sportnanoapi.com/football/team/aa2245702c40f77799a5ad4b119581a8.png" class="team-logo" alt="">
2294                                        <div class="team-name">Inter Milan</div>
2295                                    </div>
2296                                    <div class="score-col">
2297                                        <div class="score-value">0 : 0</div>
2298                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145618118)">BET NOW</a>
2299                                    </div>
2300                                    <div class="team-col">
2301                                        <img src="https://cdn.sportnanoapi.com/football/team/9fadd87d190982c8082dddf1567e0b9b.png" class="team-logo" alt="">
2302                                        <div class="team-name">Parma Calcio</div>
2303                                    </div>
2304                                </div>
2305                                <div class="match-odds-row">
2306                                    <div class="odds-col">
2307                                        2                                        <small style="margin-left: 5px;">0.65</small>
2308                                    </div>
2309                                    <div class="odds-spacer"></div>
2310                                    <div class="odds-col">
2311                                        -2                                        <small style="margin-left: 5px;">-0.75</small>
2312                                    </div>
2313                                </div>
2314                            </div>
2315                        </li>
2316                                                <li class="splide__slide">
2317                            <div class="match-card-home">
2318                                <div class="league-name">
2318SPAIN LA LIGA</div>
2319                                <div class="kickoff-time">October 10, 2026 — 19:00 WIB</div>
2320                                <div class="match-main-row">
2321                                    <div class="team-col">
2322                                        <img src="https://cdn.sportnanoapi.com/football/team/5005d8feab109ce64e40beb98073cc1f.png" class="team-logo" alt="">
2323                                        <div class="team-name">Rayo Vallecano</div>
2324                                    </div>
2325                                    <div class="score-col">
2326                                        <div class="score-value">0 : 0</div>
2327                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215614)">BET NOW</a>
2328                                    </div>
2329                                    <div class="team-col">
2330                                        <img src="https://cdn.sportnanoapi.com/football/team/abbb31d42c55612737713aac6567a226.png" class="team-logo" alt="">
2331                                        <div class="team-name">Athletic Bilbao</div>
2332                                    </div>
2333                                </div>
2334                                <div class="match-odds-row">
2335                                    <div class="odds-col">
2336                                        0.00                                        <small style="margin-left: 5px;">0.98</small>
2337                                    </div>
2338                                    <div class="odds-spacer"></div>
2339                                    <div class="odds-col">
2340                                        0.00                                        <small style="margin-left: 5px;">0.92</small>
2341                                    </div>
2342                                </div>
2343                            </div>
2344                        </li>
2345                                                <li class="splide__slide">
2346                            <div class="match-card-home">
2347                                <div class="league-name">ENGLISH PREMIER LEAGUE</div>
2348                                <div class="kickoff-time">October 11, 2026 — 22:30 WIB</div>
2349                                <div class="match-main-row">
2350                                    <div class="team-col">
2351                                        <img src="https://cdn.sportnanoapi.com/football/team/1cb3d08adac0e2dc1c4f10429d055bfe.png" class="team-logo" alt="">
2352                                        <div class="team-name">Liverpool</div>
2353                                    </div>
2354                                    <div class="score-col">
2355                                        <div class="score-value">0 : 0</div>
2356                                        <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100751)">BET NOW</a>
2357                                    </div>
2358                                    <div class="team-col">
2359                                        <img src="https://cdn.sportnanoapi.com/football/team/c4a6528a2ee147b99c9885ef24385a4e.png" class="team-logo" alt="">
2360                                        <div class="team-name">Manchester City</div>
2361                                    </div>
2362                                </div>
2363                                <div class="match-odds-row">
2364                                    <div class="odds-col">
2365                                        0.00                                        <small style="margin-left: 5px;">-0.83</small>
2366                                    </div>
2367                                    <div class="odds-spacer"></div>
2368                                    <div class="odds-col">
2369                                        0.00                                        <small style="margin-left: 5px;">0.73</small>
2370                                    </div>
2371                                </div>
2372                            </div>
2373                        </li>
2374                                            </ul>
2375                </div>
2376            </div>
2377        </div>
2378    </div>
2379
2380    
2381        
2382            <div class="home-section">
2383        <div class="widget-kupon" style="margin-top:20px;">
2384            <iframe class="iframe-kupon" src="https://fkupon.com/widget2.php" title="Widget kupon" loading="lazy"></iframe>
2385            <div onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',null) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm())" style="position:absolute;top:0;left:0;right:0;bottom:0;cursor:pointer;z-index:5;"></div>
2386        </div>
2387    </div>
2388    
2389    
2390</div>
2391
2392<script>
2393(function () {
2394    function mountSportSplide() {
2395        var el = document.getElementById('sportMatchSplide');
2396        if (!el || el.classList.contains('is-initialized')) return;
2397        if (typeof Splide === 'undefined') return;
2398        new Splide('#sportMatchSplide', {
2399            type       : 'loop',
2400            perPage    : 3,
2401            gap        : '8px',
2402            autoplay   : true,
2403            interval   : 4500,
2404            pauseOnHover: true,
2405            pagination : true,
2406            arrows     : true,
2407            breakpoints: {
2408                767: { perPage: 1 }
2409            }
2410        }).mount();
2411    }
2412    function bootSportSplide() {
2413        if (typeof ensureSplide === 'function') {
2414            ensureSplide().then(mountSportSplide).catch(function () {});
2415        } else {
2416            mountSportSplide();
2417        }
2418    }
2419    // SSR: defer sampai Splide ready; AJAX: mount via ensureSplide.
2420    if (document.readyState === 'loading') {
2421        document.addEventListener('DOMContentLoaded', bootSportSplide);
2422    } else {
2423        bootSportSplide();
2424    }
2425})();
2426
2427var _sboLaunchToken = null;
2428
2429function jtSboBet(matchId) {
2430    if (window.JT_LOGGED_IN && _sboLaunchToken) {
2431        var url = '/new/launch/' + _sboLaunchToken;
2432        var standalone = window.navigator.standalone === true ||
2433                         window.matchMedia('(display-mode: standalone)').matches;
2434        var isMobile = standalone || window.innerWidth < 768;
2435        var popup = isMobile ? null : window.open('about:blank', '_blank', 'width=1200,height=800,top=0,left=0,resizable=yes,scrollbars=yes');
2436        jtPost(url, { check: 1, matchId: matchId || '' }).then(function(res) {
2437            if (res.ok) {
2438                if (popup) { popup.location.href = url; } else { window.location.href = url; }
2439            } else if (popup) {
2440                popup.close();
2441            }
2442        }).catch(function() {
2443            if (popup) popup.close();
2444        });
2445    } else {
2446        if (matchId) sessionStorage.setItem('jt_pending_action', JSON.stringify({type: 'sbo', matchId: matchId}));
2447        else sessionStorage.removeItem('jt_pending_action');
2448        if (typeof scrollToLoginForm === 'function') scrollToLoginForm();
2449    }
2450}
2451
2452</script>
2452
2453
2454<div id="pasaranPopupOverlay" class="pasaran-popup-overlay">
2455    <div class="pasaran-popup themed-box">
2456        <div class="pasaran-popup-inner">
2457            <div class="pasaran-popup-header">
2458                <div class="pasaran-popup-select">
2459                    <button type="button" class="pasaran-popup-select-btn" onclick="ppToggleDropdown()" id="ppSelectBtn">
2460                        <span id="ppTitle">-</span>
2461                        <i class="bi bi-chevron-down"></i>
2462                    </button>
2463                    <div class="pasaran-popup-dropdown" id="ppDropdown"></div>
2464                </div>
2465                <button type="button" class="tx-btn-close" onclick="closePasaranPopup()" aria-label="Tutup"><i class="bi bi-x-lg"></i></button>
2466            </div>
2467            <div class="pasaran-popup-meta" id="ppMeta"></div>
2468            <div class="pasaran-popup-body">
2469                <table class="themed-table history-table" id="ppTable">
2470                    <thead>
2471                        <tr>
2472                            <th style="width:10%">No.</th>
2473                            <th>Tanggal</th>
2474                            <th>Hari</th>
2475                            <th>Periode</th>
2476                            <th>Result</th>
2477                        </tr>
2478                    </thead>
2479                    <tbody id="ppTableBody"></tbody>
2480                </table>
2481            </div>
2482            <div class="history-paging pasaran-popup-paging" id="ppPaging" style="display:none;">
2483                <ul class="h-pages" id="ppPages"></ul>
2484            </div>
2485        </div>
2486    </div>
2487</div>
2488
2489<script>
2490window.addEventListener('message', function(e) {
2491    if (e.origin !== 'https://fkupon.com') return;
2492    var iframe = document.querySelector('.iframe-kupon');
2493    if (!iframe) return;
2494    var h = null;
2495    if (e.data && typeof e.data.height === 'number') h = e.data.height;
2496    else if (typeof e.data === 'number') h = e.data;
2497    if (h !== null) {
2498        iframe.style.height = Math.max(60, h) + 'px';
2499    }
2500});
2501
2502// launchGame / copy helpers → main.js
2503
2504var _ppMarkets       = [];
2505var _ppCurrentNameid = '';
2506var PP_PER_PAGE      = 10;
2507
2508function showPasaranPopup(el) {
2509    var overlay = document.getElementById('pasaranPopupOverlay');
2510    var nameid  = el.dataset.nameid || '';
2511    if (!overlay || !nameid) return;
2512    overlay.style.display = 'flex';
2513    ppSelectPasaran(nameid);
2514}
2515
2516function ppFindMarket(nameid) {
2517    for (var i = 0; i < _ppMarkets.length; i++) {
2518        if (String(_ppMarkets[i].nameid) === String(nameid)) return _ppMarkets[i];
2519    }
2520    return null;
2521}
2522
2523function ppRenderDropdown() {
2524    var dd = document.getElementById('ppDropdown');
2525    if (!dd) return;
2526    dd.innerHTML = '';
2527    _ppMarkets.forEach(function (m) {
2528        var btn = document.createElement('button');
2529        btn.type = 'button';
2530        btn.className = 'pasaran-popup-dd-item' + (String(m.nameid) === String(_ppCurrentNameid) ? ' active' : '');
2531        btn.textContent = m.name || '';
2532        btn.dataset.nameid = m.nameid || '';
2533        btn.addEventListener('click', function () { ppSelectPasaran(btn.dataset.nameid); });
2534        dd.appendChild(btn);
2535    });
2536}
2537
2538function ppSelectPasaran(nameid) {
2539    var market = ppFindMarket(nameid);
2540    if (!market) return;
2541    _ppCurrentNameid = nameid;
2542    document.getElementById('ppTitle').textContent = market.name || '';
2543    var ppMetaRows = [
2544        ['Website', market.web],
2545        ['Hari Undi', market.hari],
2546        ['Jam Tutup', market.jam_tutup],
2547        ['Jam Result', market.jam_result]
2548    ];
2549    document.getElementById('ppMeta').innerHTML = ppMetaRows.map(function (r) {
2550        return '<div class="pasaran-popup-meta-row"><span class="pp-meta-label">' + esc(r[0]) + '</span><span class="pp-meta-value">: ' + esc(r[1] || '-') + '</span></div>';
2551    }).join('');
2552    ppRenderDropdown();
2553    ppCloseDropdown();
2554    ppLoadKeluaran(1);
2555}
2556
2557function ppToggleDropdown() {
2558    var dd   = document.getElementById('ppDropdown');
2559    var wrap = document.querySelector('.pasaran-popup-select');
2560    if (dd) dd.classList.toggle('open');
2561    if (wrap) wrap.classList.toggle('open');
2562}
2563
2564function ppCloseDropdown() {
2565    var dd   = document.getElementById('ppDropdown');
2566    var wrap = document.querySelector('.pasaran-popup-select');
2567    if (dd) dd.classList.remove('open');
2568    if (wrap) wrap.classList.remove('open');
2569}
2570
2571function ppLoadKeluaran(page) {
2572    var tbody = document.getElementById('ppTableBody');
2573    tbody.innerHTML = '<tr><td colspan="5" class="text-center pp-loading-cell"><div class="content-loader-wrap"><div class="loader"></div></div></td></tr>';
2574
2575    jtPostJson('/api/front/pasaran-keluaran', {
2576            pasaran: _ppCurrentNameid,
2577            page: page,
2578            per_page: PP_PER_PAGE
2579        })
2580        .then(function (res) {
2581            if (!res.error || res.error.code !== 200) { ppRenderError(); return; }
2582            var data = res.data || {};
2583            ppRenderRows(data.rows || [], data.pagination || {});
2584        })
2585        .catch(ppRenderError);
2586}
2587
2588function ppRenderError() {
2589    document.getElementById('ppTableBody').innerHTML = '<tr><td colspan="5" class="text-center pp-empty-cell" style="color:var(--secondary-text-color)">Gagal memuat data.</td></tr>';
2590    document.getElementById('ppPaging').style.display = 'none';
2591}
2592
2593function ppRenderRows(rows, pagination) {
2594    var tbody = document.getElementById('ppTableBody');
2595    if (!rows.length) {
2596        tbody.innerHTML = '<tr><td colspan="5" class="text-center pp-empty-cell" style="color:var(--secondary-text-color)">Tidak ada data.</td></tr>';
2597    } else {
2598        var page    = pagination.page || 1;
2599        var startNo = (page - 1) * PP_PER_PAGE;
2600        tbody.innerHTML = rows.map(function (row, i) {
2601            return '<tr>' +
2602                '<td class="text-center" style="color:var(--secondary-text-color)">' + (startNo + i + 1) + '</td>' +
2603                '<td class="pp-col-tanggal">' + esc(row.tanggal) + '</td>' +
2604                '<td class="pp-col-hari">' + esc(row.hari) + '</td>' +
2605                '<td>' + esc(row.pasaran) + '</td>' +
2606                '<td class="pp-col-result"><strong>' + esc(row.result) + '</strong></td>' +
2607                '</tr>';
2608        }).join('');
2609    }
2610    ppRenderPaging(pagination);
2611}
2612
2613function ppRenderPaging(pagination) {
2614    var paging     = document.getElementById('ppPaging');
2615    var pagesList  = document.getElementById('ppPages');
2616    var totalPages = pagination.total_pages || 0;
2617    var page       = pagination.page || 1;
2618
2619    if (totalPages <= 1) { paging.style.display = 'none'; return; }
2620    paging.style.display = '';
2621
2622    pagesList.innerHTML = '';
2623    function btn(label, targetPage, disabled, active) {
2624        var li = document.createElement('li');
2625        var b  = document.createElement('button');
2626        b.innerHTML = label;
2627        if (disabled) b.disabled = true;
2628        if (active)   b.classList.add('active');
2629        b.addEventListener('click', function () { ppLoadKeluaran(targetPage); });
2630        li.appendChild(b);
2631        pagesList.appendChild(li);
2632    }
2633    function ellipsis() {
2634        var li   = document.createElement('li');
2635        var span = document.createElement('span');
2636        span.className = 'h-ellipsis';
2637        span.textContent = '...';
2638        li.appendChild(span);
2639        pagesList.appendChild(li);
2640    }
2641
2642    btn('First', 1, page === 1, false);
2643
2644    var winStart = Math.max(1, page - 2);
2645    var winEnd   = Math.min(totalPages, page + 2);
2646    for (var p = winStart; p <= winEnd; p++) btn(p, p, false, p === page);
2647
2648    if (winEnd < totalPages) {
2649        if (winEnd < totalPages - 1) ellipsis();
2650        btn(totalPages, totalPages, false, page === totalPages);
2651    }
2652
2653    btn('Last', totalPages, page === totalPages, false);
2654}
2655
2656function closePasaranPopup() {
2657    var overlay = document.getElementById('pasaranPopupOverlay');
2658    if (overlay) overlay.style.display = 'none';
2659    ppCloseDropdown();
2660}
2661
2662document.addEventListener('click', function(e) {
2663    var overlay = document.getElementById('pasaranPopupOverlay');
2664    if (overlay && e.target === overlay) closePasaranPopup();
2665
2666    var selectWrap = document.querySelector('.pasaran-popup-select');
2667    if (selectWrap && !selectWrap.contains(e.target)) ppCloseDropdown();
2668});
2669
2670(function() {
2671    var PER_PAGE = 10;
2672
2673    function initTogelPagination() {
2674        var wrap = document.querySelector('.togel-list-guest');
2675        if (!wrap) return;
2676
2677        var rows = Array.prototype.slice.call(wrap.querySelectorAll('.togel-list-row'));
2678        var total = rows.length;
2679        if (total <= PER_PAGE) return;
2680
2681        var totalPages = Math.ceil(total / PER_PAGE);
2682        var currentPage = 1;
2683
2684        function showPage(page) {
2685            currentPage = page;
2686            rows.forEach(function(row, i) {
2687                var start = (page - 1) * PER_PAGE;
2688                row.style.display = (i >= start && i < start + PER_PAGE) ? 'flex' : 'none';
2689            });
2690            renderPager();
2691        }
2692
2693        function renderPager() {
2694            var pager = document.getElementById('togelListPager');
2695            if (!pager) return;
2696            pager.innerHTML = '';
2697
2698            for (var p = 1; p <= totalPages; p++) {
2699                (function(pg) {
2700                    var dot = document.createElement('button');
2701                    dot.className = 'tlp-dot' + (pg === currentPage ? ' active' : '');
2702                    dot.addEventListener('click', function() { showPage(pg); });
2703                    pager.appendChild(dot);
2704                })(p);
2705            }
2706        }
2707
2708        var pager = document.createElement('div');
2709        pager.id = 'togelListPager';
2710        pager.className = 'togel-list-pager';
2711        wrap.parentNode.insertBefore(pager, wrap.nextSibling);
2712
2713        var touchStartX = 0;
2714        wrap.addEventListener('touchstart', function(e) {
2715            touchStartX = e.changedTouches[0].clientX;
2716        }, { passive: true });
2717        wrap.addEventListener('touchend', function(e) {
2718            var dx = e.changedTouches[0].clientX - touchStartX;
2719            if (Math.abs(dx) < 40) return;
2720            if (dx < 0 && currentPage < totalPages) showPage(currentPage + 1);
2721            if (dx > 0 && currentPage > 1)           showPage(currentPage - 1);
2722        }, { passive: true });
2723
2724        showPage(1);
2725    }
2726
2727    initTogelPagination();
2728})();
2729
2730(function() {
2731    var btn = document.querySelector('.togel-panel-more');
2732    if (!btn) return;
2733    btn.addEventListener('click', function() {
2734        var wrap = btn.closest('.togel-panel');
2735        if (wrap) wrap.classList.toggle('togel-panel--open');
2736    });
2737})();
2738
2739function jtBootHomePartial() {
2740    var isLoggedIn = false;
2741    var bootMarkets = [{"name":"TOTO WUHAN","nameid":"TWH","periode":"924","status":1,"web":"www.totowuhan.com","hari":"Setiap Hari ( 09:00 | 12:00 | 15:00 | 18:00 | 21:00 | 00:00 )","jam_tutup":"Tiap 3 jam","jam_result":"Tiap 3 jam","result":"6536","date":"10/10/2026"},{"name":"HK SIANG","nameid":"HKD","periode":"936","status":1,"web":"www.hkpools1.com","hari":"Setiap Hari","jam_tutup":"10:30 WIB","jam_result":"11:00 WIB","result":"3738","date":"9/10/2026"},{"name":"SG METRO","nameid":"SGM","periode":"967","status":1,"web":"www.sgmetro.com","hari":"Setiap Hari","jam_tutup":"12:30 WIB","jam_result":"13:00 WIB","result":"2724","date":"9/10/2026"},{"name":"SYDNEY","nameid":"SYD","periode":"927","status":1,"web":"www.sydneypools.info","hari":"Setiap Hari","jam_tutup":"13.30 WIB","jam_result":"14:00 WIB","result":"6783","date":"9/10/2026"},{"name":"MALAYSIA SIANG","nameid":"MYD","periode":"935","status":1,"web":"www.malaysialottery.net","hari":"Setiap Hari","jam_tutup":"14:30 WIB","jam_result":"15:00 WIB","result":"3162","date":"9/10/2026"},{"name":"SINGAPORE","nameid":"SG","periode":"253","status":1,"web":"www.singaporepools.com.sg","hari":"Senin, Rabu, Kamis, Sabtu, Minggu","jam_tutup":"17:20 WIB","jam_result":"17:45 WIB","result":"2855","date":"8/10/2026"},{"name":"MALAYSIA","nameid":"MY","periode":"883","status":1,"web":"www.malaysialottery.net","hari":"Setiap Hari","jam_tutup":"18:30 WIB","jam_result":"19:00 WIB","result":"6034","date":"9/10/2026"},{"name":"MACAU","nameid":"MC","periode":"865","status":1,"web":"www.supersixmacau.com","hari":"Setiap Hari","jam_tutup":"19:30 WIB","jam_result":"20:00 WIB","result":"0331","date":"9/10/2026"},{"name":"QATAR","nameid":"QTR","periode":"205","status":1,"web":"www.qatarlottery.com","hari":"Setiap Hari","jam_tutup":"20:30 WIB","jam_result":"21:00 WIB","result":"8696","date":"9/10/2026"},{"name":"HONGKONG","nameid":"HK","periode":"358","status":1,"web":"www.hongkongpools.com","hari":"Setiap Hari","jam_tutup":"22:30 WIB","jam_result":"23:00 WIB","result":"6469","date":"9/10/2026"}];
2742
2743    function renderTogelCards(markets) {
2744        var panel = document.getElementById('togel-panel');
2745        if (!panel) return;
2746
2747        var loading = panel.querySelector('.togel-cards-loading');
2748        if (loading) loading.remove();
2749
2750        var moreBtn = panel.querySelector('.togel-panel-more');
2751        panel.querySelectorAll('.togel-grid-row').forEach(function (el) { el.remove(); });
2752
2753        var mid  = markets.length > 10 ? Math.ceil(markets.length / 2) : Math.min(markets.length, 12);
2754        var rows = [markets.slice(0, mid), markets.slice(mid)];
2755
2756        rows.forEach(function (row) {
2757            if (!row.length) return;
2758            var rowDiv = document.createElement('div');
2759            rowDiv.className = 'togel-grid-row';
2760
2761            row.forEach(function (m) {
2762                var card = document.createElement('div');
2763                card.className = 'togel-card';
2764
2765                var inner = '<div class="market-name">'  + esc(m.name)   + '</div>' +
2766                            '<div class="market-code">
2766'  + esc(m.result) + '</div>' +
2767                            '<div class="market-info">'  + esc(m.date)   + '</div>';
2768
2769                if (isLoggedIn) {
2770                    var isMarketOnline = String(m.status) === '1';
2771                    if (isMarketOnline) {
2772                        var marketCode = (m.nameid || '') + '-' + (m.periode || '');
2773                        card.setAttribute('onclick', "content('/togel-detail.php?market=" + encodeURIComponent(marketCode) + "','#content')");
2774                    } else {
2775                        card.setAttribute('onclick', "content('/togel.php','#content')");
2776                    }
2777                } else {
2778                    card.setAttribute('onclick', 'showPasaranPopup(this)');
2779                    card.dataset.nameid    = m.nameid     || '';
2780                    card.dataset.market    = m.name       || '';
2781                    card.dataset.website   = m.web        || '';
2782                    card.dataset.hari      = m.hari       || 'Setiap Hari';
2783                    card.dataset.jamTutup  = m.jam_tutup  || '-';
2784                    card.dataset.jamResult = m.jam_result || '-';
2785
2786                    inner += '<div class="tc-guest-detail">' +
2787                        '<div class="tc-dr"><span>Web</span><span>'    + esc(m.web)       + '</span></div>' +
2788                        '<div class="tc-dr"><span>Buka</span><span>'   + esc(m.hari)      + '</span></div>' +
2789                        '<div class="tc-dr"><span>Tutup</span><span>'  + esc(m.jam_tutup) + '</span></div>' +
2790                        '<div class="tc-dr"><span>Result</span><span>' + esc(m.jam_result)+ '</span></div>' +
2791                        '</div>';
2792                }
2793
2794                card.innerHTML = inner;
2795                rowDiv.appendChild(card);
2796            });
2797
2798            panel.insertBefore(rowDiv, moreBtn || null);
2799        });
2800
2801        updateTogelMoreBtn(panel, moreBtn);
2802    }
2803
2804    function updateTogelMoreBtn(panel, moreBtn) {
2805        if (!moreBtn) return;
2806        var check = function() {
2807            var cards = panel.querySelectorAll('.togel-card');
2808            var multiRow = false;
2809            if (cards.length) {
2810                var firstTop = cards[0].offsetTop;
2811                for (var i = 1; i < cards.length; i++) {
2812                    if (cards[i].offsetTop > firstTop + 1) { multiRow = true; break; }
2813                }
2814            }
2815            moreBtn.style.display = multiRow ? '' : 'none';
2816            if (!multiRow) {
2817                panel.classList.remove('togel-panel--open');
2818                panel.style.maxHeight = panel.scrollHeight + 'px';
2819            } else if (!panel.classList.contains('togel-panel--open')) {
2820                var secondTop = null;
2821                for (var j = 0; j < cards.length; j++) {
2822                    if (cards[j].offsetTop > firstTop + 1) { secondTop = cards[j].offsetTop; break; }
2823                }
2824                var peek = cards[0].offsetHeight * 0.12;
2825                panel.style.maxHeight = secondTop !== null ? (secondTop + peek) + 'px' : '';
2826            }
2827        };
2828        check();
2829        window.addEventListener('resize', check, { passive: true });
2830        window.addEventListener('load', check);
2831    }
2832
2833    if (Array.isArray(bootMarkets) && bootMarkets.length) {
2834        _ppMarkets = bootMarkets;
2835        renderTogelCards(bootMarkets);
2836    }
2837
2838    if (typeof initHomeGameImageFallback === 'function') {
2839        initHomeGameImageFallback(document);
2840    }
2841
2842    (function() {
2843        function enableDragScroll(el) {
2844            var isDown = false, startX, scrollLeft;
2845            el.addEventListener('mousedown', function(e) {
2846                isDown = true;
2847                el.style.cursor = 'grabbing';
2848                startX = e.pageX - el.offsetLeft;
2849                scrollLeft = el.scrollLeft;
2850                e.preventDefault();
2851            });
2852            el.addEventListener('mouseleave', function() { isDown = false; el.style.cursor = ''; });
2853            el.addEventListener('mouseup',    function() { isDown = false; el.style.cursor = ''; });
2854            el.addEventListener('mousemove',  function(e) {
2855                if (!isDown) return;
2856                el.scrollLeft = scrollLeft - (e.pageX - el.offsetLeft - startX);
2857            });
2858        }
2859        document.querySelectorAll('.home-view .game-scroll-wrap, .home-view .togel-grid-wrap').forEach(enableDragScroll);
2860    })();
2861
2862    (function () {
2863        document.querySelectorAll('.home-view .game-scroll-wrap').forEach(function (wrap) {
2864            if (wrap.parentNode && wrap.parentNode.classList.contains('game-scroll-outer')) return;
2865
2866            var outer = document.createElement('div');
2867            outer.className = 'game-scroll-outer';
2868            wrap.parentNode.insertBefore(outer, wrap);
2869            outer.appendChild(wrap);
2870
2871            var btnL = document.createElement('button');
2872            var btnR = document.createElement('button');
2873            btnL.className = 'game-scroll-btn game-scroll-btn-l';
2874            btnR.className = 'game-scroll-btn game-scroll-btn-r';
2875            btnL.type = 'button';
2876            btnR.type = 'button';
2877            btnL.innerHTML = '&#8249;';
2878            btnR.innerHTML = '&#8250;';
2879            outer.appendChild(btnL);
2880            outer.appendChild(btnR);
2881
2882            function update() {
2883                var canL = wrap.scrollLeft > 0;
2884                var canR = wrap.scrollLeft < wrap.scrollWidth - wrap.clientWidth - 1;
2885                btnL.style.display = canL ? 'flex' : 'none';
2886                btnR.style.display = canR ? 'flex' : 'none';
2887            }
2888
2889            function cardWidth() {
2890                var card = wrap.querySelector('.game-card');
2891                if (!card) return 120;
2892                return card.offsetWidth + 10;
2893            }
2894            btnR.addEventListener('click', function () {
2895                wrap.scrollBy({ left: cardWidth(), behavior: 'smooth' });
2896            });
2897            btnL.addEventListener('click', function () {
2898                wrap.scrollBy({ left: -cardWidth(), behavior: 'smooth' });
2899            });
2900
2901            wrap.addEventListener('scroll', update);
2902            window.addEventListener('resize', update);
2903            update();
2904        });
2905    })();
2906}
2907
2908if (document.readyState === 'loading') {
2909    document.addEventListener('DOMContentLoaded', jtBootHomePartial);
2910} else {
2911    jtBootHomePartial();
2912}
2913</script>
2913
2914</div>
2915    
2916    
2917<!-- Transaksi Start -->
2918
2919
2920
2921<style>
2922
2923    .transaksi-group {
2924        display: grid;
2925        grid-template-columns: 458px 1fr;
2926        justify-content: space-between;
2927        grid-template-areas:
2928        "transaksi-bank transaksi-other transaksi-crypto";
2929    }
2930    
2931    .transaksi-bank {
2932        grid-area: transaksi-bank;
2933        display: grid;
2934        place-items: center
2935    }
2936    
2937    .transaksi-other {
2938        grid-area: transaksi-other;
2939        display: flex;
2940        justify-content: space-evenly;
2941        width: 100%;
2942    }
2943    
2944    .transaksi-crypto {
2945        grid-area: transaksi-crypto;
2946        display: flex;
2947        justify-content: space-evenly;
2948        width: 100%;
2949    }
2950    
2951    .icon-crypto {
2952        width: 24px;
2953        height: 24px;
2954    }
2955    
2956    .transaksi-list-bank {
2957        height: fit-content;
2958        display: grid;
2959        grid-template-columns: repeat(4, 92px);
2960        grid-template-rows: repeat(4, auto);
2961        gap: 4px;
2962    }
2963    
2964    .transaksi-list-other {
2965        height: fit-content;
2966        display: grid;
2967        grid-template-columns: repeat(3, 92px);
2968        gap: 4px;
2969    }
2970    
2971    .transaksi-list-crypto {
2972        height: fit-content;
2973        display: grid;
2974        grid-template-columns: repeat(2, 80px);
2975        gap: 10px 8px;
2976    }
2977    
2978    
2979    .transaksi-item {
2980        display: flex;
2981        flex-direction: column;
2982        /* transform: perspective(10px) rotateX(3deg); */
2983    }
2984    
2985    .transaksi-header {
2986
2987        height: 30px;
2988        border-radius: 5px;
2989        display: grid;
2990        place-items: center;
2991        font-weight: bold;
2992        border: 2px solid rgba(108,108,108,1);
2993        background: rgba(54,54,54,1);
2994        color: white;
2995    }
2996    
2997    .transaksi-status {
2998        margin-left: 3px;
2999        margin-right: 3px;
3000        height: 3px;
3001        border-radius: 0px 0px 4px 4px;
3002        background: rgb(54,54,54);
3003        background: linear-gradient(90deg, rgba(54,54,54,1) 0%, rgba(108,108,108,1) 50%, rgba(54,54,54,1) 100%);
3004    }
3005    
3006    .header-green {
3007        background: rgba(44,121,6,1);
3008        border-color: rgba(168,255,0,1);
3009    }
3010    
3011    .header-blue {
3012        background: rgba(0,80,89,1);
3013        border-color: rgba(0,255,204,1);
3014    }
3015    
3016    .status-green {
3017        background: rgb(44,121,6);
3018        background: linear-gradient(90deg, rgba(44,121,6,1) 0%, rgba(168,255,0,1) 50%, rgba(44,121,6,1) 100%);
3019    }
3020    
3021    .status-blue {
3022        background: rgb(0,80,89);
3023        background: linear-gradient(90deg, rgba(0,80,89,1) 0%, rgba(0,255,204,1) 50%, rgba(0,80,89,1) 100%);
3024    }
3025    
3026    .transaksi-name {
3027        font-size: 1.1rem; 
3028        font-weight: bold; 
3029        line-height: 1.5rem
3030    }
3031    
3032    .transaksi-wrapper {
3033        display: flex;
3034        flex-direction: column;
3035        gap: .5rem;
3036    }
3037
3038
3039    @media only screen and (max-width: 768px) {
3040        
3041        .transaksi-group {
3042            display: grid;
3043            grid-template-columns: 1fr;
3044            grid-template-areas:
3045            "transaksi-bank"
3046            "transaksi-other"
3047            "transaksi-crypto";
3048            gap: 32px;
3049            margin-bottom: 8px;
3050            
3051        }
3052        
3053        .transaksi-header {
3054            font-size: 1.1rem;
3055            height: 36px;
3056        }
3057        
3058        .transaksi-list-bank {
3059            grid-template-columns: repeat(4, 1fr);
3060        }
3061        
3062        .transaksi-list-other {
3063            grid-template-columns: repeat(4, 1fr);
3064        }
3065        
3066        .transaksi-list-crypto {
3067            width: 86%;
3068            margin: auto;
3069            grid-template-columns: repeat(4, 1fr);
3070        }
3071        
3072        .transaksi-list {
3073            display: grid;
3074            grid-template-columns: repeat(3, 1fr);
3075        }
3076        
3077        .transaksi-item {
3078            width: 100%;
3079        }
3080        
3081        .transaksi-title-group {
3082            justify-content: center;
3083            padding: 16px 0;
3084        }
3085        
3086        .transaksi-name {
3087            font-size: 1.3rem;
3088            text-align: center;    
3089            line-height: 1.8rem;
3090        }
3091
3092        .transaksi-wrapper {
3093            width: 100%;
3094            max-width: 100%!important;
3095            gap: 1rem;
3096        }
3097        
3098        .icon-crypto {
3099            width: 28px;
3100            height: 28px;
3101        }
3102
3103    }
3104</style>
3105
3106    
3107    <style>
3108        .transaksi-wrapper {
3109    display: flex;
3110    flex-direction: column;
3111    gap: .5rem;
3112    align-items: flex-start;
3113}
3114
3115.transaksi-name {
3116    font-size: 1.1rem;
3117    font-weight: bold;
3118    line-height: 1.5rem;
3119}
3120
3121.carousel-inner {
3122    position: relative;
3123    width: 100%;
3124    overflow: hidden;
3125}
3126
3127.transaksi-list-bank, .transaksi-list-other {
3128    grid-template-columns: repeat(4, minmax(110px, 1fr));
3129    gap: 8px 10px;
3130}
3131
3132
3133.transaksi-list-bank, .transaksi-list-other {
3134    height: fit-content;
3135    display: grid;
3136    grid-template-columns: repeat(4, minmax(80px, 1fr));
3137    gap: 4px 6px;
3138}
3139
3140
3141.transaksi-item {
3142    display: flex;
3143    flex-direction: column;
3144    position: relative;
3145}
3146.transaksi-header {
3147    height: 34px;
3148    border-radius: 6px;
3149    font-weight: bold;
3150    border: 2px solid rgba(108, 108, 108, 1);
3151    background: rgba(54, 54, 54, 1);
3152    color: white;
3153    min-width: 110px;
3154    padding: 0 16px 0 28px;
3155    display: flex;
3156    align-items: center;
3157    justify-content: center;
3158    text-align: center;
3159    white-space: nowrap;
3160}
3161
3162.transaksi-header {
3163    border: none;
3164    padding: 0px;
3165    padding-bottom: 4px;
3166}
3167
3168.transaksi-header.is-online::before {
3169    content: "";
3170    position: absolute;
3171    top: auto;
3172    left: 50%;
3173    transform: translateX(-50%);
3174    width: 50%;
3175    height: 4px;
3176    bottom: 0%;
3177    background-color: #00ff66;
3178    border-radius: 6px;
3179    box-shadow: 0 0 8px rgba(0, 255, 102, .85);
3180}
3181
3182.transaksi-header.is-offline {
3183    padding: 0 16px;
3184    background: #2e2e2e;
3185    border-color: #555;
3186    opacity: .35;
3187    align-items: center;
3188    justify-content: center;
3189    text-align: center;
3190}
3191    </style>
3192
3193 <div class="section desktop-only" style="min-height: 220px">
3194
3195<div class="transaksi-group">
3196    <div class="transaksi-bank">
3197
3198            <div class="transaksi-wrapper">
3199                <div class="transaksi-name">Bank Lokal</div>
3200                
3201                <div id="transaksi-bank-indicators" class="carousel slide" data-bs-ride="carousel">
3202                <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px">
3203                    
3204                                        
3205                </div>
3206                <div class="carousel-inner" >
3207                                            <div class="carousel-item active" style="min-height: 144px">
3208                            <div class="transaksi-list-bank">
3209                            
3210                                                        
3211                                                                
3212                                <div class="transaksi-item">
3213                                    <div class="transaksi-header">BCA</div>
3214                                    <div class="transaksi-status status-green"></div>
3215                                </div>
3216                                                        
3217                                                                
3218                                <div class="transaksi-item">
3219                                    <div class="transaksi-header">Mandiri</div>
3220                                    <div class="transaksi-status status-green"></div>
3221                                </div>
3222                                                        
3223                                                                
3224                                <div class="transaksi-item">
3225                                    <div class="transaksi-header">BNI</div>
3226                                    <div class="transaksi-status status-green"></div>
3227                                </div>
3228                                                        
3229                                                                
3230                                <div class="transaksi-item">
3231                                    <div class="transaksi-header">BRI</div>
3232                                    <div class="transaksi-status status-green"></div>
3233                                </div>
3234                                                        
3235                                                                
3236                                <div class="transaksi-item">
3237                                    <div class="transaksi-header">CIMB</div>
3238                                    <div class="transaksi-status status-green"></div>
3239                                </div>
3240                                                        
3241                                                                
3242                                <div class="transaksi-item">
3243                                    <div class="transaksi-header">SeaBank</div>
3244                                    <div class="transaksi-status status-green"></div>
3245                                </div>
3246                                                        
3247                                                            
3248                            </div>
3249                        </div>
3250                    
3251                     
3252                     
3253                  </div>
3254                </div>
3255
3256        </div>
3257    </div>
3258    
3259    <div class="transaksi-other">
3260            
3261            
3262            <div class="transaksi-wrapper" style="max-width: 458px">
3263
3264                <div class="transaksi-name">E Money & Pulsa</div>
3265
3266    
3267                <div id="transaksi-other-indicators" class="carousel slide" data-bs-ride="carousel">
3268                <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px">
3269                    
3270                                        
3271                    </div>
3272                  <div class="carousel-inner" >
3273                                            <div class="carousel-item active">
3274                            <div class="transaksi-list-other">
3275                            
3276                                                        
3277                                                                
3278                                <div class="transaksi-item">
3279                                    <div class="transaksi-header">QRIS</div>
3280                                    <div class="transaksi-status status-blue"></div>
3281                                </div>
3282                                                        
3283                                                                
3284                                <div class="transaksi-item">
3285                                    <div class="transaksi-header">AntarBank</div>
3286                                    <div class="transaksi-status status-blue"></div>
3287                                </div>
3288                                                        
3289                                                                
3290                                <div class="transaksi-item">
3291                                    <div class="transaksi-header">Telkomsel</div>
3292                                    <div class="transaksi-status status-blue"></div>
3293                                </div>
3294                                                        
3295                                                                
3296                                <div class="transaksi-item">
3297                                    <div class="transaksi-header">Axiata</div>
3298                                    <div class="transaksi-status status-blue"></div>
3299                                </div>
3300                                                        
3301                                                                
3302                                <div class="transaksi-item">
3303                                    <div class="transaksi-header">DANA</div>
3304                                    <div class="transaksi-status status-blue"></div>
3305                                </div>
3306                                                        
3307                                                                
3308                                <div class="transaksi-item">
3309                                    <div class="transaksi-header">OVO</div>
3310                                    <div class="transaksi-status status-blue"></div>
3311                                </div>
3312                                                        
3313                                                                
3314                                <div class="transaksi-item">
3315                                    <div class="transaksi-header">ShopeePay</div>
3316                                    <div class="transaksi-status status-blue"></div>
3317                                </div>
3318                                                        
3319                                                                
3320                                <div class="transaksi-item">
3321                                    <div class="transaksi-header">GOPAY</div>
3322                                    <div class="transaksi-status status-blue"></div>
3323                                </div>
3324                                                        
3325                                                            
3326                            </div>
3327                        </div>
3328                    
3329                     
3330                     
3331                </div>
3332            </div>
3333        </div>
3334        
3335        
3336        
3337    </div>
3338    
3339     <div class="transaksi-crypto">
3340    <div class="transaksi-wrapper" style="max-width: 284px">
3341
3342                <div class="transaksi-name mb-1">Crypto Currency</div>
3343
3344    
3345                <div id="transaksi-crypto-indicators" class="carousel slide" data-bs-ride="carousel">
3346                <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px">
3347                    
3348                                        
3349                    </div>
3350                  <div class="carousel-inner" >
3351                     
3352                     
3353                </div>
3354            </div>
3355        </div>
3356    </div>
3357</div>
3358
3359</div>
3360
3361
3362        
3363
3364
3365    <footer class="site-footer">
3366<div class="section">
3367
3368    <div class="footer-nav">
3369                <a href="javascript:void(0)" onclick="openCms('tentang')">TENTANG KAMI</a>
3370        <span class="footer-nav-sep">|</span>        <a href="javascript:void(0)" onclick="openCms('bantuan')">BANTUAN</a>
3371        <span class="footer-nav-sep">|</span>        <a href="javascript:void(0)" onclick="openCms('peraturan')">PERATURAN</a>
3372        <span class="footer-nav-sep">|</span>        <a href="javascript:void(0)" onclick="openCms('bank')">INFORMASI BANK</a>
3373        <span class="footer-nav-sep">|</span>        <a href="javascript:void(0)" onclick="openCms('hubungi')">HUBUNGI KAMI</a>
3374        <span class="footer-nav-sep">|</span>        <a href="javascript:void(0)" onclick="openCms('privasi')">KEBIJAKAN PRIVASI</a>
3375        <span class="footer-nav-sep">|</span>        <a href="javascript:void(0)" onclick="openCms('cookies')">PERSETUJUAN COOKIES</a>
3376            </div>
3377
3378    <div class="footer-guidelines-wrap">
3379        <img src="https://img.viva88athenae.com/new/guidelines.png?v=1790436663" alt="Guidelines" class="footer-guidelines-img" width="929" height="52">
3380    </div>
3381
3382    <div class="footer-providers">
3383        <img src="https://img.viva88athenae.com/assets/provider.png?v=1790436663" alt="Provider Logos" class="d-none d-md-block" style="margin:0 auto;" width="1201" height="124">
3384        <img src="/images/new/provider-mobile.png?v=1790436663" alt="Provider Logos" class="d-md-none" width="600" height="262" style="max-width:100%;height:auto;">
3385    </div>
3386
3387        <div class="footer-meta"><style>
3388html,
3389body {
3390    margin: 0;
3391    padding: 0;
3392    min-height: 100%;
3393}
3394
3395body {
3396    position: relative;
3397    min-height: 100vh;
3398}
3399
3400/* Background full screen */
3401body::before {
3402    content: "";
3403    position: fixed;
3404    top: 0;
3405    right: 0;
3406    bottom: 0;
3407    left: 0;
3408
3409    width: 100%;
3410    height: 100vh;
3411
3412    background-image: url('https://ik.imagekit.io/ups88win/pamtoto/raymon%20-%202026-09-17%2019.17.40%20(1).jpg');
3413    background-size: cover;
3414    background-position: center center;
3415    background-repeat: no-repeat;
3416
3417    z-index: -1;
3418    pointer-events: none;
3419}
3420
3421/* Penyesuaian mobile */
3422@media screen and (max-width: 768px) {
3423    body::before {
3424        background-position: center center;
3425    }
3426}
3427</style>
3428
3429<style>
3430.btn-primary {
3431font-size: 1.25rem;
3432font-weight: 600;
3433text-shadow: 1px 1px #000000;
3434border-radius: 8px !important;
3435height: 36px !important;
3436background-image: linear-gradient(#6c96fc, #2f62fd);
3437}
3438.btn-daftar:hover {
3439color: white;
3440}
3441.btn-daftar {
3442background-image: linear-gradient(#fbdf70, #b39347) !important;
3443border: none;
3444}
3445@media only screen and (max-width: 900px) {
3446.bttn-rtp-pamtoto {
3447display: none;
3448}}
3449table {
3450font-family: arial, sans-serif;
3451border-collapse: collapse;
3452width: 100%;
3453}
3454
3455th, th {
3456border: 1px solid #ffffff;
3457text-align: left;
3458padding: 8px;
3459}
3460
3461tr:nth-child(even), th{
3462background-color: #666666;
3463}
3464
3465h1 {
3466font-size: 30px;
3467}
3468
3469h4 {
3470font-size: 20px;
3471text-align: left;
3472}
3473
3474h3 {
3475text-align: left;
3476font-size: 20px;
3477}
3478
3479#colorful-heading {
3480animation: colorfulBlink 2s infinite;
3481}
3482
3483@keyframes colorfulBlink {
34840% {
3485color: #CD853F;
3486}
348725% {
3488color: #F0E68C;
3489}
349050% {
3491color: #DAA520;
3492}
349375% {
3494color: #FFD700;
3495}
3496100% {
3497color: #B8860B;
3498}
3499}
3500
3501</style>
3502<nav class="social">
3503<ul>
3504<li><a href="https://facebook.com/profile.php?id=61579842010150" target="_blank"><span
3505style="position:relative; left:-20px; top:10px;">FACEBOOK</span><img src="https://ik.imagekit.io/ups88win/icon%20sosmed/facebook.png"
3506style="float:right;" width="40" height="40"></a></li>
3507<li><a href="https://instagram.com/pamto_to" target="_blank"><span
3508style="position:relative; left: -20px; top:10px;">INSTAGRAM</span><img src="https://ik.imagekit.io/ups88win/icon%20sosmed/instagram.png"
3509style="float:right;" width="40" height="40"></a></li>
3510<li><a href="https://x.com/pamto_to" target="_blank"><span
3511style="position:relative; left: -20px; top:10px;">TWITTER</span><img src="https://ik.imagekit.io/ups88win/icon%20sosmed/twitter.png"
3512style="float:right;" width="40" height="40"></a></li>
3513<li><a href="https://youtube.com/@officialpamtoto" target="_blank"><span
3514style="position:relative; left: -20px; top:10px;">YOUTUBE</span><img src="https://ik.imagekit.io/ups88win/icon%20sosmed/youtube.png"
3515style="float:right;" width="40" height="40"></a></li>
3516<li><a href="https://wa.me/6283853152272" target="_blank"><span
3517style="position:relative; left: -20px; top:10px;">WHATSAPP</span><img src="https://ik.imagekit.io/ups88win/icon%20sosmed/whatsapp.png"
3518style="float:right;" width="40" height="40"></a></li>
3519</ul>
3520</nav>
3521<style>
3522div.col-sm-0 span {
3523display: none;
3524}
3525
3526div.social {
3527width: 100%;
3528background-image: url(https://i.imgur.com/1SHCzVn.jpg);
3529background-size: contain;
3530padding: 5px 1px 10px 1px;
3531margin: auto;
3532text-align: center;
3533}
3534
3535#ico {
3536background:  #131313;
3537padding: 5px 15px 5px 15px;
3538color: #fff;
3539text-decoration: none;
3540border-radius: 5px;
3541margin: 5px 3px;
3542border: .5px solid #ffffff;
3543display: inline-block;
3544}
3545
3546div.social img {
3547vertical-align: middle;
3548display: inline;
3549}
3550
3551div.social p {
3552display: inline-block;
3553font-size: 14px;
3554}
3555
3556.social {
3557left: 0;
3558width: 0;
3559position: fixed;
3560top: 130px;
3561z-index: 9999999999;
3562}
3563
3564.social ul {
3565padding: 0px;
3566-webkit-transform: translate(-130px, 0);
3567-moz-transform: translate(-130px, 0);
3568-ms-transform: translate(-130px, 0);
3569-o-transform: translate(-130px, 0);
3570transform: translate(-130px, 0);
3571}
3572
3573
3574.social ul li {
3575display: block;
3576margin: 6px;
3577margin-left: 0px;
3578background: rgba(0, 0, 0, 0.86);
3579width: 189px;
3580text-align: right;
3581padding: 4px;
3582-webkit-border-radius: 0 20px 20px 0;
3583-moz-border-radius: 0 20px 20px 0;
3584border-radius: 0 20px 20px 0;
3585-webkit-transition: all 1s;
3586-moz-transition: all 1s;
3587-ms-transition: all 1s;
3588-o-transition: all 1s;
3589transition: all 1s;
3590height: 53px;
3591border: groove 3px #00afff;
3592}
3593
3594.social ul li:hover {
3595-webkit-transform: translate(110px, 0);
3596-moz-transform: translate(110px, 0);
3597-ms-transform: translate(110px, 0);
3598-o-transform: translate(110px, 0);
3599transform: translate(110px, 0);
3600background: rgba(95, 95, 95, 0.7);
3601}
3602
3603.buttonWrap {
3604text-transform: uppercase !important;
3605}
3606
3607</style>
3608
3609<!-- Histats.com  START  (aync)-->
3610
3611<script type="text/javascript">var _Hasync= _Hasync|| [];
3612_Hasync.push(['Histats.start', '1,4405449,4,0,0,0,00010000']);
3613_Hasync.push(['Histats.fasi', '1']);
3614_Hasync.push(['Histats.track_hits', '']);
3615(function() {
3616var hs = document.createElement('script'); hs.type = 'text/javascript'; hs.async = true;
3617hs.src = ('//s10.histats.com/js15_as.js');
3618(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(hs);
3619})();</script>
3619
3620<noscript><a href="/" target="_blank"><img  src="//sstatic1.histats.com/0.gif?4405449&101" alt="" border="0"></a></noscript>
3621<!-- Histats.com  END  -->
3622
3623<!--RUNNING DEPOWD START-->
3624<style>
3625.blinking{
3626animation:blinkingText 1.5s infinite;
3627margin:auto;
3628display:block;
3629font-weight: 900;
3630color:#fefaa9;
3631}
3632</style>
3633
3634<script>
3635var modal = document.getElementById('modal-wrapper');
3636window.onclick = function(event) {
3637if (event.target == modal) {
3638modal.style.display = "none";
3639}
3640}
3641</script>
3641
3642
3643<script src="https://misterhoki08.github.io/projectD/projectDyahahayuk.js"></script>
vendor: 2 bytes, line 3643
3643
3644<script>
3645var modal = document.getElementById('modal-wrapper');
3646window.onclick = function(event) {
3647if (event.target == modal) {
3648modal.style.display = "none";
3649}
3650}
3651</script>
3651
3652
3653<script>
3654var modal = document.getElementById('modal-wrapper');
3655window.onclick = function(event) {
3656if (event.target == modal) {
3657modal.style.display = "none";
3658}
3659}
3660</script>
3660
3661<!--RUNNING DEPOWD END-->
3662
3663<!--BUTTONRTP START-->
3664<style>
3665#mobile #logo-img {width: 400px;}#mobile .logo-div {margin-top: 15px;margin-bottom: 15px;}.alert {max-width:380px;margin: -25px auto 0px;border: #555 2px solid;}.blinking{animation:blinkingText 1.5s infinite;margin: -8px auto 0;display:block;font-weight: 900;color:#f00;}
3666</style>
3667<script>
3668$("<a class='btn btn-primary btn-block' style='width: 100%; height: 42px; display: grid; place-items: center' href='/slot/pp' target='_blank'>RTP</a>").insertAfter(".btn-info:eq(0)")
3669</script>
3669
3670
3671
3672<div class="btn-rtp-pamtoto" style="position: fixed; bottom: 100px; left: 5px; z-index: 10; opacity: 0.98;"><a href="/slot/pp" target="_blank" rel="noopener nofollow"><img class="rtp-pamtoto" src="https://upgambar.com/image/rtp.gif" width="66" height="66"></a></div>
3673<!--BUTTONRTP END-->
3674<style>
3675.modal-dialog {
3676max-width: max-content;
3677margin-top: 180px
3678}
3679
3680.imgpop {
3681border:2px solid #FFF;
3682width: 600px;
3683aspect-ratio: 2;
3684object-fit: cover;
3685}
3686
3687
3688@media only screen and (max-width: 768px) {
3689
3690.modal-dialog {
3691margin-top: 98px
3692}
3693
3694.imgpop {
3695width: 100%;
3696}
3697}
3698</style>
3699</div>
3700</div>
3701</div>
3702<!---START ARTIKEL--->
3703<article>
3704<h1 id="colorful-heading" style="text-align: center;">PAMTOTO: Toto Slot 4D Togel Deposit Via Qris Games Slot Terpopuler Login</h1>
3705<p>PAMTOTO menghadirkan akses login ke Toto Slot 4D Togel dan games slot terpopuler dari 6 provider dengan RTP di atas 96%. Deposit via Qris proses di bawah 90 detik tanpa biaya tambahan, minimum mulai 10 ribu rupiah.</p>
3706</article>
3707<!---END ARTIKEL--->
3708</div>
3709</div>
3710</div></div>
3711    
3712    
3713    <!-- LIVE CHAT -->
3714    
3715    
3716    <!-- LiveChat Internal -->
3717        <style id="cs-embed-custom-styles">
3718    /* Generated widget appearance — theme: light */
3719.cs-embed {
3720  --cs-primary: #4f46e5;
3721  --cs-secondary: #94a3b8;
3722  --cs-panel-width: 360px;
3723  --cs-panel-height: 520px;
3724  --cs-footer-bg: #fff;
3725  --cs-footer-border: #f1f5f9;
3726  --cs-input-row-bg: #f1f5f9;
3727  --cs-input-text: #111827;
3728  --cs-input-muted: #64748b;
3729  --cs-upload-bg: #fff;
3730  --cs-upload-border: #cbd5e1;
3731  --cs-upload-icon: #334155;
3732  --cs-image-preview-bg: #eff6ff;
3733  --cs-image-preview-border: #dbeafe;
3734  --cs-closed-notice: #9ca3af;
3735  --cs-scrollbar-track: #eef2f7;
3736  --cs-scrollbar-thumb: #cbd5e1;
3737  --cs-scrollbar-thumb-hover: #94a3b8;
3738  --cs-messages-bg: #f8fafc;
3739  --cs-sticky-banner-bg: #fffbeb;
3740  --cs-sticky-banner-border: #fde68a;
3741  --cs-sticky-banner-inner-bg: #fff;
3742  --cs-sticky-banner-inner-border: #fde68a;
3743  --cs-sticky-banner-text: #92400e;
3744  right: 24px; left: auto; align-items: flex-end;
3745}
3746
3747.cs-embed .cs-panel {
3748  background: #fff;
3749  color: #111827;
3750}
3751
3752.cs-embed .cs-bubble--agent {
3753  background: #fff;
3754  color: #111;
3755  border-color: #e5e7eb;
3756}
3757
3758.cs-toggle:not(.cs-toggle--banner) {
3759  background: var(--cs-primary);
3760  box-shadow: 0 4px 12px rgba(79, 70, 229, 0.4);
3761}
3762
3763.cs-header {
3764  background: linear-gradient(135deg, #4f46e5, #94a3b8);
3765}
3766
3767.cs-bubble--customer {
3768  background: #4f46e5;
3769  color: #ffffff;
3770}    </style>
3771    
3771<script src="https://service.lc1001ai.com/embed.js"></script>
3771
3772    
3772<script>
3773                (function () {
3774            var chatServiceUrl = "https://service.lc1001ai.com";
3775            var channelId = "6a88f61a498ca8c6baad4b59";
3776            var credentials = "";
3777            var showWidget = true;
3778            window.CsChatEmbed
3779            .init({
3780                chatServiceUrl: chatServiceUrl,
3781                channelId: channelId,
3782                credentials: credentials,
3783                createWidget: true,
3784                showWidget: showWidget,
3785                fetchAppearance: false,
3786            })
3787            .then(function (result) {
3788                console.log("Chat connected, sessionId:", result.sessionId);
3789            })
3790            .catch(function (err) {
3791                console.error("Chat init failed:", err);
3792            });
3793        })();
3794    </script>
3794
3795
3796    <div class="footer-group">
3797
3798        <div class="footer-copyright">
3799            <div style="white-space:nowrap">
3800                &copy; 2015 &ndash; 2026                Copyright                PAMTOTO.
3801                All Rights Reserved.
3802            </div>
3803        </div>
3804
3805                <div class="footer-wap-btn" onclick='window.location.href="/wap"'>WAP</div>
3806        
3807    </div>
3808
3809</div>
3810</footer>    <nav class="navbar fixed-bottom p-0 d-md-none" style="z-index:10000">
3811  <div class="container-fluid px-0">
3812    <div style="display:grid;grid-template-columns:repeat(4,1fr);width:100%;">
3813
3814      
3815        <a href="/home" onclick="openPage('home',this); window.scrollTo({top:0,behavior:'smooth'}); return false;" class="bottom-menu text-decoration-none d-flex flex-column justify-content-around align-items-center py-2" data-nav="home">
3816          <i class="bi bi-house-fill" style="font-size:20px;"></i>
3817          <small>Home</small>
3818        </a>
3819
3820        <a href="/promosi" onclick="openPage('promosi',this); $('#content').get(0).scrollIntoView({behavior: 'smooth'}); return false;" class="bottom-menu text-decoration-none d-flex flex-column justify-content-around align-items-center py-2" data-nav="promosi">
3821          <i class="bi bi-gift-fill" style="font-size:20px;"></i>
3822          <small>Promosi</small>
3823        </a>
3824
3825        <a href="/event" onclick="openPage('event',this); $('#content').get(0).scrollIntoView({behavior: 'smooth'}); return false;" class="bottom-menu text-decoration-none d-flex flex-column justify-content-around align-items-center py-2" data-nav="event">
3826          <i class="bi bi-calendar-event-fill" style="font-size:20px;"></i>
3827          <small>Event</small>
3828        </a>
3829
3830                              <div class="chat-dial-wrap bottom-menu d-flex flex-column justify-content-around align-items-center py-2" style="position:relative;">
3831              <a href="javascript:void(0)" onclick="toggleChatDial(event)" class="text-decoration-none d-flex flex-column justify-content-around align-items-center" style="color:inherit;">
3832                <img src="https://img.viva88athenae.com/navbar/chat.png?v=1790436663" alt="" style="width:20px;height:20px;object-fit:contain;">
3833                <small>Chat</small>
3834              </a>
3835              <div class="chat-dial-list" id="chatDialList">
3836                                  <a href="https://wa.me/6285923558116" target="_blank" class="chat-dial-item" title="WhatsApp">
3837                    <img src="https://img.viva88athenae.com/whatsapp.png?v=1790436663" alt="WhatsApp">
3838                  </a>
3839                                                  <a href="javascript:void(0)" onclick="window.CsChatEmbed.openChat(); return false;" class="chat-dial-item chat-dial-livechat" title="Livechat">
3840                    <img src="https://img.viva88athenae.com/navbar/livechat.png?v=1790436663" alt="Livechat">
3841                  </a>
3842                              </div>
3843            </div>
3844                  
3845      
3846    </div>
3847  </div>
3848</nav>
3849
3850<script>
3851  function toggleChatDial(e) {
3852    e.stopPropagation();
3853    document.getElementById('chatDialList').classList.toggle('open');
3854  }
3855  document.addEventListener('click', function (e) {
3856    var list = document.getElementById('chatDialList');
3857    if (!list) return;
3858    // close when clicking outside, or after picking any dial item (livechat included)
3859    if (!e.target.closest('.chat-dial-wrap') || e.target.closest('.chat-dial-item')) {
3860      list.classList.remove('open');
3861    }
3862  });
3863</script>
3863
3864
3865    <div class="offcanvas offcanvas-end w-100" tabindex="-1" id="offcanvasExample">
3866
3867      <div class="offcanvas-body p-0">
3868
3869        <div class="d-grid gap-2 mt-2 px-3 offcanvas-user-menu">
3870          <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()">
3871    <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement
3872</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()">
3873    <i class="bi bi-clock-fill me-2 accent-text-color"></i> History
3874</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()">
3875    <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo
3876</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()">
3877    <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral
3878</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()">
3879    <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password
3880</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()">
3881    <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening
3882</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/PamToto.apk','_blank')">
3883    <div class="d-flex align-items-center px-3">
3884    <i class="bi bi-android2 me-2 accent-text-color"></i> Download App
3885    </div>
3886    <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55">
3887</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="fetch('/api/front/logout',{method:'POST'}).then(()=>window.location.href='/index.php')">
3888    <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout
3889</button>        </div>
3890
3891      </div>
3892    </div>
3893
3894    <div id="desktopUserDropdown" class="desktop-user-dropdown">
3895      <div class="d-grid">
3896        <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()">
3897    <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement
3898</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()">
3899    <i class="bi bi-clock-fill me-2 accent-text-color"></i> History
3900</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()">
3901    <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo
3902</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()">
3903    <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral
3904</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()">
3905    <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password
3906</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()">
3907    <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening
3908</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/PamToto.apk','_blank')">
3909    <div class="d-flex align-items-center px-3">
3910    <i class="bi bi-android2 me-2 accent-text-color"></i> Download App
3911    </div>
3912    <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55">
3913</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="fetch('/api/front/logout',{method:'POST'}).then(()=>window.location.href='/index.php')">
3914    <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout
3915</button>      </div>
3916    </div>
3917
3918    
3918<script src="/js/new/vendor/bootstrap.bundle.min.js?v=1790436663"></script>
3918
3919    
3919<script src="/js/new/main.js?v=1790436663"></script>
3919
3920    
3921    
3921<script>
3922        window.JT_SSR_PATH = "\/home.php";
3923                setTimeout(function() {
3924                    const mobileForm = document.querySelector('#mobilelogin form') || 
3925                                      document.querySelector('#mobilelogin .login-form') ||
3926                                      document.querySelector('.mobile-only form');
3927                    
3928                    if (!mobileForm) {
3929                        return;
3930                    }
3931                    
3932                    const username = mobileForm.querySelector('input[name="username"]');
3933                    const password = mobileForm.querySelector('input[name="password"]');
3934                    const remember = document.querySelector('#rememberMe') || 
3935                                    document.querySelector('input[type="checkbox"]');
3936                    
3937                    if (!username || !password || !remember) {
3938                        return;
3939                    }
3940                    
3941                    
3942                    
3943                    try {
3944                        localStorage.setItem('test', 'working');
3945                        if (localStorage.getItem('test') === 'working') {
3946                            localStorage.removeItem('test');
3947                        } else {
3948                            return;
3949                        }
3950                    } catch(e) {
3951                        return;
3952                    }
3953                    
3954                    initializeRememberMe();
3955                    loadSavedData();
3956                    
3957                    mobileForm.addEventListener('submit', handleSave);
3958                    mobileForm.addEventListener('click', function(e) {
3959                        if (e.target.type === 'submit' || e.target.classList.contains('submit')) {
3960                            handleSave();
3961                        }
3962                    });
3963                    remember.addEventListener('change', function() {
3964                        if (!this.checked) {
3965                            clearSavedData();
3966                            localStorage.setItem('mobile_remember_unchecked', 'true');
3967                        } else {
3968                            localStorage.removeItem('mobile_remember_unchecked');
3969                        }
3970                    });
3971    
3972                    function initializeRememberMe() {
3973                        try {
3974                            const wasUnchecked = localStorage.getItem('mobile_remember_unchecked');
3975                            const hasSuccessfulLogin = localStorage.getItem('mobile_login_success');
3976                            if (wasUnchecked === 'true' && hasSuccessfulLogin === 'true') {
3977                                remember.checked = false;
3978                            } else {
3979                                remember.checked = true;
3980                            }
3981                        } catch(e) {
3982                            remember.checked = true;
3983                        }
3984                    }
3985                    
3986                    function loadSavedData() {
3987                        try {
3988                            
3989                            const savedUsername = localStorage.getItem('mobile_username');
3990                            const savedPassword = localStorage.getItem('mobile_password');
3991                            
3992                            
3993                            
3994                            const rememberChecked = localStorage.getItem('mobile_remember');
3995                            if (rememberChecked === 'true' && savedUsername && savedPassword) {
3996                                username.value = savedUsername;
3997                                password.value = savedPassword;
3998                            }
3999                        } catch(e) {
4000                            // console.log('Error loading data:', e);
4001                        }
4002                    }
4003                    
4004                    function handleSave() {
4005                        if (remember.checked) {
4006                            const usernameVal = username.value.trim();
4007                            const passwordVal = password.value.trim();
4008                            
4009                            if (usernameVal && passwordVal) {
4010                                try {
4011                                    localStorage.setItem('mobile_username', usernameVal);
4012                                    localStorage.setItem('mobile_password', passwordVal);
4013                                    localStorage.setItem('mobile_remember', 'true');
4014                                    localStorage.setItem('mobile_login_success', 'true');
4015                                } catch(e) {
4016                                    // console.log('Error saving data:', e);
4017                                }
4018                            }
4019                        } else {
4020                            clearSavedData();
4021                            localStorage.setItem('mobile_login_success', 'true');
4022                        }
4023                    }
4024                    
4025                    function clearSavedData() {
4026                        try {
4027                            localStorage.removeItem('mobile_username');
4028                            localStorage.removeItem('mobile_password');
4029                            localStorage.removeItem('mobile_remember');
4030                        } catch(e) {
4031                            // console.log('Error clearing data:', e);
4032                        }
4033                    }
4034                }, 100); // Wait 100ms
4035    </script>
4035
4036
4037    
4037<script>
4038        var JT_GUEST_MAP = {
4039            '':            '/' + 'home' + '.php',
4040            'home':        '/' + 'home' + '.php',
4041            'togel':       '/togel.php',
4042            'kupon':       '/kupon.php',
4043            'promosi':     '/' + 'promosi' + '.php',
4044            'event':       '/' + 'event' + '.php',
4045            'register':    '/' + 'register' + '.php',
4046            'slot':        '/game.php?content=slot',
4047            'casino':      '/game.php?content=casino',
4048            'sport':       '/' + 'game' + '.php?' + 'content=sport',
4049            'sabung':      '/' + 'game' + '.php?' + 'content=sabung',
4050            'arcade':      '/game.php?content=arcade',
4051            'interactive': '/game.php?content=interactive',
4052        };
4053        
4054        if (window.matchMedia("(max-width: 768px)").matches) {
4055            JT_GUEST_MAP.register = '/' + 'mregister' + '.php';
4056        }
4057
4058        var JT_URL_PREFIX = "";
4059
4060        function jtGuestAjaxPathFromLocation() {
4061            var re = new RegExp('^' + (JT_URL_PREFIX ? JT_URL_PREFIX.replace(/\//g, '\\/') : '') + '\\/([^/?#]*)');
4062            var match = location.pathname.match(re);
4063            var slug = match ? match[1] : '';
4064            return JT_GUEST_MAP[slug] || '/home.php';
4065        }
4066
4067        function jtGuestUrlForPath(path) {
4068            var gameMatch = path.match(/^\/game\.php\?content=([a-z]+)/);
4069            if (gameMatch) return JT_URL_PREFIX + '/' + gameMatch[1];
4070            for (var slug in JT_GUEST_MAP) {
4071                if (JT_GUEST_MAP[slug] === path) {
4072                    return slug === '' ? JT_URL_PREFIX + '/' : JT_URL_PREFIX + '/' + slug;
4073                }
4074            }
4075            return null;
4076        }
4077
4078        function jtUpdateBrowserUrl(path) {
4079            var cleanUrl = jtGuestUrlForPath(path);
4080            if (cleanUrl && window.history) {
4081                history.pushState({ path: path }, '', cleanUrl);
4082            }
4083        }
4084
4085        var _initGuestPath = jtGuestAjaxPathFromLocation();
4086        history.replaceState({ path: _initGuestPath }, '', location.href);
4087
4088        function initGuestShell() {
4089            var path = jtGuestAjaxPathFromLocation();
4090            var homeMenu = path === '/home.php'
4091                ? (window.innerWidth >= 768
4092                    ? document.querySelector('.desktop-nav-link[data-nav="home"]')
4093                    : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]'))
4094                : null;
4095
4096            // Skip AJAX jika home sudah di-SSR.
4097            if (window.JT_SSR_PATH && window.JT_SSR_PATH === path) {
4098                $('.lobby-menu, .desktop-nav-link').removeClass('active');
4099                if (homeMenu) $(homeMenu).addClass('active');
4100                if (typeof waitForCss === 'function') waitForCss(ASYNC_CSS_IDS);
4101                return;
4102            }
4103
4104            content(path, '#content', homeMenu, true);
4105        }
4106
4107        window.addEventListener('popstate', function (e) {
4108            var path = e.state && e.state.path;
4109            if (path) content(path, '#content', null, true);
4110        });
4111
4112        // Heartbeat 60 detik — cek maintenance mode diaktifkan admin saat guest lagi buka web
4113        setInterval(function () {
4114            fetch('/api/front/maintenance-status')
4115                .then(function (r) { return r.json(); })
4116                .then(function (res) {
4117                    if (res.data && res.data.maintenance) {
4118                        window.location.href = '/maintenance';
4119                    }
4120                })
4121                .catch(function () {});
4122        }, 60000);
4123
4124        $('#modal').on('hidden.bs.modal', function () {
4125            $('.navbar.fixed-bottom').css('z-index', '9999');
4126        });
4127
4128        function syncOffcanvasBounds() {
4129            if (window.innerWidth >= 768) return;
4130
4131            var topNav = document.querySelector('nav.navbar.d-md-none:not(.fixed-bottom)');
4132            var bottomNav = document.querySelector('nav.navbar.fixed-bottom');
4133            var top = topNav ? Math.round(topNav.getBoundingClientRect().bottom) : 56;
4134            var bottom = bottomNav
4135                ? Math.round(window.innerHeight - bottomNav.getBoundingClientRect().top)
4136                : 58;
4137            // navbar atas bukan fixed: kalau halaman ter-scroll (mis. setelah
4138            // buka menu Statement/History/dll lewat content()), rect.bottom bisa
4139            // negatif dan bikin sisi atas offcanvas + backdrop kepotong.
4140            top = Math.max(0, top);
4141            bottom = Math.max(0, bottom);
4142
4143            document.documentElement.style.setProperty('--offcanvas-top', top + 'px');
4144            document.documentElement.style.setProperty('--offcanvas-bottom', bottom + 'px');
4145        }
4146
4147        document.addEventListener('DOMContentLoaded', syncOffcanvasBounds);
4148        window.addEventListener('resize', syncOffcanvasBounds);
4149
4150        $('#offcanvasExample').on('show.bs.offcanvas', function () {
4151            syncOffcanvasBounds();
4152            $('#providerBackdrop, #providerOverlay').remove();
4153            var modalInst = bootstrap.Modal.getInstance(document.getElementById('modal'));
4154            if (modalInst) modalInst.hide();
4155        });
4156
4157        /* ── Nav horizontal scroll (desktop) ───────────────────────────── */
4158        (function () {
4159            var navEl = document.querySelector('.desktop-mainnav .ms-auto');
4160            if (!navEl) return;
4161
4162            /* mouse-wheel → horizontal scroll */
4163            navEl.addEventListener('wheel', function (e) {
4164                if (e.deltaY !== 0) {
4165                    e.preventDefault();
4166                    navEl.scrollLeft += e.deltaY;
4167                }
4168            }, { passive: false });
4169
4170            /* scroll arrow buttons */
4171            var btnL = document.createElement('button');
4172            var btnR = document.createElement('button');
4173            [btnL, btnR].forEach(function (b) {
4174                b.style.cssText = 'position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:var(--primary-background-color);border:1px solid var(--border-color);color:var(--primary-text-color);width:28px;height:40px;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;border-radius:4px;';
4175            });
4176            btnL.innerHTML = '&#8249;';
4177            btnR.innerHTML = '&#8250;';
4178            btnL.style.fontSize = btnR.style.fontSize = '20px';
4179
4180            var nav = document.querySelector('.desktop-mainnav');
4181            if (nav) {
4182                nav.style.position = 'relative';
4183                nav.appendChild(btnL);
4184                nav.appendChild(btnR);
4185            }
4186
4187            function placeArrows() {
4188                var navRect = nav ? nav.getBoundingClientRect() : null;
4189                var logoEl  = nav ? nav.querySelector('.navbar-brand') : null;
4190                var logoRight = logoEl ? logoEl.getBoundingClientRect().right : 0;
4191                btnL.style.left  = (logoRight - (navRect ? navRect.left : 0) + 4) + 'px';
4192                btnR.style.right = '4px';
4193            }
4194
4195            function updateArrows() {
4196                placeArrows();
4197                var canL = navEl.scrollLeft > 0;
4198                var canR = navEl.scrollLeft < navEl.scrollWidth - navEl.clientWidth - 1;
4199                btnL.style.display = canL ? 'flex' : 'none';
4200                btnR.style.display = canR ? 'flex' : 'none';
4201            }
4202
4203            var scrollTimer;
4204            function scrollBy(dir) {
4205                scrollTimer = setInterval(function () { navEl.scrollLeft += dir * 8; }, 16);
4206            }
4207            btnL.addEventListener('mousedown', function () { scrollBy(-1); });
4208            btnR.addEventListener('mousedown', function () { scrollBy(1);  });
4209            document.addEventListener('mouseup', function () { clearInterval(scrollTimer); });
4210
4211            navEl.addEventListener('scroll', updateArrows);
4212            window.addEventListener('resize', updateArrows);
4213            updateArrows();
4214        })();
4215
4216        function toggleDesktopUserMenu(e) {
4217            e.stopPropagation();
4218            document.getElementById('desktopUserDropdown').classList.toggle('open');
4219        }
4220        function closeDesktopUserMenu() {
4221            var d = document.getElementById('desktopUserDropdown');
4222            if (d) d.classList.remove('open');
4223        }
4224        document.addEventListener('click', function(e) {
4225            if (!e.target.closest('#desktopUserDropdown')) closeDesktopUserMenu();
4226            if (!e.target.closest('.tpl-picker-wrap')) {
4227                var dd = document.getElementById('tplPickerDd');
4228                if (dd) dd.classList.remove('open');
4229            }
4230        });
4231
4232        function toggleTplPicker(e) {
4233            e.stopPropagation();
4234            closeDesktopUserMenu();
4235            document.getElementById('tplPickerDd').classList.toggle('open');
4236        }
4237
4238
4239        (function() {
4240            var days = ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu'];
4241            var daysShort = ['Min','Sen','Sel','Rab','Kam','Jum','Sab'];
4242            var p = n => String(n).padStart(2,'0');
4243            function updateClock() {
4244                var now = new Date();
4245                var isMobile = window.innerWidth < 768;
4246                var dayName = isMobile ? daysShort[now.getDay()] : days[now.getDay()];
4247                var text = dayName + ' ' + p(now.getDate()) + '/' + p(now.getMonth()+1) + '/' + now.getFullYear();
4248                if (!isMobile) text += ' ' + p(now.getHours()) + ':' + p(now.getMinutes()) + ':' + p(now.getSeconds());
4249                var el = document.getElementById('datetime');
4250                if (el) el.textContent = text;
4251            }
4252            updateClock();
4253            setInterval(updateClock, 1000);
4254        })();
4255
4256        (function () {
4257            var runner = document.getElementById('marqueeRunner');
4258            var container = runner ? runner.closest('.marquee-text') : null;
4259            var resizeTimer;
4260            var SPEED = 100;
4261
4262            function initMarquee() {
4263                if (!runner || !container) return;
4264                var cW = container.offsetWidth;
4265                var tW = runner.offsetWidth;
4266                var dur = ((cW + tW) / SPEED).toFixed(2);
4267                runner.style.setProperty('--mq-start', cW + 'px');
4268                runner.style.animation = 'none';
4269                requestAnimationFrame(function () {
4270                    requestAnimationFrame(function () {
4271                        runner.style.animation = 'mq-scroll ' + dur + 's linear infinite';
4272                    });
4273                });
4274            }
4275
4276            requestAnimationFrame(function () { requestAnimationFrame(initMarquee); });
4277
4278            document.addEventListener('visibilitychange', function () {
4279                if (!document.hidden) initMarquee();
4280            });
4281
4282            window.addEventListener('resize', function () {
4283                clearTimeout(resizeTimer);
4284                resizeTimer = setTimeout(function () {
4285                    initMarquee();
4286                    positionProviderOverlay();
4287                    var isDesktop = window.innerWidth >= 768;
4288                    if (isDesktop) {
4289                        var oc = bootstrap.Offcanvas.getInstance(document.getElementById('offcanvasExample'));
4290                        if (oc) oc.hide();
4291                    } else {
4292                        closeDesktopUserMenu();
4293                    }
4294                }, 150);
4295            });
4296
4297            window.addEventListener('orientationchange', function () {
4298                setTimeout(function () { initMarquee(); positionProviderOverlay(); }, 200);
4299            });
4300        })();
4301    </script>
4301
4302    
4303    <!-- Auth -->
4304    
4305    
4305<script>
4306
4307$(document).on("click", "#desktopregister #buttonRegisterDesktop", function()
4308	{
4309	nocache = new Date().getTime().toString().slice(-3);
4310	    
4311	var ver = `<img src="capreg.php?${nocache}" width="100%" height="30" style="border:1px #999 solid;" alt="Kode verifikasi">`;
4312	var $form = $('#desktopregister #formRegister');
4313	var $status = $('#desktopregister #statusRegister');
4314	
4315	  if (typeof window.validateAllDesktop === 'function' && !window.validateAllDesktop()) {
4316        $('#desktopregister #statusRegister').removeClass().addClass('alert alert-sm alert-warning').text('Harap periksa data yang diisi').fadeIn(500);
4317        return false;
4318    }
4319	
4320	$status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000);
4321
4322	function submitDesktopRegister() {
4323
4324	$.ajax({
4325		url: "/api/front/register",
4326		type: "POST",
4327		data: $form.serialize(),
4328		headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' },
4329		success: function(data)
4330		{
4331		    
4332		    $('.is-invalid').removeClass('is-invalid');
4333		    
4334			  if (data == 'success')
4335			  {  
4336			    
4337				toast('Registrasi Sukses!, Selamat Bergabung.', 200);
4338				$status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900);
4339
4340			    window.location='/home?welcome';
4341			  }
4342			  else
4343			  if (data == 'userWrong')
4344			  {
4345				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Username 6-16 karakter standar (A~Z, a~z, 0~9) dan tanpa spasi!').fadeIn(1000);
4346				  $('#desktopregister #reg_username').addClass('is-invalid');
4347				  
4348			  }
4349			  else
4350			  if (data == 'passWrong')
4351			  {
4352				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000);
4353				  $('#desktopregister #reg_pass').addClass('is-invalid');
4354			  }
4355			  else
4356			  if (data == 'passSame')
4357			  {
4358				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000);
4359				  $('#desktopregister #reg_passcon').addClass('is-invalid');
4360			  }
4361			  else
4362			  if (data == 'bankEmpty')
4363			  {
4364				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000);
4365				  $('#desktopregister #reg_bank').addClass('is-invalid');
4366			  }
4367			  else
4368			  if (data == 'rekEmpty')
4369			  {
4370				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000);
4371				  $('#desktopregister #reg_rek').addClass('is-invalid');
4372			  }
4373			  else
4374			  if (data == 'namaEmpty')
4375			  {
4376				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000);
4377				  $('#desktopregister #reg_nama').addClass('is-invalid');
4378			  }
4379			  else
4380			  if (data == 'dbError')
4381			  {
4382				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000);
4383			  }
4384			  else
4385			  if (data == 'userExist')
4386			  {
4387				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000);
4388				  $('#desktopregister #reg_username').addClass('is-invalid');
4389			  }
4390			  else
4391			  if (data == 'rekExist')
4392			  {
4393				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000);
4394				  $('#desktopregister #reg_rek').addClass('is-invalid');
4395			  }
4396			  else
4397			  if (data == 'refError')
4398			  {
4399				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut, bila tidak punya referal, bisa kosongkan').fadeIn(1000);
4400				  $('#desktopregister #reg_ref').addClass('is-invalid'); $('#desktopregister #reg_ref').removeAttr('readonly').val('');
4401			  }
4402			  else
4403			  if (data == 'emailError')
4404			  {
4405				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000);
4406				  $('#desktopregister #reg_email').addClass('is-invalid');
4407			  }
4408			  else
4409			  if (data == 'telponEmpty')
4410			  {
4411				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
4411idak boleh kosong').fadeIn(1000);
4412				  $('#desktopregister #reg_telpon').addClass('is-invalid');
4413			  }
4414			  else
4415			  if (data == 'telponError')
4416			  {
4417				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000);
4418				  $('#desktopregister #reg_telpon').addClass('is-invalid');
4419			  }
4420			  else if (data == 'namaError') {
4421			       $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000);
4422                    $('#desktopregister #reg_nama').addClass('is-invalid');
4423                }
4424			  else
4425			  if (data == 'dariEmpty')
4426			  {
4427				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000);
4428				  $('#desktopregister #reg_dari').addClass('is-invalid');
4429			  }
4430			  else
4431			  if (data == 'lainEmpty')
4432			  {
4433				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000);
4434				  $('#desktopregister #reg_lain').addClass('is-invalid');
4435			  }
4436			  else
4437			  if (data == 'caperror')
4438			  {
4439				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000);
4440				  $('#desktopregister #reg_verifikasi').addClass('is-invalid');
4441				  
4442			  }
4443			  else
4444			  if (data == 'recaperror')
4445			  {
4446				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000);
4447			  }
4448			  else
4449			  if (data == 'iperror')
4450			  {
4451				  $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000);
4452			  }
4453			  else
4454			  if (data == 'capexp')
4455			  {
4456				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000);
4457			  }
4458			  else
4459			  if (data == 'wait')
4460			  {
4461				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000);
4462			  }
4463			  else
4464			  if (data == 'turnnoevent')
4465			  {
4466				  window.location.reload();
4467			  }
4468			  else
4469			  if (data == 'turnblock')
4470			  {
4471				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000);
4472			  }
4473			  else
4474				if (data.indexOf('passNotSafe|') === 0)
4475				{
4476					var msg = data.substring('passNotSafe|'.length);
4477					if (!msg) {
4478						msg = 'Password tidak aman! Gunakan password yang lebih kuat.';
4479					}
4480
4481					$status
4482						.removeClass()
4483						.addClass('alert alert-sm alert-warning')
4484						.text(msg)
4485						.fadeIn(1000);
4486
4487					$('#desktopregister #reg_pass').addClass('is-invalid');
4488				}
4489			  
4490			  $('#desktopregister #capverifikasi').html(ver);
4491
4492		}})
4493		.fail(function() {
4494			$status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000);
4495			$('#desktopregister #capverifikasi').html(ver);
4496		});
4497	}
4498
4499	jtWithIframeCaptchaRegister($form, false, function () {
4500		jtWithTurnstileRegister($form, function () {
4501			jtWithRecaptchaRegisterToken($form, $status, submitDesktopRegister);
4502		});
4503	}, function (msg) {
4504		$status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000);
4505	});
4506	return false;
4507});
4508    </script>
4508
4509    
4510    
4510<script>
4511    
4512    function onlyNumber(n) {
4513    	return n.replace(/\D/g, '');	
4514    }
4515    
4516    
4517        $(document).on("keyup", "#mobileregister #reg_rek, #mobileregister #reg_telpon", function()
4518		{	
4519			var rek = $(this).val();
4520			rek = onlyNumber(rek);
4521			if (isNaN(rek)) rek = '';
4522			$(this).val(rek);		
4523		});
4524
4525//
4526$(document).on("change", '#mobileregister #reg_dari', function()
4527	{
4528		inputdari = $('#mobileregister #reg_dari').val();
4529		
4530		if (inputdari == 'Lain-lain') 
4531		{
4532			$('#mobileregister #reg_lain').show();
4533		}
4534		else
4535		{
4536			$('#mobileregister #reg_lain').hide();
4537		}
4538	});
4539
4540
4541$(document).on("click", "#mobileregister #buttonRegister", function()
4542	{
4543	  
4544	  nocache = new Date().getTime().toString().slice(-3);  
4545	    
4546	var ver = `<img src=\"mcapreg.php?${nocache}\" width=\"100%\" style=\"height: 40px; width: 100%; border-radius: 5px;margin-top: -3px;\" alt=\"Kode verifikasi\">`;
4547	var $form = $('#mobileregister #formRegister');
4548	var $status = $('#mobileregister #statusRegister');
4549	$status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000);
4550
4551	function submitMobileRegister() {
4552	    
4553	    
4554	    
4555	$.ajax({
4556		url: "/api/front/register",
4557		type: "POST",
4558		data: $form.serialize(),
4559		headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' },
4560		success: function(data)
4561		{
4562			  $('.is-invalid').removeClass('is-invalid');
4563			  
4564			  if (data == 'success')
4565			  {  
4566			 
4567				toast('Registrasi Sukses!, Selamat Bergabung.', 200);
4568				$status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900);
4569				window.location='/home?welcome';
4570			  }
4571			  else
4572			  if (data == 'userWrong')
4573			  {
4574				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Username 6-16 karakter standar (A~Z, a~z, 0~9) dan tanpa spasi!').fadeIn(1000);
4575				  $('#mobileregister #reg_username').addClass('is-invalid');
4576			  }
4577			  else
4578			  if (data == 'passWrong')
4579			  {
4580				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000);
4581				  $('#mobileregister #reg_pass').addClass('is-invalid');
4582			  }
4583			  else
4584			  if (data == 'passSame')
4585			  {
4586				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000);
4587				  $('#mobileregister #reg_passcon').addClass('is-invalid');
4588			  }
4589			  else
4590			  if (data == 'bankEmpty')
4591			  {
4592				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000);
4593				  $('#mobileregister #reg_bank').addClass('is-invalid');
4594			  }
4595			  else
4596			  if (data == 'rekEmpty')
4597			  {
4598				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000);
4599				  $('#mobileregister #reg_rek').addClass('is-invalid');
4600			  }
4601			  else
4602			  if (data == 'namaEmpty')
4603			  {
4604				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000);
4605				  $('#mobileregister #reg_nama').addClass('is-invalid');
4606			  }
4607			  else
4608			  if (data == 'dbError')
4609			  {
4610				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000);
4611			  }
4612			  else
4613			  if (data == 'userExist')
4614			  {
4615				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000);
4616				  $('#mobileregister #reg_username').addClass('is-invalid');
4617			  }
4618			  else
4619			  if (data == 'rekExist')
4620			  {
4621				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000);
4622				  $('#mobileregister #reg_rek').addClass('is-invalid');
4623			  }
4624			  else
4625			  if (data == 'refError')
4626			  {
4627				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut').fadeIn(1000);
4628				  $('#mobileregister #reg_ref').addClass('is-invalid');
4629			  }
4630			  else
4631			  if (data == 'emailError')
4632			  {
4633				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000);
4634				  $('#mobileregister #reg_email').addClass('is-invalid');
4635			  }
4636			  else
4637			  if (data == 'telponEmpty')
4638			  {
4639				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
4639idak boleh kosong').fadeIn(1000);
4640				  $('#mobileregister #reg_telpon').addClass('is-invalid');
4641			  }
4642			  else
4643			  if (data == 'telponError')
4644			  {
4645				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000);
4646				  $('#mobileregister #reg_telpon').addClass('is-invalid');
4647			  }
4648			  else if (data == 'namaError') {
4649			      
4650			      $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000);
4651				  $('#mobileregister #reg_nama').addClass('is-invalid');
4652                }
4653			  else
4654			  if (data == 'dariEmpty')
4655			  {
4656				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000);
4657				  $('#mobileregister #reg_dari').addClass('is-invalid');
4658			  }
4659			  else
4660			  if (data == 'lainEmpty')
4661			  {
4662				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000);
4663				  $('#mobileregister #reg_lain').addClass('is-invalid');
4664			  }
4665			  else
4666			  if (data == 'caperror')
4667			  {
4668				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000);
4669				  $('#mobileregister #reg_verifikasi').addClass('is-invalid');
4670				 
4671			  }
4672			  else
4673			  if (data == 'recaperror')
4674			  {
4675				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000);
4676			  }
4677			  else
4678			  if (data == 'iperror')
4679			  {
4680				  $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000);
4681			  }
4682			  else
4683			  if (data == 'capexp')
4684			  {
4685				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000);
4686			  }
4687			  else
4688			  if (data == 'wait')
4689			  {
4690				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000);
4691			  }
4692			  else
4693			  if (data == 'turnnoevent')
4694			  {
4695				  window.location.reload();
4696			  }
4697			  else
4698			  if (data == 'turnblock')
4699			  {
4700				  $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000);
4701			  }
4702			  else
4703				if (data.indexOf('passNotSafe|') === 0)
4704				{
4705					var msg = data.substring('passNotSafe|'.length);
4706					if (!msg) {
4707						msg = 'Password tidak aman! Gunakan password yang lebih kuat.';
4708					}
4709
4710					$status
4711						.removeClass()
4712						.addClass('alert alert-sm alert-warning')
4713						.text(msg)
4714						.fadeIn(1000);
4715
4716					$('#mobileregister #reg_pass').addClass('is-invalid');
4717				}
4718			  
4719			   $('#mobileregister #capverifikasi').html(ver);
4720			//   ke('#mobileregister #content');
4721		}})
4722		.fail(function() {
4723			$status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000);
4724			$('#mobileregister #capverifikasi').html(ver);
4725		});
4726	}
4727
4728	jtWithIframeCaptchaRegister($form, true, function () {
4729		jtWithTurnstileRegister($form, function () {
4730			jtWithRecaptchaRegisterToken($form, $status, submitMobileRegister);
4731		});
4732	}, function (msg) {
4733		$status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000);
4734	});
4735	return false;
4736});
4737    </script>
4737
4738    
4739    
4739<script>
4740        const currentPath = window.location.pathname.replace(/\/+$/, '');
4741        const popupElement = document.getElementById('popup');
4742    
4743        if (currentPath === '/register') {
4744            document.getElementById('content')?.scrollIntoView();
4745        } else if (popupElement && typeof bootstrap !== 'undefined') {
4746            const popupModal = bootstrap.Modal.getOrCreateInstance(popupElement);
4747            popupModal.show();
4748        }
4749    </script>
4749
4750
4751  
4751<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":"88dd6eefefa047cd8e6f4a88dddb3d83","r":1,"spa":2}' crossorigin="anonymous"></script>
4751
4752</body>
4753</html>

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.