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>RW4D : Toko Penyedia Permainan Hiburan No.1</title> 7 <link rel="icon" type="image/png" href="/favicon.png"> 8 9 <link rel="shortcut icon" href="https://upgambar.com/newrw4d/favicon.png" type="image/x-icon"> 10 11<!-- Google Tag Manager -->
12<script>
vendor: 331 bytes, lines 12-16
12(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 13new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 14j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 15'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 16})(window,document,'script','dataLayer','
16GTM-WWPG8TJ3
vendor: 3 bytes, line 16
16');
16</script>
16 17<!-- End Google Tag Manager --> 18 19<meta name="description" content="RW4D - Menyediakan Hiburan Online terpercaya. Memiliki fasilitas super menarik yang tidak ada dimanapun." /> 20<meta name="keywords" content="rw4d, situs rw4d, daftar rw4d, rw4d slot, login rw4d, link alternatif rw4d, rtp rw4d" /> 21<link rel="canonical" href="https://sabahaber.com/" /> 22<link rel="amphtml" href="https://kuma.cikirw4d.pro/" /> 23<meta name="robots" content="index, follow" /> 24<meta name="googlebot" content="index, follow"> 25<meta name="author" content="RW4D" /> 26<meta name="copyright" content="RW4D"> 27<meta name="rating" content="general" /> 28<meta name="geo.region" content="ID" /> 29<meta name="geo.country" content="id" /> 30<meta name="geo.placename" content="Indonesia" /> 31<meta name="publisher" content="RW4D" /> 32 33<meta property="og:type" content="website" /> 34<meta property="og:title" content="RW4D : Toko Penyedia Permainan Hiburan No.1" /> 35<meta property="og:description" content="RW4D - Menyediakan Hiburan Online terpercaya. Memiliki fasilitas super menarik yang tidak ada dimanapun." /> 36<meta property="og:url" content="https://sabahaber.com/" /> 37<meta property="og:site_name" content="RW4D" /> 38<meta property="og:locale:alternate" content="id_ID" /> 39<meta property="og:image" content="https://upgambar.com/client/newrw4d.webp"/> 40 41<meta name="google-site-verification" content="3C4943iF3HxPk9iPTfEj8NdxruzEdb4BWRL0wgwDbds" /> 42 43<!-- SINAGA --> 44 45<meta name="google-site-verification" content="G-t4_W_FEhv7wGahoK7EF6KjcuH14Xfa_8bfE3ITy1Q" /> 46<meta name="yandex-verification" content="2019b9a3fa59a79d" /> 47 48<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 48-49
48 49<script async src="https://www.googletagmanager.com/gtag/js?id=
49G-827NZS860M
vendor: 13 bytes, line 49
49"></script>
50<script> 51
vendor: 138 bytes, lines 51-55
51window.dataLayer = window.dataLayer || []; 52 function gtag(){dataLayer.push(arguments);} 53 gtag('js', new Date()); 54 55 gtag('config', '
55G-827NZS860M
vendor: 5 bytes, line 55
55');
56</script>
56 57 58 59<div style="position: fixed; bottom: 180px; left: 0px; z-index: 10; opacity: 0.98;"><a href="https://r61rw4d.xyz/" target="_blank" rel="noopener"><img class="RTP GACOR RW4D" src="https://gambarnoa.com/image/rtp.gif" alt="RTP GACOR RW4D" width="75" height="75" /></a></div> 60<div style="position: fixed; bottom: 100px; left: 0px; z-index: 10; opacity: 0.98;"><a href="https://b33rw4d.xyz/" target="_blank" rel="noopener"><img class="JADWAL BOLA FIFA" src="https://gambarnoa.com/image/fifa.gif" alt="JADWAL BOLA FIFA" width="75" height="75" /></a></div> 61 62 63 64 65 66 <link rel="preconnect" href="https://img.viva88athenae.com"> 67 <link rel="preload" href="/fonts/new/ubuntu-normal-400-latin.woff2" as="font" type="font/woff2" crossorigin> 68 <link rel="preload" href="/fonts/new/ubuntu-normal-700-latin.woff2" as="font" type="font/woff2" crossorigin> 69 <link rel="preload" href="/fonts/new/oswald-normal-400-latin.woff2" as="font" type="font/woff2" crossorigin> 70 <link href="/css/new/vendor/bootstrap.min.css?v=1790436338" rel="stylesheet"> 71 <style id="jt-fonts">/* Self-hosted Ubuntu + Oswald (latin / latin-ext), font-display: swap */ 72/* latin-ext */ 73@font-face { 74 font-family: 'Oswald'; 75 font-style: normal; 76 font-weight: 400; 77 font-display: swap; 78 src: url(/fonts/new/oswald-normal-400-latinext.woff2) format('woff2'); 79 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; 80} 81/* latin */ 82@font-face { 83 font-family: 'Oswald'; 84 font-style: normal; 85 font-weight: 400; 86 font-display: swap; 87 src: url(/fonts/new/oswald-normal-400-latin.woff2) format('woff2'); 88 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; 89} 90/* latin-ext */ 91@font-face { 92 font-family: 'Oswald'; 93 font-style: normal; 94 font-weight: 500; 95 font-display: swap; 96 src: url(/fonts/new/oswald-normal-500-latinext.woff2) format('woff2'); 97 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; 98} 99/* latin */ 100@font-face { 101 font-family: 'Oswald'; 102 font-style: normal; 103 font-weight: 500; 104 font-display: swap; 105 src: url(/fonts/new/oswald-normal-500-latin.woff2) format('woff2'); 106 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; 107} 108/* latin-ext */ 109@font-face { 110 font-family: 'Oswald'; 111 font-style: normal; 112 font-weight: 600; 113 font-display: swap; 114 src: url(/fonts/new/oswald-normal-600-latinext.woff2) format('woff2'); 115 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; 116} 117/* latin */ 118@font-face { 119 font-family: 'Oswald'; 120 font-style: normal; 121 font-weight: 600; 122 font-display: swap; 123 src: url(/fonts/new/oswald-normal-600-latin.woff2) format('woff2'); 124 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; 125} 126/* latin-ext */ 127@font-face { 128 font-family: 'Oswald'; 129 font-style: normal; 130 font-weight: 700; 131 font-display: swap; 132 src: url(/fonts/new/oswald-normal-700-latinext.woff2) format('woff2'); 133 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; 134} 135/* latin */ 136@font-face { 137 font-family: 'Oswald'; 138 font-style: normal; 139 font-weight: 700; 140 font-display: swap; 141 src: url(/fonts/new/oswald-normal-700-latin.woff2) format('woff2'); 142 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; 143} 144/* latin-ext */ 145@font-face { 146 font-family: 'Ubuntu'; 147 font-style: italic; 148 font-weight: 300; 149 font-display: swap; 150 src: url(/fonts/new/ubuntu-italic-300-latinext.woff2) format('woff2'); 151 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
151BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 152} 153/* latin */ 154@font-face { 155 font-family: 'Ubuntu'; 156 font-style: italic; 157 font-weight: 300; 158 font-display: swap; 159 src: url(/fonts/new/ubuntu-italic-300-latin.woff2) format('woff2'); 160 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; 161} 162/* latin-ext */ 163@font-face { 164 font-family: 'Ubuntu'; 165 font-style: italic; 166 font-weight: 400; 167 font-display: swap; 168 src: url(/fonts/new/ubuntu-italic-400-latinext.woff2) format('woff2'); 169 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; 170} 171/* latin */ 172@font-face { 173 font-family: 'Ubuntu'; 174 font-style: italic; 175 font-weight: 400; 176 font-display: swap; 177 src: url(/fonts/new/ubuntu-italic-400-latin.woff2) format('woff2'); 178 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; 179} 180/* latin-ext */ 181@font-face { 182 font-family: 'Ubuntu'; 183 font-style: italic; 184 font-weight: 500; 185 font-display: swap; 186 src: url(/fonts/new/ubuntu-italic-500-latinext.woff2) format('woff2'); 187 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; 188} 189/* latin */ 190@font-face { 191 font-family: 'Ubuntu'; 192 font-style: italic; 193 font-weight: 500; 194 font-display: swap; 195 src: url(/fonts/new/ubuntu-italic-500-latin.woff2) format('woff2'); 196 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; 197} 198/* latin-ext */ 199@font-face { 200 font-family: 'Ubuntu'; 201 font-style: italic; 202 font-weight: 700; 203 font-display: swap; 204 src: url(/fonts/new/ubuntu-italic-700-latinext.woff2) format('woff2'); 205 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; 206} 207/* latin */ 208@font-face { 209 font-family: 'Ubuntu'; 210 font-style: italic; 211 font-weight: 700; 212 font-display: swap; 213 src: url(/fonts/new/ubuntu-italic-700-latin.woff2) format('woff2'); 214 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; 215} 216/* latin-ext */ 217@font-face { 218 font-family: 'Ubuntu'; 219 font-style: normal; 220 font-weight: 300; 221 font-display: swap; 222 src: url(/fonts/new/ubuntu-normal-300-latinext.woff2) format('woff2'); 223 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; 224} 225/* latin */ 226@font-face { 227 font-family: 'Ubuntu'; 228 font-style: normal; 229 font-weight: 300; 230 font-display: swap; 231 src: url(/fonts/new/ubuntu-normal-300-latin.woff2) format('woff2'); 232 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; 233} 234/* latin-ext */ 235@font-face { 236 font-family: 'Ubuntu'; 237 font-style: normal; 238 font-weight: 400; 239 font-display: swap; 240 src: url(/fonts/new/ubuntu-normal-400-latinext.woff2) format('woff2'); 241 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; 242} 243/* latin */ 244@font-face { 245 font-family: 'Ubuntu'; 246 font-style: normal; 247 font-weight: 400; 248 font-display: swap; 249 src: url(/fonts/new/ubuntu-normal-400-latin.woff2) format('woff2'); 250 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; 251} 252/* latin-ext */ 253@font-face { 254 font-family: 'Ubuntu'; 255 font-style: normal; 256 font-weight: 500; 257 font-display: swap; 258 src: url(/fonts/new/ubuntu-normal-500-latinext.woff2) format('woff2'); 259 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
259BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 260} 261/* latin */ 262@font-face { 263 font-family: 'Ubuntu'; 264 font-style: normal; 265 font-weight: 500; 266 font-display: swap; 267 src: url(/fonts/new/ubuntu-normal-500-latin.woff2) format('woff2'); 268 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; 269} 270/* latin-ext */ 271@font-face { 272 font-family: 'Ubuntu'; 273 font-style: normal; 274 font-weight: 700; 275 font-display: swap; 276 src: url(/fonts/new/ubuntu-normal-700-latinext.woff2) format('woff2'); 277 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; 278} 279/* latin */ 280@font-face { 281 font-family: 'Ubuntu'; 282 font-style: normal; 283 font-weight: 700; 284 font-display: swap; 285 src: url(/fonts/new/ubuntu-normal-700-latin.woff2) format('woff2'); 286 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; 287} 288</style> <style id="jt-theme">/* Theme: RWB â Red White Bold */ 289:root { 290 /* --- Accent --- */ 291 --accent-color: #A40000; 292 293 /* --- Text --- */ 294 --primary-text-color: #1a1a1a; 295 --secondary-text-color: #555555; 296 --accent-text-color: #a50808; 297 298 /* --- Teks tambahan --- */ 299 --muted-text-color: #a50808; 300 --muted-text-color-secondary: #5c5656; 301 --muted-text-color-tertiary: #724141; 302 303 /* --- Background --- */ 304 --primary-background-color: #F2F2F2; 305 --secondary-background-color: #ffffff; 306 --ternary-background-color: #eab8b8; 307 --quaternary-background-color: #F2F2F2; 308 309 /* --- Background tambahan --- */ 310 --placeholder-bg: #e8e2d0; 311 --overlay-bg: rgba(0,0,0,0.45); 312 --handle-color: rgba(0,0,0,0.15); 313 --table-hover-bg: rgba(0,0,0,0.025); 314 --btn-close-hover-bg: rgba(0,0,0,0.06); 315 --qr-bg: #ffffff; 316 317 /* --- Navbar --- */ 318 --navbar-bg: var(--ternary-background-color); 319 --bottom-navbar-bg: var(--ternary-background-color); 320 321 /* --- Navbar text --- */ 322 --navbar-text-color: #333333; 323 --bottom-navbar-text-color: #ffffff; 324 325 /* --- Header & Home elemen (terpisah dari primary/secondary/accent-text) --- */ 326 --topbar-link-color: var(--primary-text-color); 327 --section-title-color: var(--primary-text-color); 328 --togel-market-name-color: var(--primary-text-color); 329 --balance-text-color: var(--secondary-text-color); 330 --nav-active-color: var(--accent-text-color); 331 --marquee-date-color: var(--accent-text-color); 332 --username-text-color: var(--secondary-text-color); 333 --marquee-text-color: var(--secondary-text-color); 334 335 /* --- Menu / Marquee / Search --- */ 336 --menu-box-bg: rgba(0,0,0,0.04); 337 --marquee-bg: #cbccc7; 338 --search-bg: #eab8b8; 339 340 /* --- Widget profile gradient --- */ 341 --widget-profile-bg-start: #CB0102; 342 --widget-profile-bg-end: #FF0200; 343 344 /* --- Tombol Deposit --- */ 345 --btn-deposit-color-start: #a40000; 346 --btn-deposit-color-mid: #cb0102; 347 --btn-deposit-color-end: #a40000; 348 --btn-deposit-text: #ffffff; 349 350 /* --- Tombol Withdraw --- */ 351 --btn-withdraw-color-start: #e8e8e8; 352 --btn-withdraw-color-end: #d8d8d8; 353 --btn-withdraw-text: #1a1a1a; 354 355 /* --- Tab aktif & tabel rekening (terpisah dari accent utama) --- */ 356 --tx-tab-active-color: var(--accent-color); 357 --tx-table-accent-color: var(--accent-text-color); 358 359 /* --- Table stripe & input placeholder (terpisah, dikalibrasi thd bg literal) --- */ 360 --table-stripe-odd-bg: var(--primary-background-color); 361 --table-stripe-even-bg: var(--secondary-background-color); 362 --input-placeholder-color: #6b7280; 363 364 /* --- CMS sidebar nav item (state tidak-aktif/hover/aktif, terpisah dari muted-text-color umum) --- */ 365 --cms-nav-color: var(--muted-text-color); 366 --cms-nav-hover-color: var(--secondary-text-color); 367 --cms-nav-active-color: var(--primary-text-color); 368 369 /* --- History table --- */ 370 --color-tanggal: #d72323; 371 --color-pasaran: #8c6608; 372 --color-debit: #d72323; 373 --color-kredit: #117e39; 374 --color-balance: #8c6608; 375 376 /* --- Component backgrounds --- */ 377 --btn-menu-bg: var(--ternary-background-color); 378 --card-bg: var(--ternary-background-color); 379 --avatar-bg: var(--ternary-background-color); 380 --table-header-bg: var(--ternary-background-color); 381 --dropdown-bg: var(--secondary-background-color); 382 --sidebar-bg: var(--secondary-background-color); 383 --input-bg: var(--secondary-background-color); 384 --menu-box-border-color: rgba(0,0,0,0.06); 385 --breadcrumb-color: var(--accent-color); 386 --alert-danger-bg: #ee5f5b; 387 388 /* --- Accent alpha --- */ 389 --accent-bg-subtle: rgba(164,0,0,0.08); 390 --accent-bg-active: rgba(164,0,0,0.15); 391 --accent-border-subtle: rgba(164,0,0,0.30); 392
393 /* --- Skeleton shimmer --- */ 394 --skeleton-color-base: #ede8d8; 395 --skeleton-color-shine: #d0d0d0; 396 397 /* --- Card togel pasaran (home) --- */ 398 --togel-card-bg: var(--secondary-background-color); 399 --togel-card-number-color: var(--primary-text-color); 400 401 /* --- Splide pagination --- */ 402 --splide-pagination-inactive: #a9b1bc; 403 404 /* --- Border --- */ 405 --border-color: rgba(0,0,0,0.08); 406 --border-subtle-color: rgba(0,0,0,0.04); 407 408 /* --- Font & Radius --- */ 409 --font-body: "Ubuntu", sans-serif; 410 --radius-sm: 6px; 411 --radius-md: 8px; 412 --radius-lg: 10px; 413 --radius-xl: 12px; 414 --radius-pill: 999px; 415 416 /* --- Font sizes --- */ 417 --fs-xs: 10px; 418 --fs-sm: 11px; 419 --fs-md: 12px; 420 --fs-base: 13px; 421 --fs-lg: 14px; 422 --fs-xl: 15px; 423 --fs-2xl: 16px; 424 --fs-3xl: 18px; 425} 426 427:root[data-theme="dark"] { 428 /* --- Dark theme overrides (auto-generated dari base terang) --- */ 429 /* --- Accent --- */ 430 --accent-color: #ff5252; 431 432 /* --- Text --- */ 433 --primary-text-color: #e5e5e5; 434 --secondary-text-color: #cccccc; 435 --accent-text-color: #f75a5a; 436 437 /* --- Teks tambahan --- */ 438 --muted-text-color: #cccccc; 439 --muted-text-color-secondary: #d8d5d5; 440 --muted-text-color-tertiary: #c18b8b; 441 442 /* --- Background --- */ 443 --primary-background-color: #141414; 444 --secondary-background-color: #141414; 445 --ternary-background-color: #3a2323; 446 --quaternary-background-color: #141414; 447 448 /* --- Background tambahan --- */ 449 --placeholder-bg: #2a271c; 450 --overlay-bg: rgba(0,0,0,0.45); 451 --handle-color: rgba(255,255,255,0.15); 452 --table-hover-bg: rgba(255,255,255,0.025); 453 --btn-close-hover-bg: rgba(0,0,0,0.06); 454 --qr-bg: #ffffff; 455 456 /* --- Navbar --- */ 457 --navbar-bg: var(--ternary-background-color); 458 --bottom-navbar-bg: var(--ternary-background-color); 459 460 /* --- Navbar text --- */ 461 --navbar-text-color: #cccccc; 462 --bottom-navbar-text-color: #cccccc; 463 464 /* --- Header & Home elemen (terpisah dari primary/secondary/accent-text) --- */ 465 --topbar-link-color: var(--primary-text-color); 466 --section-title-color: var(--primary-text-color); 467 --togel-market-name-color: var(--primary-text-color); 468 --balance-text-color: var(--secondary-text-color); 469 --nav-active-color: var(--accent-text-color); 470 --marquee-date-color: var(--accent-text-color); 471 --username-text-color: var(--secondary-text-color); 472 --marquee-text-color: var(--secondary-text-color); 473 474 /* --- Menu / Marquee / Search --- */ 475 --menu-box-bg: rgba(255,255,255,0.04); 476 --marquee-bg: #363734; 477 --search-bg: #3a2323; 478 479 /* --- Widget profile gradient --- */ 480 --widget-profile-bg-start: #503030; 481 --widget-profile-bg-end: #503030; 482 483 /* --- Tombol Deposit --- */ 484 --btn-deposit-color-start: #ff5252; 485 --btn-deposit-color-mid: #fe7b7b; 486 --btn-deposit-color-end: #ff5252; 487 --btn-deposit-text: #383838; 488 489 /* --- Tombol Withdraw --- */ 490 --btn-withdraw-color-start: #171717; 491 --btn-withdraw-color-end: #272727; 492 --btn-withdraw-text: #e5e5e5; 493 494 /* --- Tab aktif & tabel rekening (terpisah dari accent utama) --- */ 495 --tx-tab-active-color: var(--accent-color); 496 --tx-table-accent-color: var(--accent-text-color); 497 498 /* --- Table stripe & input placeholder (terpisah, dikalibrasi thd bg literal) --- */ 499 --table-stripe-odd-bg: var(--primary-background-color); 500 --table-stripe-even-bg: var(--secondary-background-color); 501 --input-placeholder-color: #6b7280; 502 503 /* --- CMS sidebar nav item (state tidak-aktif/hover/aktif, terpisah dari muted-text-color umum) --- */ 504 --cms-nav-color: var(--muted-text-color); 505 --cms-nav-hover-color: var(--secondary-text-color); 506 --cms-nav-active-color: var(--primary-text-color); 507 508 /* --- History table --- */ 509 --color-tanggal: #e14747; 510 --color-pasaran: #a47809; 511 --color-debit: #e14747; 512 --color-kredit: #149443; 513 --color-balance: #a47809; 514 515 /* --- Component backgrounds --- */ 516 --btn-menu-bg: var(--ternary-background-color); 517 --card-bg: var(--ternary-background-color); 518 --avatar-bg: var(--ternary-background-color); 519 --table-header-bg: var(--ternary-background-color); 520 --dropdown-bg: var(--secondary-background-color); 521 --sidebar-bg: var(--secondary-background-color); 522 --input-bg: var(--secondary-background-color); 523 --menu-box-border-color: rgba(255,255,255,0.06); 524 --breadcrumb-color: var(--accent-color); 525 --alert-danger-bg: #ee5f5b; 526 527 /* --- Accent alpha --- */ 528 --accent-bg-subtle: rgba(255,82,82,0.08); 529 --accent-bg-active: rgba(255,82,82,0.15); 530 --accent-border-subtle: rgba(255,82,82,0.30); 531
532 /* --- Skeleton shimmer --- */ 533 --skeleton-color-base: #232016; 534 --skeleton-color-shine: #2f2f2f; 535 536 /* --- Card togel pasaran (home) --- */ 537 --togel-card-bg: var(--secondary-background-color); 538 --togel-card-number-color: var(--primary-text-color); 539 540 /* --- Splide pagination --- */ 541 --splide-pagination-inactive: #383e48; 542 543 /* --- Border --- */ 544 --border-color: rgba(255,255,255,0.08); 545 --border-subtle-color: rgba(255,255,255,0.04); 546 547 /* --- Font & Radius --- */ 548 --font-body: "Ubuntu", sans-serif; 549 --radius-sm: 6px; 550 --radius-md: 8px; 551 --radius-lg: 10px; 552 --radius-xl: 12px; 553 --radius-pill: 999px; 554 555 /* --- Font sizes --- */ 556 --fs-xs: 10px; 557 --fs-sm: 11px; 558 --fs-md: 12px; 559 --fs-base: 13px; 560 --fs-lg: 14px; 561 --fs-xl: 15px; 562 --fs-2xl: 16px; 563 --fs-3xl: 18px; 564} 565 566 567/* History table column colors */ 568.history-table .col-tanggal { white-space: nowrap; color: var(--color-tanggal); } 569.history-table .col-pasaran { color: var(--color-pasaran); } 570.history-table .col-betid { font-size: var(--fs-xs); word-break: break-all; color: var(--accent-text-color); } 571.history-table .col-deskripsi { color: var(--primary-text-color); } 572.history-table .col-balance { white-space: nowrap; color: var(--color-balance); } 573</style> <link rel="stylesheet" href="/css/new/layout.min.css?v=1790436338"> 574 <link rel="stylesheet" href="/css/new/logo.css?v=1790436338"> 575 <style>.splide__list{display:flex;margin:0!important;padding:0!important}.splide__track{overflow:hidden;position:relative}</style> 576 577 <link id="css-home-sections" rel="stylesheet" href="/css/new/home-sections.min.css?v=1790436338" media="print" onload="this.media='all'"> 578 579 <link id="css-bootstrap-icons" rel="stylesheet" href="/css/new/vendor/bootstrap-icons.min.css?v=1790436338" media="print" onload="this.media='all'"> 580 <link id="css-splide" rel="stylesheet" href="/css/new/vendor/splide.min.css?v=1790436338" media="print" onload="this.media='all'"> 581 <noscript> 582 <link rel="stylesheet" href="/css/new/home-sections.min.css?v=1790436338"> 583 <link rel="stylesheet" href="/css/new/vendor/bootstrap-icons.min.css?v=1790436338"> 584 <link rel="stylesheet" href="/css/new/vendor/splide.min.css?v=1790436338"> 585 <link rel="stylesheet" href="/css/new/game.min.css?v=1790436338"> 586 </noscript> 587 588 <style> 589 @media (max-width: 768px) { 590 .driver-popover { max-width: 220px !important; font-size: 12px !important; padding: 10px 12px !important; } 591 .driver-popover-title { font-size: 13px !important; margin-bottom: 4px !important; } 592 .driver-popover-description { font-size: 12px !important; } 593 } 594 </style> 595 596 <style> 597 a { 598 color: inherit; /* blue colors for links too */ 599 text-decoration: inherit; /* no underline */ 600 } 601 602 .desktop-only { 603 display: block!important; 604 } 605 606 .mobile-only { 607 display: none !important; 608 } 609 610 .btn { 611 height: 30px; 612 border-radius: 3px; 613 } 614 615 .login-field { 616 width: 104px; 617 height: 30px; 618 border-radius: 3px; 619 } 620 621 .login-input-field { 622 margin: 0px; 623 padding: 0px 8px; 624 border-radius: 3px !important; 625 } 626 627 .section>.home-view { 628 padding: 0px; 629 } 630 631 @media only screen and (max-width: 1000px) { 632 633 .desktop-only { 634 display: none!important; 635 } 636 637 .mobile-only { 638 display: block!important; 639 } 640 641 .login-form { 642 padding: 32px 0; 643 margin: 0px 64px; 644 display: flex; 645 flex-direction: column; 646 } 647 648 .login-field, .login-form>button, .btn-promosi { 649 height: 36px; 650 width: 100% !important; 651 border-radius: 8px; 652 overflow: hidden; 653 } 654 655 .login-input-field { 656 border-top-left-radius: 0 !important; 657 border-bottom-left-radius: 0 !important; 658 font-size: 1rem; 659 } 660 661 .section { 662 padding: 0px 8px!important; 663 } 664 } 665 666 .grecaptcha-badge { 667 display: none !important; 668 } 669 </style> 670 671 672</head> 673 <body> 674
674<script src="/js/new/vendor/jquery.min.js?v=1790436338"></script>
674 675
675<script> 676 window.JT_CSRF_TOKEN = '70431cd7365128f6a7b0da01ad4c94cd2124a9fccd57fa65587ae3ca0f3d04c0'; 677 window.JT_NEED_RECAPTCHA_REGISTER = false; 678 window.JT_NEED_RECAPTCHA_LOGIN = false; 679 window.JT_NEED_RECAPTCHA = false; 680 window.JT_RECAPTCHA_SITE_KEY = '6Leu4cosAAAAABe-B_1-oryumOl99wsUEEFN3z8A'; 681 window.JT_NEED_TURNSTILE_REGISTER = false; 682 window.JT_NEED_TURNSTILE_LOGIN = false; 683 window.JT_NEED_TURNSTILE = false; 684 window.JT_NEED_IFRAME_CAPTCHA = false; 685 window.JT_CAPTCHA_LOGIN_MODE = '1'; 686 window.JT_CAPTCHA_REGISTER_MODE = '1'; 687 688 $.ajaxSetup({ 689 beforeSend: function (xhr, settings) { 690 if (settings.type === 'POST' && !settings.crossDomain) { 691 xhr.setRequestHeader('X-CSRF-Token', window.JT_CSRF_TOKEN || ''); 692 } 693 } 694 }); 695 696 var _recaptchaLoader = null; 697 function jtLoadRecaptcha() { 698 if (!window.JT_NEED_RECAPTCHA) return Promise.resolve(); 699 if (typeof grecaptcha !== 'undefined' && grecaptcha.enterprise) return Promise.resolve(); 700 if (_recaptchaLoader) return _recaptchaLoader; 701 _recaptchaLoader = new Promise(function (resolve, reject) { 702 var s = document.createElement('script'); 703 s.src = 'https://www.google.com/recaptcha/enterprise.js?render=' + encodeURIComponent(window.JT_RECAPTCHA_SITE_KEY); 704 s.async = true; 705 s.onload = function () { resolve(); }; 706 s.onerror = function () { _recaptchaLoader = null; reject(new Error('recaptcha load failed')); }; 707 document.head.appendChild(s); 708 }); 709 return _recaptchaLoader; 710 } 711 712 713 function jtWarmAuthScripts() { 714 if (window.JT_NEED_RECAPTCHA) jtLoadRecaptcha().catch(function () {}); 715 if (window.JT_NEED_TURNSTILE && typeof window.turnst === 'function') { 716 window.turnst('').catch(function () {}); 717 } 718 } 719 720 $(document).on( 721 'focusin', 722 '#desktoplogin input, #mobilelogin input, #formRegister input, #formRegister select, #desktopregister input, #mobileregister input', 723 jtWarmAuthScripts 724 ); 725 $(document).on( 726 'click', 727 '.btn-daftar, [onclick*="register"], a[href*="register"]', 728 jtWarmAuthScripts 729 ); 730 731 function jtNeedRecaptchaRegister($form) { 732 var isRecaptchaRegister = String($form.find('input[name="isrecaptcharegister"]').val() || ''); 733 return window.JT_NEED_RECAPTCHA_REGISTER === true || isRecaptchaRegister === '1'; 734 } 735 736 function jtNeedRecaptchaLogin($form) { 737 var isRecaptchaLogin = String($form.find('input[name="isrecaptchalogin"]').val() || ''); 738 return window.JT_NEED_RECAPTCHA_LOGIN === true || isRecaptchaLogin === '1'; 739 } 740 741 function jtWithRecaptchaToken($form, $status, action, shouldRun, onReady, failCls, onFail, tokenField) { 742 if (!shouldRun) { 743 onReady(); 744 return; 745 } 746 var fieldName = tokenField || 'recaptcha_token'; 747 var warnCls = (failCls === undefined) ? 'alert alert-sm alert-warning' : failCls; 748 function showFail(msg) { 749 if (warnCls) { 750 $status.removeClass().addClass(warnCls).text(msg).fadeIn(1000); 751 } else { 752 $status.removeClass().text(msg).fadeIn(1000); 753 } 754 if (typeof onFail === 'function') { 755 onFail(); 756 } 757 } 758 jtLoadRecaptcha().then(function () { 759 if (typeof grecaptcha === 'undefined' || !grecaptcha.enterprise) { 760 showFail('Verifikasi gagal dimuat, refresh halaman'); 761 return; 762 } 763 grecaptcha.enterprise.ready(function () { 764 grecaptcha.enterprise.execute(window.JT_RECAPTCHA_SITE_KEY, { action: action }) 765 .then(function (token) { 766 jtSetHidden($form, fieldName, token); 767 onReady(); 768 }) 769 .catch(function () { 770 showFail('Verifikasi gagal, coba lagi'); 771 }); 772 }); 773 }).catch(function () { 774 showFail('Verifikasi gagal dimuat, refresh halaman'); 775 }); 776 } 777 778 function jtWithRecaptchaRegisterToken($form, $status, onReady) { 779 jtWithRecaptchaToken($form, $status, 'register', jtNeedRecaptchaRegister($form), onReady, undefined, undefined, 'recaptcha_register_token'); 780 } 781 782 function jtWithRecaptchaLoginToken($form, $status, onReady, onF
782ail) { 783 jtWithRecaptchaToken($form, $status, 'login', jtNeedRecaptchaLogin($form), onReady, '', onFail, 'recaptcha_login_token'); 784 } 785 786 function jtSetHidden($form, name, value) { 787 var $el = $form.find('input[name="' + name + '"]'); 788 if ($el.length === 0) { 789 $form.append('<input type="hidden" name="' + name + '" value="">'); 790 $el = $form.find('input[name="' + name + '"]'); 791 } 792 $el.val(value); 793 } 794 795 function jtWithTurnstileAction($form, actionName, needFlag, onReady) { 796 if (!needFlag || typeof window.turnst !== 'function') { 797 onReady(); 798 return; 799 } 800 window.turnst(actionName).then(function (fpResult) { 801 jtSetHidden($form, 'fp_event_id', (fpResult && fpResult.eventId) || ''); 802 jtSetHidden($form, 'fp_visitor_id', (fpResult && fpResult.visitorId) || ''); 803 onReady(); 804 }).catch(function () { 805 jtSetHidden($form, 'fp_event_id', ''); 806 jtSetHidden($form, 'fp_visitor_id', ''); 807 onReady(); 808 }); 809 } 810 811 function jtWithTurnstileRegister($form, onReady) { 812 jtWithTurnstileAction($form, 'account_create', window.JT_NEED_TURNSTILE_REGISTER, onReady); 813 } 814 815 function jtWithTurnstileLogin($form, onReady) { 816 jtWithTurnstileAction($form, 'account_login', window.JT_NEED_TURNSTILE_LOGIN, onReady); 817 } 818 819 var _jtIframePending = null; 820 821 function jtShowIframeCaptcha(isMobile, onReady, onCancelMsg) { 822 if (!window.JT_NEED_IFRAME_CAPTCHA) { 823 onReady(); 824 return; 825 } 826 var modalId = isMobile ? '#captchaModalMobile' : '#captchaModalDesktop'; 827 var $modal = $(modalId); 828 if ($modal.length === 0) { 829 onReady(); 830 return; 831 } 832 _jtIframePending = { 833 isMobile: !!isMobile, 834 onReady: onReady, 835 onCancelMsg: onCancelMsg || null 836 }; 837 $modal.css('display', 'flex'); 838 } 839 840 function jtWithIframeCaptchaLogin($form, isMobile, onReady, onCancelMsg) { 841 var mode = String($form.find('input[name="iscaptchalogin"]').val() || window.JT_CAPTCHA_LOGIN_MODE || '1'); 842 if (mode !== '2') { 843 onReady(); 844 return; 845 } 846 jtShowIframeCaptcha(isMobile, function (token, key) { 847 jtSetHidden($form, 'token', token || ''); 848 jtSetHidden($form, 'key', key || ''); 849 onReady(); 850 }, onCancelMsg); 851 } 852 853 function jtWithIframeCaptchaRegister($form, isMobile, onReady, onCancelMsg) { 854 var mode = String($form.find('input[name="iscaptcharegister"]').val() || window.JT_CAPTCHA_REGISTER_MODE || '1'); 855 if (mode !== '2') { 856 onReady(); 857 return; 858 } 859 jtShowIframeCaptcha(isMobile, function (token, key) { 860 jtSetHidden($form, 'token', token || ''); 861 jtSetHidden($form, 'key', key || ''); 862 onReady(); 863 }, onCancelMsg); 864 } 865 866 window.addEventListener('message', function (e) { 867 if (e.origin !== 'https://recaptcha.viva88athenae.com') { 868 return; 869 } 870 if (!_jtIframePending) { 871 return; 872 } 873 var pending = _jtIframePending; 874 _jtIframePending = null; 875 876 var dataCaptcha = e.data || {}; 877 var $modal = pending.isMobile ? $('#captchaModalMobile') : $('#captchaModalDesktop'); 878 $modal.css('display', 'none'); 879 880 if (dataCaptcha.verified !== true) { 881 if (typeof pending.onCancelMsg === 'function') { 882 pending.onCancelMsg('Verifikasi Kosong'); 883 } 884 return; 885 } 886 887 if (typeof pending.onReady === 'function') { 888 pending.onReady(dataCaptcha.token || '', dataCaptcha.key || ''); 889 } 890 }); 891 </script>
891 892 893 894<style> 895 .btn-tele { 896 text-shadow: 1px 1px #000000; 897 height: 36px!important; 898 border-radius: 8px; 899 background: #28323C; 900 color: white; 901 } 902</style> 903 904 905<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"> 906 <div class="offcanvas-header py-3 d-flex justify-content-between"> 907 <h5 class="offcanvas-title" id="offcanvasExampleLabel" style="color: var(--menu-item-color); font-size: 1.2rem; font-weight: bold">Kontak Kami</h5> 908 <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> 909 </div> 910 <div class="offcanvas-body p-0 px-2"> 911 <div class="d-flex flex-column w-100 gap-2"> 912 913 914 915 <a href="https://www.facebook.com/groups/1590637158426985" 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));"> 916 <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/facebook.png" width="18" height="18" alt=""></div> 917 <div style="color: var(--primary-text-color);">RW4D OFFICIAL</div> 918 </a> 919 920 921 922 923 924 <a href="https://t.me/RW4DDOFC" 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));"> 925 <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/telegram.png" width="18" height="18" alt=""></div> 926 <div style="color: var(--primary-text-color);">+62 819-1331-6525</div> 927 </a> 928 929 930 931 932 933 <a href="https://wa.me/6287783143440" 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));"> 934 <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/whatsapp.png" width="18" height="18" alt=""></div> 935 <div style="color: var(--primary-text-color);">+62 877-8314-3440</div> 936 </a> 937 938 939 940 941 942 </div> 943 944 </div> 945</div> 946 947 948 <style> 949 950 #mySidenav { 951 position: fixed; 952 top: 180px; 953 right: 100px; 954 z-index: 999; 955} 956 957#mySidenav div#nav:hover { 958 left: -138px; 959} 960 961#mySidenav div#nav { 962 position: absolute; 963 font-size: 20px; 964 border-radius: 0 5px 5px 0; 965 left: 36px; 966 transition: 0.3s; 967 display: flex; 968} 969 970#kontak-content { 971 width: 190px; 972 padding: 5px 10px 8px 10px; 973 font-size: 15px; 974 background-color: #FFF; 975 color: #000; 976} 977 978</style> 979 980 <!-- SIDENAV --> 981 <div id="mySidenav" class="sidenav desktop-only"> 982 <div id="nav"> 983 <div style="display: flex; align-items: start;"> 984 <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;"> 985 986 <img src="https://img.viva88athenae.com//new/assets/hubungi.png?2" alt="Hubungi Kami"> 987 988 </div> 989 <!--<img id="about" src="/images/kontak.png?4">--> 990 </div> 991 <div class="ptsans" style="font-size: 1rem; background: white; border-radius: 0px 5px 5px 5px; overflow: hidden; width: 160px"> 992 <div id="" style="padding: 4px"> 993 <img src="/assets/24h.png" style="width: 100%" alt="Layanan 24 Jam"> 994 </div> 995 996 <div id="kontak-content" style="display: flex; flex-direction: column; width: 100%; font-size: .8rem"> 997 <div style="display: grid; place-items: center; font-weight: bold; font-size: 1rem">MEMBER SERVICE</div> 998 999 1000 1001 <a href="https://www.facebook.com/groups/1590637158426985" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0"> 1002 <img src="https://img.viva88athenae.com/kontak/facebook.png" width="20" height="20" alt=""><span>RW4D OFFICIAL</span> 1003 </a> 1004 1005 1006 1007 1008 1009 <a href="https://t.me/RW4DDOFC" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0"> 1010 <img src="https://img.viva88athenae.com/kontak/telegram.png" width="20" height="20" alt=""><span>+62 819-1331-6525</span> 1011 </a> 1012 1013 1014 1015 1016 1017 <a href="https://wa.me/6287783143440" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0"> 1018 <img src="https://img.viva88athenae.com/kontak/whatsapp.png" width="20" height="20" alt=""><span>+62 877-8314-3440</span> 1019 </a> 1020 1021 1022 1023 1024 1025 </div> 1026 <div style="margin: 8px"> 1027 <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> 1028 </div> 1029 </div> 1030 </div> 1031 </div> 1032 1033 1034 1035 1036 <div class="d-none d-md-block px-2"> 1037 1038 1039 <div class="section desktop-topbar d-flex align-items-center justify-content-between"> 1040 <div class="d-flex align-items-center gap-4"> 1041 1042 </div> 1043 1044 1045 <!-- Desktop Login Start --> 1046 1047 <style> 1048 1049 .login-form { 1050 display: flex; 1051 align-items: center; 1052 justify-content: end; 1053 gap: 4px; 1054 } 1055 1056 .btn-masuk { 1057 background: linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49) !important; 1058 color: white; 1059 } 1060 1061 .btn-daftar { 1062 background: linear-gradient(#74cae3, #5bc0de 60%, #4ab9db); !important; 1063 color: white; 1064 } 1065 1066 .btn-google { 1067 width: 30px; 1068 height: 30px; 1069 background: #fff; 1070 border: 1px solid #ddd; 1071 border-radius: 3px; 1072 display: inline-flex; 1073 align-items: center; 1074 justify-content: center; 1075 } 1076 1077 .btn-google:hover { 1078 background: #f5f5f5; 1079 } 1080 1081 .btn-google-mobile { 1082 background: #fff; 1083 color: #3c4043; 1084 border: 1px solid #dadce0; 1085 border-radius: 3px; 1086 height: 36px; 1087 padding: 0 12px; 1088 font-weight: 600; 1089 font-size: 1.2rem; 1090 display: flex; 1091 align-items: center; 1092 justify-content: center; 1093 gap: 8px; 1094 } 1095 1096 .btn-google-mobile:hover { 1097 background: #f8f9fa; 1098 color: #202124; 1099 } 1100 1101 </style> 1102 1103 <div class="d-flex align-items-center gap-2"> 1104 <div id="desktoplogin" class="desktop-only"> 1105 <form class="login-form form" role="form"> 1106 <div id="msgbox" style="margin-right: 8px; color: #b29459; font-size: 1rem; white-space:nowrap;"></div> 1107 <div class="input-group login-field">
1108 <span class="input-group-text prepend mobile-only "><div class="h-100 center"><i class="bi bi-person-circle prepend-icon"></i></div></span> 1109 <input type="text" name="username" class="form-control login-input-field username" placeholder="Nama Akun" aria-label="Username"> 1110 </div> 1111 1112 1113 1114 <div class="input-group login-field"> 1115 <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> 1116 <input type="password" name="password" class="form-control login-input-field password" placeholder="Kata Sandi" aria-label="Password"> 1117 </div> 1118 1119 <!-- captcha --> 1120 1121 <div class="verifikasiform" style=""> 1122 <div style="display: flex; gap: 2px;"> 1123 <span id="verifikasi"><img src="/capimg.php" width="40" height="30" style="border:1px #999 solid;" alt="Kode verifikasi"></span> 1124 <input type="text" class="form-control login-field" name="verifikasi" id="verform" style="width:40px;height: 30px !important" autocomplete="off" aria-label="Kode verifikasi"> 1125 </div> 1126 1127 </div> 1128 <input type="hidden" name="verif" id="verifval" class="verifval" value="1"> 1129 1130 <!-- end captcha --> 1131 1132 1133 <!--<button value="Masuk" class="btn btn-masuk fw-bold p-0 px-2 submit">Masuk</button>--> 1134 <button type="button" class="btn btn-masuk fw-bold p-0 px-2 submit d-flex justify-content-center align-items-center">Masuk</button> 1135 <button type="button" class="btn btn-daftar btn-daftar-desktop fw-bold p-0 px-2 desktop-only" onclick="openRegister('desktop')">Daftar</button> 1136 1137 <input type="hidden" name="task" value="login"> 1138 <input type="hidden" name="iscaptchalogin" value="1"> 1139 <input type="hidden" name="isrecaptchalogin" value="0"> 1140 <input type="hidden" name="recaptcha_login_token" value=""> 1141 <input type="hidden" name="fp_event_id" value=""> 1142 <input type="hidden" name="fp_visitor_id" value=""> 1143 <input type="hidden" name="logindesktop" value="++xallHkXxsruE8sljIIM8eJRvgRmYEi8zhEvgVzcjY="> 1144 </form> 1145 1146 1147
1147<script> 1148 function jtRandomString(length) { 1149 var result = ''; 1150 var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 1151 1152 for (var i = 0; i < length; i++) { 1153 result += characters.charAt(Math.floor(Math.random() * characters.length)); 1154 } 1155 1156 return result; 1157 } 1158 1159 function jtGetCaptchaHtml(captchaPath, captchaStyle) { 1160 var r = Math.floor(Math.random() * 10000); 1161 return '<img src="' + captchaPath + '?' + r + '" ' + captchaStyle + ' alt="Kode verifikasi">'; 1162 } 1163 1164 function jtHandleLoginResponse(res, $root, verHtml) { 1165 var $msg = $root.find('#msgbox'); 1166 1167 var code = res && res.error && res.error.code; 1168 var msg = res && res.error && res.error.message; 1169 var data = (res && res.data) || {}; 1170 1171 if (code === 200 && msg === 'success') { 1172 toast('Login berhasil', 200); 1173 $msg.removeClass().text('Logging in').fadeTo(900, 1, function() { 1174 window.location = '/home'; 1175 }); 1176 return; 1177 } 1178 1179 if (code === 429 || msg === 'ratelimit') { 1180 $msg.removeClass().text('Terlalu banyak percobaan.').fadeIn(1000); 1181 } else if (msg === 'wrong') { 1182 $msg.removeClass().text('Salah Password').fadeIn(1000); 1183 $root.find('#verifikasi').html(verHtml); 1184 } else if (msg === 'banned') { 1185 $msg.removeClass().text('User di Banned').fadeIn(1000); 1186 $root.find('#verifikasi').html(verHtml); 1187 } else if (msg === 'empty') { 1188 $msg.removeClass().text('Silakan diisi').fadeIn(1000); 1189 } else if (msg === 'capempty') { 1190 $msg.removeClass().text('Verifikasi Kosong').fadeIn(1000); 1191 $root.find('#verifikasi').html(verHtml); 1192 } else if (msg === 'caperror') { 1193 $msg.removeClass().text('Verifikasi Salah').fadeIn(1000); 1194 $root.find('#verifikasi').html(verHtml); 1195 } else if (msg === 'recaperror') { 1196 $msg.removeClass().text('Recaptcha salah, coba lagi').fadeIn(1000); 1197 } else if (msg === 'iperror') { 1198 $msg.removeClass().text('IP Tidak Sesuai').fadeIn(1000); 1199 $root.find('#verifikasi').html(verHtml); 1200 } else if (msg === 'capexp') { 1201 $msg.removeClass().text('Captcha Expired').fadeIn(1000); 1202 $root.find('#verifikasi').html(verHtml); 1203 } else if (msg === 'cap') { 1204 $msg.removeClass().text('Isi Verifikasi').fadeIn(1000); 1205 $root.find('#verifikasi').html(verHtml); 1206 $root.find('.verifikasiform, #mverifikasiform').show(); 1207 $root.find('.verifval').val('1'); 1208 } else if (msg === 'turnnoevent') { 1209 window.location.reload(); 1210 } else if (msg === 'turnblock') { 1211 $msg.removeClass().text('Insecure Device').fadeIn(1000); 1212 } else { 1213 $msg.removeClass().text('Login gagal, coba lagi').fadeIn(1000); 1214 $root.find('#verifikasi').html(verHtml); 1215 } 1216 } 1217 1218 function jtSubmitLogin(rootSel, captchaPath, captchaStyle) { 1219 var $root = $(rootSel); 1220 var $form = $root.find('form.form'); 1221 1222 if ($form.length === 0) { 1223 $form = $root.find('.form'); 1224 } 1225 1226 if ($form.length === 0) { 1227 console.error('Login form not found:', rootSel); 1228 return false;
1229 } 1230 1231 var $submitBtn = $root.find('.submit'); 1232 var $msg = $root.find('#msgbox'); 1233 var verHtml = jtGetCaptchaHtml(captchaPath, captchaStyle); 1234 var isMobile = (rootSel.indexOf('mobile') !== -1); 1235 1236 $msg.removeClass().text('Validating').fadeIn(1000); 1237 1238 $submitBtn.prop('disabled', true).addClass('disabled'); 1239 1240 function unlockSubmit() { 1241 $submitBtn.prop('disabled', false).removeClass('disabled'); 1242 } 1243 1244 function doLoginPost() { 1245 $.ajax({ 1246 url: '/api/front/login', 1247 type: 'POST', 1248 data: $form.serialize(), 1249 dataType: 'json', 1250 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 1251 success: function(data) { 1252 jtHandleLoginResponse(data, $root, verHtml); 1253 } 1254 }) 1255 .fail(function() { 1256 $msg.removeClass().text('Koneksi gagal').fadeIn(1000); 1257 $root.find('#verifikasi').html(verHtml); 1258 }) 1259 .always(unlockSubmit); 1260 } 1261 1262 function afterTurnstile() { 1263 if (typeof jtWithRecaptchaLoginToken === 'function') { 1264 jtWithRecaptchaLoginToken($form, $msg, doLoginPost, unlockSubmit); 1265 } else { 1266 doLoginPost(); 1267 } 1268 } 1269 1270 function afterIframe() { 1271 if (typeof jtWithTurnstileLogin === 'function') { 1272 jtWithTurnstileLogin($form, afterTurnstile); 1273 } else { 1274 afterTurnstile(); 1275 } 1276 } 1277 1278 if (typeof jtWithIframeCaptchaLogin === 'function') { 1279 jtWithIframeCaptchaLogin($form, isMobile, afterIframe, function (msgText) { 1280 $msg.removeClass().text(msgText || 'Verifikasi Kosong').fadeIn(1000); 1281 unlockSubmit(); 1282 }); 1283 } else { 1284 afterIframe(); 1285 } 1286 1287 return false; 1288 } 1289 1290 // Login desktop 1291 $(document).on('click', '#desktoplogin .submit', function(e) { 1292 e.preventDefault(); 1293 1294 jtSubmitLogin( 1295 '#desktoplogin', 1296 '/capimg.php', 1297 'width="40" height="30" style="border:1px #999 solid;"' 1298 ); 1299 1300 return false;
1301 }); 1302 1303 // Login mobile 1304 $(document).on('click', '#mobilelogin .submit', function(e) { 1305 e.preventDefault(); 1306 1307 jtSubmitLogin( 1308 '#mobilelogin', 1309 '/mcapimg.php', 1310 'width="600" height="88" style="width:100%;height:auto;border-radius:5px;"' 1311 ); 1312 1313 return false; 1314 }); 1315 1316 // Tekan Enter utk login 1317 $(document).on('keypress', '#desktoplogin input, #mobilelogin input', function(e) { 1318 if (e.which === 13) { 1319 e.preventDefault(); 1320 1321 var $root = $(this).closest('#desktoplogin, #mobilelogin'); 1322 1323 if ($root.attr('id') === 'desktoplogin') { 1324 $('#desktoplogin .submit').trigger('click'); 1325 } else { 1326 $('#mobilelogin .submit').trigger('click'); 1327 } 1328 1329 return false; 1330 } 1331 }); 1332 1333 function jtEnsureDriver(done) { 1334 if (window.driver && window.driver.js) { 1335 done(); 1336 return; 1337 } 1338 if (window._jtDriverLoading) { 1339 window._jtDriverLoading.push(done); 1340 return; 1341 } 1342 window._jtDriverLoading = [done]; 1343 1344 var link = document.createElement('link'); 1345 link.rel = 'stylesheet'; 1346 link.href = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.css'; 1347 link.integrity = 'sha384-eyrYgcjChmzD338JTHFZssgJHOqqOZbajet8yZpCw8ESroLDi28BarMEKCImNGHC'; 1348 link.crossOrigin = 'anonymous'; 1349 document.head.appendChild(link); 1350 1351 var s = document.createElement('script'); 1352 s.src = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.js.iife.js'; 1353 s.integrity = 'sha384-BhR06AMz62Xn0o53z8itVS1vw4JslNckRFgOTa6/Dob0Agdmbbh8Dr9sDO2h18TO'; 1354 s.crossOrigin = 'anonymous'; 1355 s.onload = function () { 1356 var q = window._jtDriverLoading || []; 1357 window._jtDriverLoading = null; 1358 q.forEach(function (fn) { 1359 try { fn(); } catch (e) {} 1360 }); 1361 }; 1362 s.onerror = function () { 1363 window._jtDriverLoading = null; 1364 }; 1365 document.head.appendChild(s); 1366 } 1367 1368 function scrollToLoginForm() { 1369 if (typeof jtWarmAuthScripts === 'function') jtWarmAuthScripts(); 1370 var isDesktop = window.innerWidth >= 992; 1371 var formEl = document.getElementById(isDesktop ? 'desktoplogin' : 'mobilelogin'); 1372 1373 if (!formEl) { 1374 return; 1375 } 1376 1377 formEl.scrollIntoView({ 1378 behavior: 'smooth', 1379 block: 'center' 1380 }); 1381 1382 setTimeout(function() { 1383 var inp = formEl.querySelector('input[type="text"], input[name="username"], input[name="BOX_username"]'); 1384 1385 if (inp) { 1386 inp.focus(); 1387 } 1388 1389 if (!inp) { 1390 return; 1391 } 1392 1393 jtEnsureDriver(function () { 1394 if (!window.driver || !window.driver.js) { 1395 return; 1396 } 1397 1398 var driver = window.driver.js.driver({ 1399 popoverClass: 'driverjs-theme', 1400 showProgress: false, 1401 showButtons: [], 1402 overlayOpacity: 0.3, 1403 steps: [ 1404 { 1405 element: inp, 1406 popover: { 1407 title: 'Harap Login', 1408 description: 'Silakan masukkan username Anda', 1409 side: 'bottom', 1410 align: 'start', 1411 showButtons: [], 1412 nextBtnText: '', 1413 prevBtnText: '', 1414 doneBtnText: '' 1415 } 1416 } 1417 ], 1418 onDestroyStarted: () => driver.destroy(), 1419 }); 1420 driver.drive(); 1421 1422 var destroyDriver = function() { 1423 driver.destroy(); 1424 inp.removeEventListener('input', destroyDriver); 1425 inp.removeEventListener('click', destroyDriver); 1426 inp.removeEventListener('focus', destroyDriver); 1427 }; 1428 inp.addEventListener('input', destroyDriver, { once: true }); 1429 inp.addEventListener('click', destroyDriver, { once: true }); 1430 inp.addEventListener('focus', destroyDriver, { once: true }); 1431 }); 1432 }, 400); 1433 } 1434 1435 window.JT_LOGGED_IN = false;
1436 1437 if (sessionStorage.getItem('jt_pending_action')) { 1438 $(document).ready(function() { 1439 scrollToLoginForm(); 1440 }); 1441 } 1442 </script>
1442 1443 1444 </div> 1445 1446 1447 <!--<a href="/event">--> 1448 <!-- <img src="https://img.viva88athenae.com//btnevent.png" alt="EVENT" height="24px"/>--> 1449 <!--</a>--> 1450 </div> 1451 1452 <!-- Desktop Login End --> 1453 </div> 1454 1455 <div class="desktop-topbar-line"></div> 1456 1457 1458 1459 1460 <div class="desktop-topbar-line d-flex align-items-center justify-content-between" style="margin-left:-2.0rem;margin-right:-2.0rem"></div> 1461 1462 <nav class="section desktop-mainnav d-flex align-items-center"> 1463 <!-- <a class="navbar-brand me-2 flex-shrink-0 navbar-brand-guest" href="/home" onclick="content('/home.php','#content',this); return false;"> --> 1464 <a class="navbar-brand me-2 flex-shrink-0" href="/home" onclick="openPage('home'); return false;"> 1465 <img src="/images/logo.png?v=1790436338" alt="Logo" class="logo"> 1466 </a> 1467 <div class="d-flex align-items-stretch h-100 ms-auto" style="overflow-x:auto;scrollbar-width:none;"> 1468 <a href="/home" 1469 onclick="openPage('home',this); return false;" class="desktop-nav-link" 1470 data-nav="home"> 1471 <img src="https://img.viva88athenae.com/new/menu-home.png?v=1790436338" alt=""> 1472 <span>Home</span> 1473 </a> 1474 <a href="/togel" 1475 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" 1476 data-nav="togel"> 1477 <img src="https://img.viva88athenae.com/new/menu-togel.png?v=1790436338" alt=""> 1478 <span>Togel</span> 1479 </a> 1480 <a href="/slot" 1481 onclick="showProviders('slot',this); return false;" class="desktop-nav-link" 1482 data-nav="slot"> 1483 <img src="https://img.viva88athenae.com/new/menu-slot.png?v=1790436338" alt=""> 1484 <span>Slot</span> 1485 </a> 1486 <a href="/casino" 1487 onclick="showProviders('casino',this); return false;" class="desktop-nav-link" 1488 data-nav="casino"> 1489 <img src="https://img.viva88athenae.com/new/menu-casino.png?v=1790436338" alt=""> 1490 <span>Casino</span> 1491 </a> 1492 <a href="/sport" 1493 onclick="openPage('sport',this); return false;" class="desktop-nav-link" 1494 data-nav="sport"> 1495 <img src="https://img.viva88athenae.com/new/menu-sport.png?v=1790436338" alt=""> 1496 <span>Sport</span> 1497 </a> 1498 <a href="/sabung" 1499 onclick="openPage('sabung',this); return false;" class="desktop-nav-link" 1500 data-nav="sabung"> 1501 <img src="https://img.viva88athenae.com/new/menu-sabung.png?v=1790436338" alt="">
1502 <span>Sabung</span> 1503 </a> 1504 <a href="/arcade" 1505 onclick="showProviders('arcade',this); return false;" class="desktop-nav-link" 1506 data-nav="arcade"> 1507 <img src="https://img.viva88athenae.com/new/menu-arcade.png?v=1790436338" alt=""> 1508 <span>Arcade</span> 1509 </a> 1510 <a href="/interactive" 1511 onclick="showProviders('interactive',this); return false;" class="desktop-nav-link" 1512 data-nav="interactive"> 1513 <img src="https://img.viva88athenae.com/new/menu-interactive.png?v=1790436338" alt=""> 1514 <span>Interactive</span> 1515 </a> 1516 <a href="/kupon" 1517 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" 1518 data-nav="kupon"> 1519 <img src="https://img.viva88athenae.com/new/menu-kupon.png?v=1790436338" alt=""> 1520 <span>Kupon</span> 1521 </a> 1522 <a href="/promosi" 1523 onclick="openPage('promosi',this); return false;" class="desktop-nav-link" 1524 data-nav="promosi"> 1525 <img src="https://img.viva88athenae.com/new/menu-promo.png?v=1790436338" alt=""> 1526 <span>Promosi</span> 1527 </a> 1528 <a href="/event" 1529 onclick="openPage('event',this); return false;" class="desktop-nav-link" 1530 data-nav="event"> 1531 <img src="https://img.viva88athenae.com/new/menu-event.png?v=1790436338" alt=""> 1532 <span>Event</span> 1533 </a> 1534 </div> 1535 </nav> 1536 1537 </div> 1538 <!-- WHEEL --> 1539 <!-- WHEEL --> 1540 1541 1542 1543 <nav class="navbar px-3 d-md-none" style="z-index: 1046"> 1544 <div class="w-100 d-flex justify-content-between align-items-center ps-3"> 1545 <a class="navbar-brand" href="/home" onclick="content('/home.php','#content',this); return false;"> 1546 <img src="/images/logo.png?v=1790436338" alt="Logo" class="logo"> 1547 </a> 1548 <div class="d-flex align-items-center gap-2 pe-2"> 1549 <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"> 1550 <i class="bi bi-person-lines-fill" style="font-size: 20px; color: var(--primary-text-color)" aria-hidden="true"></i> 1551 </button> 1552 </div> 1553 </div> 1554 </div> 1555 </nav> 1556 1557 1558 1559 1560 1561 1562<style> 1563 1564 .banner { 1565 aspect-ratio: 1920 / 380; 1566 width: 100%; 1567 object-fit: cover; 1568 background: black 1569 } 1570 1571 @media only screen and (max-width: 1000px) { 1572 1573 .banner { 1574 aspect-ratio: 600 / 300; 1575 } 1576 1577 } 1578 1579</style> 1580 1581<div class="carousel slide" id="banner-carousel" data-bs-ride="carousel"> 1582 <div class="carousel-indicators"> 1583 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button> 1584 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="1" aria-label="Slide 2"></button> 1585 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="2" aria-label="Slide 3"></button> 1586 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="3" aria-label="Slide 4"></button> 1587 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="4" aria-label="Slide 5"></button> 1588 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="5" aria-label="Slide 6"></button> 1589 </div> 1590 <div class="carousel-inner" style="height: 100%"> 1591 <div class="carousel-item active" style="height: 100%"> 1592 1593 <a > 1594 1595 <img 1596 src="/images/upload-Slides-20241027134502.jpg" 1597 class="d-block w-100 banner" 1598 alt="" 1599 fetchpriority="high" > 1600 1601 </a> 1602 1603 </div> 1604 <div class="carousel-item " style="height: 100%"> 1605 1606 <a > 1607 1608 <img 1609 src="/images/upload-Slides-20241106163110.jpg" 1610 class="d-block w-100 banner" 1611 alt="" 1612 > 1613 1614 </a> 1615 1616 </div> 1617 <div class="carousel-item " style="height: 100%"> 1618 1619 <a > 1620 1621 <img 1622 src="/images/upload-Slides-20250131152015.jpg" 1623 class="d-block w-100 banner" 1624 alt="" 1625 > 1626 1627 </a> 1628 1629 </div> 1630 <div class="carousel-item " style="height: 100%"> 1631 1632 <a > 1633 1634 <img 1635 src="/images/upload-Slides-20250131152055.jpg" 1636 class="d-block w-100 banner" 1637 alt="" 1638 > 1639 1640 </a> 1641 1642 </div> 1643 <div class="carousel-item " style="height: 100%"> 1644 1645 <a > 1646 1647 <img 1648 src="https://img.viva88athenae.com/banner/mgl-25.jpg" 1649 class="d-block w-100 banner" 1650 alt="" 1651 > 1652 1653 </a> 1654 1655 </div> 1656 <div class="carousel-item " style="height: 100%"> 1657 1658 <a > 1659 1660 <img 1661 src="https://img.viva88athenae.com/banner/slider-fgs.jpg" 1662 class="d-block w-100 banner" 1663 alt="" 1664 > 1665 1666 </a> 1667 1668 </div> 1669 </div> 1670</div> 1671 1672 <div class="section marquee-bar"> 1673 <div class="marquee-date ps-2">
1674 <span id="datetime"></span> 1675 <i class="bi bi-volume-up-fill ms-1 secondary-text-color"></i> 1676 </div> 1677 <div class="marquee-text"> 1678 <div class="marquee-runner" id="marqueeRunner"> 1679 <span>"Selamat datang di RW4D , Game Slot Online Terbaik dan Situs Togel Terpercaya" [ TOGEL - SLOT - LIVE CASINO - SPORTBOOK - TEMBAK IKAN ] LINK GACOR: heylink.me/RW4D-OFFICIAL</span> 1680 </div> 1681 </div> 1682 </div> 1683 1684 <div class="p-2"> 1685 <div class="d-md-none"> 1686 <div id="lobbyMenuWrap" class="splide pb-4 mt-2"> 1687 <div class="splide__track"> 1688 <ul class="splide__list"> 1689 <li class="splide__slide"> 1690 <a href="/home" 1691 onclick="openPage('home',this); return false;" 1692 class="lobby-menu" 1693 data-nav="home"> 1694 <img src="https://img.viva88athenae.com/new/menu-home.png?v=1790436338" alt=""> 1695 <small>Home</small> 1696 </a> 1697 </li> 1698 <li class="splide__slide"> 1699 <a href="/togel" 1700 onclick="window.JT_LOGGED_IN ? content('/togel.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'togel'})), scrollToLoginForm()); return false;" 1701 class="lobby-menu" 1702 data-nav="togel"> 1703 <img src="https://img.viva88athenae.com/new/menu-togel.png?v=1790436338" alt=""> 1704 <small>Togel</small> 1705 </a> 1706 </li> 1707 <li class="splide__slide"> 1708 <a href="/kupon" 1709 onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm()); return false;" 1710 class="lobby-menu" 1711 data-nav="kupon"> 1712 <img src="https://img.viva88athenae.com/new/menu-kupon.png?v=1790436338" alt=""> 1713 <small>Kupon</small> 1714 </a> 1715 </li> 1716 <li class="splide__slide"> 1717 <a href="/slot" 1718 onclick="showProviders('slot',this); return false;" 1719 class="lobby-menu" 1720 data-nav="slot"> 1721 <img src="https://img.viva88athenae.com/new/menu-slot.png?v=1790436338" alt=""> 1722 <small>Slot</small> 1723 </a> 1724 </li> 1725 <li class="splide__slide"> 1726 <a href="/casino" 1727 onclick="showProviders('casino',this); return false;" 1728 class="lobby-menu" 1729 data-nav="casino"> 1730 <img src="https://img.viva88athenae.com/new/menu-casino.png?v=1790436338" alt=""> 1731 <small>Casino</small> 1732 </a> 1733 </li> 1734 <li class="splide__slide"> 1735 <a href="/sport" 1736 onclick="openPage('sport',this); return false;" 1737 class="lobby-menu" 1738 data-nav="sport"> 1739 <img src="https://img.viva88athenae.com/new/menu-sport.png?v=1790436338" alt=""> 1740 <small>Sport</small> 1741 </a> 1742 </li> 1743 <li class="splide__slide"> 1744 <a href="/sabung" 1745 onclick="openPage('sabung',this); return false;" 1746 class="lobby-menu" 1747 data-nav="sabung"> 1748 <img src="https://img.viva88athenae.com/new/menu-sabung.png?v=1790436338" alt=""> 1749 <small>Sabung</small> 1750 </a> 1751 </li> 1752 <li class="splide__slide"> 1753 <a href="/arcade" 1754 onclick="showProviders('arcade',this); return false;" 1755 class="lobby-menu" 1756 data-nav="arcade"> 1757 <img src="https://img.viva88athenae.com/new/menu-arcade.png?v=1790436338" alt=""> 1758 <small>Arcade</small> 1759 </a> 1760 </li> 1761 <li class="splide__slide"> 1762 <a href="/interactive" 1763 onclick="showProviders('interactive',this); return false;" 1764 class="lobby-menu" 1765 data-nav="interactive"> 1766 <img src="https://img.viva88athenae.com/new/menu-interactive.png?v=1790436338" alt=""> 1767 <small>Interactive</small> 1768 </a> 1769 </li> 1770 </ul> 1771 </div> 1772 </div> 1773 </div> 1774 1775
1775<script> 1776 document.addEventListener('DOMContentLoaded', function () { 1777 var lobbyEl = document.getElementById('lobbyMenuWrap'); 1778 if (lobbyEl && !lobbyEl.classList.contains('is-initialized')) { 1779 var mountLobby = function () { 1780 if (!lobbyEl || typeof Splide === 'undefined' || lobbyEl.classList.contains('is-initialized')) return; 1781 new Splide('#lobbyMenuWrap', { 1782 type: 'slide', perPage: 5, perMove: 5, 1783 gap: '8px', pagination: true, arrows: false, drag: true, 1784 }).mount(); 1785 }; 1786 if (typeof ensureSplide === 'function') { 1787 ensureSplide().then(mountLobby).catch(function () {}); 1788 } else { 1789 mountLobby(); 1790 } 1791 } 1792 1793 if (typeof initUserareaShell === 'function') { 1794 initUserareaShell(); 1795 } else if (typeof initGuestShell === 'function') { 1796 initGuestShell(); 1797 } else if (typeof content === 'function') { 1798 var isDesktop = window.innerWidth >= 768; 1799 var homeMenu = isDesktop 1800 ? document.querySelector('.desktop-nav-link[data-nav="home"]') 1801 : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]'); 1802 content('/home.php', '#content', homeMenu); 1803 } 1804 }); 1805 </script>
1805 1806 </div> 1807 1808 1809 <!-- Mobile Login Start --> 1810 1811 <div id="mobilelogin" class="d-block d-lg-none mb-3"> 1812 <form class="login-form form d-flex flex-column gap-2 align-items-center" style="padding: 0px; padding-top: 16px" role="form"> 1813 <div id="msgbox" style="font-size: 1rem; width: 100%"></div> 1814 <div class="input-group login-field"> 1815 <span class="input-group-text prepend mobile-only "><div class="h-100 center"><i class="bi bi-person-circle prepend-icon"></i></div></span> 1816 <input type="text" name="username" class="form-control login-input-field username" placeholder="Username" aria-label="Username"> 1817 </div> 1818 <div class="input-group login-field"> 1819 <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> 1820 <input type="password" name="password" class="form-control login-input-field password" placeholder="Password" aria-label="Password"> 1821 </div> 1822 1823 <!-- captcha --> 1824 1825 <div id="mverifikasiform" class="w-100" style=""> 1826 1827 <span id="verifikasi"><img src="/mcapimg.php" width="600" height="88" style="width:100%;height:auto;border-radius: 5px;" alt="Kode verifikasi"></span> 1828 <div class="input-group login-field mt-1"> 1829 <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> 1830 <input type="text" class="form-control login-input-field" name="verifikasi" id="mverform" autocomplete="off" placeholder="Verifikasi"> 1831 </div> 1832 </div> 1833 1834 <input type="hidden" name="verif" id="verifval" class="verifval" value="1"> 1835 1836 <!-- end captcha --> 1837 1838 <label style="font-size:12px;display:flex;align-items:center;margin-top:2px;margin-bottom:4px;cursor:pointer;"> 1839 <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> 1840 </label> 1841 1842 <!--<button type="submit" value="Masuk" class="btn btn-masuk fw-bold p-0 px-2 submit">Masuk</button>--> 1843 <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> 1844 <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> 1845 1846 1847 <button type="button" class="btn btn-tele fw-bold p-0 px-2 mobile-only" onclick="window.open('https://t.me/RW4DD_bot', '_blank')"><i class="bi bi-telegram me-2" style="color: #0088cc"></i>Main di Telegram</button> 1848 1849 1850 <input type="hidden" name="task" value="login"> 1851 <input type="hidden" name="iscaptchalogin" value="1"> 1852 <input type="hidden" name="isrecaptchalogin" value="0"> 1853 <input type="hidden" name="recaptcha_login_token" value=""> 1854 <input type="hidden" name="fp_event_id" value=""> 1855 <input type="hidden" name="fp_visitor_id" value=""> 1856 <input type="hidden" name="loginmobile" value="DzXTrNjavKQ4o2iIC925HBtf2D7Nmpmjl1COVBHexeE="> 1857 </form> 1858 1859 1860 <a href="/wap" class="mt-4" style="display: grid; place-items: center; font-size: 1rem; cursor: pointer; color: var(--menu-item-color)">WAP</a> 1861 1862 </div> 1863 1864 <!-- Mobile Login End --> 1865 1866
1866<script> 1867 function openDaftar() { 1868 if (typeof openRegister === 'function') { 1869 openRegister('desktop'); 1870 } else { 1871 window.location.href = '/register'; 1872 } 1873 } 1874 1875 function openDaftarMobile() { 1876 if (typeof openRegister === 'function') { 1877 openRegister('mobile'); 1878 $("#content").get(0).scrollIntoView({behavior: 'smooth'}); 1879 } else { 1880 window.location.href = '/register'; 1881 } 1882 } 1883 1884 1885 </script>
1885 1886 1887 1888 <style> 1889 1890 1891 #popup .modal-dialog { 1892 max-width: max-content; 1893 margin-top: 180px 1894 } 1895 1896 .imgpop { 1897 width: 600px; 1898 aspect-ratio: 2; 1899 object-fit: cover; 1900 } 1901 1902 1903 @media only screen and (max-width: 768px) { 1904 1905 #popup .modal-dialog { 1906 margin-top: 98px 1907 } 1908 1909 .imgpop { 1910 width: 100%; 1911 } 1912 1913 } 1914 1915 1916 1917 </style> 1918 1919 1920 <!-- Modal --> 1921 <div class="modal fade" id="popup" tabindex="-1" 1922 aria-label="" 1923 aria-hidden="true"> 1924 1925 <div class="modal-dialog"> 1926 <div class="modal-content" style="background-color: transparent"> 1927 <div class="modal-body" style="padding: 0px"> 1928 1929 <a > 1930 1931 <img 1932 src="/images/upload-Popup-20260901141846.jpg" 1933 alt="" 1934 class="imgpop" 1935 /> 1936 1937 </a> 1938 1939 </div> 1940 </div> 1941 </div> 1942 </div> 1943 1944 1945 1946 <div class="modal fade" id="modal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> 1947 <div class="modal-dialog modal-dialog-centered modal-lg modal-fullscreen-sm-down"> 1948 <div id="modal-content" class="modal-content rounded-0 primary-background-color"> 1949 </div> 1950 </div> 1951 </div> 1952 1953 <div id="content" class="section p-2" style="position:relative;min-height:60vh;"></div> 1954 1955 1956<!-- Transaksi Start --> 1957 1958 1959 1960<style> 1961 1962 .transaksi-group { 1963 display: grid; 1964 grid-template-columns: 458px 1fr; 1965 justify-content: space-between; 1966 grid-template-areas: 1967 "transaksi-bank transaksi-other transaksi-crypto"; 1968 } 1969 1970 .transaksi-bank { 1971 grid-area: transaksi-bank; 1972 display: grid; 1973 place-items: center 1974 } 1975 1976 .transaksi-other { 1977 grid-area: transaksi-other; 1978 display: flex; 1979 justify-content: space-evenly; 1980 width: 100%; 1981 } 1982 1983 .transaksi-crypto { 1984 grid-area: transaksi-crypto; 1985 display: flex; 1986 justify-content: space-evenly; 1987 width: 100%; 1988 } 1989 1990 .icon-crypto { 1991 width: 24px; 1992 height: 24px; 1993 } 1994 1995 .transaksi-list-bank { 1996 height: fit-content; 1997 display: grid; 1998 grid-template-columns: repeat(4, 92px); 1999 grid-template-rows: repeat(4, auto); 2000 gap: 4px; 2001 } 2002 2003 .transaksi-list-other { 2004 height: fit-content; 2005 display: grid; 2006 grid-template-columns: repeat(3, 92px); 2007 gap: 4px; 2008 } 2009 2010 .transaksi-list-crypto { 2011 height: fit-content; 2012 display: grid; 2013 grid-template-columns: repeat(2, 80px); 2014 gap: 10px 8px; 2015 } 2016 2017 2018 .transaksi-item { 2019 display: flex; 2020 flex-direction: column; 2021 /* transform: perspective(10px) rotateX(3deg); */ 2022 } 2023 2024 .transaksi-header { 2025 2026 height: 30px; 2027 border-radius: 5px; 2028 display: grid; 2029 place-items: center; 2030 font-weight: bold; 2031 border: 2px solid rgba(108,108,108,1); 2032 background: rgba(54,54,54,1); 2033 color: white; 2034 } 2035 2036 .transaksi-status { 2037 margin-left: 3px; 2038 margin-right: 3px; 2039 height: 3px; 2040 border-radius: 0px 0px 4px 4px; 2041 background: rgb(54,54,54); 2042 background: linear-gradient(90deg, rgba(54,54,54,1) 0%, rgba(108,108,108,1) 50%, rgba(54,54,54,1) 100%); 2043 } 2044 2045 .header-green { 2046 background: rgba(44,121,6,1); 2047 border-color: rgba(168,255,0,1); 2048 } 2049 2050 .header-blue { 2051 background: rgba(0,80,89,1); 2052 border-color: rgba(0,255,204,1); 2053 } 2054 2055 .status-green { 2056 background: rgb(44,121,6); 2057 background: linear-gradient(90deg, rgba(44,121,6,1) 0%, rgba(168,255,0,1) 50%, rgba(44,121,6,1) 100%); 2058 } 2059 2060 .status-blue { 2061 background: rgb(0,80,89); 2062 background: linear-gradient(90deg, rgba(0,80,89,1) 0%, rgba(0,255,204,1) 50%, rgba(0,80,89,1) 100%); 2063 } 2064 2065 .transaksi-name { 2066 font-size: 1.1rem; 2067 font-weight: bold; 2068 line-height: 1.5rem 2069 } 2070 2071 .transaksi-wrapper { 2072 display: flex; 2073 flex-direction: column; 2074 gap: .5rem; 2075 } 2076 2077 2078 @media only screen and (max-width: 768px) { 2079 2080 .transaksi-group { 2081 display: grid; 2082 grid-template-columns: 1fr; 2083 grid-template-areas: 2084 "transaksi-bank" 2085 "transaksi-other" 2086 "transaksi-crypto"; 2087 gap: 32px; 2088 margin-bottom: 8px; 2089 2090 } 2091 2092 .transaksi-header { 2093 font-size: 1.1rem; 2094 height: 36px; 2095 } 2096 2097 .transaksi-list-bank { 2098 grid-template-columns: repeat(4, 1fr); 2099 } 2100 2101 .transaksi-list-other { 2102 grid-template-columns: repeat(4, 1fr); 2103 } 2104 2105 .transaksi-list-crypto { 2106 width: 86%; 2107 margin: auto; 2108 grid-template-columns: repeat(4, 1fr); 2109 } 2110 2111 .transaksi-list { 2112 display: grid; 2113 grid-template-columns: repeat(3, 1fr); 2114 } 2115 2116 .transaksi-item { 2117 width: 100%; 2118 } 2119 2120 .transaksi-title-group { 2121 justify-content: center; 2122 padding: 16px 0; 2123 } 2124 2125 .transaksi-name { 2126 font-size: 1.3rem; 2127 text-align: center; 2128 line-height: 1.8rem; 2129 } 2130 2131 .transaksi-wrapper { 2132 width: 100%; 2133 max-width: 100%!important; 2134 gap: 1rem; 2135 } 2136 2137 .icon-crypto { 2138 width: 28px; 2139 height: 28px; 2140 } 2141 2142 } 2143</style> 2144 2145 2146 <style> 2147 .transaksi-wrapper { 2148 display: flex; 2149 flex-direction: column; 2150 gap: .5rem;
2151 align-items: flex-start; 2152} 2153 2154.transaksi-name { 2155 font-size: 1.1rem; 2156 font-weight: bold; 2157 line-height: 1.5rem; 2158} 2159 2160.carousel-inner { 2161 position: relative; 2162 width: 100%; 2163 overflow: hidden; 2164} 2165 2166.transaksi-list-bank, .transaksi-list-other { 2167 grid-template-columns: repeat(4, minmax(110px, 1fr)); 2168 gap: 8px 10px; 2169} 2170 2171 2172.transaksi-list-bank, .transaksi-list-other { 2173 height: fit-content; 2174 display: grid; 2175 grid-template-columns: repeat(4, minmax(80px, 1fr)); 2176 gap: 4px 6px; 2177} 2178 2179 2180.transaksi-item { 2181 display: flex; 2182 flex-direction: column; 2183 position: relative; 2184} 2185.transaksi-header { 2186 height: 34px; 2187 border-radius: 6px; 2188 font-weight: bold; 2189 border: 2px solid rgba(108, 108, 108, 1); 2190 background: rgba(54, 54, 54, 1); 2191 color: white; 2192 min-width: 110px; 2193 padding: 0 16px 0 28px; 2194 display: flex; 2195 align-items: center; 2196 justify-content: center; 2197 text-align: center; 2198 white-space: nowrap; 2199} 2200 2201.transaksi-header { 2202 border: none; 2203 padding: 0px; 2204 padding-bottom: 4px; 2205} 2206 2207.transaksi-header.is-online::before { 2208 content: ""; 2209 position: absolute; 2210 top: auto; 2211 left: 50%; 2212 transform: translateX(-50%); 2213 width: 50%; 2214 height: 4px; 2215 bottom: 0%; 2216 background-color: #00ff66; 2217 border-radius: 6px; 2218 box-shadow: 0 0 8px rgba(0, 255, 102, .85); 2219} 2220 2221.transaksi-header.is-offline { 2222 padding: 0 16px; 2223 background: #2e2e2e; 2224 border-color: #555; 2225 opacity: .35; 2226 align-items: center; 2227 justify-content: center; 2228 text-align: center; 2229} 2230 </style> 2231 2232 <div class="section desktop-only" style="min-height: 220px"> 2233 2234<div class="transaksi-group"> 2235 <div class="transaksi-bank"> 2236 2237 <div class="transaksi-wrapper"> 2238 <div class="transaksi-name">Bank Lokal</div> 2239 2240 <div id="transaksi-bank-indicators" class="carousel slide" data-bs-ride="carousel"> 2241 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 2242 2243 2244 </div> 2245 <div class="carousel-inner" > 2246 <div class="carousel-item active" style="min-height: 144px"> 2247 <div class="transaksi-list-bank"> 2248 2249 2250 2251 <div class="transaksi-item"> 2252 <div class="transaksi-header">BCA</div> 2253 <div class="transaksi-status status-green"></div> 2254 </div> 2255 2256 2257 <div class="transaksi-item"> 2258 <div class="transaksi-header">Mandiri</div> 2259 <div class="transaksi-status "></div> 2260 </div> 2261 2262 2263 <div class="transaksi-item"> 2264 <div class="transaksi-header">BNI</div> 2265 <div class="transaksi-status "></div> 2266 </div> 2267 2268 2269 <div class="transaksi-item"> 2270 <div class="transaksi-header">BRI</div> 2271 <div class="transaksi-status "></div> 2272 </div> 2273 2274 2275 <div class="transaksi-item"> 2276 <div class="transaksi-header">Danamon</div> 2277 <div class="transaksi-status status-green"></div> 2278 </div> 2279 2280 2281 <div class="transaksi-item"> 2282 <div class="transaksi-header">BSI</div> 2283 <div class="transaksi-status status-green"></div> 2284 </div> 2285 2286 2287 <div class="transaksi-item"> 2288 <div class="transaksi-header">JAGO</div> 2289 <div class="transaksi-status status-green"></div> 2290 </div> 2291 2292 2293 <div class="transaksi-item"> 2294 <div class="transaksi-header">SeaBank</div> 2295 <div class="transaksi-status status-green"></div> 2296 </div> 2297 2298 2299 </div> 2300 </div> 2301 2302 2303 2304 </div> 2305 </div> 2306 2307 </div> 2308 </div> 2309 2310 <div class="transaksi-other"> 2311 2312 2313 <div class="transaksi-wrapper" style="max-width: 458px"> 2314 2315 <div class="transaksi-name">E Money & Pulsa</div> 2316 2317 2318 <div id="transaksi-other-indicators" class="carousel slide" data-bs-ride="carousel"> 2319 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 2320 2321 2322 </div> 2323 <div class="carousel-inner" > 2324 <div class="carousel-item active"> 2325 <div class="transaksi-list-other"> 2326 2327 2328 2329 <div class="transaksi-item"> 2330 <div class="transaksi-header">Telkomsel</div> 2331 <div class="transaksi-status status-blue"></div> 2332 </div> 2333 2334 2335 <div class="transaksi-item"> 2336 <div class="transaksi-header">Axiata</div> 2337 <div class="transaksi-status status-blue"></div> 2338 </div> 2339 2340 2341 <div class="transaksi-item"> 2342 <div class="transaksi-header">DANA</div> 2343 <div class="transaksi-status status-blue"></div> 2344 </div> 2345 2346 2347 <div class="transaksi-item"> 2348 <div class="transaksi-header">OVO</div> 2349 <div class="transaksi-status status-blue"></div> 2350 </div> 2351 2352 2353 <div class="transaksi-item"> 2354 <div class="transaksi-header">GOPAY</div> 2355 <div class="transaksi-status status-blue"></div> 2356 </div> 2357 2358 2359 <div class="transaksi-item"> 2360 <div class="transaksi-header">LinkAja</div> 2361 <div class="transaksi-status status-blue"></div> 2362 </div> 2363 2364 2365 </div> 2366 </div> 2367 2368 2369 2370 </div> 2371 </div> 2372 </div> 2373 2374 2375 2376 </div> 2377 2378 <div class="transaksi-crypto"> 2379 <div class="transaksi-wrapper" style="max-width: 284px"> 2380 2381 <div class="transaksi-name mb-1">Crypto Currency</div> 2382 2383 2384 <div id="transaksi-crypto-indicators" class="carousel slide" data-bs-ride="carousel"> 2385 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 2386 2387 2388 </div> 2389 <div class="carousel-inner" > 2390 <div class="carousel-item active"> 2391 <div class="transaksi-list-crypto"> 2392 2393 2394 2395 <div class="d-flex gap-2"> 2396 <img src="https://img.viva88athenae.com/USDT.png" class="icon-crypto" alt="USDT"> 2397 <strong class="transaksi-name">USDT</strong> 2398 2399 </div> 2400 2401 2402 </div> 2403 </div> 2404 2405 2406 2407 </div> 2408 </div> 2409 </div> 2410 </div> 2411</div> 2412 2413</div> 2414 2415 2416 2417 2418 2419 <footer class="site-footer"> 2420<div class="section"> 2421 2422 <div class="footer-nav"> 2423 <a href="javascript:void(0)" onclick="openCms('tentang')">TENTANG KAMI</a>
2424 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('bantuan')">BANTUAN</a> 2425 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('peraturan')">PERATURAN</a> 2426 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('bank')">INFORMASI BANK</a> 2427 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('hubungi')">HUBUNGI KAMI</a> 2428 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('privasi')">KEBIJAKAN PRIVASI</a> 2429 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('cookies')">PERSETUJUAN COOKIES</a> 2430 </div> 2431 2432 <div class="footer-guidelines-wrap"> 2433 <img src="https://img.viva88athenae.com/new/guidelines.png?v=1790436338" alt="Guidelines" class="footer-guidelines-img" width="929" height="52"> 2434 </div> 2435 2436 <div class="footer-providers"> 2437 <img src="https://img.viva88athenae.com/assets/provider_w.png?v=1790436338" alt="Provider Logos" class="d-none d-md-block" style="margin:0 auto;" width="1201" height="124"> 2438 <img src="/images/new/provider-mobile.png?v=1790436338" alt="Provider Logos" class="d-md-none" width="600" height="262" style="max-width:100%;height:auto;"> 2439 </div> 2440 2441 2442 2443 <!-- LIVE CHAT --> 2444 2445 2446 <!-- LiveChat Internal --> 2447 <style id="cs-embed-custom-styles">
2448 /* Generated widget appearance â theme: light */ 2449.cs-embed { 2450 --cs-primary: #c60808; 2451 --cs-secondary: #f50000; 2452 --cs-panel-width: 450px; 2453 --cs-panel-height: 600px; 2454 --cs-footer-bg: #fff; 2455 --cs-footer-border: #f1f5f9; 2456 --cs-input-row-bg: #f1f5f9; 2457 --cs-input-text: #111827; 2458 --cs-input-muted: #64748b; 2459 --cs-upload-bg: #fff; 2460 --cs-upload-border: #cbd5e1; 2461 --cs-upload-icon: #334155; 2462 --cs-image-preview-bg: #eff6ff; 2463 --cs-image-preview-border: #dbeafe; 2464 --cs-closed-notice: #9ca3af; 2465 --cs-scrollbar-track: #eef2f7; 2466 --cs-scrollbar-thumb: #cbd5e1; 2467 --cs-scrollbar-thumb-hover: #94a3b8; 2468 --cs-messages-bg: #f8fafc; 2469 --cs-sticky-banner-bg: #fffbeb; 2470 --cs-sticky-banner-border: #fde68a; 2471 --cs-sticky-banner-inner-bg: #fff; 2472 --cs-sticky-banner-inner-border: #fde68a; 2473 --cs-sticky-banner-text: #92400e; 2474 right: 24px; left: auto; align-items: flex-end; 2475} 2476 2477.cs-embed .cs-panel { 2478 background: #fff; 2479 color: #111827; 2480} 2481 2482.cs-embed .cs-bubble--agent { 2483 background: #fff; 2484 color: #111; 2485 border-color: #e5e7eb; 2486} 2487 2488.cs-toggle:not(.cs-toggle--banner) { 2489 background: var(--cs-primary); 2490 box-shadow: 0 4px 12px rgba(198, 8, 8, 0.4); 2491} 2492 2493.cs-header { 2494 background: linear-gradient(135deg, #c60808, #f50000); 2495} 2496 2497.cs-bubble--customer { 2498 background: #c60808; 2499 color: #ffffff; 2500} </style> 2501
2501<script src="https://service.lc1001ai.com/embed.js"></script>
2501 2502
2502<script> 2503 (function () { 2504 var chatServiceUrl = "https://service.lc1001ai.com"; 2505 var channelId = "6a9e44287be8821259c62c8d"; 2506 var credentials = ""; 2507 var showWidget = true; 2508 window.CsChatEmbed 2509 .init({ 2510 chatServiceUrl: chatServiceUrl, 2511 channelId: channelId, 2512 credentials: credentials, 2513 createWidget: true, 2514 showWidget: showWidget, 2515 fetchAppearance: false, 2516 }) 2517 .then(function (result) { 2518 console.log("Chat connected, sessionId:", result.sessionId); 2519 }) 2520 .catch(function (err) { 2521 console.error("Chat init failed:", err); 2522 }); 2523 })(); 2524 </script>
2524 2525 2526 <div class="footer-group"> 2527 2528 <div class="footer-copyright"> 2529 <div style="white-space:nowrap"> 2530 © 2015 – 2026 Copyright RW4D. 2531 All Rights Reserved. 2532 </div> 2533 </div> 2534 2535 <div class="footer-wap-btn" onclick='window.location.href="/wap"'>WAP</div> 2536 2537 </div> 2538 2539</div> 2540</footer> <nav class="navbar fixed-bottom p-0 d-md-none" style="z-index:10000"> 2541 <div class="container-fluid px-0"> 2542 <div style="display:grid;grid-template-columns:repeat(4,1fr);width:100%;"> 2543 2544 2545 <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"> 2546 <i class="bi bi-house-fill" style="font-size:20px;"></i> 2547 <small>Home</small> 2548 </a> 2549 2550 <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"> 2551 <i class="bi bi-gift-fill" style="font-size:20px;"></i> 2552 <small>Promosi</small> 2553 </a> 2554 2555 <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"> 2556 <i class="bi bi-calendar-event-fill" style="font-size:20px;"></i> 2557 <small>Event</small> 2558 </a> 2559 2560 <div class="chat-dial-wrap bottom-menu d-flex flex-column justify-content-around align-items-center py-2" style="position:relative;"> 2561 <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;"> 2562 <img src="https://img.viva88athenae.com/navbar/chat_w.png?v=1790436338" alt="" style="width:20px;height:20px;object-fit:contain;"> 2563 <small>Chat</small> 2564 </a> 2565 <div class="chat-dial-list" id="chatDialList"> 2566 <a href="https://www.facebook.com/groups/1590637158426985" target="_blank" class="chat-dial-item" title="Facebook"> 2567 <img src="https://img.viva88athenae.com/facebook.png?v=1790436338" alt="Facebook"> 2568 </a> 2569 <a href="https://t.me/RW4DDOFC" target="_blank" class="chat-dial-item" title="Telegram"> 2570 <img src="https://img.viva88athenae.com/telegram.png?v=1790436338" alt="Telegram"> 2571 </a> 2572 <a href="https://wa.me/6287783143440" target="_blank" class="chat-dial-item" title="WhatsApp"> 2573 <img src="https://img.viva88athenae.com/whatsapp.png?v=1790436338" alt="WhatsApp"> 2574 </a> 2575 <a href="javascript:void(0)" onclick="window.CsChatEmbed.openChat(); return false;" class="chat-dial-item chat-dial-livechat" title="Livechat"> 2576 <img src="https://img.viva88athenae.com/navbar/livechat_w.png?v=1790436338" alt="Livechat"> 2577 </a> 2578 </div> 2579 </div> 2580 2581 2582 </div> 2583 </div> 2584</nav> 2585
2586<script> 2587 function toggleChatDial(e) { 2588 e.stopPropagation(); 2589 document.getElementById('chatDialList').classList.toggle('open'); 2590 } 2591 document.addEventListener('click', function (e) { 2592 var list = document.getElementById('chatDialList'); 2593 if (!list) return; 2594 // close when clicking outside, or after picking any dial item (livechat included) 2595 if (!e.target.closest('.chat-dial-wrap') || e.target.closest('.chat-dial-item')) { 2596 list.classList.remove('open'); 2597 } 2598 }); 2599</script>
2599 2600 2601 <div class="offcanvas offcanvas-end w-100" tabindex="-1" id="offcanvasExample"> 2602 2603 <div class="offcanvas-body p-0"> 2604 2605 <div class="d-grid gap-2 mt-2 px-3 offcanvas-user-menu"> 2606 <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()"> 2607 <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement 2608</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()"> 2609 <i class="bi bi-clock-fill me-2 accent-text-color"></i> History 2610</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()"> 2611 <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo 2612</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()"> 2613 <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral 2614</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()"> 2615 <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password 2616</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()"> 2617 <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening 2618</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/RW4D.apk','_blank')"> 2619 <div class="d-flex align-items-center px-3"> 2620 <i class="bi bi-android2 me-2 accent-text-color"></i> Download App 2621 </div> 2622 <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55"> 2623</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('https://t.me/RW4DD_bot','_blank')"> 2624 <div class="d-flex align-items-center px-3"> 2625 <i class="bi bi-send-fill me-2 accent-text-color"></i> Bet Via Telegram 2626 </div> 2627 <img src="/images/new/btn-telegram.png" class="btn-menu-img" alt="" width="171" height="55"> 2628</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')"> 2629 <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout 2630</button> </div> 2631 2632 </div> 2633 </div> 2634 2635 <div id="desktopUserDropdown" class="desktop-user-dropdown"> 2636 <div class="d-grid"> 2637 <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()"> 2638 <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement 2639</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()"> 2640 <i class="bi bi-clock-fill me-2 accent-text-color"></i> History 2641</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()"> 2642 <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo 2643</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()"> 2644 <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral 2645</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()"> 2646 <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password 2647</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()"> 2648 <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening 2649</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/RW4D.apk','_blank')"> 2650 <div class="d-flex align-items-center px-3"> 2651 <i class="bi bi-android2 me-2 accent-text-color"></i> Download App 2652 </div> 2653 <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55"> 2654</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('https://t.me/RW4DD_bot','_blank')"> 2655 <div class="d-flex align-items-center px-3"> 2656 <i class="bi bi-send-fill me-2 accent-text-color"></i> Bet Via Telegram 2657 </div> 2658 <img src="/images/new/btn-telegram.png" class="btn-menu-img" alt="" width="171" height="55"> 2659</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')"> 2660 <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout 2661</button> </div> 2662 </div> 2663 2664
2664<script src="/js/new/vendor/bootstrap.bundle.min.js?v=1790436338"></script>
2664 2665
2665<script src="/js/new/main.js?v=1790436338"></script>
2665 2666 2667
2667<script> 2668 window.JT_SSR_PATH = null; 2669 setTimeout(function() { 2670 const mobileForm = document.querySelector('#mobilelogin form') || 2671 document.querySelector('#mobilelogin .login-form') || 2672 document.querySelector('.mobile-only form'); 2673 2674 if (!mobileForm) { 2675 return; 2676 } 2677 2678 const username = mobileForm.querySelector('input[name="username"]'); 2679 const password = mobileForm.querySelector('input[name="password"]'); 2680 const remember = document.querySelector('#rememberMe') || 2681 document.querySelector('input[type="checkbox"]'); 2682 2683 if (!username || !password || !remember) { 2684 return; 2685 } 2686 2687 2688 2689 try { 2690 localStorage.setItem('test', 'working'); 2691 if (localStorage.getItem('test') === 'working') { 2692 localStorage.removeItem('test'); 2693 } else { 2694 return; 2695 } 2696 } catch(e) { 2697 return; 2698 } 2699 2700 initializeRememberMe(); 2701 loadSavedData(); 2702 2703 mobileForm.addEventListener('submit', handleSave); 2704 mobileForm.addEventListener('click', function(e) { 2705 if (e.target.type === 'submit' || e.target.classList.contains('submit')) { 2706 handleSave(); 2707 } 2708 }); 2709 remember.addEventListener('change', function() { 2710 if (!this.checked) { 2711 clearSavedData(); 2712 localStorage.setItem('mobile_remember_unchecked', 'true'); 2713 } else { 2714 localStorage.removeItem('mobile_remember_unchecked'); 2715 } 2716 }); 2717 2718 function initializeRememberMe() { 2719 try { 2720 const wasUnchecked = localStorage.getItem('mobile_remember_unchecked'); 2721 const hasSuccessfulLogin = localStorage.getItem('mobile_login_success'); 2722 if (wasUnchecked === 'true' && hasSuccessfulLogin === 'true') { 2723 remember.checked = false; 2724 } else { 2725 remember.checked = true; 2726 } 2727 } catch(e) { 2728 remember.checked = true; 2729 } 2730 } 2731 2732 function loadSavedData() { 2733 try { 2734 2735 const savedUsername = localStorage.getItem('mobile_username'); 2736 const savedPassword = localStorage.getItem('mobile_password'); 2737 2738 2739 2740 const rememberChecked = localStorage.getItem('mobile_remember'); 2741 if (rememberChecked === 'true' && savedUsername && savedPassword) { 2742 username.value = savedUsername; 2743 password.value = savedPassword; 2744 } 2745 } catch(e) { 2746 // console.log('Error loading data:', e); 2747 } 2748 } 2749 2750 function handleSave() { 2751 if (remember.checked) { 2752 const usernameVal = username.value.trim(); 2753 const passwordVal = password.value.trim(); 2754 2755 if (usernameVal && passwordVal) { 2756 try { 2757 localStorage.setItem('mobile_username', usernameVal); 2758 localStorage.setItem('mobile_password', passwordVal); 2759 localStorage.setItem('mobile_remember', 'true'); 2760 localStorage.setItem('mobile_login_success', 'true'); 2761 } catch(e) { 2762 // console.log('Error saving data:', e); 2763 } 2764 } 2765 } else { 2766 clearSavedData(); 2767 localStorage.setItem('mobile_login_success', 'true'); 2768 } 2769 } 2770 2771 function clearSavedData() { 2772 try { 2773 localStorage.removeItem('mobile_username'); 2774 localStorage.removeItem('mobile_password'); 2775 localStorage.removeItem('mobile_remember'); 2776 } catch(e) { 2777 // console.log('Error clearing data:', e); 2778 } 2779 } 2780 }, 100); // Wait 100ms 2781 </script>
2781 2782 2783
2783<script> 2784 var JT_GUEST_MAP = { 2785 '': '/' + 'home' + '.php', 2786 'home': '/' + 'home' + '.php', 2787 'togel': '/togel.php', 2788 'kupon': '/kupon.php', 2789 'promosi': '/' + 'promosi' + '.php', 2790 'event': '/' + 'event' + '.php', 2791 'register': '/' + 'register' + '.php', 2792 'slot': '/game.php?content=slot', 2793 'casino': '/game.php?content=casino', 2794 'sport': '/' + 'game' + '.php?' + 'content=sport', 2795 'sabung': '/' + 'game' + '.php?' + 'content=sabung', 2796 'arcade': '/game.php?content=arcade', 2797 'interactive': '/game.php?content=interactive', 2798 }; 2799 2800 if (window.matchMedia("(max-width: 768px)").matches) { 2801 JT_GUEST_MAP.register = '/' + 'mregister' + '.php'; 2802 } 2803 2804 var JT_URL_PREFIX = ""; 2805 2806 function jtGuestAjaxPathFromLocation() { 2807 var re = new RegExp('^' + (JT_URL_PREFIX ? JT_URL_PREFIX.replace(/\//g, '\\/') : '') + '\\/([^/?#]*)'); 2808 var match = location.pathname.match(re); 2809 var slug = match ? match[1] : ''; 2810 return JT_GUEST_MAP[slug] || '/home.php'; 2811 } 2812 2813 function jtGuestUrlForPath(path) { 2814 var gameMatch = path.match(/^\/game\.php\?content=([a-z]+)/); 2815 if (gameMatch) return JT_URL_PREFIX + '/' + gameMatch[1]; 2816 for (var slug in JT_GUEST_MAP) { 2817 if (JT_GUEST_MAP[slug] === path) { 2818 return slug === '' ? JT_URL_PREFIX + '/' : JT_URL_PREFIX + '/' + slug; 2819 } 2820 } 2821 return null; 2822 } 2823 2824 function jtUpdateBrowserUrl(path) { 2825 var cleanUrl = jtGuestUrlForPath(path); 2826 if (cleanUrl && window.history) { 2827 history.pushState({ path: path }, '', cleanUrl); 2828 } 2829 } 2830 2831 var _initGuestPath = jtGuestAjaxPathFromLocation(); 2832 history.replaceState({ path: _initGuestPath }, '', location.href); 2833 2834 function initGuestShell() { 2835 var path = jtGuestAjaxPathFromLocation(); 2836 var homeMenu = path === '/home.php' 2837 ? (window.innerWidth >= 768 2838 ? document.querySelector('.desktop-nav-link[data-nav="home"]') 2839 : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]')) 2840 : null; 2841 2842 // Skip AJAX jika home sudah di-SSR. 2843 if (window.JT_SSR_PATH && window.JT_SSR_PATH === path) { 2844 $('.lobby-menu, .desktop-nav-link').removeClass('active'); 2845 if (homeMenu) $(homeMenu).addClass('active'); 2846 if (typeof waitForCss === 'function') waitForCss(ASYNC_CSS_IDS); 2847 return; 2848 } 2849 2850 content(path, '#content', homeMenu, true); 2851 } 2852 2853 window.addEventListener('popstate', function (e) { 2854 var path = e.state && e.state.path; 2855 if (path) content(path, '#content', null, true); 2856 }); 2857 2858 // Heartbeat 60 detik â cek maintenance mode diaktifkan admin saat guest lagi buka web 2859 setInterval(function () { 2860 fetch('/api/front/maintenance-status') 2861 .then(function (r) { return r.json(); }) 2862 .then(function (res) { 2863 if (res.data && res.data.maintenance) { 2864 window.location.href = '/maintenance'; 2865 } 2866 }) 2867 .catch(function () {}); 2868 }, 60000); 2869 2870 $('#modal').on('hidden.bs.modal', function () { 2871 $('.navbar.fixed-bottom').css('z-index', '9999'); 2872 }); 2873 2874 function syncOffcanvasBounds() { 2875 if (window.innerWidth >= 768) return; 2876 2877 var topNav = document.querySelector('nav.navbar.d-md-none:not(.fixed-bottom)'); 2878 var bottomNav = document.querySelector('nav.navbar.fixed-bottom'); 2879 var top = topNav ? Math.round(topNav.getBoundingClientRect().bottom) : 56; 2880 var bottom = bottomNav 2881 ? Math.round(window.innerHeight - bottomNav.getBoundingClientRect().top) 2882 : 58; 2883 // navbar atas bukan fixed: kalau halaman ter-scroll (mis. setelah 2884 // buka menu Statement/History/dll lewat content()), rect.bottom bisa 2885 // negatif dan bikin sisi atas offcanvas + backdrop kepotong. 2886 top = Math.max(0, top); 2887 bottom = Math.max(0, bottom); 2888 2889 document.documentElement.style.setProperty('--offcanvas-top', top + 'px'); 2890 document.documentElement.style.setProperty('--offcanvas-bottom', bottom + 'px'); 2891 } 2892 2893 document.addEventListener('DOMContentLoaded', syncOffcanvasBounds); 2894 window.addEventListener('resize', syncOffcanvasBounds); 2895 2896 $('#offcanvasExample').on('show.bs.offcanvas', function () { 2897 syncOffcanvasBounds(); 2898 $('#providerBackdrop, #providerOverlay').remove(); 2899 var modalInst = bootstrap.Modal.getInstance(document.getElementById('modal')); 2900 if (modalInst) modalInst.hide(); 2901 }); 2902 2903 /* ââ Nav horizontal scroll (desktop) âââââââââââââââââââââââââââââ */ 2904 (function () { 2905 var navEl = document.querySelector('.desktop-mainnav .ms-auto'); 2906 if (!navEl) return; 2907 2908 /* mouse-wheel â horizontal scroll */ 2909 navEl.addEventListener('wheel', function (e) { 2910 if (e.deltaY !== 0) { 2911 e.preventDefault(); 2912 navEl.scrollLeft += e.deltaY; 2913 } 2914 }, { passive: false }); 2915 2916 /* scroll arrow buttons */ 2917 var btnL = document.createElement('button'); 2918 var btnR = document.createElement('button');
2919 [btnL, btnR].forEach(function (b) { 2920 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;'; 2921 }); 2922 btnL.innerHTML = '‹'; 2923 btnR.innerHTML = '›'; 2924 btnL.style.fontSize = btnR.style.fontSize = '20px'; 2925 2926 var nav = document.querySelector('.desktop-mainnav'); 2927 if (nav) { 2928 nav.style.position = 'relative'; 2929 nav.appendChild(btnL); 2930 nav.appendChild(btnR); 2931 } 2932 2933 function placeArrows() { 2934 var navRect = nav ? nav.getBoundingClientRect() : null; 2935 var logoEl = nav ? nav.querySelector('.navbar-brand') : null; 2936 var logoRight = logoEl ? logoEl.getBoundingClientRect().right : 0; 2937 btnL.style.left = (logoRight - (navRect ? navRect.left : 0) + 4) + 'px'; 2938 btnR.style.right = '4px'; 2939 } 2940 2941 function updateArrows() { 2942 placeArrows(); 2943 var canL = navEl.scrollLeft > 0; 2944 var canR = navEl.scrollLeft < navEl.scrollWidth - navEl.clientWidth - 1; 2945 btnL.style.display = canL ? 'flex' : 'none'; 2946 btnR.style.display = canR ? 'flex' : 'none'; 2947 } 2948 2949 var scrollTimer; 2950 function scrollBy(dir) { 2951 scrollTimer = setInterval(function () { navEl.scrollLeft += dir * 8; }, 16); 2952 } 2953 btnL.addEventListener('mousedown', function () { scrollBy(-1); }); 2954 btnR.addEventListener('mousedown', function () { scrollBy(1); }); 2955 document.addEventListener('mouseup', function () { clearInterval(scrollTimer); }); 2956 2957 navEl.addEventListener('scroll', updateArrows); 2958 window.addEventListener('resize', updateArrows); 2959 updateArrows(); 2960 })(); 2961 2962 function toggleDesktopUserMenu(e) { 2963 e.stopPropagation(); 2964 document.getElementById('desktopUserDropdown').classList.toggle('open'); 2965 } 2966 function closeDesktopUserMenu() { 2967 var d = document.getElementById('desktopUserDropdown'); 2968 if (d) d.classList.remove('open'); 2969 } 2970 document.addEventListener('click', function(e) { 2971 if (!e.target.closest('#desktopUserDropdown')) closeDesktopUserMenu(); 2972 if (!e.target.closest('.tpl-picker-wrap')) { 2973 var dd = document.getElementById('tplPickerDd'); 2974 if (dd) dd.classList.remove('open'); 2975 } 2976 }); 2977 2978 function toggleTplPicker(e) { 2979 e.stopPropagation(); 2980 closeDesktopUserMenu(); 2981 document.getElementById('tplPickerDd').classList.toggle('open'); 2982 } 2983 2984 2985 (function() { 2986 var days = ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu']; 2987 var daysShort = ['Min','Sen','Sel','Rab','Kam','Jum','Sab']; 2988 var p = n => String(n).padStart(2,'0'); 2989 function updateClock() { 2990 var now = new Date(); 2991 var isMobile = window.innerWidth < 768; 2992 var dayName = isMobile ? daysShort[now.getDay()] : days[now.getDay()]; 2993 var text = dayName + ' ' + p(now.getDate()) + '/' + p(now.getMonth()+1) + '/' + now.getFullYear(); 2994 if (!isMobile) text += ' ' + p(now.getHours()) + ':' + p(now.getMinutes()) + ':' + p(now.getSeconds()); 2995 var el = document.getElementById('datetime'); 2996 if (el) el.textContent = text; 2997 } 2998 updateClock(); 2999 setInterval(updateClock, 1000); 3000 })(); 3001 3002 (function () { 3003 var runner = document.getElementById('marqueeRunner'); 3004 var container = runner ? runner.closest('.marquee-text') : null; 3005 var resizeTimer; 3006 var SPEED = 100; 3007 3008 function initMarquee() { 3009 if (!runner || !container) return; 3010 var cW = container.offsetWidth; 3011 var tW = runner.offsetWidth; 3012 var dur = ((cW + tW) / SPEED).toFixed(2); 3013 runner.style.setProperty('--mq-start', cW + 'px');
3014 runner.style.animation = 'none'; 3015 requestAnimationFrame(function () { 3016 requestAnimationFrame(function () { 3017 runner.style.animation = 'mq-scroll ' + dur + 's linear infinite'; 3018 }); 3019 }); 3020 } 3021 3022 requestAnimationFrame(function () { requestAnimationFrame(initMarquee); }); 3023 3024 document.addEventListener('visibilitychange', function () { 3025 if (!document.hidden) initMarquee(); 3026 }); 3027 3028 window.addEventListener('resize', function () { 3029 clearTimeout(resizeTimer); 3030 resizeTimer = setTimeout(function () { 3031 initMarquee(); 3032 positionProviderOverlay(); 3033 var isDesktop = window.innerWidth >= 768; 3034 if (isDesktop) { 3035 var oc = bootstrap.Offcanvas.getInstance(document.getElementById('offcanvasExample')); 3036 if (oc) oc.hide(); 3037 } else { 3038 closeDesktopUserMenu(); 3039 } 3040 }, 150); 3041 }); 3042 3043 window.addEventListener('orientationchange', function () { 3044 setTimeout(function () { initMarquee(); positionProviderOverlay(); }, 200); 3045 }); 3046 })(); 3047 </script>
3047 3048 3049 <!-- Auth --> 3050 3051
3051<script> 3052 3053$(document).on("click", "#desktopregister #buttonRegisterDesktop", function() 3054 { 3055 nocache = new Date().getTime().toString().slice(-3); 3056 3057 var ver = `<img src="capreg.php?${nocache}" width="100%" height="30" style="border:1px #999 solid;" alt="Kode verifikasi">`; 3058 var $form = $('#desktopregister #formRegister'); 3059 var $status = $('#desktopregister #statusRegister'); 3060 3061 if (typeof window.validateAllDesktop === 'function' && !window.validateAllDesktop()) { 3062 $('#desktopregister #statusRegister').removeClass().addClass('alert alert-sm alert-warning').text('Harap periksa data yang diisi').fadeIn(500); 3063 return false; 3064 } 3065 3066 $status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000); 3067 3068 function submitDesktopRegister() { 3069 3070 $.ajax({ 3071 url: "/api/front/register", 3072 type: "POST", 3073 data: $form.serialize(), 3074 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 3075 success: function(data) 3076 { 3077 3078 $('.is-invalid').removeClass('is-invalid'); 3079 3080 if (data == 'success') 3081 { 3082 3083 toast('Registrasi Sukses!, Selamat Bergabung.', 200); 3084 $status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900); 3085 3086 window.location='/home?welcome'; 3087 } 3088 else 3089 if (data == 'userWrong') 3090 { 3091 $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); 3092 $('#desktopregister #reg_username').addClass('is-invalid'); 3093 3094 } 3095 else 3096 if (data == 'passWrong') 3097 { 3098 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000); 3099 $('#desktopregister #reg_pass').addClass('is-invalid'); 3100 } 3101 else 3102 if (data == 'passSame') 3103 { 3104 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000); 3105 $('#desktopregister #reg_passcon').addClass('is-invalid'); 3106 } 3107 else 3108 if (data == 'bankEmpty') 3109 { 3110 $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000); 3111 $('#desktopregister #reg_bank').addClass('is-invalid'); 3112 } 3113 else 3114 if (data == 'rekEmpty') 3115 { 3116 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000); 3117 $('#desktopregister #reg_rek').addClass('is-invalid'); 3118 } 3119 else 3120 if (data == 'namaEmpty') 3121 { 3122 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000); 3123 $('#desktopregister #reg_nama').addClass('is-invalid'); 3124 } 3125 else 3126 if (data == 'dbError') 3127 { 3128 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000); 3129 } 3130 else 3131 if (data == 'userExist') 3132 { 3133 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000); 3134 $('#desktopregister #reg_username').addClass('is-invalid'); 3135 } 3136 else 3137 if (data == 'rekExist') 3138 { 3139 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000); 3140 $('#desktopregister #reg_rek').addClass('is-invalid'); 3141 } 3142 else 3143 if (data == 'refError') 3144 { 3145 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut, bila tidak punya referal, bisa kosongkan').fadeIn(1000); 3146 $('#desktopregister #reg_ref').addClass('is-invalid'); $('#desktopregister #reg_ref').removeAttr('readonly').val(''); 3147 } 3148 else 3149 if (data == 'emailError') 3150 { 3151 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000); 3152 $('#desktopregister #reg_email').addClass('is-invalid'); 3153 } 3154 else 3155 if (data == 'telponEmpty') 3156 { 3157 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
3157idak boleh kosong').fadeIn(1000); 3158 $('#desktopregister #reg_telpon').addClass('is-invalid'); 3159 } 3160 else 3161 if (data == 'telponError') 3162 { 3163 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000); 3164 $('#desktopregister #reg_telpon').addClass('is-invalid'); 3165 } 3166 else if (data == 'namaError') { 3167 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000); 3168 $('#desktopregister #reg_nama').addClass('is-invalid'); 3169 } 3170 else 3171 if (data == 'dariEmpty') 3172 { 3173 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000); 3174 $('#desktopregister #reg_dari').addClass('is-invalid'); 3175 } 3176 else 3177 if (data == 'lainEmpty') 3178 { 3179 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000); 3180 $('#desktopregister #reg_lain').addClass('is-invalid'); 3181 } 3182 else 3183 if (data == 'caperror') 3184 { 3185 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000); 3186 $('#desktopregister #reg_verifikasi').addClass('is-invalid'); 3187 3188 } 3189 else 3190 if (data == 'recaperror') 3191 { 3192 $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000); 3193 } 3194 else 3195 if (data == 'iperror') 3196 { 3197 $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000); 3198 } 3199 else 3200 if (data == 'capexp') 3201 { 3202 $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000); 3203 } 3204 else 3205 if (data == 'wait') 3206 { 3207 $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000); 3208 } 3209 else 3210 if (data == 'turnnoevent') 3211 { 3212 window.location.reload(); 3213 } 3214 else 3215 if (data == 'turnblock') 3216 { 3217 $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000); 3218 } 3219 else 3220 if (data.indexOf('passNotSafe|') === 0) 3221 { 3222 var msg = data.substring('passNotSafe|'.length); 3223 if (!msg) { 3224 msg = 'Password tidak aman! Gunakan password yang lebih kuat.'; 3225 } 3226 3227 $status 3228 .removeClass() 3229 .addClass('alert alert-sm alert-warning') 3230 .text(msg) 3231 .fadeIn(1000); 3232 3233 $('#desktopregister #reg_pass').addClass('is-invalid'); 3234 } 3235 3236 $('#desktopregister #capverifikasi').html(ver); 3237 3238 }}) 3239 .fail(function() { 3240 $status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000); 3241 $('#desktopregister #capverifikasi').html(ver); 3242 }); 3243 } 3244 3245 jtWithIframeCaptchaRegister($form, false, function () { 3246 jtWithTurnstileRegister($form, function () { 3247 jtWithRecaptchaRegisterToken($form, $status, submitDesktopRegister); 3248 }); 3249 }, function (msg) { 3250 $status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000); 3251 }); 3252 return false; 3253}); 3254 </script>
3254 3255 3256
3256<script> 3257 3258 function onlyNumber(n) { 3259 return n.replace(/\D/g, ''); 3260 } 3261 3262 3263 $(document).on("keyup", "#mobileregister #reg_rek, #mobileregister #reg_telpon", function() 3264 { 3265 var rek = $(this).val(); 3266 rek = onlyNumber(rek); 3267 if (isNaN(rek)) rek = ''; 3268 $(this).val(rek); 3269 }); 3270 3271// 3272$(document).on("change", '#mobileregister #reg_dari', function() 3273 { 3274 inputdari = $('#mobileregister #reg_dari').val(); 3275 3276 if (inputdari == 'Lain-lain') 3277 { 3278 $('#mobileregister #reg_lain').show(); 3279 } 3280 else 3281 { 3282 $('#mobileregister #reg_lain').hide(); 3283 } 3284 }); 3285 3286 3287$(document).on("click", "#mobileregister #buttonRegister", function() 3288 { 3289 3290 nocache = new Date().getTime().toString().slice(-3); 3291 3292 var ver = `<img src=\"mcapreg.php?${nocache}\" width=\"100%\" style=\"height: 40px; width: 100%; border-radius: 5px;margin-top: -3px;\" alt=\"Kode verifikasi\">`; 3293 var $form = $('#mobileregister #formRegister'); 3294 var $status = $('#mobileregister #statusRegister'); 3295 $status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000); 3296 3297 function submitMobileRegister() { 3298 3299 3300 3301 $.ajax({ 3302 url: "/api/front/register", 3303 type: "POST", 3304 data: $form.serialize(), 3305 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 3306 success: function(data) 3307 { 3308 $('.is-invalid').removeClass('is-invalid'); 3309 3310 if (data == 'success') 3311 { 3312 3313 toast('Registrasi Sukses!, Selamat Bergabung.', 200); 3314 $status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900); 3315 window.location='/home?welcome'; 3316 } 3317 else 3318 if (data == 'userWrong') 3319 { 3320 $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); 3321 $('#mobileregister #reg_username').addClass('is-invalid'); 3322 } 3323 else 3324 if (data == 'passWrong') 3325 { 3326 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000); 3327 $('#mobileregister #reg_pass').addClass('is-invalid'); 3328 } 3329 else 3330 if (data == 'passSame') 3331 { 3332 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000); 3333 $('#mobileregister #reg_passcon').addClass('is-invalid'); 3334 } 3335 else 3336 if (data == 'bankEmpty') 3337 { 3338 $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000); 3339 $('#mobileregister #reg_bank').addClass('is-invalid'); 3340 } 3341 else 3342 if (data == 'rekEmpty') 3343 { 3344 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000); 3345 $('#mobileregister #reg_rek').addClass('is-invalid'); 3346 } 3347 else 3348 if (data == 'namaEmpty') 3349 { 3350 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000); 3351 $('#mobileregister #reg_nama').addClass('is-invalid'); 3352 } 3353 else 3354 if (data == 'dbError') 3355 { 3356 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000); 3357 } 3358 else 3359 if (data == 'userExist') 3360 { 3361 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000); 3362 $('#mobileregister #reg_username').addClass('is-invalid'); 3363 } 3364 else 3365 if (data == 'rekExist') 3366 { 3367 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000); 3368 $('#mobileregister #reg_rek').addClass('is-invalid'); 3369 } 3370 else 3371 if (data == 'refError') 3372 { 3373 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut').fadeIn(1000); 3374 $('#mobileregister #reg_ref').addClass('is-invalid'); 3375 } 3376 else 3377 if (data == 'emailError') 3378 { 3379 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000); 3380 $('#mobileregister #reg_email').addClass('is-invalid'); 3381 } 3382 else 3383 if (data == 'telponEmpty') 3384 { 3385 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
3385idak boleh kosong').fadeIn(1000); 3386 $('#mobileregister #reg_telpon').addClass('is-invalid'); 3387 } 3388 else 3389 if (data == 'telponError') 3390 { 3391 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000); 3392 $('#mobileregister #reg_telpon').addClass('is-invalid'); 3393 } 3394 else if (data == 'namaError') { 3395 3396 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000); 3397 $('#mobileregister #reg_nama').addClass('is-invalid'); 3398 } 3399 else 3400 if (data == 'dariEmpty') 3401 { 3402 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000); 3403 $('#mobileregister #reg_dari').addClass('is-invalid'); 3404 } 3405 else 3406 if (data == 'lainEmpty') 3407 { 3408 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000); 3409 $('#mobileregister #reg_lain').addClass('is-invalid'); 3410 } 3411 else 3412 if (data == 'caperror') 3413 { 3414 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000); 3415 $('#mobileregister #reg_verifikasi').addClass('is-invalid'); 3416 3417 } 3418 else 3419 if (data == 'recaperror') 3420 { 3421 $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000); 3422 } 3423 else 3424 if (data == 'iperror') 3425 { 3426 $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000); 3427 } 3428 else 3429 if (data == 'capexp') 3430 { 3431 $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000); 3432 } 3433 else 3434 if (data == 'wait') 3435 { 3436 $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000); 3437 } 3438 else 3439 if (data == 'turnnoevent') 3440 { 3441 window.location.reload(); 3442 } 3443 else 3444 if (data == 'turnblock') 3445 { 3446 $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000); 3447 } 3448 else 3449 if (data.indexOf('passNotSafe|') === 0) 3450 { 3451 var msg = data.substring('passNotSafe|'.length); 3452 if (!msg) { 3453 msg = 'Password tidak aman! Gunakan password yang lebih kuat.'; 3454 } 3455 3456 $status 3457 .removeClass() 3458 .addClass('alert alert-sm alert-warning') 3459 .text(msg) 3460 .fadeIn(1000); 3461 3462 $('#mobileregister #reg_pass').addClass('is-invalid'); 3463 } 3464 3465 $('#mobileregister #capverifikasi').html(ver); 3466 // ke('#mobileregister #content'); 3467 }}) 3468 .fail(function() { 3469 $status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000); 3470 $('#mobileregister #capverifikasi').html(ver); 3471 }); 3472 } 3473 3474 jtWithIframeCaptchaRegister($form, true, function () { 3475 jtWithTurnstileRegister($form, function () { 3476 jtWithRecaptchaRegisterToken($form, $status, submitMobileRegister); 3477 }); 3478 }, function (msg) { 3479 $status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000); 3480 }); 3481 return false; 3482}); 3483 </script>
3483 3484 3485
3485<script> 3486 const currentPath = window.location.pathname.replace(/\/+$/, ''); 3487 const popupElement = document.getElementById('popup'); 3488 3489 if (currentPath === '/register') { 3490 document.getElementById('content')?.scrollIntoView(); 3491 } else if (popupElement && typeof bootstrap !== 'undefined') { 3492 const popupModal = bootstrap.Modal.getOrCreateInstance(popupElement); 3493 popupModal.show(); 3494 } 3495 </script>
3495 3496 3497
3497<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"b53af442c2fa4fa89236ad155dcfb3a5","r":1,"spa":2}' crossorigin="anonymous"></script>
3497 3498</body> 3499</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.