PageSourceSearch

https://udinslotace.com/

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