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 = '787484eedb9611bc203b971a0ccb318fc84a79a404d1cac2f62b4d4b469da5fa'; 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;"> 2358<div class="home-view"> 2359 2360 <div class="home-section"> 2361 <div class="section-title"> 2362 <i class="bi bi-bar-chart-fill me-1"></i> 2363 Pasaran Togel </div> 2364 <div id="togel-panel" class="togel-grid-wrap togel-panel" style="margin-bottom: 20px;margin-top: 15px;"> 2365 <div class="togel-panel-more"><i class="bi bi-chevron-double-down"></i></div> 2366 </div> 2367 </div> 2368 2369 2370 2371 <div class="home-section"> 2372 <div class="section-title"> 2373 <i class="bi bi-fire me-1"></i> 2374 Hot Slot Games </div> 2375 <div class="game-scroll-wrap"> 2376 <div class="game-card" onclick="launchGame('2p6jSAStqDyueTZP_frU92ww5W9Vs-JzbMe38ZygZOw', 450, 800)"> 2377 <div class="game-card-img-box"> 2378 <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/mahjong-ways.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async"> 2379 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2380 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2381 2382 </div> 2383 2384 </div> <div class="game-card" onclick="launchGame('hPYqNGE3dUr6MnzVBgdNhVDKdCs89SnwmvcXugiKZP8', 450, 800)"> 2385 <div class="game-card-img-box"> 2386 <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/mahjong-ways2.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async"> 2387 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2388 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2389 2390 </div> 2391 2392 </div> <div class="game-card" onclick="launchGame('ZzmHUXecTYLMemjuDu1rFbLrGBRodmGVUCbrqzLAL0k', 450, 800)"> 2393 <div class="game-card-img-box"> 2394 <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/wild-bounty-showdown.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async"> 2395 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2396 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2397 2398 </div> 2399 2400 </div> <div class="game-card" onclick="launchGame('UE9f7ONCiiKHTKsxlGT-aiP1BrhoN3XXFWVONHeuzlI', 1200, 800)"> 2401 <div class="game-card-img-box"> 2402 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vs20olympx.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async"> 2403 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2404 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2405 2406 </div> 2407 2408 </div> <div class="game-card" onclick="launchGame('Rj9EvSQAc6dInBeR7MoS9MmmWP1lRjOLutXB91MmRzIRIt5sh2iazDOHctXHt5dN', 1200, 800)"> 2409 <div class="game-card-img-box"> 2410 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vswaysmahwblck.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async"> 2411 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2412 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2413 2414 </div> 2415 2416 </div> <div class="game-card" onclick="launchGame('wrBaRtMb2ev9rqI2eOlFeuCtWqAagmQF6MSwgLWiQ9FTmFPg7yECQxcT344C9YnK', 1200, 800)"> 2417 <div class="game-card-img-box"> 2418 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vs20olympgold.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async"> 2419 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2420 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2421 2422 </div> 2423 2424 </div> <div class="game-card" onclick="launchGame('U74IE3Z295Ko1Lw2IMWPss4w3IXym3hrlJilMscgdB4', 450, 800)"> 2425 <div class="game-card-img-box"> 2426 <img class="js-game-image" src="https://img.viva88athenae.com/new/cq9/images/VPCQS28.png?v=1" data-provider="cq9" alt="" loading="lazy" decoding="async"> 2427 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2428 2429 2430 </div> 2431 2432 </div> <div class="game-card" onclick="launchGame('lA45gelOeKtXpArHx8YXe2pf9PNF2T9t6MB-2tqq9tQ', 450, 800)"> 2433 <div class="game-card-img-box"> 2434 <img class="js-game-image" src="https://img.viva88athenae.com/new/mgw/images/6059.png?v=1" data-provider="mgw" alt="" loading="lazy" decoding="async"> 2435 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2436 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2437 2438 </div> 2439 2440 </div> <div class="game-card" onclick="launchGame('LqvOhZwQgB4-xzZjI4domR74s8hOSdO5IVNdMEKHGeqD1aEannb_vfNk0rdmBUS_', 1200, 800)"> 2441 <div class="game-card-img-box"> 2442 <img class="js-game-image" src="https://img.viva88athenae.com/new/mg/images/p5_mahjongmaxwin.png?v=1" data-provider="mg" alt="" loading="lazy" decoding="async"> 2443 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2444 2445 2446 </div> 2447 2448 </div> <div class="game-card" onclick="launchGame('-Nro3KgsZzsMxKFMkQJ5VYau9rIrdUtyKvOMVo0nN_RcNzuNM0Uxo-C1-HLZEe5Z', 450, 800)"> 2449 <div class="game-card-img-box"> 2450 <img class="js-game-image" src="https://img.viva88athenae.com/new/fgs/images/S5G-H5-99950.png?v=1" data-provider="fgs" alt="" loading="lazy" decoding="async"> 2451 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2452 2453 2454 </div> 2455 2456 </div> </div> 2457 </div> 2458 2459 2460 <div class="home-section"> 2461 <div class="section-title"> 2462 <i class="bi bi-suit-heart-fill me-1"></i> 2463 Hot Casino Games </div> 2464 <div class="game-scroll-wrap"> 2465 <div class="game-card" onclick="launchGame('8HpdBgOBpVMRuZjtGTySJMtmPd8Of-CkqA1ArmI3kS8', 1080, 700)"> 2466 <div class="game-card-img-box"> 2467 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/1301.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async"> 2468 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2469 2470 2471 </div> 2472 2473 </div> <div class="game-card" onclick="launchGame('Zv83RNLYAuxqTNW-JmdeoUCGH2YrFhfPvW0nXZjiMEQ', 1080, 700)"> 2474 <div class="game-card-img-box"> 2475 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/1101.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async"> 2476 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2477 2478 2479 </div> 2480 2481 </div> <div class="game-card" onclick="launchGame('fyg4YHR7iIYmqHGEeSHJgBmenRiAJ1I3uVGKEGecKPw', 1080, 700)"> 2482 <div class="game-card-img-box"> 2483 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/801.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async"> 2484 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2485 2486 2487 </div> 2488 2489 </div> <div class="game-card" onclick="launchGame('SL1be_E6J1XVQnxaVD6JV1eEsjjZGNx5fJ-WDbjhMgE', 1080, 700)"> 2490 <div class="game-card-img-box"> 2491 <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/icefishing.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async"> 2492 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2493 2494 2495 </div> 2496 2497 </div> <div class="game-card" onclick="launchGame('hSTyO09ddHdZqOTzA-Y9YiUsBCU9lY3l6naT5yWEQmA', 1080, 700)"> 2498 <div class="game-card-img-box"> 2499 <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/crazytime.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async"> 2500 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2501 2502 2503 </div> 2504 2505 </div> <div class="game-card" onclick="launchGame('pwJIS00PdPhWQ2Q3LeM9yZQzYSXrB6F2t6IOcpgbr6uNnnjuHvMHd2oxF89owEhY', 1080, 700)"> 2506 <div class="game-card-img-box"> 2507 <img class="js-game-image" src="https://img.viva88athenae.com/new/ion/images/ion_roulette.png?v=1" data-provider="ion" alt="" loading="lazy" decoding="async"> 2508 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2509 2510 2511 </div> 2512 2513 </div> <div class="game-card" onclick="launchGame('SA5uv1F8lsqLR00wFdXuvZip7rDiwNW-_WN-Rp9cPmAEMKc4HMLfMz4eHo2su-Cy', 1080, 700)"> 2514 <div class="game-card-img-box"> 2515 <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/lightningstorm.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async"> 2516 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2517 2518 2519 </div> 2520 2521 </div> <div class="game-card" onclick="launchGame('TJU8t5-GzSfEa1Yg4m8k6nfgQhWZa58gsZvaWvq-34I', 1080, 700)"> 2522 <div class="game-card-img-box"> 2523 <img class="js-game-image" src="https://img.viva88athenae.com/new/sx/images/lobb
2523y.png?v=1" data-provider="sx" alt="" loading="lazy" decoding="async"> 2524 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2525 2526 2527 </div> 2528 2529 </div> <div class="game-card" onclick="launchGame('831swpcQ5EGZHYvNeyAssmFYky1iL_5y22nmJS2Qs9VW008nG4rWsqdF8CWTS5tR', 1080, 700)"> 2530 <div class="game-card-img-box"> 2531 <img class="js-game-image" src="https://img.viva88athenae.com/new/sbo/images/sbol_roulette.png?v=1" data-provider="sbol" alt="" loading="lazy" decoding="async"> 2532 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2533 2534 2535 </div> 2536 2537 </div> <div class="game-card" onclick="launchGame('b1auoSJ0bgbRXE4OCg-zkFnJImFnTjg9hAyV2pb7N6k', 1080, 700)"> 2538 <div class="game-card-img-box"> 2539 <img class="js-game-image" src="https://img.viva88athenae.com/new/ptlc/images/rol.png?v=1" data-provider="ptlc" alt="" loading="lazy" decoding="async"> 2540 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2541 2542 2543 </div> 2544 2545 </div> </div> 2546 </div> 2547 2548 2549 <div class="home-section"> 2550 <div class="section-title"> 2551 <i class="bi bi-trophy-fill me-1"></i> 2552 Sport Matches </div> 2553 <div class="match-slider-wrap"> 2554 <div id="sportMatchSplide" class="splide"> 2555 <div class="splide__track"> 2556 <ul class="splide__list"> 2557 <li class="splide__slide"> 2558 <div class="match-card-home"> 2559 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2560 <div class="kickoff-time">October 10, 2026 — 18:30 WIB</div> 2561 <div class="match-main-row"> 2562 <div class="team-col"> 2563 <img src="https://cdn.sportnanoapi.com/football/team/d6f5debc456da1119256ab66462ab510.png" class="team-logo" alt=""> 2564 <div class="team-name">Arsenal</div> 2565 </div> 2566 <div class="score-col"> 2567 <div class="score-value">0 : 0</div> 2568 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100346)">BET NOW</a> 2569 </div> 2570 <div class="team-col"> 2571 <img src="https://cdn.sportnanoapi.com/football/team/cd46d2ed1d364308dc206c97b48ce556.png" class="team-logo" alt=""> 2572 <div class="team-name">Leeds United</div> 2573 </div> 2574 </div> 2575 <div class="match-odds-row"> 2576 <div class="odds-col"> 2577 0.75 <small style="margin-left: 5px;">0.50</small> 2578 </div> 2579 <div class="odds-spacer"></div> 2580 <div class="odds-col"> 2581 -0.75 <small style="margin-left: 5px;">-0.60</small> 2582 </div> 2583 </div> 2584 </div> 2585 </li> 2586 <li class="splide__slide"> 2587 <div class="match-card-home"> 2588 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2589 <div class="kickoff-time">October 10, 2026 — 21:00 WIB</div> 2590 <div class="match-main-row"> 2591 <div class="team-col"> 2592 <img src="https://cdn.sportnanoapi.com/football/team/a0cf8f551e9440acb3f4ff533dcc58a4.png" class="team-logo" alt=""> 2593 <div class="team-name">Chelsea</div> 2594 </div> 2595 <div class="score-col"> 2596 <div class="score-value">0 : 0</div> 2597 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100428)">BET NOW</a> 2598 </div> 2599 <div class="team-col"> 2600 <img src="https://cdn.sportnanoapi.com/football/team/240b30d333c97d293752ab7afd77ccd6.png" class="team-logo" alt=""> 2601 <div class="team-name">Bournemouth AFC</div> 2602 </div> 2603 </div> 2604 <div class="match-odds-row"> 2605 <div class="odds-col"> 2606 0.5 <small style="margin-left: 5px;">0.66</small> 2607 </div> 2608 <div class="odds-spacer"></div> 2609 <div class="odds-col"> 2610 -0.5 <small style="margin-left: 5px;">-0.76</small> 2611 </div> 2612 </div> 2613 </div> 2614 </li> 2615 <li class="splide__slide"> 2616 <div class="match-card-home"> 2617 <div class="league-name">
2617SPAIN LA LIGA</div> 2618 <div class="kickoff-time">October 10, 2026 — 23:30 WIB</div> 2619 <div class="match-main-row"> 2620 <div class="team-col"> 2621 <img src="https://cdn.sportnanoapi.com/football/team/f378eb1ea04e53999b89051aa3244de6.png" class="team-logo" alt=""> 2622 <div class="team-name">Barcelona</div> 2623 </div> 2624 <div class="score-col"> 2625 <div class="score-value">0 : 0</div> 2626 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215606)">BET NOW</a> 2627 </div> 2628 <div class="team-col"> 2629 <img src="https://cdn.sportnanoapi.com/football/team/36bf5bf0c8fdf08c1270124808f060e1.png" class="team-logo" alt=""> 2630 <div class="team-name">Getafe</div> 2631 </div> 2632 </div> 2633 <div class="match-odds-row"> 2634 <div class="odds-col"> 2635 2.5 <small style="margin-left: 5px;">0.82</small> 2636 </div> 2637 <div class="odds-spacer"></div> 2638 <div class="odds-col"> 2639 -2.5 <small style="margin-left: 5px;">-0.92</small> 2640 </div> 2641 </div> 2642 </div> 2643 </li> 2644 <li class="splide__slide"> 2645 <div class="match-card-home"> 2646 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2647 <div class="kickoff-time">October 10, 2026 — 21:00 WIB</div> 2648 <div class="match-main-row"> 2649 <div class="team-col"> 2650 <img src="https://cdn.sportnanoapi.com/football/team/a3c32d6a906083118cac2cb796edaab3.png" class="team-logo" alt=""> 2651 <div class="team-name">Aston Villa</div> 2652 </div> 2653 <div class="score-col"> 2654 <div class="score-value">0 : 0</div> 2655 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100395)">BET NOW</a> 2656 </div> 2657 <div class="team-col"> 2658 <img src="https://cdn.sportnanoapi.com/football/team/60f1c7788be3148a370dbf59f914abfe.png" class="team-logo" alt=""> 2659 <div class="team-name">Brentford</div> 2660 </div> 2661 </div> 2662 <div class="match-odds-row"> 2663 <div class="odds-col"> 2664 0.00 <small style="margin-left: 5px;">-0.97</small> 2665 </div> 2666 <div class="odds-spacer"></div> 2667 <div class="odds-col"> 2668 0.00 <small style="margin-left: 5px;">0.87</small> 2669 </div> 2670 </div> 2671 </div> 2672 </li> 2673 <li class="splide__slide"> 2674 <div class="match-card-home"> 2675 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2676 <div class="kickoff-time">October 10, 2026 — 21:00 WIB</div> 2677 <div class="match-main-row"> 2678 <div class="team-col"> 2679 <img src="https://cdn.sportnanoapi.com/football/team/957bdc50c307e2a9b526b34b3792da1a.png" class="team-logo" alt=""> 2680 <div class="team-name">Sunderland</div> 2681 </div> 2682 <div class="score-col"> 2683 <div class="score-value">0 : 0</div> 2684 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100525)">BET NOW</a> 2685 </div> 2686 <div class="team-col"> 2687 <img src="https://cdn.sportnanoapi.com/football/team/9b43a690d5a09f1e319f036821e8e1d3.png" class="team-logo" alt=""> 2688 <div class="team-name">Brighton & Hove Albion</div> 2689 </div> 2690 </div> 2691 <div class="match-odds-row"> 2692 <div class="odds-col"> 2693 0.00 <small style="margin-left: 5px;">-0.82</small> 2694 </div> 2695 <div class="odds-spacer"></div> 2696 <div class="odds-col"> 2697 0.00 <small style="margin-left: 5px;">0.72</small> 2698 </div> 2699 </div> 2700 </div> 2701 </li> 2702 <li class="splide__slide"> 2703 <div class="match-card-home"> 2704 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2705 <div class="kickoff-time">October 10, 2026 — 23:30 WIB</div> 2706 <div class="match-main-row"> 2707 <div class="team-col"> 2708 <img src="https://cdn.sportnanoapi.com/football/team/d39ce586fd7278342dde33b3090b3f75.png" class="team-logo" alt=""> 2709 <div class="team-name">Manchester United</div> 2710 </div> 2711 <div class="score-col"> 2712 <div class="score-value">0 : 0</div> 2713 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100582)">BET NOW</a> 2714 </div> 2715 <div class="team-col"> 2716 <img src="https://cdn.sportnanoapi.com/football/team/8b22ab4041e666b996a2d96f20dea707.png" class="team-logo" alt=""> 2717 <div class="team-name">Tottenham Hotspur</div> 2718 </div> 2719 </div> 2720 <div class="match-odds-row"> 2721 <div class="odds-col"> 2722 0.5 <small style="margin-left: 5px;">0.72</small> 2723 </div> 2724 <div class="odds-spacer"></div> 2725 <div class="odds-col"> 2726 -0.5 <small style="margin-left: 5px;">-0.82</small> 2727 </div> 2728 </div> 2729 </div> 2730 </li> 2731 <li class="splide__slide"> 2732 <div class="match-card-home"> 2733 <div class="league-name">
2733SPAIN LA LIGA</div> 2734 <div class="kickoff-time">October 11, 2026 — 02:00 WIB</div> 2735 <div class="match-main-row"> 2736 <div class="team-col"> 2737 <img src="https://cdn.sportnanoapi.com/football/team/7dacaa934fe4be00f23c1e209b5ef947.png" class="team-logo" alt=""> 2738 <div class="team-name">Real Madrid</div> 2739 </div> 2740 <div class="score-col"> 2741 <div class="score-value">0 : 0</div> 2742 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215615)">BET NOW</a> 2743 </div> 2744 <div class="team-col"> 2745 <img src="https://cdn.sportnanoapi.com/football/team/aee62af96a956756cc29fe4831286357.png" class="team-logo" alt=""> 2746 <div class="team-name">Villarreal</div> 2747 </div> 2748 </div> 2749 <div class="match-odds-row"> 2750 <div class="odds-col"> 2751 1 <small style="margin-left: 5px;">0.55</small> 2752 </div> 2753 <div class="odds-spacer"></div> 2754 <div class="odds-col"> 2755 -1 <small style="margin-left: 5px;">-0.65</small> 2756 </div> 2757 </div> 2758 </div> 2759 </li> 2760 <li class="splide__slide"> 2761 <div class="match-card-home"> 2762 <div class="league-name">ITALY SERIE A</div> 2763 <div class="kickoff-time">October 10, 2026 — 22:59 WIB</div> 2764 <div class="match-main-row"> 2765 <div class="team-col"> 2766 <img src="https://cdn.sportnanoapi.com/football/team/aa2245702c40f77799a5ad4b119581a8.png" class="team-logo" alt=""> 2767 <div class="team-name">Inter Milan</div> 2768 </div> 2769 <div class="score-col"> 2770 <div class="score-value">0 : 0</div> 2771 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145618118)">BET NOW</a> 2772 </div> 2773 <div class="team-col"> 2774 <img src="https://cdn.sportnanoapi.com/football/team/9fadd87d190982c8082dddf1567e0b9b.png" class="team-logo" alt=""> 2775 <div class="team-name">Parma Calcio</div> 2776 </div> 2777 </div> 2778 <div class="match-odds-row"> 2779 <div class="odds-col"> 2780 2 <small style="margin-left: 5px;">0.65</small> 2781 </div> 2782 <div class="odds-spacer"></div> 2783 <div class="odds-col"> 2784 -2 <small style="margin-left: 5px;">-0.75</small> 2785 </div> 2786 </div> 2787 </div> 2788 </li> 2789 <li class="splide__slide"> 2790 <div class="match-card-home"> 2791 <div class="league-name">
2791SPAIN LA LIGA</div> 2792 <div class="kickoff-time">October 10, 2026 — 19:00 WIB</div> 2793 <div class="match-main-row"> 2794 <div class="team-col"> 2795 <img src="https://cdn.sportnanoapi.com/football/team/5005d8feab109ce64e40beb98073cc1f.png" class="team-logo" alt=""> 2796 <div class="team-name">Rayo Vallecano</div> 2797 </div> 2798 <div class="score-col"> 2799 <div class="score-value">0 : 0</div> 2800 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215614)">BET NOW</a> 2801 </div> 2802 <div class="team-col"> 2803 <img src="https://cdn.sportnanoapi.com/football/team/abbb31d42c55612737713aac6567a226.png" class="team-logo" alt=""> 2804 <div class="team-name">Athletic Bilbao</div> 2805 </div> 2806 </div> 2807 <div class="match-odds-row"> 2808 <div class="odds-col"> 2809 0.00 <small style="margin-left: 5px;">0.98</small> 2810 </div> 2811 <div class="odds-spacer"></div> 2812 <div class="odds-col"> 2813 0.00 <small style="margin-left: 5px;">0.92</small> 2814 </div> 2815 </div> 2816 </div> 2817 </li> 2818 <li class="splide__slide"> 2819 <div class="match-card-home"> 2820 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2821 <div class="kickoff-time">October 11, 2026 — 22:30 WIB</div> 2822 <div class="match-main-row"> 2823 <div class="team-col"> 2824 <img src="https://cdn.sportnanoapi.com/football/team/1cb3d08adac0e2dc1c4f10429d055bfe.png" class="team-logo" alt=""> 2825 <div class="team-name">Liverpool</div> 2826 </div> 2827 <div class="score-col"> 2828 <div class="score-value">0 : 0</div> 2829 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100751)">BET NOW</a> 2830 </div> 2831 <div class="team-col"> 2832 <img src="https://cdn.sportnanoapi.com/football/team/c4a6528a2ee147b99c9885ef24385a4e.png" class="team-logo" alt=""> 2833 <div class="team-name">Manchester City</div> 2834 </div> 2835 </div> 2836 <div class="match-odds-row"> 2837 <div class="odds-col"> 2838 0.00 <small style="margin-left: 5px;">-0.83</small> 2839 </div> 2840 <div class="odds-spacer"></div> 2841 <div class="odds-col"> 2842 0.00 <small style="margin-left: 5px;">0.73</small> 2843 </div> 2844 </div> 2845 </div> 2846 </li> 2847 </ul> 2848 </div> 2849 </div> 2850 </div> 2851 </div> 2852 2853 2854 2855 <div class="home-section"> 2856 <div class="widget-kupon" style="margin-top:20px;"> 2857 <iframe class="iframe-kupon" src="https://fkupon.com/widget2.php" title="Widget kupon" loading="lazy"></iframe> 2858 <div onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',null) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm())" style="position:absolute;top:0;left:0;right:0;bottom:0;cursor:pointer;z-index:5;"></div> 2859 </div> 2860 </div> 2861 2862 2863</div> 2864
2865<script> 2866(function () { 2867 function mountSportSplide() { 2868 var el = document.getElementById('sportMatchSplide'); 2869 if (!el || el.classList.contains('is-initialized')) return; 2870 if (typeof Splide === 'undefined') return; 2871 new Splide('#sportMatchSplide', { 2872 type : 'loop', 2873 perPage : 3, 2874 gap : '8px', 2875 autoplay : true, 2876 interval : 4500, 2877 pauseOnHover: true, 2878 pagination : true, 2879 arrows : true, 2880 breakpoints: { 2881 767: { perPage: 1 } 2882 } 2883 }).mount(); 2884 } 2885 function bootSportSplide() { 2886 if (typeof ensureSplide === 'function') { 2887 ensureSplide().then(mountSportSplide).catch(function () {}); 2888 } else { 2889 mountSportSplide(); 2890 } 2891 } 2892 // SSR: defer sampai Splide ready; AJAX: mount via ensureSplide. 2893 if (document.readyState === 'loading') { 2894 document.addEventListener('DOMContentLoaded', bootSportSplide); 2895 } else { 2896 bootSportSplide(); 2897 } 2898})(); 2899 2900var _sboLaunchToken = null; 2901 2902function jtSboBet(matchId) { 2903 if (window.JT_LOGGED_IN && _sboLaunchToken) { 2904 var url = '/new/launch/' + _sboLaunchToken; 2905 var standalone = window.navigator.standalone === true || 2906 window.matchMedia('(display-mode: standalone)').matches; 2907 var isMobile = standalone || window.innerWidth < 768; 2908 var popup = isMobile ? null : window.open('about:blank', '_blank', 'width=1200,height=800,top=0,left=0,resizable=yes,scrollbars=yes'); 2909 jtPost(url, { check: 1, matchId: matchId || '' }).then(function(res) { 2910 if (res.ok) { 2911 if (popup) { popup.location.href = url; } else { window.location.href = url; } 2912 } else if (popup) { 2913 popup.close(); 2914 } 2915 }).catch(function() { 2916 if (popup) popup.close(); 2917 }); 2918 } else { 2919 if (matchId) sessionStorage.setItem('jt_pending_action', JSON.stringify({type: 'sbo', matchId: matchId})); 2920 else sessionStorage.removeItem('jt_pending_action'); 2921 if (typeof scrollToLoginForm === 'function') scrollToLoginForm(); 2922 } 2923} 2924 2925</script>
2925 2926 2927<div id="pasaranPopupOverlay" class="pasaran-popup-overlay"> 2928 <div class="pasaran-popup themed-box"> 2929 <div class="pasaran-popup-inner"> 2930 <div class="pasaran-popup-header"> 2931 <div class="pasaran-popup-select"> 2932 <button type="button" class="pasaran-popup-select-btn" onclick="ppToggleDropdown()" id="ppSelectBtn"> 2933 <span id="ppTitle">-</span> 2934 <i class="bi bi-chevron-down"></i> 2935 </button> 2936 <div class="pasaran-popup-dropdown" id="ppDropdown"></div> 2937 </div> 2938 <button type="button" class="tx-btn-close" onclick="closePasaranPopup()" aria-label="Tutup"><i class="bi bi-x-lg"></i></button> 2939 </div> 2940 <div class="pasaran-popup-meta" id="ppMeta"></div> 2941 <div class="pasaran-popup-body"> 2942 <table class="themed-table history-table" id="ppTable"> 2943 <thead> 2944 <tr> 2945 <th style="width:10%">No.</th> 2946 <th>Tanggal</th> 2947 <th>Hari</th> 2948 <th>Periode</th> 2949 <th>Result</th> 2950 </tr> 2951 </thead> 2952 <tbody id="ppTableBody"></tbody> 2953 </table> 2954 </div> 2955 <div class="history-paging pasaran-popup-paging" id="ppPaging" style="display:none;"> 2956 <ul class="h-pages" id="ppPages"></ul> 2957 </div> 2958 </div> 2959 </div> 2960</div> 2961
2962<script> 2963window.addEventListener('message', function(e) { 2964 if (e.origin !== 'https://fkupon.com') return; 2965 var iframe = document.querySelector('.iframe-kupon'); 2966 if (!iframe) return; 2967 var h = null; 2968 if (e.data && typeof e.data.height === 'number') h = e.data.height; 2969 else if (typeof e.data === 'number') h = e.data; 2970 if (h !== null) { 2971 iframe.style.height = Math.max(60, h) + 'px'; 2972 } 2973}); 2974 2975// launchGame / copy helpers → main.js 2976 2977var _ppMarkets = []; 2978var _ppCurrentNameid = ''; 2979var PP_PER_PAGE = 10; 2980 2981function showPasaranPopup(el) { 2982 var overlay = document.getElementById('pasaranPopupOverlay'); 2983 var nameid = el.dataset.nameid || ''; 2984 if (!overlay || !nameid) return; 2985 overlay.style.display = 'flex'; 2986 ppSelectPasaran(nameid); 2987} 2988 2989function ppFindMarket(nameid) { 2990 for (var i = 0; i < _ppMarkets.length; i++) { 2991 if (String(_ppMarkets[i].nameid) === String(nameid)) return _ppMarkets[i]; 2992 } 2993 return null; 2994} 2995 2996function ppRenderDropdown() { 2997 var dd = document.getElementById('ppDropdown'); 2998 if (!dd) return; 2999 dd.innerHTML = ''; 3000 _ppMarkets.forEach(function (m) { 3001 var btn = document.createElement('button'); 3002 btn.type = 'button'; 3003 btn.className = 'pasaran-popup-dd-item' + (String(m.nameid) === String(_ppCurrentNameid) ? ' active' : ''); 3004 btn.textContent = m.name || ''; 3005 btn.dataset.nameid = m.nameid || ''; 3006 btn.addEventListener('click', function () { ppSelectPasaran(btn.dataset.nameid); }); 3007 dd.appendChild(btn); 3008 }); 3009} 3010 3011function ppSelectPasaran(nameid) { 3012 var market = ppFindMarket(nameid); 3013 if (!market) return; 3014 _ppCurrentNameid = nameid; 3015 document.getElementById('ppTitle').textContent = market.name || ''; 3016 var ppMetaRows = [ 3017 ['Website', market.web], 3018 ['Hari Undi', market.hari], 3019 ['Jam Tutup', market.jam_tutup], 3020 ['Jam Result', market.jam_result] 3021 ]; 3022 document.getElementById('ppMeta').innerHTML = ppMetaRows.map(function (r) { 3023 return '<div class="pasaran-popup-meta-row"><span class="pp-meta-label">' + esc(r[0]) + '</span><span class="pp-meta-value">: ' + esc(r[1] || '-') + '</span></div>'; 3024 }).join(''); 3025 ppRenderDropdown(); 3026 ppCloseDropdown(); 3027 ppLoadKeluaran(1); 3028} 3029 3030function ppToggleDropdown() { 3031 var dd = document.getElementById('ppDropdown'); 3032 var wrap = document.querySelector('.pasaran-popup-select'); 3033 if (dd) dd.classList.toggle('open'); 3034 if (wrap) wrap.classList.toggle('open'); 3035} 3036 3037function ppCloseDropdown() { 3038 var dd = document.getElementById('ppDropdown'); 3039 var wrap = document.querySelector('.pasaran-popup-select'); 3040 if (dd) dd.classList.remove('open'); 3041 if (wrap) wrap.classList.remove('open'); 3042} 3043 3044function ppLoadKeluaran(page) { 3045 var tbody = document.getElementById('ppTableBody'); 3046 tbody.innerHTML = '<tr><td colspan="5" class="text-center pp-loading-cell"><div class="content-loader-wrap"><div class="loader"></div></div></td></tr>'; 3047 3048 jtPostJson('/api/front/pasaran-keluaran', { 3049 pasaran: _ppCurrentNameid, 3050 page: page, 3051 per_page: PP_PER_PAGE 3052 }) 3053 .then(function (res) { 3054 if (!res.error || res.error.code !== 200) { ppRenderError(); return; } 3055 var data = res.data || {}; 3056 ppRenderRows(data.rows || [], data.pagination || {}); 3057 }) 3058 .catch(ppRenderError); 3059} 3060 3061function ppRenderError() { 3062 document.getElementById('ppTableBody').innerHTML = '<tr><td colspan="5" class="text-center pp-empty-cell" style="color:var(--secondary-text-color)">Gagal memuat data.</td></tr>'; 3063 document.getElementById('ppPaging').style.display = 'none'; 3064} 3065 3066function ppRenderRows(rows, pagination) { 3067 var tbody = document.getElementById('ppTableBody'); 3068 if (!rows.length) { 3069 tbody.innerHTML = '<tr><td colspan="5" class="text-center pp-empty-cell" style="color:var(--secondary-text-color)">Tidak ada data.</td></tr>'; 3070 } else { 3071 var page = pagination.page || 1; 3072 var startNo = (page - 1) * PP_PER_PAGE; 3073 tbody.innerHTML = rows.map(function (row, i) { 3074 return '<tr>' + 3075 '<td class="text-center" style="color:var(--secondary-text-color)">' + (startNo + i + 1) + '</td>' + 3076 '<td class="pp-col-tanggal">' + esc(row.tanggal) + '</td>' + 3077 '<td class="pp-col-hari">' + esc(row.hari) + '</td>' + 3078 '<td>' + esc(row.pasaran) + '</td>' + 3079 '<td class="pp-col-result"><strong>' + esc(row.result) + '</strong></td>' + 3080 '</tr>'; 3081 }).join(''); 3082 } 3083 ppRenderPaging(pagination); 3084} 3085 3086function ppRenderPaging(pagination) { 3087 var paging = document.getElementById('ppPaging'); 3088 var pagesList = document.getElementById('ppPages'); 3089 var totalPages = pagination.total_pages || 0; 3090 var page = pagination.page || 1; 3091 3092 if (totalPages <= 1) { paging.style.display = 'none'; return; } 3093 paging.style.display = ''; 3094 3095 pagesList.innerHTML = ''; 3096 function btn(label, targetPage, disabled, active) { 3097 var li = document.createElement('li'); 3098 var b = document.createElement('button'); 3099 b.innerHTML = label; 3100 if (disabled) b.disabled = true; 3101 if (active) b.classList.add('active'); 3102 b.addEventListener('click', function () { ppLoadKeluaran(targetPage); }); 3103 li.appendChild(b); 3104 pagesList.appendChild(li); 3105 } 3106 function ellipsis() { 3107 var li = document.createElement('li'); 3108 var span = document.createElement('span'); 3109 span.className = 'h-ellipsis'; 3110 span.textContent = '...'; 3111 li.appendChild(span); 3112 pagesList.appendChild(li); 3113 } 3114 3115 btn('First', 1, page === 1, false); 3116 3117 var winStart = Math.max(1, page - 2); 3118 var winEnd = Math.min(totalPages, page + 2); 3119 for (var p = winStart; p <= winEnd; p++) btn(p, p, false, p === page); 3120 3121 if (winEnd < totalPages) { 3122 if (winEnd < totalPages - 1) ellipsis(); 3123 btn(totalPages, totalPages, false, page === totalPages); 3124 } 3125 3126 btn('Last', totalPages, page === totalPages, false); 3127} 3128 3129function closePasaranPopup() {
3130 var overlay = document.getElementById('pasaranPopupOverlay'); 3131 if (overlay) overlay.style.display = 'none'; 3132 ppCloseDropdown(); 3133} 3134 3135document.addEventListener('click', function(e) { 3136 var overlay = document.getElementById('pasaranPopupOverlay'); 3137 if (overlay && e.target === overlay) closePasaranPopup(); 3138 3139 var selectWrap = document.querySelector('.pasaran-popup-select'); 3140 if (selectWrap && !selectWrap.contains(e.target)) ppCloseDropdown(); 3141}); 3142 3143(function() { 3144 var PER_PAGE = 10; 3145 3146 function initTogelPagination() { 3147 var wrap = document.querySelector('.togel-list-guest'); 3148 if (!wrap) return; 3149 3150 var rows = Array.prototype.slice.call(wrap.querySelectorAll('.togel-list-row')); 3151 var total = rows.length; 3152 if (total <= PER_PAGE) return; 3153 3154 var totalPages = Math.ceil(total / PER_PAGE); 3155 var currentPage = 1; 3156 3157 function showPage(page) { 3158 currentPage = page; 3159 rows.forEach(function(row, i) { 3160 var start = (page - 1) * PER_PAGE; 3161 row.style.display = (i >= start && i < start + PER_PAGE) ? 'flex' : 'none'; 3162 }); 3163 renderPager(); 3164 } 3165 3166 function renderPager() { 3167 var pager = document.getElementById('togelListPager'); 3168 if (!pager) return; 3169 pager.innerHTML = ''; 3170 3171 for (var p = 1; p <= totalPages; p++) { 3172 (function(pg) { 3173 var dot = document.createElement('button'); 3174 dot.className = 'tlp-dot' + (pg === currentPage ? ' active' : ''); 3175 dot.addEventListener('click', function() { showPage(pg); }); 3176 pager.appendChild(dot); 3177 })(p); 3178 } 3179 } 3180 3181 var pager = document.createElement('div'); 3182 pager.id = 'togelListPager'; 3183 pager.className = 'togel-list-pager'; 3184 wrap.parentNode.insertBefore(pager, wrap.nextSibling); 3185 3186 var touchStartX = 0; 3187 wrap.addEventListener('touchstart', function(e) { 3188 touchStartX = e.changedTouches[0].clientX; 3189 }, { passive: true }); 3190 wrap.addEventListener('touchend', function(e) { 3191 var dx = e.changedTouches[0].clientX - touchStartX; 3192 if (Math.abs(dx) < 40) return; 3193 if (dx < 0 && currentPage < totalPages) showPage(currentPage + 1); 3194 if (dx > 0 && currentPage > 1) showPage(currentPage - 1); 3195 }, { passive: true }); 3196 3197 showPage(1); 3198 } 3199 3200 initTogelPagination(); 3201})(); 3202 3203(function() { 3204 var btn = document.querySelector('.togel-panel-more'); 3205 if (!btn) return; 3206 btn.addEventListener('click', function() { 3207 var wrap = btn.closest('.togel-panel'); 3208 if (wrap) wrap.classList.toggle('togel-panel--open'); 3209 }); 3210})(); 3211 3212function jtBootHomePartial() { 3213 var isLoggedIn = false; 3214 var bootMarkets = [{"name":"TOTO WUHAN","nameid":"TWH","periode":"924","status":1,"web":"www.totowuhan.com","hari":"Setiap Hari ( 09:00 | 12:00 | 15:00 | 18:00 | 21:00 | 00:00 )","jam_tutup":"Tiap 3 jam","jam_result":"Tiap 3 jam","result":"6536","date":"10/10/2026"},{"name":"HK SIANG","nameid":"HKD","periode":"936","status":1,"web":"www.hkpools1.com","hari":"Setiap Hari","jam_tutup":"10:30 WIB","jam_result":"11:00 WIB","result":"3738","date":"9/10/2026"},{"name":"CAMBODIA","nameid":"CMB","periode":"224","status":1,"web":"www.magnumcambodia.com","hari":"Setiap Hari","jam_tutup":"11:30 WIB","jam_result":"11:50 WIB","result":"3669","date":"9/10/2026"},{"name":"SG METRO","nameid":"SGM","periode":"967","status":1,"web":"www.sgmetro.com","hari":"Setiap Hari","jam_tutup":"12:30 WIB","jam_result":"13:00 WIB","result":"2724","date":"9/10/2026"},{"name":"SYDNEY","nameid":"SYD","periode":"936","status":1,"web":"www.sydneypools.info","hari":"Setiap Hari","jam_tutup":"13.30 WIB","jam_result":"14:00 WIB","result":"6783","date":"9/10/2026"},{"name":"SYDNEY POOL","nameid":"SYDP","periode":"106","status":1,"web":"https://www.sydneypoolstoday.com/","hari":"Setiap Hari","jam_tutup":"13:30 WIB","jam_result":"14:00 WIB","result":"6915","date":"9/10/2026"},{"name":"SINGAPORE","nameid":"SG","periode":"253","status":1,"web":"www.singaporepools.com.sg","hari":"Senin, Rabu, Kamis, Sabtu, Minggu","jam_tutup":"17:20 WIB","jam_result":"17:45 WIB","result":"2855","date":"8/10/2026"},{"name":"MALAYSIA SIANG","nameid":"MYD","periode":"935","status":1,"web":"www.malaysialottery.net","hari":"Setiap Hari","jam_tutup":"14:30 WIB","jam_result":"15:00 WIB","result":"3162","date":"9/10/2026"},{"name":"MALAYSIA","nameid":"MY","periode":"883","status":1,"web":"www.malaysialottery.net","hari":"Setiap Hari","jam_tutup":"18:30 WIB","jam_result":"19:00 WIB","result":"6034","date":"9/10/2026"},{"name":"MACAU","nameid":"MC","periode":"865","status":1,"web":"www.supersixmacau.com","hari":"Setiap Hari","jam_tutup":"19:30 WIB","jam_result":"20:00 WIB","result":"0331","date":"9/10/2026"},{"name":"QATAR","nameid":"QTR","periode":"205","status":1,"web":"www.qatarlottery.com","hari":"Setiap Hari","jam_tutup":"20:30 WIB","jam_result":"21:00 WIB","result":"8696","date":"9/10/2026"},{"name":"HONGKONG","nameid":"HK","periode":"358","status":1,"web":"www.hongkongpools.com","hari":"Setiap Hari","jam_tutup":"22:30 WIB","jam_result":"23:00 WIB","result":"6469","date":"9/10/2026"},{"name":"TOTOMACAU 0000","nameid":"TMC00","periode":"225","status":1,"web":"www.totomacaupools.club","hari":"Setiap Hari","jam_tutup":"23:45 WIB","jam_result":"00:00 WIB","result":"1594","date":"10/10/2026"},{"name":"TOTOMACAU 1300","nameid":"TMC13","periode":"224","status":1,"web":"www.totomacaupools.club","hari":"Setiap Hari","jam_tutup":"12:45 WIB","jam_result":"13:00 WIB","result":"2582","date":"9/10/2026"},{"name":"TOTOMACAU 1600","nameid":"TMC16","periode":"224","status":1,"web":"www.totomacaupools.club","hari":"Setiap Hari","jam_tutup":"15:45 WIB","jam_result":"16:00 WIB","result":"1103","date":"9/10/2026"},{"name":"TOTOMACAU 1900","nameid":"TMC19","periode":"224","status":1,"web":"www.totomacaupools.club","hari":"Setiap Hari","jam_tutup":"18:45 WIB","jam_result":"19:00 WIB","result":"8919","date":"9/10/2026"},{"name":"TOTOMACAU 2200","nameid":"TMC22","periode":"224","status":1,"web":"www.totomacaupools.club","hari":"Setiap Hari","jam_tutup":"21:45 WIB","jam_result":"22:00 WIB","result":"6078","date":"9/10/2026"}]; 3215 3216 function renderTogelCards(markets) { 3217 var panel = document.getElementById('togel-panel'); 3218 if (!panel) return; 3219 3220 var loading = panel.querySelector('.togel-cards-loading'); 3221 if (loading) loading.remove(); 3222 3223 var moreBtn = panel.querySelector('.togel-panel-more'); 3224 panel.querySelectorAll('.togel-grid-row').forEach(function (el) { el.remove(); }); 3225 3226 var mid = markets.length > 10 ? Math.ceil(markets.length / 2) : Math.min(markets.length, 12); 3227 var rows = [markets.slice(0, mid), markets.slice(mid)]; 3228 3229 rows.forEach(function (row) { 3230 if (!row.length) return; 3231 var rowDiv = document.createElement('div'); 3232 rowDiv.className = 'togel-grid-row'; 3233 3234 row.forEach(function (m) { 3235 var card = document.createElement('div'); 3236 card.className = 'togel-card'; 3237 3238 var inner = '<div class="market-name">' + esc(m.name) + '</div>' + 3239 '<div class="market-code">
3239' + esc(m.result) + '</div>' + 3240 '<div class="market-info">' + esc(m.date) + '</div>'; 3241 3242 if (isLoggedIn) { 3243 var isMarketOnline = String(m.status) === '1'; 3244 if (isMarketOnline) { 3245 var marketCode = (m.nameid || '') + '-' + (m.periode || ''); 3246 card.setAttribute('onclick', "content('/togel-detail.php?market=" + encodeURIComponent(marketCode) + "','#content')"); 3247 } else { 3248 card.setAttribute('onclick', "content('/togel.php','#content')"); 3249 } 3250 } else { 3251 card.setAttribute('onclick', 'showPasaranPopup(this)'); 3252 card.dataset.nameid = m.nameid || ''; 3253 card.dataset.market = m.name || ''; 3254 card.dataset.website = m.web || ''; 3255 card.dataset.hari = m.hari || 'Setiap Hari'; 3256 card.dataset.jamTutup = m.jam_tutup || '-'; 3257 card.dataset.jamResult = m.jam_result || '-'; 3258 3259 inner += '<div class="tc-guest-detail">' + 3260 '<div class="tc-dr"><span>Web</span><span>' + esc(m.web) + '</span></div>' + 3261 '<div class="tc-dr"><span>Buka</span><span>' + esc(m.hari) + '</span></div>' + 3262 '<div class="tc-dr"><span>Tutup</span><span>' + esc(m.jam_tutup) + '</span></div>' + 3263 '<div class="tc-dr"><span>Result</span><span>' + esc(m.jam_result)+ '</span></div>' + 3264 '</div>'; 3265 } 3266 3267 card.innerHTML = inner; 3268 rowDiv.appendChild(card); 3269 }); 3270 3271 panel.insertBefore(rowDiv, moreBtn || null); 3272 }); 3273 3274 updateTogelMoreBtn(panel, moreBtn); 3275 } 3276 3277 function updateTogelMoreBtn(panel, moreBtn) { 3278 if (!moreBtn) return; 3279 var check = function() { 3280 var cards = panel.querySelectorAll('.togel-card'); 3281 var multiRow = false; 3282 if (cards.length) { 3283 var firstTop = cards[0].offsetTop; 3284 for (var i = 1; i < cards.length; i++) { 3285 if (cards[i].offsetTop > firstTop + 1) { multiRow = true; break; } 3286 } 3287 } 3288 moreBtn.style.display = multiRow ? '' : 'none'; 3289 if (!multiRow) { 3290 panel.classList.remove('togel-panel--open'); 3291 panel.style.maxHeight = panel.scrollHeight + 'px'; 3292 } else if (!panel.classList.contains('togel-panel--open')) { 3293 var secondTop = null; 3294 for (var j = 0; j < cards.length; j++) { 3295 if (cards[j].offsetTop > firstTop + 1) { secondTop = cards[j].offsetTop; break; } 3296 } 3297 var peek = cards[0].offsetHeight * 0.12; 3298 panel.style.maxHeight = secondTop !== null ? (secondTop + peek) + 'px' : ''; 3299 } 3300 }; 3301 check(); 3302 window.addEventListener('resize', check, { passive: true }); 3303 window.addEventListener('load', check); 3304 } 3305 3306 if (Array.isArray(bootMarkets) && bootMarkets.length) { 3307 _ppMarkets = bootMarkets; 3308 renderTogelCards(bootMarkets); 3309 } 3310 3311 if (typeof initHomeGameImageFallback === 'function') { 3312 initHomeGameImageFallback(document); 3313 } 3314 3315 (function() { 3316 function enableDragScroll(el) { 3317 var isDown = false, startX, scrollLeft; 3318 el.addEventListener('mousedown', function(e) { 3319 isDown = true; 3320 el.style.cursor = 'grabbing'; 3321 startX = e.pageX - el.offsetLeft; 3322 scrollLeft = el.scrollLeft; 3323 e.preventDefault(); 3324 }); 3325 el.addEventListener('mouseleave', function() { isDown = false; el.style.cursor = ''; }); 3326 el.addEventListener('mouseup', function() { isDown = false; el.style.cursor = ''; }); 3327 el.addEventListener('mousemove', function(e) { 3328 if (!isDown) return; 3329 el.scrollLeft = scrollLeft - (e.pageX - el.offsetLeft - startX); 3330 }); 3331 } 3332 document.querySelectorAll('.home-view .game-scroll-wrap, .home-view .togel-grid-wrap').forEach(enableDragScroll); 3333 })(); 3334 3335 (function () { 3336 document.querySelectorAll('.home-view .game-scroll-wrap').forEach(function (wrap) { 3337 if (wrap.parentNode && wrap.parentNode.classList.contains('game-scroll-outer')) return; 3338 3339 var outer = document.createElement('div'); 3340 outer.className = 'game-scroll-outer'; 3341 wrap.parentNode.insertBefore(outer, wrap); 3342 outer.appendChild(wrap); 3343 3344 var btnL = document.createElement('button'); 3345 var btnR = document.createElement('button'); 3346 btnL.className = 'game-scroll-btn game-scroll-btn-l'; 3347 btnR.className = 'game-scroll-btn game-scroll-btn-r'; 3348 btnL.type = 'button'; 3349 btnR.type = 'button'; 3350 btnL.innerHTML = '‹'; 3351 btnR.innerHTML = '›'; 3352 outer.appendChild(btnL); 3353 outer.appendChild(btnR); 3354
3355 function update() { 3356 var canL = wrap.scrollLeft > 0; 3357 var canR = wrap.scrollLeft < wrap.scrollWidth - wrap.clientWidth - 1; 3358 btnL.style.display = canL ? 'flex' : 'none'; 3359 btnR.style.display = canR ? 'flex' : 'none'; 3360 } 3361 3362 function cardWidth() { 3363 var card = wrap.querySelector('.game-card'); 3364 if (!card) return 120; 3365 return card.offsetWidth + 10; 3366 } 3367 btnR.addEventListener('click', function () { 3368 wrap.scrollBy({ left: cardWidth(), behavior: 'smooth' }); 3369 }); 3370 btnL.addEventListener('click', function () { 3371 wrap.scrollBy({ left: -cardWidth(), behavior: 'smooth' }); 3372 }); 3373 3374 wrap.addEventListener('scroll', update); 3375 window.addEventListener('resize', update); 3376 update(); 3377 }); 3378 })(); 3379} 3380 3381if (document.readyState === 'loading') { 3382 document.addEventListener('DOMContentLoaded', jtBootHomePartial); 3383} else { 3384 jtBootHomePartial(); 3385} 3386</script>
3386 3387</div> 3388 3389 3390<!-- Transaksi Start --> 3391 3392 3393 3394<style> 3395 3396 .transaksi-group { 3397 display: grid; 3398 grid-template-columns: 458px 1fr; 3399 justify-content: space-between; 3400 grid-template-areas: 3401 "transaksi-bank transaksi-other transaksi-crypto"; 3402 } 3403 3404 .transaksi-bank { 3405 grid-area: transaksi-bank; 3406 display: grid; 3407 place-items: center 3408 } 3409 3410 .transaksi-other { 3411 grid-area: transaksi-other; 3412 display: flex; 3413 justify-content: space-evenly; 3414 width: 100%; 3415 } 3416 3417 .transaksi-crypto { 3418 grid-area: transaksi-crypto; 3419 display: flex; 3420 justify-content: space-evenly; 3421 width: 100%; 3422 } 3423 3424 .icon-crypto { 3425 width: 24px; 3426 height: 24px; 3427 } 3428 3429 .transaksi-list-bank { 3430 height: fit-content; 3431 display: grid; 3432 grid-template-columns: repeat(4, 92px); 3433 grid-template-rows: repeat(4, auto); 3434 gap: 4px; 3435 } 3436 3437 .transaksi-list-other { 3438 height: fit-content; 3439 display: grid; 3440 grid-template-columns: repeat(3, 92px); 3441 gap: 4px; 3442 } 3443 3444 .transaksi-list-crypto { 3445 height: fit-content; 3446 display: grid; 3447 grid-template-columns: repeat(2, 80px); 3448 gap: 10px 8px; 3449 } 3450 3451 3452 .transaksi-item { 3453 display: flex; 3454 flex-direction: column; 3455 /* transform: perspective(10px) rotateX(3deg); */ 3456 } 3457 3458 .transaksi-header { 3459 3460 height: 30px; 3461 border-radius: 5px; 3462 display: grid; 3463 place-items: center; 3464 font-weight: bold; 3465 border: 2px solid rgba(108,108,108,1); 3466 background: rgba(54,54,54,1); 3467 color: white; 3468 } 3469 3470 .transaksi-status { 3471 margin-left: 3px; 3472 margin-right: 3px; 3473 height: 3px; 3474 border-radius: 0px 0px 4px 4px; 3475 background: rgb(54,54,54); 3476 background: linear-gradient(90deg, rgba(54,54,54,1) 0%, rgba(108,108,108,1) 50%, rgba(54,54,54,1) 100%); 3477 } 3478 3479 .header-green { 3480 background: rgba(44,121,6,1); 3481 border-color: rgba(168,255,0,1); 3482 } 3483 3484 .header-blue { 3485 background: rgba(0,80,89,1); 3486 border-color: rgba(0,255,204,1); 3487 } 3488 3489 .status-green { 3490 background: rgb(44,121,6); 3491 background: linear-gradient(90deg, rgba(44,121,6,1) 0%, rgba(168,255,0,1) 50%, rgba(44,121,6,1) 100%); 3492 } 3493 3494 .status-blue { 3495 background: rgb(0,80,89); 3496 background: linear-gradient(90deg, rgba(0,80,89,1) 0%, rgba(0,255,204,1) 50%, rgba(0,80,89,1) 100%); 3497 } 3498 3499 .transaksi-name { 3500 font-size: 1.1rem; 3501 font-weight: bold; 3502 line-height: 1.5rem 3503 } 3504 3505 .transaksi-wrapper { 3506 display: flex; 3507 flex-direction: column; 3508 gap: .5rem; 3509 } 3510 3511 3512 @media only screen and (max-width: 768px) { 3513 3514 .transaksi-group { 3515 display: grid; 3516 grid-template-columns: 1fr; 3517 grid-template-areas: 3518 "transaksi-bank" 3519 "transaksi-other" 3520 "transaksi-crypto"; 3521 gap: 32px; 3522 margin-bottom: 8px; 3523 3524 } 3525 3526 .transaksi-header { 3527 font-size: 1.1rem; 3528 height: 36px; 3529 } 3530 3531 .transaksi-list-bank { 3532 grid-template-columns: repeat(4, 1fr); 3533 } 3534 3535 .transaksi-list-other { 3536 grid-template-columns: repeat(4, 1fr); 3537 } 3538 3539 .transaksi-list-crypto { 3540 width: 86%; 3541 margin: auto; 3542 grid-template-columns: repeat(4, 1fr); 3543 } 3544 3545 .transaksi-list { 3546 display: grid; 3547 grid-template-columns: repeat(3, 1fr); 3548 } 3549 3550 .transaksi-item { 3551 width: 100%; 3552 } 3553 3554 .transaksi-title-group { 3555 justify-content: center; 3556 padding: 16px 0; 3557 } 3558 3559 .transaksi-name { 3560 font-size: 1.3rem; 3561 text-align: center; 3562 line-height: 1.8rem; 3563 } 3564 3565 .transaksi-wrapper { 3566 width: 100%; 3567 max-width: 100%!important; 3568 gap: 1rem; 3569 } 3570 3571 .icon-crypto { 3572 width: 28px; 3573 height: 28px; 3574 } 3575 3576 } 3577</style> 3578 3579 3580 <style> 3581 .transaksi-wrapper { 3582 display: flex; 3583 flex-direction: column; 3584 gap: .5rem;
3585 align-items: flex-start; 3586} 3587 3588.transaksi-name { 3589 font-size: 1.1rem; 3590 font-weight: bold; 3591 line-height: 1.5rem; 3592} 3593 3594.carousel-inner { 3595 position: relative; 3596 width: 100%; 3597 overflow: hidden; 3598} 3599 3600.transaksi-list-bank, .transaksi-list-other { 3601 grid-template-columns: repeat(4, minmax(110px, 1fr)); 3602 gap: 8px 10px; 3603} 3604 3605 3606.transaksi-list-bank, .transaksi-list-other { 3607 height: fit-content; 3608 display: grid; 3609 grid-template-columns: repeat(4, minmax(80px, 1fr)); 3610 gap: 4px 6px; 3611} 3612 3613 3614.transaksi-item { 3615 display: flex; 3616 flex-direction: column; 3617 position: relative; 3618} 3619.transaksi-header { 3620 height: 34px; 3621 border-radius: 6px; 3622 font-weight: bold; 3623 border: 2px solid rgba(108, 108, 108, 1); 3624 background: rgba(54, 54, 54, 1); 3625 color: white; 3626 min-width: 110px; 3627 padding: 0 16px 0 28px; 3628 display: flex; 3629 align-items: center; 3630 justify-content: center; 3631 text-align: center; 3632 white-space: nowrap; 3633} 3634 3635.transaksi-header { 3636 border: none; 3637 padding: 0px; 3638 padding-bottom: 4px; 3639} 3640 3641.transaksi-header.is-online::before { 3642 content: ""; 3643 position: absolute; 3644 top: auto; 3645 left: 50%; 3646 transform: translateX(-50%); 3647 width: 50%; 3648 height: 4px; 3649 bottom: 0%; 3650 background-color: #00ff66; 3651 border-radius: 6px; 3652 box-shadow: 0 0 8px rgba(0, 255, 102, .85); 3653} 3654 3655.transaksi-header.is-offline { 3656 padding: 0 16px; 3657 background: #2e2e2e; 3658 border-color: #555; 3659 opacity: .35; 3660 align-items: center; 3661 justify-content: center; 3662 text-align: center; 3663} 3664 </style> 3665 3666 <div class="section desktop-only" style="min-height: 220px"> 3667 3668<div class="transaksi-group"> 3669 <div class="transaksi-bank"> 3670 3671 <div class="transaksi-wrapper"> 3672 <div class="transaksi-name">Bank Lokal</div> 3673 3674 <div id="transaksi-bank-indicators" class="carousel slide" data-bs-ride="carousel"> 3675 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 3676 3677 3678 </div> 3679 <div class="carousel-inner" > 3680 <div class="carousel-item active" style="min-height: 144px"> 3681 <div class="transaksi-list-bank"> 3682 3683 3684 3685 <div class="transaksi-item"> 3686 <div class="transaksi-header">BCA</div> 3687 <div class="transaksi-status status-green"></div> 3688 </div> 3689 3690 3691 <div class="transaksi-item"> 3692 <div class="transaksi-header">Mandiri</div> 3693 <div class="transaksi-status "></div> 3694 </div> 3695 3696 3697 <div class="transaksi-item"> 3698 <div class="transaksi-header">BNI</div> 3699 <div class="transaksi-status "></div> 3700 </div> 3701 3702 3703 <div class="transaksi-item"> 3704 <div class="transaksi-header">BRI</div> 3705 <div class="transaksi-status "></div> 3706 </div> 3707 3708 3709 <div class="transaksi-item"> 3710 <div class="transaksi-header">CIMB</div> 3711 <div class="transaksi-status status-green"></div> 3712 </div> 3713 3714 3715 <div class="transaksi-item"> 3716 <div class="transaksi-header">BSI</div> 3717 <div class="transaksi-status status-green"></div> 3718 </div> 3719 3720 3721 <div class="transaksi-item"> 3722 <div class="transaksi-header">JAGO</div> 3723 <div class="transaksi-status status-green"></div> 3724 </div> 3725 3726 3727 <div class="transaksi-item"> 3728 <div class="transaksi-header">SeaBank</div> 3729 <div class="transaksi-status status-green"></div> 3730 </div> 3731 3732 3733 </div> 3734 </div> 3735 3736 3737 3738 </div> 3739 </div> 3740 3741 </div> 3742 </div> 3743 3744 <div class="transaksi-other"> 3745 3746 3747 <div class="transaksi-wrapper" style="max-width: 458px"> 3748 3749 <div class="transaksi-name">E Money & Pulsa</div> 3750 3751 3752 <div id="transaksi-other-indicators" class="carousel slide" data-bs-ride="carousel"> 3753 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 3754 3755 3756 </div> 3757 <div class="carousel-inner" > 3758 <div class="carousel-item active"> 3759 <div class="transaksi-list-other"> 3760 3761 3762 3763 <div class="transaksi-item"> 3764 <div class="transaksi-header">Telkomsel</div> 3765 <div class="transaksi-status status-blue"></div> 3766 </div> 3767 3768 3769 <div class="transaksi-item"> 3770 <div class="transaksi-header">Axiata</div> 3771 <div class="transaksi-status status-blue"></div> 3772 </div> 3773 3774 3775 <div class="transaksi-item"> 3776 <div class="transaksi-header">DANA</div> 3777 <div class="transaksi-status status-blue"></div> 3778 </div> 3779 3780 3781 <div class="transaksi-item"> 3782 <div class="transaksi-header">OVO</div> 3783 <div class="transaksi-status status-blue"></div> 3784 </div> 3785 3786 3787 <div class="transaksi-item"> 3788 <div class="transaksi-header">ShopeePay</div> 3789 <div class="transaksi-status status-blue"></div> 3790 </div> 3791 3792 3793 <div class="transaksi-item"> 3794 <div class="transaksi-header">GOPAY</div> 3795 <div class="transaksi-status status-blue"></div> 3796 </div> 3797 3798 3799 <div class="transaksi-item"> 3800 <div class="transaksi-header">LinkAja</div> 3801 <div class="transaksi-status status-blue"></div> 3802 </div> 3803 3804 3805 <div class="transaksi-item"> 3806 <div class="transaksi-header">Lain-lain</div> 3807 <div class="transaksi-status status-blue"></div> 3808 </div> 3809 3810 3811 </div> 3812 </div> 3813 3814 3815 3816 </div> 3817 </div> 3818 </div> 3819 3820 3821 3822 </div> 3823 3824 <div class="transaksi-crypto"> 3825 <div class="transaksi-wrapper" style="max-width: 284px"> 3826 3827 <div class="transaksi-name mb-1">Crypto Currency</div> 3828 3829 3830 <div id="transaksi-crypto-indicators" class="carousel slide" data-bs-ride="carousel"> 3831 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 3832 3833 3834 </div> 3835 <div class="carousel-inner" > 3836 <div class="carousel-item active"> 3837 <div class="transaksi-list-crypto"> 3838 3839 3840 3841 <div class="d-flex gap-2"> 3842 <img src="https://img.viva88athenae.com/USDT.png" class="icon-crypto" alt="USDT"> 3843 <strong class="transaksi-name">USDT</strong> 3844 3845 </div> 3846 3847 3848 </div> 3849 </div> 3850 3851 3852 3853 </div> 3854 </div> 3855 </div> 3856 </div> 3857</div> 3858 3859</div> 3860 3861 3862 3863 3864 3865 <footer class="site-footer"> 3866<div class="section"> 3867 3868 <div class="footer-nav"> 3869 <a href="javascript:void(0)" onclick="openCms('tentang')">TENTANG KAMI</a>
3870 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('bantuan')">BANTUAN</a> 3871 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('peraturan')">PERATURAN</a> 3872 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('bank')">INFORMASI BANK</a> 3873 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('hubungi')">HUBUNGI KAMI</a> 3874 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('privasi')">KEBIJAKAN PRIVASI</a> 3875 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('cookies')">PERSETUJUAN COOKIES</a> 3876 </div> 3877 3878 <div class="footer-guidelines-wrap"> 3879 <img src="https://img.viva88athenae.com/new/guidelines.png?v=1790436337" alt="Guidelines" class="footer-guidelines-img" width="929" height="52"> 3880 </div> 3881 3882 <div class="footer-providers"> 3883 <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"> 3884 <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;"> 3885 </div> 3886 3887 <div class="footer-meta"><article class="article-content"> 3888 3889<h1>BBNI4D - Link Alternatif Resmi Slot Online Mudah Masuk Depo Cepat 2026</h1> 3890 3891<p> 3892BBNI4D 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. 3893</p> 3894 3895<p> 3896Kemudahan 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
3896pa langkah. 3897</p> 3898 3899 3900 3901<h2>Link Alternatif Resmi BBNI4D yang Mudah Diakses</h2> 3902 3903<p> 3904Link alternatif menjadi solusi terbaik ketika domain utama mengalami gangguan atau tidak dapat 3905diakses karena berbagai faktor. Oleh sebab itu, BBNI4D selalu menyediakan jalur akses resmi 3906yang diperbarui secara berkala agar seluruh pengguna tetap dapat login dengan mudah tanpa 3907mengalami kendala teknis. 3908</p> 3909 3910<p> 3911Seluruh link alternatif dirancang menggunakan infrastruktur server yang stabil sehingga mampu 3912memberikan pengalaman akses yang cepat dari berbagai wilayah. Dengan begitu, pengguna tidak 3913perlu mencari alamat website dari sumber yang tidak jelas karena seluruh informasi resmi selalu 3914disediakan melalui jalur yang terpercaya. 3915</p> 3916 3917</section> 3918 3919<section> 3920 3921<h2>Keunggulan Menggunakan BBNI4D</h2> 3922 3923<p> 3924BBNI4D menghadirkan berbagai keunggulan yang dirancang untuk memberikan kenyamanan kepada 3925seluruh pengguna. Mulai dari proses login yang sederhana hingga sistem transaksi yang cepat, 3926setiap layanan terus dikembangkan mengikuti kebutuhan pengguna modern. 3927</p> 3928 3929<ul> 3930<li>Link alternatif resmi yang selalu diperbarui.</li> 3931<li>Akses website cepat dan stabil.</li> 3932<li>Tampilan modern serta responsif.</li> 3933<li>Dapat diakses melalui komputer maupun smartphone.</li> 3934<li>Sistem login yang mudah digunakan.</li> 3935<li>Customer Service online 24 jam.</li> 3936<li>Proses deposit dan penarikan lebih praktis.</li> 3937<li>Performa server yang optimal.</li> 3938</ul> 3939 3940</section> 3941 3942<section> 3943 3944<h2>Pengalaman Bermain yang Lebih Nyaman</h2> 3945 3946<p> 3947Pengalaman pengguna menjadi prioritas utama BBNI4D. Seluruh tampilan website dibuat sederhana, 3948modern, dan mudah dipahami sehingga pengguna baru sekalipun dapat langsung memahami cara
3949menggunakan setiap fitur yang tersedia. 3950</p> 3951 3952<p> 3953Kecepatan loading halaman juga menjadi perhatian utama. Optimalisasi server membuat proses 3954perpindahan menu terasa lebih cepat sehingga aktivitas pengguna tidak terganggu meskipun 3955mengakses website melalui perangkat seluler. 3956</p> 3957 3958<p> 3959Selain itu, desain responsif memungkinkan tampilan website tetap optimal pada berbagai ukuran 3960layar tanpa mengurangi kualitas maupun kenyamanan penggunaan. 3961</p> 3962 3963</section> 3964 3965<section> 3966 3967<h2>Proses Deposit Cepat dan Praktis</h2> 3968 3969<p> 3970BBNI4D menghadirkan sistem transaksi yang dirancang agar lebih efisien. Pengguna dapat 3971melakukan proses deposit maupun penarikan dengan langkah yang sederhana sehingga aktivitas 3972berjalan lebih nyaman. 3973</p> 3974 3975<ul> 3976<li>Proses deposit cepat.</li> 3977<li>Berbagai metode pembayaran.</li> 3978<li>Konfirmasi transaksi lebih singkat.</li> 3979<li>Layanan transaksi 24 jam.</li> 3980<li>Riwayat transaksi mudah dipantau.</li> 3981</ul> 3982 3983<p> 3984Dengan sistem transaksi yang stabil, pengguna tidak perlu menunggu terlalu lama ketika 3985melakukan proses pembayaran maupun pencairan saldo. 3986</p> 3987 3988</section> 3989 3990<section> 3991 3992<h2>Keamanan Menjadi Prioritas Utama</h2> 3993 3994<p> 3995Keamanan data pengguna merupakan salah satu fokus utama BBNI4D. Platform ini menggunakan 3996berbagai sistem perlindungan modern untuk membantu menjaga privasi dan keamanan informasi 3997pengguna selama mengakses website. 3998</p> 3999 4000<p> 4001Selain melakukan pembaruan sistem secara berkala, tim teknis juga terus memantau performa 4002server agar seluruh layanan tetap berjalan optimal. Dengan demikian, pengguna dapat menikmati 4003pengalaman yang lebih aman serta nyaman. 4004</p> 4005 4006</section> 4007 4008<section> 4009 4010<h2>Customer Service Online 24 Jam</h2> 4011 4012<p> 4013Layanan pelanggan tersedia selama 24 jam untuk membantu berbagai kebutuhan pengguna. 4014Mulai dari pertanyaan mengenai link alternatif terbaru, bantuan login, informasi transaksi, 4015hingga kendala teknis lainnya dapat ditangani dengan cepat oleh tim customer service yang 4016berpengalaman. 4017</p> 4018 4019<p> 4020Respon yang cepat menjadi salah satu keunggulan sehingga pengguna tidak perlu menunggu lama 4021untuk mendapatkan solusi atas kendala yang dialami. 4022</p> 4023 4024</section> 4025 4026<section> 4027 4028<h2>Kompatibel di Semua Perangkat</h2> 4029 4030<p> 4031BBNI4D telah dioptimalkan agar dapat berjalan dengan baik di berbagai perangkat dan sistem 4032operasi. Website tetap ringan serta responsif sehingga dapat digunakan kapan saja dan di mana 4033saja. 4034</p> 4035 4036<ul> 4037<li>Android</li> 4038<li>iPhone (iOS)</li> 4039<li>Windows</li> 4040<li>macOS</li> 4041<li>Tablet</li> 4042</ul> 4043 4044<p> 4045Selain itu, website juga mendukung browser modern seperti Google Chrome, Mozilla Firefox, 4046Microsoft Edge, Safari, dan browser berbasis Chromium lainnya. 4047</p> 4048 4049</section> 4050 4051<section> 4052 4053<h2>Tips Menggunakan Link Alternatif dengan Aman</h2> 4054 4055<p> 4056Untuk menjaga keamanan akun, pengguna disarankan mengikuti beberapa langkah berikut: 4057</p> 4058 4059<ul> 4060<li>Gunakan link alternatif resmi.</li> 4061<li>Jangan membagikan akun kepada orang lain.</li> 4062<li>Gunakan password yang kuat.</li> 4063<li>Logout setelah selesai menggunakan akun.</li> 4064<li>Pastikan perangkat bebas dari virus maupun malware.</li> 4065</ul> 4066 4067</section> 4068 4069<section> 4070 4071<h2>Kesimpulan</h2> 4072 4073<p> 4074BBNI4D hadir sebagai platform yang menyediakan link alternatif resmi dengan akses cepat, 4075server stabil, tampilan modern, serta proses transaksi yang praktis. Dukungan customer 4076service 24 jam, kompatibilitas di berbagai perangkat, serta pembaruan link secara berkala 4077menjadikan BBNI4D sebagai pilihan bagi pengguna yang mengutamakan kenyamanan dan kemudahan 4078akses. 4079</p> 4080 4081<p> 4082Dengan terus meningkatkan kualitas layanan, BBNI4D berkomitmen menghadirkan pengalaman 4083penggunaan yang lebih baik melalui sistem yang stabil, aman, dan mudah digunakan kapan saja. 4084Selalu gunakan link resmi dan lakukan aktivitas secara bijak sesuai ketentuan yang berlaku. 4085</p> 4086 4087</section> 4088 4089</article> 4090 4091<div class="floating-menu"> 4092 <button class="floating-menu-toggle" id="floatingMenuToggle" type="button"> 4093 <span class="bar"></span> 4094 <span class="bar"></span> 4095 <span class="bar"></span> 4096 <span>MENU</span> 4097 </button> 4098 4099 <div class="floating-menu-items" id="floatingMenuItems"> 4100 <div class="floating-item"> 4101 <a href="https://t.ly/rtpbbni4d"> 4102 <img src="https://bkbmindah.com/imgbanner/RTPSLOT.gif" alt="Informasi BBNI4D"> 4103 </a> 4104 <div class="nav-text">INFO</div> 4105 </div> 4106 4107 <div class="floating-item"> 4108 <a href="https://bonusbkbm.com/vip_point/"> 4109 <img src="https://bkbmindah.com/image/point.gif" alt="Program BBNI4D"> 4110 </a> 4111 <div class="nav-text">POINT</div> 4112 </div> 4113 4114 <div class="floating-item"> 4115 <a href="https://t.me/bkbmgroupjp/"> 4116 <img src="https://i.imgur.com/0FFROQh.gif" alt="Komunitas BBNI4D"> 4117 </a> 4118 <div class="nav-text">GROUP</div> 4119 </div> 4120 4121 <div class="floating-item"> 4122 <a href="https://docs.google.com/forms/d/e/1FAIpQLSdoGqUDrZ88dc7JtyltalKbt-iE4lehMTTwsBJSuMm7PQ5oEA/viewform?usp=sf_link"> 4123 <img src="https://bkbmindah.com/image/saran.gif" alt="Kritik dan Saran"> 4124 </a> 4125 <div class="nav-text">REPORT</div> 4126 </div> 4127 </div> 4128</div> 4129 4130<div class="wrapper-service" id="serviceBox"> 4131 <div class="item-service"> 4132 <h1>Akses</h1> 4133 <div class="status-wrapper"> 4134 <p>Rata-Rata</p> 4135 <p><span class="count-item">1</span> Menit</p> 4136 </div> 4137 </div> 4138 4139 <div class="item-service"> 4140 <h1>Respon</h1> 4141 <div class="status-wrapper"> 4142 <p>Rata-Rata</p> 4143 <p><span class="count-item">3</span> Menit</p> 4144 </div> 4145 </div> 4146 4147 <div class="item-service"> 4148 <h1>Pengguna Online</h1> 4149 <div class="status-wrapper-mem"> 4150 <p><span class="count-item" id="memberCount">0</span> User</p> 4151 </div> 4152 </div> 4153 4154 <div class="item-service"> 4155 <p style="text-align:center;">Ketik Di Google:</p> 4156 <div class="google-wrapper"> 4157 <img src="https://i.postimg.cc/wvpq3xNS/googlep2.png" alt="Google"> 4158 <p>
4158BBNI4D</p> 4159 </div> 4160 </div> 4161</div> 4162 4163<div id="popupOverlay" class="popup-overlay is-hidden"> 4164 <div class="popup-backdrop" id="popupBackdrop"></div> 4165 <div class="popup-card" id="popupCard"> 4166 <a href="https://t.me/+ZMZa8u0NNh80OTE1" target="_blank" rel="noopener"> 4167 <img src="https://imagebkbmxs.com/BBNI4D/bbni4dxsayapjp.png" alt="Banner BBNI4D"> 4168 </a> 4169 <button id="popupClose" type="button">CLOSE</button> 4170 </div> 4171</div> 4172 4173<a href="//www.dmca.com/Protection/Status.aspx?ID=85a59234-8a20-446a-ba1f-02bb757c2fef" title="DMCA.com Protection Status" class="dmca-badge"> 4174 <img src="https://images.dmca.com/Badges/dmca_protected_sml_120i.png?ID=85a59234-8a20-446a-ba1f-02bb757c2fef" alt="DMCA.com Protection Status"> 4175</a>
4176<script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js"></script>
4176 4177<style> 4178.accent { 4179 color: #ED6530; 4180} 4181 4182.accent-link { 4183 color: #ED6530; 4184 text-decoration: none; 4185} 4186 4187.bbni4d-content h2, 4188.bbni4d-content h3 { 4189 line-height: 1.4; 4190} 4191 4192.bbni4d-content p, 4193.bbni4d-content li { 4194 line-height: 1.7; 4195} 4196 4197.logoimg { 4198 animation: zoomInOut 2s infinite; 4199} 4200 4201@keyframes zoomInOut { 4202 0% { transform: scale(1); } 4203 50% { transform: scale(1.1); } 4204 100% { transform: scale(1); } 4205} 4206 4207.bbni-alert { 4208 border: 3px solid #ff0000; 4209 border-radius: 5px; 4210 margin: 17px 60px -13px; 4211 background-color: #000000; 4212 padding: 10px; 4213} 4214 4215.bbni-alert-title { 4216 animation: blinkingText 1.5s infinite; 4217 margin: auto; 4218 display: block; 4219 color: #ff0000; 4220 text-align: center; 4221 font-size: 23px; 4222 font-weight: 700; 4223} 4224 4225.bbni-alert p { 4226 color: #ffffff; 4227 text-align: center; 4228 font-size: 15px; 4229 font-weight: bold; 4230} 4231 4232.bbni-alert-marquee { 4233 text-align: center; 4234 border: #ffffff solid 1px; 4235 background: #ff0000; 4236 color: #fff; 4237 margin: auto; 4238 font-size: 14px; 4239} 4240 4241@keyframes blinkingText { 4242 0% { opacity: 1; } 4243 50% { opacity: 0.4; } 4244 100% { opacity: 1; } 4245} 4246 4247.social-float { 4248 left: 0; 4249 width: 0; 4250 position: fixed; 4251 top: 111px; 4252 z-index: 9999999999; 4253} 4254 4255.social-float ul { 4256 padding: 0; 4257 transform: translate(-130px, 0); 4258} 4259 4260.social-float ul li { 4261 display: block; 4262 margin: 22px 6px 6px 0; 4263 background: rgba(0, 0, 0, 0.86); 4264 width: 189px; 4265 text-align: right; 4266 padding: 4px; 4267 border-radius: 0 20px 20px 0; 4268 transition: all 1s; 4269 height: 53px; 4270 border: groove 2px #ffffff; 4271 color: white; 4272} 4273 4274.social-float ul li:hover { 4275 transform: translate(110px, 0); 4276 background: rgba(95, 95, 95, 0.7); 4277} 4278 4279.social-float a { 4280 display: flex; 4281 align-items: center; 4282 justify-content: space-between; 4283 gap: 10px; 4284 text-decoration: none; 4285 color: #fff; 4286 width: 100%; 4287} 4288 4289.social-float img { 4290 width: 40px; 4291 height: 40px; 4292} 4293 4294.floating-menu { 4295 width: 90px; 4296 padding: 10px 10px 5px 0; 4297 position: fixed; 4298 bottom: 79px; 4299 left: 10px; 4300 z-index: 100; 4301 font-family: "Raleway", sans-serif; 4302 color: #fff; 4303 font-size: 14px; 4304 text-align: center; 4305} 4306 4307.floating-menu-toggle { 4308 display: block; 4309 cursor: pointer; 4310 padding: 10px; 4311 border-radius: 20%; 4312 box-shadow: 0 0 8px 2px #f15a23bb; 4313 background-color: #f15a23; 4314 width: 80px; 4315 margin: 0 auto; 4316 transition: all .7s ease; 4317 border: 0; 4318 color: #fff; 4319} 4320 4321.floating-menu-toggle .bar { 4322 display: block; 4323 height: 5px; 4324 width: 40px; 4325 background: #ffffff; 4326 margin: 6px auto; 4327} 4328 4329.floating-menu-items { 4330 display: none; 4331} 4332 4333.floating-menu-items.is-open { 4334 display: block; 4335} 4336 4337.floating-item { 4338 background: #f15a23; 4339 background-size: 300%; 4340 background-position: right; 4341 border-radius: 20%; 4342 box-shadow: #f15a23; 4343 width: 80px; 4344 margin: 5px auto; 4345 text-align: center; 4346 color: #fff; 4347 cursor: pointer; 4348 transition: .5s; 4349 border: solid 3px white; 4350 display: block; 4351 white-space: nowrap; 4352 font-family: "Raleway", sans-serif; 4353 padding: 10px 5px; 4354 font-size: 10px; 4355 text-transform: uppercase; 4356} 4357 4358.floating-item img { 4359 width: 40px; 4360 margin-bottom: 5px; 4361} 4362 4363.count-item { 4364 font-size: 1.8rem; 4365 background: #f15a23; 4366 padding: 0.3rem 0.5rem; 4367 color: #fff !important; 4368 border-radius: 10px; 4369 font-weight: bold; 4370} 4371 4372.wrapper-service { 4373 display: flex; 4374 align-items: center; 4375 flex-wrap: wrap; 4376 justify-content: center; 4377 border-radius: 10px; 4378 margin-top: 1.3rem; 4379 border: var(--result-border); 4380 padding: 0.8rem; 4381 background: #1b6d79; 4382} 4383 4384.status-wrapper, 4385.status-wrapper-mem { 4386 display: flex; 4387 align-items: center; 4388 justify-content: center; 4389} 4390 4391.status-wrapper p { 4392 margin-right: 0.6rem !important; 4393} 4394 4395.item-service { 4396 margin-right: 3rem; 4397} 4398 4399.item-service:last-child { 4400 margin-right: 0; 4401} 4402 4403.item-service h1 { 4404 font-size: 2.2rem; 4405 margin-top: 7px !important; 4406 text-transform: uppercase; 4407 font-weight: bold !important; 4408} 4409 4410.item-service p { 4411 color: #fff; 4412} 4413 4414.google-wrapper { 4415 background: #fff; 4416 padding: 1.7rem; 4417 width: 18rem; 4418 height: 0.5rem; 4419 border-radius: 10px; 4420 position: relative; 4421} 4422 4423.google-wrapper img { 4424 position: absolute; 4425 width: 2rem; 4426 top: 9px; 4427 left: 10px; 4428} 4429 4430.google-wrapper p { 4431 position: absolute; 4432 left: 3.4rem; 4433 top: 0.6rem; 4434 text-transform: uppercase; 4435 font-size: 1.50rem !important; 4436 font-weight: bold !important; 4437 color: #000 !important; 4438} 4439 4440.popup-overlay { 4441 position: fixed; 4442 inset: 0; 4443 display: flex; 4444 align-items: center; 4445 justify-content: center; 4446 z-index: 999999; 4447} 4448 4449.popup-overlay.is-hidden { 4450 display: none; 4451} 4452 4453.popup-backdrop { 4454 position: fixed; 4455 inset: 0; 4456 background: rgba(0, 0, 0, 0.96); 4457 z-index: 999998; 4458} 4459 4460.popup-card { 4461 position: relative; 4462 z-index: 999999; 4463 width: 60%; 4464 min-width: 315px; 4465 max-width: 390px; 4466 border-radius: 5px; 4467 overflow: hidden; 4468 animation: swirl-in-fwd 0.6s ease-out both; 4469 background: #000; 4470} 4471 4472.popup-card img { 4473 width: 100%; 4474 display: block; 4475} 4476 4477.popup-card button { 4478 width: 100%; 4479 padding: 12px; 4480 font-size: 22px; 4481 font-weight: 700; 4482 border: 0; 4483 background: #f15a23; 4484 color: #fff; 4485 cursor: pointer; 4486} 4487 4488.popup-card.is-closing { 4489 animation: swirl-out-bck 0.6s ease-in both; 4490} 4491 4492.popup-backdrop.is-closing { 4493 animation: fade-out 0.6s ease-out both; 4494} 4495 4496@keyframes swirl-in-fwd { 4497 0% { 4498 transform: rotate(0deg) scale(0); 4499 opacity: 0; 4500 } 4501 100% { 4502 transform: rotate(0) scale(1); 4503 opacity: 1;
4504 } 4505} 4506 4507@keyframes swirl-out-bck { 4508 0% { 4509 transform: rotate(0) scale(1); 4510 opacity: 1; 4511 } 4512 100% { 4513 transform: rotate(0deg) scale(0); 4514 opacity: 0; 4515 } 4516} 4517 4518@keyframes fade-out { 4519 0% { opacity: 1; } 4520 100% { opacity: 0; } 4521} 4522 4523</style>
4524<script> 4525document.addEventListener('DOMContentLoaded', function () { 4526 const floatingMenuToggle = document.getElementById('floatingMenuToggle'); 4527 const floatingMenuItems = document.getElementById('floatingMenuItems'); 4528 const memberCount = document.getElementById('memberCount'); 4529 4530 if (floatingMenuToggle && floatingMenuItems) { 4531 floatingMenuToggle.addEventListener('click', function () { 4532 floatingMenuItems.classList.toggle('is-open'); 4533 }); 4534 } 4535 4536 if (memberCount) { 4537 const min = 1254983; 4538 const max = 1846354; 4539 const randomUsers = Math.floor(Math.random() * (max - min + 1)) + min; 4540 memberCount.textContent = randomUsers; 4541 } 4542 4543 const popupOverlay = document.getElementById('popupOverlay'); 4544 const popupCard = document.getElementById('popupCard'); 4545 const popupBackdrop = document.getElementById('popupBackdrop'); 4546 const popupClose = document.getElementById('popupClose'); 4547 4548 function closePopup() { 4549 if (!popupOverlay || !popupCard || !popupBackdrop) return; 4550 4551 popupCard.classList.add('is-closing'); 4552 popupBackdrop.classList.add('is-closing'); 4553 4554 setTimeout(function () { 4555 popupOverlay.classList.add('is-hidden'); 4556 }, 600); 4557 } 4558 4559 if (window.location.pathname === '/' && popupOverlay) { 4560 popupOverlay.classList.remove('is-hidden'); 4561 } 4562 4563 if (popupClose) { 4564 popupClose.addEventListener('click', closePopup); 4565 } 4566 4567 if (popupBackdrop) { 4568 popupBackdrop.addEventListener('click', closePopup); 4569 } 4570}); 4571</script>
4571 4572</div> 4573 4574 4575 <!-- LIVE CHAT --> 4576 4577 4578 <!-- LiveChat Internal --> 4579 <style id="cs-embed-custom-styles"> 4580 /* Generated widget appearance — theme: light */ 4581.cs-embed { 4582 --cs-primary: #008080; 4583 --cs-secondary: #b2d8d8; 4584 --cs-panel-width: 360px; 4585 --cs-panel-height: 600px; 4586 --cs-footer-bg: #fff; 4587 --cs-footer-border: #f1f5f9; 4588 --cs-input-row-bg: #f1f5f9; 4589 --cs-input-text: #111827; 4590 --cs-input-muted: #64748b; 4591 --cs-upload-bg: #fff; 4592 --cs-upload-border: #cbd5e1; 4593 --cs-upload-icon: #334155; 4594 --cs-image-preview-bg: #eff6ff; 4595 --cs-image-preview-border: #dbeafe; 4596 --cs-closed-notice: #9ca3af; 4597 --cs-scrollbar-track: #eef2f7; 4598 --cs-scrollbar-thumb: #cbd5e1; 4599 --cs-scrollbar-thumb-hover: #94a3b8; 4600 --cs-messages-bg: #f8fafc; 4601 --cs-sticky-banner-bg: #fffbeb; 4602 --cs-sticky-banner-border: #fde68a; 4603 --cs-sticky-banner-inner-bg: #fff; 4604 --cs-sticky-banner-inner-border: #fde68a; 4605 --cs-sticky-banner-text: #92400e; 4606 right: 24px; left: auto; align-items: flex-end; 4607} 4608 4609.cs-embed .cs-panel { 4610 background: #fff; 4611 color: #111827; 4612} 4613 4614.cs-embed .cs-bubble--agent { 4615 background: #fff; 4616 color: #111; 4617 border-color: #e5e7eb; 4618} 4619 4620.cs-toggle:not(.cs-toggle--banner) { 4621 background: var(--cs-primary); 4622 box-shadow: 0 4px 12px rgba(0, 128, 128, 0.4); 4623} 4624 4625.cs-header { 4626 background: linear-gradient(135deg, #008080, #b2d8d8); 4627} 4628 4629.cs-bubble--customer { 4630 background: #008080; 4631 color: #ffffff; 4632} </style> 4633
4633<script src="https://service.lc1001ai.com/embed.js"></script>
4633 4634
4634<script> 4635 (function () { 4636 var chatServiceUrl = "https://service.lc1001ai.com"; 4637 var channelId = "6a3dfc0e179b8ad92725e82b"; 4638 var credentials = ""; 4639 var showWidget = true; 4640 window.CsChatEmbed 4641 .init({ 4642 chatServiceUrl: chatServiceUrl, 4643 channelId: channelId, 4644 credentials: credentials, 4645 createWidget: true, 4646 showWidget: showWidget, 4647 fetchAppearance: false, 4648 }) 4649 .then(function (result) { 4650 console.log("Chat connected, sessionId:", result.sessionId); 4651 }) 4652 .catch(function (err) { 4653 console.error("Chat init failed:", err); 4654 }); 4655 })(); 4656 </script>
4656 4657 4658 <div class="footer-group"> 4659 4660 <div class="footer-copyright"> 4661 <div style="white-space:nowrap"> 4662 © 2015 – 2026 Copyright BBNI4D. 4663 All Rights Reserved. 4664 </div> 4665 </div> 4666 4667 <div class="footer-wap-btn" onclick='window.location.href="/wap"'>WAP</div> 4668 4669 </div> 4670 4671</div> 4672</footer> <nav class="navbar fixed-bottom p-0 d-md-none" style="z-index:10000"> 4673 <div class="container-fluid px-0"> 4674 <div style="display:grid;grid-template-columns:repeat(4,1fr);width:100%;"> 4675 4676 4677 <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"> 4678 <i class="bi bi-house-fill" style="font-size:20px;"></i> 4679 <small>Home</small> 4680 </a> 4681 4682 <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"> 4683 <i class="bi bi-gift-fill" style="font-size:20px;"></i> 4684 <small>Promosi</small> 4685 </a> 4686 4687 <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"> 4688 <i class="bi bi-calendar-event-fill" style="font-size:20px;"></i> 4689 <small>Event</small> 4690 </a> 4691 4692 <div class="chat-dial-wrap bottom-menu d-flex flex-column justify-content-around align-items-center py-2" style="position:relative;"> 4693 <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;"> 4694 <img src="https://img.viva88athenae.com/navbar/chat_w.png?v=1790436337" alt="" style="width:20px;height:20px;object-fit:contain;"> 4695 <small>Chat</small> 4696 </a> 4697 <div class="chat-dial-list" id="chatDialList"> 4698 <a href="https://t.me/OFFICIALBBNI4D" target="_blank" class="chat-dial-item" title="Telegram"> 4699 <img src="https://img.viva88athenae.com/telegram.png?v=1790436337" alt="Telegram"> 4700 </a> 4701 <a href="javascript:void(0)" onclick="window.CsChatEmbed.openChat(); return false;" class="chat-dial-item chat-dial-livechat" title="Livechat"> 4702 <img src="https://img.viva88athenae.com/navbar/livechat_w.png?v=1790436337" alt="Livechat"> 4703 </a> 4704 </div> 4705 </div> 4706 4707 4708 </div> 4709 </div> 4710</nav> 4711
4712<script> 4713 function toggleChatDial(e) { 4714 e.stopPropagation(); 4715 document.getElementById('chatDialList').classList.toggle('open'); 4716 } 4717 document.addEventListener('click', function (e) { 4718 var list = document.getElementById('chatDialList'); 4719 if (!list) return; 4720 // close when clicking outside, or after picking any dial item (livechat included) 4721 if (!e.target.closest('.chat-dial-wrap') || e.target.closest('.chat-dial-item')) { 4722 list.classList.remove('open'); 4723 } 4724 }); 4725</script>
4725 4726 4727 <div class="offcanvas offcanvas-end w-100" tabindex="-1" id="offcanvasExample"> 4728 4729 <div class="offcanvas-body p-0"> 4730 4731 <div class="d-grid gap-2 mt-2 px-3 offcanvas-user-menu"> 4732 <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()"> 4733 <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement 4734</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()"> 4735 <i class="bi bi-clock-fill me-2 accent-text-color"></i> History 4736</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()"> 4737 <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo 4738</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()"> 4739 <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral 4740</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()"> 4741 <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password 4742</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()"> 4743 <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening 4744</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/BNI4D.apk','_blank')"> 4745 <div class="d-flex align-items-center px-3"> 4746 <i class="bi bi-android2 me-2 accent-text-color"></i> Download App 4747 </div> 4748 <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55"> 4749</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')"> 4750 <div class="d-flex align-items-center px-3"> 4751 <i class="bi bi-send-fill me-2 accent-text-color"></i> Bet Via Telegram 4752 </div> 4753 <img src="/images/new/btn-telegram.png" class="btn-menu-img" alt="" width="171" height="55"> 4754</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')"> 4755 <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout 4756</button> </div> 4757 4758 </div> 4759 </div> 4760 4761 <div id="desktopUserDropdown" class="desktop-user-dropdown"> 4762 <div class="d-grid"> 4763 <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()"> 4764 <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement 4765</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()"> 4766 <i class="bi bi-clock-fill me-2 accent-text-color"></i> History 4767</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()"> 4768 <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo 4769</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()"> 4770 <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral 4771</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()"> 4772 <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password 4773</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()"> 4774 <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening 4775</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/BNI4D.apk','_blank')"> 4776 <div class="d-flex align-items-center px-3"> 4777 <i class="bi bi-android2 me-2 accent-text-color"></i> Download App 4778 </div> 4779 <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55"> 4780</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')"> 4781 <div class="d-flex align-items-center px-3"> 4782 <i class="bi bi-send-fill me-2 accent-text-color"></i> Bet Via Telegram 4783 </div> 4784 <img src="/images/new/btn-telegram.png" class="btn-menu-img" alt="" width="171" height="55"> 4785</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')"> 4786 <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout 4787</button> </div> 4788 </div> 4789 4790
4790<script src="/js/new/vendor/bootstrap.bundle.min.js?v=1790436337"></script>
4790 4791
4791<script src="/js/new/main.js?v=1790436337"></script>
4791 4792 4793
4793<script> 4794 window.JT_SSR_PATH = "\/home.php"; 4795 setTimeout(function() { 4796 const mobileForm = document.querySelector('#mobilelogin form') || 4797 document.querySelector('#mobilelogin .login-form') || 4798 document.querySelector('.mobile-only form'); 4799 4800 if (!mobileForm) { 4801 return; 4802 } 4803 4804 const username = mobileForm.querySelector('input[name="username"]'); 4805 const password = mobileForm.querySelector('input[name="password"]'); 4806 const remember = document.querySelector('#rememberMe') || 4807 document.querySelector('input[type="checkbox"]'); 4808 4809 if (!username || !password || !remember) { 4810 return; 4811 } 4812 4813 4814 4815 try { 4816 localStorage.setItem('test', 'working'); 4817 if (localStorage.getItem('test') === 'working') { 4818 localStorage.removeItem('test'); 4819 } else { 4820 return; 4821 } 4822 } catch(e) { 4823 return; 4824 } 4825 4826 initializeRememberMe(); 4827 loadSavedData(); 4828 4829 mobileForm.addEventListener('submit', handleSave); 4830 mobileForm.addEventListener('click', function(e) { 4831 if (e.target.type === 'submit' || e.target.classList.contains('submit')) { 4832 handleSave(); 4833 } 4834 }); 4835 remember.addEventListener('change', function() { 4836 if (!this.checked) { 4837 clearSavedData(); 4838 localStorage.setItem('mobile_remember_unchecked', 'true'); 4839 } else { 4840 localStorage.removeItem('mobile_remember_unchecked'); 4841 } 4842 }); 4843 4844 function initializeRememberMe() { 4845 try { 4846 const wasUnchecked = localStorage.getItem('mobile_remember_unchecked'); 4847 const hasSuccessfulLogin = localStorage.getItem('mobile_login_success'); 4848 if (wasUnchecked === 'true' && hasSuccessfulLogin === 'true') { 4849 remember.checked = false; 4850 } else { 4851 remember.checked = true; 4852 } 4853 } catch(e) { 4854 remember.checked = true; 4855 } 4856 } 4857 4858 function loadSavedData() { 4859 try { 4860 4861 const savedUsername = localStorage.getItem('mobile_username'); 4862 const savedPassword = localStorage.getItem('mobile_password'); 4863 4864 4865 4866 const rememberChecked = localStorage.getItem('mobile_remember'); 4867 if (rememberChecked === 'true' && savedUsername && savedPassword) { 4868 username.value = savedUsername; 4869 password.value = savedPassword; 4870 } 4871 } catch(e) { 4872 // console.log('Error loading data:', e); 4873 } 4874 } 4875 4876 function handleSave() { 4877 if (remember.checked) { 4878 const usernameVal = username.value.trim(); 4879 const passwordVal = password.value.trim(); 4880 4881 if (usernameVal && passwordVal) { 4882 try { 4883 localStorage.setItem('mobile_username', usernameVal); 4884 localStorage.setItem('mobile_password', passwordVal); 4885 localStorage.setItem('mobile_remember', 'true'); 4886 localStorage.setItem('mobile_login_success', 'true'); 4887 } catch(e) { 4888 // console.log('Error saving data:', e); 4889 } 4890 } 4891 } else { 4892 clearSavedData(); 4893 localStorage.setItem('mobile_login_success', 'true'); 4894 } 4895 } 4896 4897 function clearSavedData() { 4898 try { 4899 localStorage.removeItem('mobile_username'); 4900 localStorage.removeItem('mobile_password'); 4901 localStorage.removeItem('mobile_remember'); 4902 } catch(e) { 4903 // console.log('Error clearing data:', e); 4904 } 4905 } 4906 }, 100); // Wait 100ms 4907 </script>
4907 4908 4909
4909<script> 4910 var JT_GUEST_MAP = { 4911 '': '/' + 'home' + '.php', 4912 'home': '/' + 'home' + '.php', 4913 'togel': '/togel.php', 4914 'kupon': '/kupon.php', 4915 'promosi': '/' + 'promosi' + '.php', 4916 'event': '/' + 'event' + '.php', 4917 'register': '/' + 'register' + '.php', 4918 'slot': '/game.php?content=slot', 4919 'casino': '/game.php?content=casino', 4920 'sport': '/' + 'game' + '.php?' + 'content=sport', 4921 'sabung': '/' + 'game' + '.php?' + 'content=sabung', 4922 'arcade': '/game.php?content=arcade', 4923 'interactive': '/game.php?content=interactive', 4924 }; 4925 4926 if (window.matchMedia("(max-width: 768px)").matches) { 4927 JT_GUEST_MAP.register = '/' + 'mregister' + '.php'; 4928 } 4929 4930 var JT_URL_PREFIX = ""; 4931 4932 function jtGuestAjaxPathFromLocation() { 4933 var re = new RegExp('^' + (JT_URL_PREFIX ? JT_URL_PREFIX.replace(/\//g, '\\/') : '') + '\\/([^/?#]*)'); 4934 var match = location.pathname.match(re); 4935 var slug = match ? match[1] : ''; 4936 return JT_GUEST_MAP[slug] || '/home.php'; 4937 } 4938 4939 function jtGuestUrlForPath(path) { 4940 var gameMatch = path.match(/^\/game\.php\?content=([a-z]+)/); 4941 if (gameMatch) return JT_URL_PREFIX + '/' + gameMatch[1]; 4942 for (var slug in JT_GUEST_MAP) { 4943 if (JT_GUEST_MAP[slug] === path) { 4944 return slug === '' ? JT_URL_PREFIX + '/' : JT_URL_PREFIX + '/' + slug; 4945 } 4946 } 4947 return null; 4948 } 4949 4950 function jtUpdateBrowserUrl(path) { 4951 var cleanUrl = jtGuestUrlForPath(path); 4952 if (cleanUrl && window.history) { 4953 history.pushState({ path: path }, '', cleanUrl); 4954 } 4955 } 4956 4957 var _initGuestPath = jtGuestAjaxPathFromLocation(); 4958 history.replaceState({ path: _initGuestPath }, '', location.href); 4959 4960 function initGuestShell() { 4961 var path = jtGuestAjaxPathFromLocation(); 4962 var homeMenu = path === '/home.php' 4963 ? (window.innerWidth >= 768 4964 ? document.querySelector('.desktop-nav-link[data-nav="home"]') 4965 : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]')) 4966 : null; 4967 4968 // Skip AJAX jika home sudah di-SSR. 4969 if (window.JT_SSR_PATH && window.JT_SSR_PATH === path) { 4970 $('.lobby-menu, .desktop-nav-link').removeClass('active'); 4971 if (homeMenu) $(homeMenu).addClass('active'); 4972 if (typeof waitForCss === 'function') waitForCss(ASYNC_CSS_IDS); 4973 return; 4974 } 4975 4976 content(path, '#content', homeMenu, true); 4977 } 4978 4979 window.addEventListener('popstate', function (e) { 4980 var path = e.state && e.state.path; 4981 if (path) content(path, '#content', null, true); 4982 }); 4983 4984 // Heartbeat 60 detik — cek maintenance mode diaktifkan admin saat guest lagi buka web 4985 setInterval(function () { 4986 fetch('/api/front/maintenance-status') 4987 .then(function (r) { return r.json(); }) 4988 .then(function (res) { 4989 if (res.data && res.data.maintenance) { 4990 window.location.href = '/maintenance'; 4991 } 4992 }) 4993 .catch(function () {}); 4994 }, 60000); 4995 4996 $('#modal').on('hidden.bs.modal', function () { 4997 $('.navbar.fixed-bottom').css('z-index', '9999'); 4998 }); 4999 5000 function syncOffcanvasBounds() { 5001 if (window.innerWidth >= 768) return; 5002 5003 var topNav = document.querySelector('nav.navbar.d-md-none:not(.fixed-bottom)'); 5004 var bottomNav = document.querySelector('nav.navbar.fixed-bottom'); 5005 var top = topNav ? Math.round(topNav.getBoundingClientRect().bottom) : 56; 5006 var bottom = bottomNav 5007 ? Math.round(window.innerHeight - bottomNav.getBoundingClientRect().top) 5008 : 58; 5009 // navbar atas bukan fixed: kalau halaman ter-scroll (mis. setelah 5010 // buka menu Statement/History/dll lewat content()), rect.bottom bisa 5011 // negatif dan bikin sisi atas offcanvas + backdrop kepotong. 5012 top = Math.max(0, top); 5013 bottom = Math.max(0, bottom); 5014 5015 document.documentElement.style.setProperty('--offcanvas-top', top + 'px'); 5016 document.documentElement.style.setProperty('--offcanvas-bottom', bottom + 'px'); 5017 } 5018 5019 document.addEventListener('DOMContentLoaded', syncOffcanvasBounds); 5020 window.addEventListener('resize', syncOffcanvasBounds); 5021 5022 $('#offcanvasExample').on('show.bs.offcanvas', function () { 5023 syncOffcanvasBounds(); 5024 $('#providerBackdrop, #providerOverlay').remove(); 5025 var modalInst = bootstrap.Modal.getInstance(document.getElementById('modal')); 5026 if (modalInst) modalInst.hide(); 5027 }); 5028 5029 /* ── Nav horizontal scroll (desktop) ───────────────────────────── */ 5030 (function () { 5031 var navEl = document.querySelector('.desktop-mainnav .ms-auto'); 5032 if (!navEl) return; 5033 5034 /* mouse-wheel → horizontal scroll */ 5035 navEl.addEventListener('wheel', function (e) { 5036 if (e.deltaY !== 0) { 5037 e.preventDefault(); 5038 navEl.scrollLeft += e.deltaY; 5039 } 5040 }, { passive: false }); 5041 5042 /* scroll arrow buttons */ 5043 var btnL = document.createElement('button'); 5044 var btnR = document.createElement('button');
5045 [btnL, btnR].forEach(function (b) { 5046 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;'; 5047 }); 5048 btnL.innerHTML = '‹'; 5049 btnR.innerHTML = '›'; 5050 btnL.style.fontSize = btnR.style.fontSize = '20px'; 5051 5052 var nav = document.querySelector('.desktop-mainnav'); 5053 if (nav) { 5054 nav.style.position = 'relative'; 5055 nav.appendChild(btnL); 5056 nav.appendChild(btnR); 5057 } 5058 5059 function placeArrows() { 5060 var navRect = nav ? nav.getBoundingClientRect() : null; 5061 var logoEl = nav ? nav.querySelector('.navbar-brand') : null; 5062 var logoRight = logoEl ? logoEl.getBoundingClientRect().right : 0; 5063 btnL.style.left = (logoRight - (navRect ? navRect.left : 0) + 4) + 'px'; 5064 btnR.style.right = '4px'; 5065 } 5066 5067 function updateArrows() { 5068 placeArrows(); 5069 var canL = navEl.scrollLeft > 0; 5070 var canR = navEl.scrollLeft < navEl.scrollWidth - navEl.clientWidth - 1; 5071 btnL.style.display = canL ? 'flex' : 'none'; 5072 btnR.style.display = canR ? 'flex' : 'none'; 5073 } 5074 5075 var scrollTimer; 5076 function scrollBy(dir) { 5077 scrollTimer = setInterval(function () { navEl.scrollLeft += dir * 8; }, 16); 5078 } 5079 btnL.addEventListener('mousedown', function () { scrollBy(-1); }); 5080 btnR.addEventListener('mousedown', function () { scrollBy(1); }); 5081 document.addEventListener('mouseup', function () { clearInterval(scrollTimer); }); 5082 5083 navEl.addEventListener('scroll', updateArrows); 5084 window.addEventListener('resize', updateArrows); 5085 updateArrows(); 5086 })(); 5087 5088 function toggleDesktopUserMenu(e) { 5089 e.stopPropagation(); 5090 document.getElementById('desktopUserDropdown').classList.toggle('open'); 5091 } 5092 function closeDesktopUserMenu() { 5093 var d = document.getElementById('desktopUserDropdown'); 5094 if (d) d.classList.remove('open'); 5095 } 5096 document.addEventListener('click', function(e) { 5097 if (!e.target.closest('#desktopUserDropdown')) closeDesktopUserMenu(); 5098 if (!e.target.closest('.tpl-picker-wrap')) { 5099 var dd = document.getElementById('tplPickerDd'); 5100 if (dd) dd.classList.remove('open'); 5101 } 5102 }); 5103 5104 function toggleTplPicker(e) { 5105 e.stopPropagation(); 5106 closeDesktopUserMenu(); 5107 document.getElementById('tplPickerDd').classList.toggle('open'); 5108 } 5109 5110 5111 (function() { 5112 var days = ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu']; 5113 var daysShort = ['Min','Sen','Sel','Rab','Kam','Jum','Sab']; 5114 var p = n => String(n).padStart(2,'0'); 5115 function updateClock() { 5116 var now = new Date(); 5117 var isMobile = window.innerWidth < 768; 5118 var dayName = isMobile ? daysShort[now.getDay()] : days[now.getDay()]; 5119 var text = dayName + ' ' + p(now.getDate()) + '/' + p(now.getMonth()+1) + '/' + now.getFullYear(); 5120 if (!isMobile) text += ' ' + p(now.getHours()) + ':' + p(now.getMinutes()) + ':' + p(now.getSeconds()); 5121 var el = document.getElementById('datetime'); 5122 if (el) el.textContent = text; 5123 } 5124 updateClock(); 5125 setInterval(updateClock, 1000); 5126 })(); 5127 5128 (function () { 5129 var runner = document.getElementById('marqueeRunner'); 5130 var container = runner ? runner.closest('.marquee-text') : null; 5131 var resizeTimer; 5132 var SPEED = 100; 5133 5134 function initMarquee() { 5135 if (!runner || !container) return; 5136 var cW = container.offsetWidth; 5137 var tW = runner.offsetWidth; 5138 var dur = ((cW + tW) / SPEED).toFixed(2); 5139 runner.style.setProperty('--mq-start', cW + 'px');
5140 runner.style.animation = 'none'; 5141 requestAnimationFrame(function () { 5142 requestAnimationFrame(function () { 5143 runner.style.animation = 'mq-scroll ' + dur + 's linear infinite'; 5144 }); 5145 }); 5146 } 5147 5148 requestAnimationFrame(function () { requestAnimationFrame(initMarquee); }); 5149 5150 document.addEventListener('visibilitychange', function () { 5151 if (!document.hidden) initMarquee(); 5152 }); 5153 5154 window.addEventListener('resize', function () { 5155 clearTimeout(resizeTimer); 5156 resizeTimer = setTimeout(function () { 5157 initMarquee(); 5158 positionProviderOverlay(); 5159 var isDesktop = window.innerWidth >= 768; 5160 if (isDesktop) { 5161 var oc = bootstrap.Offcanvas.getInstance(document.getElementById('offcanvasExample')); 5162 if (oc) oc.hide(); 5163 } else { 5164 closeDesktopUserMenu(); 5165 } 5166 }, 150); 5167 }); 5168 5169 window.addEventListener('orientationchange', function () { 5170 setTimeout(function () { initMarquee(); positionProviderOverlay(); }, 200); 5171 }); 5172 })(); 5173 </script>
5173 5174 5175 <!-- Auth --> 5176 5177
5177<script> 5178 5179$(document).on("click", "#desktopregister #buttonRegisterDesktop", function() 5180 { 5181 nocache = new Date().getTime().toString().slice(-3); 5182 5183 var ver = `<img src="capreg.php?${nocache}" width="100%" height="30" style="border:1px #999 solid;" alt="Kode verifikasi">`; 5184 var $form = $('#desktopregister #formRegister'); 5185 var $status = $('#desktopregister #statusRegister'); 5186 5187 if (typeof window.validateAllDesktop === 'function' && !window.validateAllDesktop()) { 5188 $('#desktopregister #statusRegister').removeClass().addClass('alert alert-sm alert-warning').text('Harap periksa data yang diisi').fadeIn(500); 5189 return false; 5190 } 5191 5192 $status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000); 5193 5194 function submitDesktopRegister() { 5195 5196 $.ajax({ 5197 url: "/api/front/register", 5198 type: "POST", 5199 data: $form.serialize(), 5200 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 5201 success: function(data) 5202 { 5203 5204 $('.is-invalid').removeClass('is-invalid'); 5205 5206 if (data == 'success') 5207 { 5208 5209 toast('Registrasi Sukses!, Selamat Bergabung.', 200); 5210 $status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900); 5211 5212 window.location='/home?welcome'; 5213 } 5214 else 5215 if (data == 'userWrong') 5216 { 5217 $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); 5218 $('#desktopregister #reg_username').addClass('is-invalid'); 5219 5220 } 5221 else 5222 if (data == 'passWrong') 5223 { 5224 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000); 5225 $('#desktopregister #reg_pass').addClass('is-invalid'); 5226 } 5227 else 5228 if (data == 'passSame') 5229 { 5230 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000); 5231 $('#desktopregister #reg_passcon').addClass('is-invalid'); 5232 } 5233 else 5234 if (data == 'bankEmpty') 5235 { 5236 $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000); 5237 $('#desktopregister #reg_bank').addClass('is-invalid'); 5238 } 5239 else 5240 if (data == 'rekEmpty') 5241 { 5242 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000); 5243 $('#desktopregister #reg_rek').addClass('is-invalid'); 5244 } 5245 else 5246 if (data == 'namaEmpty') 5247 { 5248 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000); 5249 $('#desktopregister #reg_nama').addClass('is-invalid'); 5250 } 5251 else 5252 if (data == 'dbError') 5253 { 5254 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000); 5255 } 5256 else 5257 if (data == 'userExist') 5258 { 5259 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000); 5260 $('#desktopregister #reg_username').addClass('is-invalid'); 5261 } 5262 else 5263 if (data == 'rekExist') 5264 { 5265 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000); 5266 $('#desktopregister #reg_rek').addClass('is-invalid'); 5267 } 5268 else 5269 if (data == 'refError') 5270 { 5271 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut, bila tidak punya referal, bisa kosongkan').fadeIn(1000); 5272 $('#desktopregister #reg_ref').addClass('is-invalid'); $('#desktopregister #reg_ref').removeAttr('readonly').val(''); 5273 } 5274 else 5275 if (data == 'emailError') 5276 { 5277 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000); 5278 $('#desktopregister #reg_email').addClass('is-invalid'); 5279 } 5280 else 5281 if (data == 'telponEmpty') 5282 { 5283 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
5283idak boleh kosong').fadeIn(1000); 5284 $('#desktopregister #reg_telpon').addClass('is-invalid'); 5285 } 5286 else 5287 if (data == 'telponError') 5288 { 5289 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000); 5290 $('#desktopregister #reg_telpon').addClass('is-invalid'); 5291 } 5292 else if (data == 'namaError') { 5293 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000); 5294 $('#desktopregister #reg_nama').addClass('is-invalid'); 5295 } 5296 else 5297 if (data == 'dariEmpty') 5298 { 5299 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000); 5300 $('#desktopregister #reg_dari').addClass('is-invalid'); 5301 } 5302 else 5303 if (data == 'lainEmpty') 5304 { 5305 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000); 5306 $('#desktopregister #reg_lain').addClass('is-invalid'); 5307 } 5308 else 5309 if (data == 'caperror') 5310 { 5311 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000); 5312 $('#desktopregister #reg_verifikasi').addClass('is-invalid'); 5313 5314 } 5315 else 5316 if (data == 'recaperror') 5317 { 5318 $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000); 5319 } 5320 else 5321 if (data == 'iperror') 5322 { 5323 $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000); 5324 } 5325 else 5326 if (data == 'capexp') 5327 { 5328 $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000); 5329 } 5330 else 5331 if (data == 'wait') 5332 { 5333 $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000); 5334 } 5335 else 5336 if (data == 'turnnoevent') 5337 { 5338 window.location.reload(); 5339 } 5340 else 5341 if (data == 'turnblock') 5342 { 5343 $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000); 5344 } 5345 else 5346 if (data.indexOf('passNotSafe|') === 0) 5347 { 5348 var msg = data.substring('passNotSafe|'.length); 5349 if (!msg) { 5350 msg = 'Password tidak aman! Gunakan password yang lebih kuat.'; 5351 } 5352 5353 $status 5354 .removeClass() 5355 .addClass('alert alert-sm alert-warning') 5356 .text(msg) 5357 .fadeIn(1000); 5358 5359 $('#desktopregister #reg_pass').addClass('is-invalid'); 5360 } 5361 5362 $('#desktopregister #capverifikasi').html(ver); 5363 5364 }}) 5365 .fail(function() { 5366 $status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000); 5367 $('#desktopregister #capverifikasi').html(ver); 5368 }); 5369 } 5370 5371 jtWithIframeCaptchaRegister($form, false, function () { 5372 jtWithTurnstileRegister($form, function () { 5373 jtWithRecaptchaRegisterToken($form, $status, submitDesktopRegister); 5374 }); 5375 }, function (msg) { 5376 $status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000); 5377 }); 5378 return false; 5379}); 5380 </script>
5380 5381 5382
5382<script> 5383 5384 function onlyNumber(n) { 5385 return n.replace(/\D/g, ''); 5386 } 5387 5388 5389 $(document).on("keyup", "#mobileregister #reg_rek, #mobileregister #reg_telpon", function() 5390 { 5391 var rek = $(this).val(); 5392 rek = onlyNumber(rek); 5393 if (isNaN(rek)) rek = ''; 5394 $(this).val(rek); 5395 }); 5396 5397// 5398$(document).on("change", '#mobileregister #reg_dari', function() 5399 { 5400 inputdari = $('#mobileregister #reg_dari').val(); 5401 5402 if (inputdari == 'Lain-lain') 5403 { 5404 $('#mobileregister #reg_lain').show(); 5405 } 5406 else 5407 { 5408 $('#mobileregister #reg_lain').hide(); 5409 } 5410 }); 5411 5412 5413$(document).on("click", "#mobileregister #buttonRegister", function() 5414 { 5415 5416 nocache = new Date().getTime().toString().slice(-3); 5417 5418 var ver = `<img src=\"mcapreg.php?${nocache}\" width=\"100%\" style=\"height: 40px; width: 100%; border-radius: 5px;margin-top: -3px;\" alt=\"Kode verifikasi\">`; 5419 var $form = $('#mobileregister #formRegister'); 5420 var $status = $('#mobileregister #statusRegister'); 5421 $status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000); 5422 5423 function submitMobileRegister() { 5424 5425 5426 5427 $.ajax({ 5428 url: "/api/front/register", 5429 type: "POST", 5430 data: $form.serialize(), 5431 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 5432 success: function(data) 5433 { 5434 $('.is-invalid').removeClass('is-invalid'); 5435 5436 if (data == 'success') 5437 { 5438 5439 toast('Registrasi Sukses!, Selamat Bergabung.', 200); 5440 $status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900); 5441 window.location='/home?welcome'; 5442 } 5443 else 5444 if (data == 'userWrong') 5445 { 5446 $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); 5447 $('#mobileregister #reg_username').addClass('is-invalid'); 5448 } 5449 else 5450 if (data == 'passWrong') 5451 { 5452 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000); 5453 $('#mobileregister #reg_pass').addClass('is-invalid'); 5454 } 5455 else 5456 if (data == 'passSame') 5457 { 5458 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000); 5459 $('#mobileregister #reg_passcon').addClass('is-invalid'); 5460 } 5461 else 5462 if (data == 'bankEmpty') 5463 { 5464 $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000); 5465 $('#mobileregister #reg_bank').addClass('is-invalid'); 5466 } 5467 else 5468 if (data == 'rekEmpty') 5469 { 5470 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000); 5471 $('#mobileregister #reg_rek').addClass('is-invalid'); 5472 } 5473 else 5474 if (data == 'namaEmpty') 5475 { 5476 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000); 5477 $('#mobileregister #reg_nama').addClass('is-invalid'); 5478 } 5479 else 5480 if (data == 'dbError') 5481 { 5482 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000); 5483 } 5484 else 5485 if (data == 'userExist') 5486 { 5487 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000); 5488 $('#mobileregister #reg_username').addClass('is-invalid'); 5489 } 5490 else 5491 if (data == 'rekExist') 5492 { 5493 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000); 5494 $('#mobileregister #reg_rek').addClass('is-invalid'); 5495 } 5496 else 5497 if (data == 'refError') 5498 { 5499 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut').fadeIn(1000); 5500 $('#mobileregister #reg_ref').addClass('is-invalid'); 5501 } 5502 else 5503 if (data == 'emailError') 5504 { 5505 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000); 5506 $('#mobileregister #reg_email').addClass('is-invalid'); 5507 } 5508 else 5509 if (data == 'telponEmpty') 5510 { 5511 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
5511idak boleh kosong').fadeIn(1000); 5512 $('#mobileregister #reg_telpon').addClass('is-invalid'); 5513 } 5514 else 5515 if (data == 'telponError') 5516 { 5517 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000); 5518 $('#mobileregister #reg_telpon').addClass('is-invalid'); 5519 } 5520 else if (data == 'namaError') { 5521 5522 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000); 5523 $('#mobileregister #reg_nama').addClass('is-invalid'); 5524 } 5525 else 5526 if (data == 'dariEmpty') 5527 { 5528 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000); 5529 $('#mobileregister #reg_dari').addClass('is-invalid'); 5530 } 5531 else 5532 if (data == 'lainEmpty') 5533 { 5534 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000); 5535 $('#mobileregister #reg_lain').addClass('is-invalid'); 5536 } 5537 else 5538 if (data == 'caperror') 5539 { 5540 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000); 5541 $('#mobileregister #reg_verifikasi').addClass('is-invalid'); 5542 5543 } 5544 else 5545 if (data == 'recaperror') 5546 { 5547 $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000); 5548 } 5549 else 5550 if (data == 'iperror') 5551 { 5552 $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000); 5553 } 5554 else 5555 if (data == 'capexp') 5556 { 5557 $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000); 5558 } 5559 else 5560 if (data == 'wait') 5561 { 5562 $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000); 5563 } 5564 else 5565 if (data == 'turnnoevent') 5566 { 5567 window.location.reload(); 5568 } 5569 else 5570 if (data == 'turnblock') 5571 { 5572 $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000); 5573 } 5574 else 5575 if (data.indexOf('passNotSafe|') === 0) 5576 { 5577 var msg = data.substring('passNotSafe|'.length); 5578 if (!msg) { 5579 msg = 'Password tidak aman! Gunakan password yang lebih kuat.'; 5580 } 5581 5582 $status 5583 .removeClass() 5584 .addClass('alert alert-sm alert-warning') 5585 .text(msg) 5586 .fadeIn(1000); 5587 5588 $('#mobileregister #reg_pass').addClass('is-invalid'); 5589 } 5590 5591 $('#mobileregister #capverifikasi').html(ver); 5592 // ke('#mobileregister #content'); 5593 }}) 5594 .fail(function() { 5595 $status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000); 5596 $('#mobileregister #capverifikasi').html(ver); 5597 }); 5598 } 5599 5600 jtWithIframeCaptchaRegister($form, true, function () { 5601 jtWithTurnstileRegister($form, function () { 5602 jtWithRecaptchaRegisterToken($form, $status, submitMobileRegister); 5603 }); 5604 }, function (msg) { 5605 $status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000); 5606 }); 5607 return false; 5608}); 5609 </script>
5609 5610 5611
5611<script> 5612 const currentPath = window.location.pathname.replace(/\/+$/, ''); 5613 const popupElement = document.getElementById('popup'); 5614 5615 if (currentPath === '/register') { 5616 document.getElementById('content')?.scrollIntoView(); 5617 } else if (popupElement && typeof bootstrap !== 'undefined') { 5618 const popupModal = bootstrap.Modal.getOrCreateInstance(popupElement); 5619 popupModal.show(); 5620 } 5621 </script>
5621 5622 5623
5623<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>
5623 5624</body> 5625</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.