PageSourceSearch

https://bbni4dabsen.com/slot

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