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>TERA4D Official Situs Game Online Asik Bersama Teman dan Keluarga Untuk Hadirkan Kemenangan Tanpa Batas</title> 7 <link rel="icon" type="image/png" href="/favicon.png"> 8 9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 10<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 11<meta name="title" content="TERA4D Official Situs Game Online Asik Bersama Teman dan Keluarga Untuk Hadirkan Kemenangan Tanpa Batas"> 12<meta name="description" content="TERA4D Official menghadirkan nuansa Game Online Asik Bersama Teman dan Keluarga untuk mengisi waktu santai dengan pengalaman yang lebih seru. Beragam pilihan permainan dapat menjadi teman untuk menikmati waktu luang, berbagi keseruan, dan menciptakan momen menarik bersama orang-orang terdekat."> 13<meta name="keywords" content="tera4d, tera 4d, tera4d daftar, tera4d login, link tera4d"> 14<meta property="og:image" content="https://i.ibb.co/gLV4P6RM/tera4dpopup.png" /> 15<meta name="p:domain_verify" content="c37a52d62f02dcae8cd3ecec5ff7e5f1"/> 16<meta http-equiv="content-language" content="id"> 17<meta content="id" name="geo.country"> 18<meta content="Indonesia" name="geo.placename"> 19<meta content="general" name="rating"> 20<meta content="All,INDEX,follow,noodp,noydir" name="Robots"> 21<meta content="index,follow, snipet" name="googlebot"> 22<meta content="document" name="resource-type"> 23<meta content="follow, all" name="Googlebot-Image"> 24<meta content="follow, all" name="Scooter"> 25<meta content="follow, all" name="msnbot"> 26<meta content="follow, all" name="alexabot"> 27<meta content="follow, all" name="Slurp"> 28<meta content="follow, all" name="ZyBorg"> 29<meta content="follow, all" name="yahoobot"> 30<meta content="follow, all" name="bingbot"> 31<meta content="id" name="language"> 32<meta content="ALL" name="SPIDERS"> 33<meta content="ALL" name="WEBCRAWLERS"> 34<meta content="general" name="rating"> 35<meta content="always" name="revisit-after"> 36<meta content="global" name="distribution"> 37<meta content="all" name="audience"> 38<link rel="canonical" href="https://tera4d.com/"> 39<link rel="alternate" hreflang="id-id" href="https://tera4d.com/"> 40<link rel="alternate" hreflang="id" href="https://tera4d.com/"> 41<link rel="alternate" hreflang="en" href="https://tera4d.com/"> 42<link rel="alternate" hreflang="x-default" href="https://tera4d.com/"> 43<link rel="alternate" hreflang="id-sg" href="https://tera4d.com/"> 44<link rel="alternate" hreflang="id-my" href="https://tera4d.com/"> 45<link rel="alternate" hreflang="id-ph" href="https://tera4d.com/"> 46<link rel="amphtml" href="https://amptera4d.com/"> 47<meta name="msvalidate.01" content="536DF784FA3A45ED579536060EFE1F88"> 48 49<!-- Google Tag Manager -->
50<script>
vendor: 331 bytes, lines 50-54
50(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 51new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 52j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 53'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 54})(window,document,'script','dataLayer','
54GTM-MK9XDNB7
vendor: 3 bytes, line 54
54');
54</script>
54 55<!-- End Google Tag Manager --> 56 57<!-- TikTok Pixel Code Start -->
58<script> 59!function (w, d, t) { 60 w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for( 61var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script") 62;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)}; 63 64 65 ttq.load('D972U4JC77UEFAL2I1P0'); 66 ttq.page(); 67}(window, document, 'ttq'); 68</script>
68 69<!-- TikTok Pixel Code End --> 70 71<!-- TikTok Pixel Code Start -->
72<script> 73!function (w, d, t) { 74 w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for( 75var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script") 76;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)}; 77 78 79 ttq.load('D9IDHSBC77U9GBM27P30'); 80 ttq.page(); 81}(window, document, 'ttq'); 82</script>
82 83<!-- TikTok Pixel Code End --> 84 85<!-- TikTok Pixel Code Start -->
86<script> 87!function (w, d, t) { 88 w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for( 89var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script") 90;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)}; 91 92 93 ttq.load('D9Q7HUBC77U97D5QC7N0'); 94 ttq.page(); 95}(window, document, 'ttq'); 96</script>
96 97<!-- TikTok Pixel Code End --> 98
99<script type="application/ld+json"> 100 { 101 "@context": "https://schema.org", 102 "@type": "Organization", 103 "name": "TERA4D", 104 "alternateName": "TERA4D LOGIN", 105 "url": "https://tera4d.com/", 106 "logo": "https://i.ibb.co/gLV4P6RM/tera4dpopup.png", 107 "description": "TERA4D Official menghadirkan nuansa Game Online Asik Bersama Teman dan Keluarga untuk mengisi waktu santai dengan pengalaman yang lebih seru. Beragam pilihan permainan dapat menjadi teman untuk menikmati waktu luang, berbagi keseruan, dan menciptakan momen menarik bersama orang-orang terdekat.", 108 "foundingDate": "2013", 109 "foundingLocation": { 110 "@type": "Place", 111 "name": "Indonesia" 112 }, 113 "address": { 114 "@type": "PostalAddress", 115 "addressCountry": "ID", 116 "addressRegion": "Jakarta" 117 }, 118 "sameAs": [ 119 "https://www.facebook.com/tera4d", 120 "https://twitter.com/tera4d", 121 "https://www.instagram.com/tera4d" 122 ], 123 "contactPoint": [ 124 { 125 "@type": "ContactPoint", 126 "telephone": "+62 852-1802-1504", 127 "contactType": "customer service", 128 "areaServed": "ID", 129 "availableLanguage": ["id", "en"] 130 } 131 ] 132 } 133</script>
133 134
135<script src="https://analytics.ahrefs.com/analytics.js" data-key="rWDVMXheu9bcgrq/hJxXAg" async></script>
135 136<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> 137<meta http-equiv="Pragma" content="no-cache" /> 138<meta http-equiv="Expires" content="0" /> 139<style> 140.marquee { 141 background-image: linear-gradient(#ea1eb6, #7119b8) !important; 142} 143</style> 144 <link rel="preconnect" href="https://img.viva88athenae.com"> 145 <link rel="preload" href="/fonts/new/ubuntu-normal-400-latin.woff2" as="font" type="font/woff2" crossorigin> 146 <link rel="preload" href="/fonts/new/ubuntu-normal-700-latin.woff2" as="font" type="font/woff2" crossorigin> 147 <link rel="preload" href="/fonts/new/oswald-normal-400-latin.woff2" as="font" type="font/woff2" crossorigin> 148 <link href="/css/new/vendor/bootstrap.min.css?v=1790436652" rel="stylesheet"> 149 <style id="jt-fonts">/* Self-hosted Ubuntu + Oswald (latin / latin-ext), font-display: swap */ 150/* latin-ext */ 151@font-face { 152 font-family: 'Oswald'; 153 font-style: normal; 154 font-weight: 400; 155 font-display: swap; 156 src: url(/fonts/new/oswald-normal-400-latinext.woff2) format('woff2'); 157 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; 158} 159/* latin */ 160@font-face { 161 font-family: 'Oswald'; 162 font-style: normal; 163 font-weight: 400; 164 font-display: swap; 165 src: url(/fonts/new/oswald-normal-400-latin.woff2) format('woff2'); 166 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; 167} 168/* latin-ext */ 169@font-face { 170 font-family: 'Oswald'; 171 font-style: normal; 172 font-weight: 500; 173 font-display: swap; 174 src: url(/fonts/new/oswald-normal-500-latinext.woff2) format('woff2'); 175 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; 176} 177/* latin */ 178@font-face { 179 font-family: 'Oswald'; 180 font-style: normal; 181 font-weight: 500; 182 font-display: swap; 183 src: url(/fonts/new/oswald-normal-500-latin.woff2) format('woff2'); 184 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; 185} 186/* latin-ext */ 187@font-face { 188 font-family: 'Oswald'; 189 font-style: normal; 190 font-weight: 600; 191 font-display: swap; 192 src: url(/fonts/new/oswald-normal-600-latinext.woff2) format('woff2'); 193 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; 194} 195/* latin */ 196@font-face { 197 font-family: 'Oswald'; 198 font-style: normal; 199 font-weight: 600; 200 font-display: swap; 201 src: url(/fonts/new/oswald-normal-600-latin.woff2) format('woff2'); 202 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; 203} 204/* latin-ext */ 205@font-face { 206 font-family: 'Oswald'; 207 font-style: normal; 208 font-weight: 700; 209 font-display: swap; 210 src: url(/fonts/new/oswald-normal-700-latinext.woff2) format('woff2'); 211 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; 212} 213/* latin */ 214@font-face { 215 font-family: 'Oswald'; 216 font-style: normal; 217 font-weight: 700; 218 font-display: swap; 219 src: url(/fonts/new/oswald-normal-700-latin.woff2) format('woff2'); 220 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; 221} 222/* latin-ext */ 223@font-face { 224 font-family: 'Ubuntu'; 225 font-style: italic; 226 font-weight: 300; 227 font-display: swap; 228 src: url(/fonts/new/ubuntu-italic-300-latinext.woff2) format('woff2'); 229 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
229BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 230} 231/* latin */ 232@font-face { 233 font-family: 'Ubuntu'; 234 font-style: italic; 235 font-weight: 300; 236 font-display: swap; 237 src: url(/fonts/new/ubuntu-italic-300-latin.woff2) format('woff2'); 238 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; 239} 240/* latin-ext */ 241@font-face { 242 font-family: 'Ubuntu'; 243 font-style: italic; 244 font-weight: 400; 245 font-display: swap; 246 src: url(/fonts/new/ubuntu-italic-400-latinext.woff2) format('woff2'); 247 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; 248} 249/* latin */ 250@font-face { 251 font-family: 'Ubuntu'; 252 font-style: italic; 253 font-weight: 400; 254 font-display: swap; 255 src: url(/fonts/new/ubuntu-italic-400-latin.woff2) format('woff2'); 256 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; 257} 258/* latin-ext */ 259@font-face { 260 font-family: 'Ubuntu'; 261 font-style: italic; 262 font-weight: 500; 263 font-display: swap; 264 src: url(/fonts/new/ubuntu-italic-500-latinext.woff2) format('woff2'); 265 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; 266} 267/* latin */ 268@font-face { 269 font-family: 'Ubuntu'; 270 font-style: italic; 271 font-weight: 500; 272 font-display: swap; 273 src: url(/fonts/new/ubuntu-italic-500-latin.woff2) format('woff2'); 274 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; 275} 276/* latin-ext */ 277@font-face { 278 font-family: 'Ubuntu'; 279 font-style: italic; 280 font-weight: 700; 281 font-display: swap; 282 src: url(/fonts/new/ubuntu-italic-700-latinext.woff2) format('woff2'); 283 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; 284} 285/* latin */ 286@font-face { 287 font-family: 'Ubuntu'; 288 font-style: italic; 289 font-weight: 700; 290 font-display: swap; 291 src: url(/fonts/new/ubuntu-italic-700-latin.woff2) format('woff2'); 292 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; 293} 294/* latin-ext */ 295@font-face { 296 font-family: 'Ubuntu'; 297 font-style: normal; 298 font-weight: 300; 299 font-display: swap; 300 src: url(/fonts/new/ubuntu-normal-300-latinext.woff2) format('woff2'); 301 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; 302} 303/* latin */ 304@font-face { 305 font-family: 'Ubuntu'; 306 font-style: normal; 307 font-weight: 300; 308 font-display: swap; 309 src: url(/fonts/new/ubuntu-normal-300-latin.woff2) format('woff2'); 310 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; 311} 312/* latin-ext */ 313@font-face { 314 font-family: 'Ubuntu'; 315 font-style: normal; 316 font-weight: 400; 317 font-display: swap; 318 src: url(/fonts/new/ubuntu-normal-400-latinext.woff2) format('woff2'); 319 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; 320} 321/* latin */ 322@font-face { 323 font-family: 'Ubuntu'; 324 font-style: normal; 325 font-weight: 400; 326 font-display: swap; 327 src: url(/fonts/new/ubuntu-normal-400-latin.woff2) format('woff2'); 328 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; 329} 330/* latin-ext */ 331@font-face { 332 font-family: 'Ubuntu'; 333 font-style: normal; 334 font-weight: 500; 335 font-display: swap; 336 src: url(/fonts/new/ubuntu-normal-500-latinext.woff2) format('woff2'); 337 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
337BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 338} 339/* latin */ 340@font-face { 341 font-family: 'Ubuntu'; 342 font-style: normal; 343 font-weight: 500; 344 font-display: swap; 345 src: url(/fonts/new/ubuntu-normal-500-latin.woff2) format('woff2'); 346 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; 347} 348/* latin-ext */ 349@font-face { 350 font-family: 'Ubuntu'; 351 font-style: normal; 352 font-weight: 700; 353 font-display: swap; 354 src: url(/fonts/new/ubuntu-normal-700-latinext.woff2) format('woff2'); 355 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; 356} 357/* latin */ 358@font-face { 359 font-family: 'Ubuntu'; 360 font-style: normal; 361 font-weight: 700; 362 font-display: swap; 363 src: url(/fonts/new/ubuntu-normal-700-latin.woff2) format('woff2'); 364 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; 365} 366</style> <style id="jt-theme">/* Theme: PW â PW */ 367:root { 368 /* --- Accent --- */ 369 --accent-color: #ad09f6; 370 371 /* --- Text --- */ 372 --primary-text-color: #000000; 373 --secondary-text-color: #444444; 374 --accent-text-color: #ad09f6; 375 376 /* --- Teks tambahan --- */ 377 --muted-text-color: #575757; 378 --muted-text-color-secondary: #555555; 379 --muted-text-color-tertiary: #5b595c; 380 381 /* --- Background utama --- */ 382 --primary-background-color: #f2f2f2; 383 --secondary-background-color: #dddddd; 384 --ternary-background-color: #eaebef; 385 --quaternary-background-color:#f5f5f5; 386 387 /* --- Background tambahan --- */ 388 --placeholder-bg: #eeeeee; 389 --overlay-bg: rgba(0,0,0,0.6); 390 --handle-color: rgba(0,0,0,0.2); 391 --table-hover-bg: rgba(153,101,21,0.08); 392 --btn-close-hover-bg: rgba(0,0,0,0.08); 393 --qr-bg: #ffffff; 394 395 /* --- Navbar --- */ 396 --navbar-bg: #ffffff; 397 --bottom-navbar-bg: #ffffff; 398 399 /* --- Navbar text --- */ 400 --navbar-text-color: #000000; 401 --bottom-navbar-text-color: #000000; 402 403 /* --- Header & Home --- */ 404 --topbar-link-color: var(--primary-text-color); 405 --section-title-color: var(--primary-text-color); 406 --togel-market-name-color: var(--primary-text-color); 407 --balance-text-color: var(--secondary-text-color); 408 --nav-active-color: var(--accent-text-color); 409 --marquee-date-color: var(--accent-text-color); 410 --username-text-color: var(--secondary-text-color); 411 --marquee-text-color: var(--secondary-text-color); 412 413 /* --- Menu / Marquee / Search --- */ 414 --menu-box-bg: #ffffff; 415 --marquee-bg: #EBDBF2; 416 --search-bg: #e2e2e2; 417 418 /* --- Widget profile gradient --- */ 419 --widget-profile-bg-start: #ffffff; 420 --widget-profile-bg-end: #dddddd; 421 422 /* --- Tombol Deposit --- */ 423 --btn-deposit-color-start: #5b595c; 424 --btn-deposit-color-mid: #5b595c; 425 --btn-deposit-color-end: #5b595c; 426 --btn-deposit-text: #ffffff; 427 428 /* --- Tombol Withdraw --- */ 429 --btn-withdraw-color-start: #dddddd; 430 --btn-withdraw-color-end: #eeeeee; 431 --btn-withdraw-text: #000000; 432 433 /* --- Tab aktif & tabel rekening --- */ 434 --tx-tab-active-color: var(--accent-color); 435 --tx-table-accent-color: var(--accent-text-color); 436 437 /* --- Table stripe & placeholder --- */ 438 --table-stripe-odd-bg: #ffffff; 439 --table-stripe-even-bg: #f7f7f7; 440 --input-placeholder-color: #888888; 441 442 /* --- CMS Sidebar --- */ 443 --cms-nav-color: var(--muted-text-color); 444 --cms-nav-hover-color: var(--secondary-text-color); 445 --cms-nav-active-color: var(--primary-text-color); 446 447 /* --- History table --- */ 448 --color-tanggal: #d32f2f; 449 --color-pasaran: #1976d2; 450 --color-debit: #d32f2f; 451 --color-kredit: #2e7d32; 452 --color-balance: #1976d2; 453 454 /* --- Component backgrounds --- */ 455 --btn-menu-bg: #ffffff; 456 --card-bg: #eaebef; 457 --avatar-bg: #eeeeee; 458 --table-header-bg: #dddddd; 459 --dropdown-bg: #ffffff; 460 --sidebar-bg: #ffffff; 461 --input-bg: #ffffff; 462 --menu-box-border-color: rgba(0,0,0,0.12); 463 --breadcrumb-color: var(--accent-color); 464 --alert-danger-bg: #ee5f5b; 465 466 /* --- Accent alpha --- */ 467 --accent-bg-subtle: rgba(153,101,21,0.08); 468 --accent-bg-active: rgba(153,101,21,0.15); 469 --accent-border-subtle: rgba(153,101,21,0.35); 470
471 /* --- Skeleton shimmer --- */ 472 --skeleton-color-base: #eeeeee; 473 --skeleton-color-shine: #f8f8f8; 474 475 /* --- Card togel --- */ 476 --togel-card-bg: #ffffff; 477 --togel-card-number-color: #000000; 478 479 /* --- Splide pagination --- */ 480 --splide-pagination-inactive: #bdbdbd; 481 482 /* --- Border --- */ 483 --border-color: rgba(0,0,0,0.10); 484 --border-subtle-color: rgba(0,0,0,0.05); 485 486 /* --- Font & Radius --- */ 487 --font-body: "Ubuntu", sans-serif; 488 --radius-sm: 6px; 489 --radius-md: 8px; 490 --radius-lg: 10px; 491 --radius-xl: 12px; 492 --radius-pill: 999px; 493 494 /* --- Font sizes --- */ 495 --fs-xs: 10px; 496 --fs-sm: 11px; 497 --fs-md: 12px; 498 --fs-base: 13px; 499 --fs-lg: 14px; 500 --fs-xl: 15px; 501 --fs-2xl: 16px; 502 --fs-3xl: 18px; 503} 504 505/* History table column colors */ 506.history-table .col-tanggal { white-space: nowrap; color: var(--color-tanggal); } 507.history-table .col-pasaran { color: var(--color-pasaran); } 508.history-table .col-betid { font-size: var(--fs-xs); word-break: break-all; color: var(--accent-text-color); } 509.history-table .col-deskripsi { color: var(--primary-text-color); } 510.history-table .col-balance { white-space: nowrap; color: var(--color-balance); } 511</style> <link rel="stylesheet" href="/css/new/layout.min.css?v=1790436652"> 512 <link rel="stylesheet" href="/css/new/logo.css?v=1790436652"> 513 <style>.splide__list{display:flex;margin:0!important;padding:0!important}.splide__track{overflow:hidden;position:relative}</style> 514 515 <link id="css-home-sections" rel="stylesheet" href="/css/new/home-sections.min.css?v=1790436652" media="print" onload="this.media='all'"> 516 517 <link id="css-bootstrap-icons" rel="stylesheet" href="/css/new/vendor/bootstrap-icons.min.css?v=1790436652" media="print" onload="this.media='all'"> 518 <link id="css-splide" rel="stylesheet" href="/css/new/vendor/splide.min.css?v=1790436652" media="print" onload="this.media='all'"> 519 <noscript> 520 <link rel="stylesheet" href="/css/new/home-sections.min.css?v=1790436652"> 521 <link rel="stylesheet" href="/css/new/vendor/bootstrap-icons.min.css?v=1790436652"> 522 <link rel="stylesheet" href="/css/new/vendor/splide.min.css?v=1790436652"> 523 <link rel="stylesheet" href="/css/new/game.min.css?v=1790436652"> 524 </noscript> 525 526 <style> 527 @media (max-width: 768px) { 528 .driver-popover { max-width: 220px !important; font-size: 12px !important; padding: 10px 12px !important; } 529 .driver-popover-title { font-size: 13px !important; margin-bottom: 4px !important; } 530 .driver-popover-description { font-size: 12px !important; } 531 } 532 </style> 533 534 <style> 535 a { 536 color: inherit; /* blue colors for links too */ 537 text-decoration: inherit; /* no underline */ 538 } 539 540 .desktop-only { 541 display: block!important; 542 } 543 544 .mobile-only { 545 display: none !important; 546 } 547 548 .btn { 549 height: 30px; 550 border-radius: 3px; 551 } 552 553 .login-field { 554 width: 104px; 555 height: 30px; 556 border-radius: 3px; 557 } 558 559 .login-input-field { 560 margin: 0px; 561 padding: 0px 8px; 562 border-radius: 3px !important; 563 } 564 565 .section>.home-view { 566 padding: 0px; 567 } 568 569 @media only screen and (max-width: 1000px) { 570 571 .desktop-only { 572 display: none!important; 573 } 574 575 .mobile-only { 576 display: block!important; 577 } 578 579 .login-form { 580 padding: 32px 0; 581 margin: 0px 64px; 582 display: flex; 583 flex-direction: column; 584 } 585 586 .login-field, .login-form>button, .btn-promosi { 587 height: 36px; 588 width: 100% !important; 589 border-radius: 8px; 590 overflow: hidden; 591 } 592 593 .login-input-field { 594 border-top-left-radius: 0 !important; 595 border-bottom-left-radius: 0 !important; 596 font-size: 1rem; 597 } 598 599 .section { 600 padding: 0px 8px!important; 601 } 602 } 603 604 .grecaptcha-badge { 605 display: none !important; 606 } 607 </style> 608 609 610</head> 611 <body> 612
612<script src="/js/new/vendor/jquery.min.js?v=1790436652"></script>
612 613
613<script> 614 window.JT_CSRF_TOKEN = '234e38ffbf3fce164892e32be69c41264d993e9e144cbbadc665d359e1dee7f9'; 615 window.JT_NEED_RECAPTCHA_REGISTER = false; 616 window.JT_NEED_RECAPTCHA_LOGIN = false; 617 window.JT_NEED_RECAPTCHA = false; 618 window.JT_RECAPTCHA_SITE_KEY = '6Leu4cosAAAAABe-B_1-oryumOl99wsUEEFN3z8A'; 619 window.JT_NEED_TURNSTILE_REGISTER = false; 620 window.JT_NEED_TURNSTILE_LOGIN = false; 621 window.JT_NEED_TURNSTILE = false; 622 window.JT_NEED_IFRAME_CAPTCHA = false; 623 window.JT_CAPTCHA_LOGIN_MODE = '1'; 624 window.JT_CAPTCHA_REGISTER_MODE = '1'; 625 626 $.ajaxSetup({ 627 beforeSend: function (xhr, settings) { 628 if (settings.type === 'POST' && !settings.crossDomain) { 629 xhr.setRequestHeader('X-CSRF-Token', window.JT_CSRF_TOKEN || ''); 630 } 631 } 632 }); 633 634 var _recaptchaLoader = null; 635 function jtLoadRecaptcha() { 636 if (!window.JT_NEED_RECAPTCHA) return Promise.resolve(); 637 if (typeof grecaptcha !== 'undefined' && grecaptcha.enterprise) return Promise.resolve(); 638 if (_recaptchaLoader) return _recaptchaLoader; 639 _recaptchaLoader = new Promise(function (resolve, reject) { 640 var s = document.createElement('script'); 641 s.src = 'https://www.google.com/recaptcha/enterprise.js?render=' + encodeURIComponent(window.JT_RECAPTCHA_SITE_KEY); 642 s.async = true; 643 s.onload = function () { resolve(); }; 644 s.onerror = function () { _recaptchaLoader = null; reject(new Error('recaptcha load failed')); }; 645 document.head.appendChild(s); 646 }); 647 return _recaptchaLoader; 648 } 649 650 651 function jtWarmAuthScripts() { 652 if (window.JT_NEED_RECAPTCHA) jtLoadRecaptcha().catch(function () {}); 653 if (window.JT_NEED_TURNSTILE && typeof window.turnst === 'function') { 654 window.turnst('').catch(function () {}); 655 } 656 } 657 658 $(document).on( 659 'focusin', 660 '#desktoplogin input, #mobilelogin input, #formRegister input, #formRegister select, #desktopregister input, #mobileregister input', 661 jtWarmAuthScripts 662 ); 663 $(document).on( 664 'click', 665 '.btn-daftar, [onclick*="register"], a[href*="register"]', 666 jtWarmAuthScripts 667 ); 668 669 function jtNeedRecaptchaRegister($form) { 670 var isRecaptchaRegister = String($form.find('input[name="isrecaptcharegister"]').val() || ''); 671 return window.JT_NEED_RECAPTCHA_REGISTER === true || isRecaptchaRegister === '1'; 672 } 673 674 function jtNeedRecaptchaLogin($form) { 675 var isRecaptchaLogin = String($form.find('input[name="isrecaptchalogin"]').val() || ''); 676 return window.JT_NEED_RECAPTCHA_LOGIN === true || isRecaptchaLogin === '1'; 677 } 678 679 function jtWithRecaptchaToken($form, $status, action, shouldRun, onReady, failCls, onFail, tokenField) { 680 if (!shouldRun) { 681 onReady(); 682 return; 683 } 684 var fieldName = tokenField || 'recaptcha_token'; 685 var warnCls = (failCls === undefined) ? 'alert alert-sm alert-warning' : failCls; 686 function showFail(msg) { 687 if (warnCls) { 688 $status.removeClass().addClass(warnCls).text(msg).fadeIn(1000); 689 } else { 690 $status.removeClass().text(msg).fadeIn(1000); 691 } 692 if (typeof onFail === 'function') { 693 onFail(); 694 } 695 } 696 jtLoadRecaptcha().then(function () { 697 if (typeof grecaptcha === 'undefined' || !grecaptcha.enterprise) { 698 showFail('Verifikasi gagal dimuat, refresh halaman'); 699 return; 700 } 701 grecaptcha.enterprise.ready(function () { 702 grecaptcha.enterprise.execute(window.JT_RECAPTCHA_SITE_KEY, { action: action }) 703 .then(function (token) { 704 jtSetHidden($form, fieldName, token); 705 onReady(); 706 }) 707 .catch(function () { 708 showFail('Verifikasi gagal, coba lagi'); 709 }); 710 }); 711 }).catch(function () { 712 showFail('Verifikasi gagal dimuat, refresh halaman'); 713 }); 714 } 715 716 function jtWithRecaptchaRegisterToken($form, $status, onReady) { 717 jtWithRecaptchaToken($form, $status, 'register', jtNeedRecaptchaRegister($form), onReady, undefined, undefined, 'recaptcha_register_token'); 718 } 719 720 function jtWithRecaptchaLoginToken($form, $status, onReady, onF
720ail) { 721 jtWithRecaptchaToken($form, $status, 'login', jtNeedRecaptchaLogin($form), onReady, '', onFail, 'recaptcha_login_token'); 722 } 723 724 function jtSetHidden($form, name, value) { 725 var $el = $form.find('input[name="' + name + '"]'); 726 if ($el.length === 0) { 727 $form.append('<input type="hidden" name="' + name + '" value="">'); 728 $el = $form.find('input[name="' + name + '"]'); 729 } 730 $el.val(value); 731 } 732 733 function jtWithTurnstileAction($form, actionName, needFlag, onReady) { 734 if (!needFlag || typeof window.turnst !== 'function') { 735 onReady(); 736 return; 737 } 738 window.turnst(actionName).then(function (fpResult) { 739 jtSetHidden($form, 'fp_event_id', (fpResult && fpResult.eventId) || ''); 740 jtSetHidden($form, 'fp_visitor_id', (fpResult && fpResult.visitorId) || ''); 741 onReady(); 742 }).catch(function () { 743 jtSetHidden($form, 'fp_event_id', ''); 744 jtSetHidden($form, 'fp_visitor_id', ''); 745 onReady(); 746 }); 747 } 748 749 function jtWithTurnstileRegister($form, onReady) { 750 jtWithTurnstileAction($form, 'account_create', window.JT_NEED_TURNSTILE_REGISTER, onReady); 751 } 752 753 function jtWithTurnstileLogin($form, onReady) { 754 jtWithTurnstileAction($form, 'account_login', window.JT_NEED_TURNSTILE_LOGIN, onReady); 755 } 756 757 var _jtIframePending = null; 758 759 function jtShowIframeCaptcha(isMobile, onReady, onCancelMsg) { 760 if (!window.JT_NEED_IFRAME_CAPTCHA) { 761 onReady(); 762 return; 763 } 764 var modalId = isMobile ? '#captchaModalMobile' : '#captchaModalDesktop'; 765 var $modal = $(modalId); 766 if ($modal.length === 0) { 767 onReady(); 768 return; 769 } 770 _jtIframePending = { 771 isMobile: !!isMobile, 772 onReady: onReady, 773 onCancelMsg: onCancelMsg || null 774 }; 775 $modal.css('display', 'flex'); 776 } 777 778 function jtWithIframeCaptchaLogin($form, isMobile, onReady, onCancelMsg) { 779 var mode = String($form.find('input[name="iscaptchalogin"]').val() || window.JT_CAPTCHA_LOGIN_MODE || '1'); 780 if (mode !== '2') { 781 onReady(); 782 return; 783 } 784 jtShowIframeCaptcha(isMobile, function (token, key) { 785 jtSetHidden($form, 'token', token || ''); 786 jtSetHidden($form, 'key', key || ''); 787 onReady(); 788 }, onCancelMsg); 789 } 790 791 function jtWithIframeCaptchaRegister($form, isMobile, onReady, onCancelMsg) { 792 var mode = String($form.find('input[name="iscaptcharegister"]').val() || window.JT_CAPTCHA_REGISTER_MODE || '1'); 793 if (mode !== '2') { 794 onReady(); 795 return; 796 } 797 jtShowIframeCaptcha(isMobile, function (token, key) { 798 jtSetHidden($form, 'token', token || ''); 799 jtSetHidden($form, 'key', key || ''); 800 onReady(); 801 }, onCancelMsg); 802 } 803 804 window.addEventListener('message', function (e) { 805 if (e.origin !== 'https://recaptcha.viva88athenae.com') { 806 return; 807 } 808 if (!_jtIframePending) { 809 return; 810 } 811 var pending = _jtIframePending; 812 _jtIframePending = null; 813 814 var dataCaptcha = e.data || {}; 815 var $modal = pending.isMobile ? $('#captchaModalMobile') : $('#captchaModalDesktop'); 816 $modal.css('display', 'none'); 817 818 if (dataCaptcha.verified !== true) { 819 if (typeof pending.onCancelMsg === 'function') { 820 pending.onCancelMsg('Verifikasi Kosong'); 821 } 822 return; 823 } 824 825 if (typeof pending.onReady === 'function') { 826 pending.onReady(dataCaptcha.token || '', dataCaptcha.key || ''); 827 } 828 }); 829 </script>
829 830 831 832<style> 833 .btn-tele { 834 text-shadow: 1px 1px #000000; 835 height: 36px!important; 836 border-radius: 8px; 837 background: #28323C; 838 color: white; 839 } 840</style> 841 842 843<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"> 844 <div class="offcanvas-header py-3 d-flex justify-content-between"> 845 <h5 class="offcanvas-title" id="offcanvasExampleLabel" style="color: var(--menu-item-color); font-size: 1.2rem; font-weight: bold">Kontak Kami</h5> 846 <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> 847 </div> 848 <div class="offcanvas-body p-0 px-2"> 849 <div class="d-flex flex-column w-100 gap-2"> 850 851 852 853 <a href="https://www.instagram.com/official_tera4d?igsh=MXdwbzEyNDZqamdqMg==" 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));"> 854 <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/instagram.png" width="18" height="18" alt=""></div> 855 <div style="color: var(--primary-text-color);">Instagram Tera4D </div> 856 </a> 857 858 859 860 861 862 <a href="https://t.me/+K15qC22Rouo4Yzhl" 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));"> 863 <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/telegram.png" width="18" height="18" alt=""></div> 864 <div style="color: var(--primary-text-color);">Telegram Official</div> 865 </a> 866 867 868 869 870 871 <a href="https://www.facebook.com/groups/2024670584531535/" 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));"> 872 <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/facebook.png" width="18" height="18" alt=""></div> 873 <div style="color: var(--primary-text-color);">Facebook Official</div> 874 </a> 875 876 877 878 879 880 <a href="https://heylink.me/tera4d-daftar/" 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));"> 881 <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/whatsapp.png" width="18" height="18" alt=""></div> 882 <div style="color: var(--primary-text-color);">Whatsapp Tera4D</div> 883 </a> 884 885 886 887 888 889 </div> 890 891 </div> 892</div> 893 894 895 <style> 896 897 #mySidenav { 898 position: fixed; 899 top: 180px; 900 right: 100px; 901 z-index: 999; 902} 903 904#mySidenav div#nav:hover { 905 left: -138px; 906} 907 908#mySidenav div#nav { 909 position: absolute; 910 font-size: 20px; 911 border-radius: 0 5px 5px 0; 912 left: 36px; 913 transition: 0.3s; 914 display: flex; 915} 916 917#kontak-content { 918 width: 190px; 919 padding: 5px 10px 8px 10px; 920 font-size: 15px; 921 background-color: #FFF; 922 color: #000; 923} 924 925</style> 926 927 <!-- SIDENAV --> 928 <div id="mySidenav" class="sidenav desktop-only"> 929 <div id="nav"> 930 <div style="display: flex; align-items: start;"> 931 <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;"> 932 933 <img src="https://img.viva88athenae.com//new/assets/hubungi.png?2" alt="Hubungi Kami"> 934 935 </div> 936 <!--<img id="about" src="/images/kontak.png?4">--> 937 </div> 938 <div class="ptsans" style="font-size: 1rem; background: white; border-radius: 0px 5px 5px 5px; overflow: hidden; width: 160px"> 939 <div id="" style="padding: 4px"> 940 <img src="/assets/24h.png" style="width: 100%" alt="Layanan 24 Jam"> 941 </div> 942 943 <div id="kontak-content" style="display: flex; flex-direction: column; width: 100%; font-size: .8rem"> 944 <div style="display: grid; place-items: center; font-weight: bold; font-size: 1rem">MEMBER SERVICE</div> 945 946 947 948 <a href="https://www.instagram.com/official_tera4d?igsh=MXdwbzEyNDZqamdqMg==" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0"> 949 <img src="https://img.viva88athenae.com/kontak/instagram.png" width="20" height="20" alt=""><span>Instagram Tera4D </span> 950 </a> 951 952 953 954 955 956 <a href="https://t.me/+K15qC22Rouo4Yzhl" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0"> 957 <img src="https://img.viva88athenae.com/kontak/telegram.png" width="20" height="20" alt=""><span>Telegram Official</span> 958 </a> 959 960 961 962 963 964 <a href="https://www.facebook.com/groups/2024670584531535/" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0"> 965 <img src="https://img.viva88athenae.com/kontak/facebook.png" width="20" height="20" alt=""><span>Facebook Official</span> 966 </a> 967 968 969 970 971 972 <a href="https://heylink.me/tera4d-daftar/" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0"> 973 <img src="https://img.viva88athenae.com/kontak/whatsapp.png" width="20" height="20" alt=""><span>Whatsapp Tera4D</span> 974 </a> 975 976 977 978 979 980 </div> 981 <div style="margin: 8px"> 982 <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> 983 </div> 984 </div> 985 </div> 986 </div> 987 988 989 990 991 <div class="d-none d-md-block px-2"> 992 993 994 <div class="section desktop-topbar d-flex align-items-center justify-content-between"> 995 <div class="d-flex align-items-center gap-4"> 996 997 </div> 998 999 1000 <!-- Desktop Login Start --> 1001 1002 <style> 1003 1004 .login-form { 1005 display: flex; 1006 align-items: center; 1007 justify-content: end; 1008 gap: 4px; 1009 } 1010 1011 .btn-masuk { 1012 background: linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49) !important; 1013 color: white; 1014 } 1015 1016 .btn-daftar { 1017 background: linear-gradient(#74cae3, #5bc0de 60%, #4ab9db); !important; 1018 color: white; 1019 } 1020 1021 .btn-google { 1022 width: 30px; 1023 height: 30px; 1024 background: #fff; 1025 border: 1px solid #ddd; 1026 border-radius: 3px; 1027 display: inline-flex; 1028 align-items: center; 1029 justify-content: center; 1030 } 1031 1032 .btn-google:hover { 1033 background: #f5f5f5; 1034 } 1035 1036 .btn-google-mobile { 1037 background: #fff; 1038 color: #3c4043; 1039 border: 1px solid #dadce0; 1040 border-radius: 3px; 1041 height: 36px; 1042 padding: 0 12px; 1043 font-weight: 600; 1044 font-size: 1.2rem; 1045 display: flex; 1046 align-items: center; 1047 justify-content: center; 1048 gap: 8px; 1049 } 1050 1051 .btn-google-mobile:hover { 1052 background: #f8f9fa; 1053 color: #202124; 1054 } 1055 1056 </style> 1057 1058 <div class="d-flex align-items-center gap-2"> 1059 <div id="desktoplogin" class="desktop-only"> 1060 <form class="login-form form" role="form"> 1061 <div id="msgbox" style="margin-right: 8px; color: #b29459; font-size: 1rem; white-space:nowrap;"></div> 1062 <div class="input-group login-field">
1063 <span class="input-group-text prepend mobile-only "><div class="h-100 center"><i class="bi bi-person-circle prepend-icon"></i></div></span> 1064 <input type="text" name="username" class="form-control login-input-field username" placeholder="Nama Akun" aria-label="Username"> 1065 </div> 1066 1067 1068 1069 <div class="input-group login-field"> 1070 <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> 1071 <input type="password" name="password" class="form-control login-input-field password" placeholder="Kata Sandi" aria-label="Password"> 1072 </div> 1073 1074 <!-- captcha --> 1075 1076 <div class="verifikasiform" style=""> 1077 <div style="display: flex; gap: 2px;"> 1078 <span id="verifikasi"><img src="/capimg.php" width="40" height="30" style="border:1px #999 solid;" alt="Kode verifikasi"></span> 1079 <input type="text" class="form-control login-field" name="verifikasi" id="verform" style="width:40px;height: 30px !important" autocomplete="off" aria-label="Kode verifikasi"> 1080 </div> 1081 1082 </div> 1083 <input type="hidden" name="verif" id="verifval" class="verifval" value="1"> 1084 1085 <!-- end captcha --> 1086 1087 1088 <!--<button value="Masuk" class="btn btn-masuk fw-bold p-0 px-2 submit">Masuk</button>--> 1089 <button type="button" class="btn btn-masuk fw-bold p-0 px-2 submit d-flex justify-content-center align-items-center">Masuk</button> 1090 <button type="button" class="btn btn-daftar btn-daftar-desktop fw-bold p-0 px-2 desktop-only" onclick="openRegister('desktop')">Daftar</button> 1091 1092 <input type="hidden" name="task" value="login"> 1093 <input type="hidden" name="iscaptchalogin" value="1"> 1094 <input type="hidden" name="isrecaptchalogin" value="0"> 1095 <input type="hidden" name="recaptcha_login_token" value=""> 1096 <input type="hidden" name="fp_event_id" value=""> 1097 <input type="hidden" name="fp_visitor_id" value=""> 1098 <input type="hidden" name="logindesktop" value="++xallHkXxsruE8sljIIM8eJRvgRmYEi8zhEvgVzcjY="> 1099 </form> 1100 1101 1102
1102<script> 1103 function jtRandomString(length) { 1104 var result = ''; 1105 var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 1106 1107 for (var i = 0; i < length; i++) { 1108 result += characters.charAt(Math.floor(Math.random() * characters.length)); 1109 } 1110 1111 return result; 1112 } 1113 1114 function jtGetCaptchaHtml(captchaPath, captchaStyle) { 1115 var r = Math.floor(Math.random() * 10000); 1116 return '<img src="' + captchaPath + '?' + r + '" ' + captchaStyle + ' alt="Kode verifikasi">'; 1117 } 1118 1119 function jtHandleLoginResponse(res, $root, verHtml) { 1120 var $msg = $root.find('#msgbox'); 1121 1122 var code = res && res.error && res.error.code; 1123 var msg = res && res.error && res.error.message; 1124 var data = (res && res.data) || {}; 1125 1126 if (code === 200 && msg === 'success') { 1127 toast('Login berhasil', 200); 1128 $msg.removeClass().text('Logging in').fadeTo(900, 1, function() { 1129 window.location = '/home'; 1130 }); 1131 return; 1132 } 1133 1134 if (code === 429 || msg === 'ratelimit') { 1135 $msg.removeClass().text('Terlalu banyak percobaan.').fadeIn(1000); 1136 } else if (msg === 'wrong') { 1137 $msg.removeClass().text('Salah Password').fadeIn(1000); 1138 $root.find('#verifikasi').html(verHtml); 1139 } else if (msg === 'banned') { 1140 $msg.removeClass().text('User di Banned').fadeIn(1000); 1141 $root.find('#verifikasi').html(verHtml); 1142 } else if (msg === 'empty') { 1143 $msg.removeClass().text('Silakan diisi').fadeIn(1000); 1144 } else if (msg === 'capempty') { 1145 $msg.removeClass().text('Verifikasi Kosong').fadeIn(1000); 1146 $root.find('#verifikasi').html(verHtml); 1147 } else if (msg === 'caperror') { 1148 $msg.removeClass().text('Verifikasi Salah').fadeIn(1000); 1149 $root.find('#verifikasi').html(verHtml); 1150 } else if (msg === 'recaperror') { 1151 $msg.removeClass().text('Recaptcha salah, coba lagi').fadeIn(1000); 1152 } else if (msg === 'iperror') { 1153 $msg.removeClass().text('IP Tidak Sesuai').fadeIn(1000); 1154 $root.find('#verifikasi').html(verHtml); 1155 } else if (msg === 'capexp') { 1156 $msg.removeClass().text('Captcha Expired').fadeIn(1000); 1157 $root.find('#verifikasi').html(verHtml); 1158 } else if (msg === 'cap') { 1159 $msg.removeClass().text('Isi Verifikasi').fadeIn(1000); 1160 $root.find('#verifikasi').html(verHtml); 1161 $root.find('.verifikasiform, #mverifikasiform').show(); 1162 $root.find('.verifval').val('1'); 1163 } else if (msg === 'turnnoevent') { 1164 window.location.reload(); 1165 } else if (msg === 'turnblock') { 1166 $msg.removeClass().text('Insecure Device').fadeIn(1000); 1167 } else { 1168 $msg.removeClass().text('Login gagal, coba lagi').fadeIn(1000); 1169 $root.find('#verifikasi').html(verHtml); 1170 } 1171 } 1172 1173 function jtSubmitLogin(rootSel, captchaPath, captchaStyle) { 1174 var $root = $(rootSel); 1175 var $form = $root.find('form.form'); 1176 1177 if ($form.length === 0) { 1178 $form = $root.find('.form'); 1179 } 1180 1181 if ($form.length === 0) { 1182 console.error('Login form not found:', rootSel); 1183 return false;
1184 } 1185 1186 var $submitBtn = $root.find('.submit'); 1187 var $msg = $root.find('#msgbox'); 1188 var verHtml = jtGetCaptchaHtml(captchaPath, captchaStyle); 1189 var isMobile = (rootSel.indexOf('mobile') !== -1); 1190 1191 $msg.removeClass().text('Validating').fadeIn(1000); 1192 1193 $submitBtn.prop('disabled', true).addClass('disabled'); 1194 1195 function unlockSubmit() { 1196 $submitBtn.prop('disabled', false).removeClass('disabled'); 1197 } 1198 1199 function doLoginPost() { 1200 $.ajax({ 1201 url: '/api/front/login', 1202 type: 'POST', 1203 data: $form.serialize(), 1204 dataType: 'json', 1205 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 1206 success: function(data) { 1207 jtHandleLoginResponse(data, $root, verHtml); 1208 } 1209 }) 1210 .fail(function() { 1211 $msg.removeClass().text('Koneksi gagal').fadeIn(1000); 1212 $root.find('#verifikasi').html(verHtml); 1213 }) 1214 .always(unlockSubmit); 1215 } 1216 1217 function afterTurnstile() { 1218 if (typeof jtWithRecaptchaLoginToken === 'function') { 1219 jtWithRecaptchaLoginToken($form, $msg, doLoginPost, unlockSubmit); 1220 } else { 1221 doLoginPost(); 1222 } 1223 } 1224 1225 function afterIframe() { 1226 if (typeof jtWithTurnstileLogin === 'function') { 1227 jtWithTurnstileLogin($form, afterTurnstile); 1228 } else { 1229 afterTurnstile(); 1230 } 1231 } 1232 1233 if (typeof jtWithIframeCaptchaLogin === 'function') { 1234 jtWithIframeCaptchaLogin($form, isMobile, afterIframe, function (msgText) { 1235 $msg.removeClass().text(msgText || 'Verifikasi Kosong').fadeIn(1000); 1236 unlockSubmit(); 1237 }); 1238 } else { 1239 afterIframe(); 1240 } 1241 1242 return false; 1243 } 1244 1245 // Login desktop 1246 $(document).on('click', '#desktoplogin .submit', function(e) { 1247 e.preventDefault(); 1248 1249 jtSubmitLogin( 1250 '#desktoplogin', 1251 '/capimg.php', 1252 'width="40" height="30" style="border:1px #999 solid;"' 1253 ); 1254 1255 return false;
1256 }); 1257 1258 // Login mobile 1259 $(document).on('click', '#mobilelogin .submit', function(e) { 1260 e.preventDefault(); 1261 1262 jtSubmitLogin( 1263 '#mobilelogin', 1264 '/mcapimg.php', 1265 'width="600" height="88" style="width:100%;height:auto;border-radius:5px;"' 1266 ); 1267 1268 return false; 1269 }); 1270 1271 // Tekan Enter utk login 1272 $(document).on('keypress', '#desktoplogin input, #mobilelogin input', function(e) { 1273 if (e.which === 13) { 1274 e.preventDefault(); 1275 1276 var $root = $(this).closest('#desktoplogin, #mobilelogin'); 1277 1278 if ($root.attr('id') === 'desktoplogin') { 1279 $('#desktoplogin .submit').trigger('click'); 1280 } else { 1281 $('#mobilelogin .submit').trigger('click'); 1282 } 1283 1284 return false; 1285 } 1286 }); 1287 1288 function jtEnsureDriver(done) { 1289 if (window.driver && window.driver.js) { 1290 done(); 1291 return; 1292 } 1293 if (window._jtDriverLoading) { 1294 window._jtDriverLoading.push(done); 1295 return; 1296 } 1297 window._jtDriverLoading = [done]; 1298 1299 var link = document.createElement('link'); 1300 link.rel = 'stylesheet'; 1301 link.href = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.css'; 1302 link.integrity = 'sha384-eyrYgcjChmzD338JTHFZssgJHOqqOZbajet8yZpCw8ESroLDi28BarMEKCImNGHC'; 1303 link.crossOrigin = 'anonymous'; 1304 document.head.appendChild(link); 1305 1306 var s = document.createElement('script'); 1307 s.src = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.js.iife.js'; 1308 s.integrity = 'sha384-BhR06AMz62Xn0o53z8itVS1vw4JslNckRFgOTa6/Dob0Agdmbbh8Dr9sDO2h18TO'; 1309 s.crossOrigin = 'anonymous'; 1310 s.onload = function () { 1311 var q = window._jtDriverLoading || []; 1312 window._jtDriverLoading = null; 1313 q.forEach(function (fn) { 1314 try { fn(); } catch (e) {} 1315 }); 1316 }; 1317 s.onerror = function () { 1318 window._jtDriverLoading = null; 1319 }; 1320 document.head.appendChild(s); 1321 } 1322 1323 function scrollToLoginForm() { 1324 if (typeof jtWarmAuthScripts === 'function') jtWarmAuthScripts(); 1325 var isDesktop = window.innerWidth >= 992; 1326 var formEl = document.getElementById(isDesktop ? 'desktoplogin' : 'mobilelogin'); 1327 1328 if (!formEl) { 1329 return; 1330 } 1331 1332 formEl.scrollIntoView({ 1333 behavior: 'smooth', 1334 block: 'center' 1335 }); 1336 1337 setTimeout(function() { 1338 var inp = formEl.querySelector('input[type="text"], input[name="username"], input[name="BOX_username"]'); 1339 1340 if (inp) { 1341 inp.focus(); 1342 } 1343 1344 if (!inp) { 1345 return; 1346 } 1347 1348 jtEnsureDriver(function () { 1349 if (!window.driver || !window.driver.js) { 1350 return; 1351 } 1352 1353 var driver = window.driver.js.driver({ 1354 popoverClass: 'driverjs-theme', 1355 showProgress: false, 1356 showButtons: [], 1357 overlayOpacity: 0.3, 1358 steps: [ 1359 { 1360 element: inp, 1361 popover: { 1362 title: 'Harap Login', 1363 description: 'Silakan masukkan username Anda', 1364 side: 'bottom', 1365 align: 'start', 1366 showButtons: [], 1367 nextBtnText: '', 1368 prevBtnText: '', 1369 doneBtnText: '' 1370 } 1371 } 1372 ], 1373 onDestroyStarted: () => driver.destroy(), 1374 }); 1375 driver.drive(); 1376 1377 var destroyDriver = function() { 1378 driver.destroy(); 1379 inp.removeEventListener('input', destroyDriver); 1380 inp.removeEventListener('click', destroyDriver); 1381 inp.removeEventListener('focus', destroyDriver); 1382 }; 1383 inp.addEventListener('input', destroyDriver, { once: true }); 1384 inp.addEventListener('click', destroyDriver, { once: true }); 1385 inp.addEventListener('focus', destroyDriver, { once: true }); 1386 }); 1387 }, 400); 1388 } 1389 1390 window.JT_LOGGED_IN = false;
1391 1392 if (sessionStorage.getItem('jt_pending_action')) { 1393 $(document).ready(function() { 1394 scrollToLoginForm(); 1395 }); 1396 } 1397 </script>
1397 1398 1399 </div> 1400 1401 1402 <!--<a href="/event">--> 1403 <!-- <img src="https://img.viva88athenae.com//btnevent.png" alt="EVENT" height="24px"/>--> 1404 <!--</a>--> 1405 </div> 1406 1407 <!-- Desktop Login End --> 1408 </div> 1409 1410 <div class="desktop-topbar-line"></div> 1411 1412 1413 1414 1415 <div class="desktop-topbar-line d-flex align-items-center justify-content-between" style="margin-left:-2.0rem;margin-right:-2.0rem"></div> 1416 1417 <nav class="section desktop-mainnav d-flex align-items-center"> 1418 <!-- <a class="navbar-brand me-2 flex-shrink-0 navbar-brand-guest" href="/home" onclick="content('/home.php','#content',this); return false;"> --> 1419 <a class="navbar-brand me-2 flex-shrink-0" href="/home" onclick="openPage('home'); return false;"> 1420 <img src="/images/logo.png?v=1790436652" alt="Logo" class="logo"> 1421 </a> 1422 <div class="d-flex align-items-stretch h-100 ms-auto" style="overflow-x:auto;scrollbar-width:none;"> 1423 <a href="/home" 1424 onclick="openPage('home',this); return false;" class="desktop-nav-link" 1425 data-nav="home"> 1426 <img src="https://img.viva88athenae.com/new/menu-home.png?v=1790436652" alt=""> 1427 <span>Home</span> 1428 </a> 1429 <a href="/togel" 1430 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" 1431 data-nav="togel"> 1432 <img src="https://img.viva88athenae.com/new/menu-togel.png?v=1790436652" alt=""> 1433 <span>Togel</span> 1434 </a> 1435 <a href="/slot" 1436 onclick="showProviders('slot',this); return false;" class="desktop-nav-link" 1437 data-nav="slot"> 1438 <img src="https://img.viva88athenae.com/new/menu-slot.png?v=1790436652" alt=""> 1439 <span>Slot</span> 1440 </a> 1441 <a href="/casino" 1442 onclick="showProviders('casino',this); return false;" class="desktop-nav-link" 1443 data-nav="casino"> 1444 <img src="https://img.viva88athenae.com/new/menu-casino.png?v=1790436652" alt=""> 1445 <span>Casino</span> 1446 </a> 1447 <a href="/sport" 1448 onclick="openPage('sport',this); return false;" class="desktop-nav-link" 1449 data-nav="sport"> 1450 <img src="https://img.viva88athenae.com/new/menu-sport.png?v=1790436652" alt=""> 1451 <span>Sport</span> 1452 </a> 1453 <a href="/sabung" 1454 onclick="openPage('sabung',this); return false;" class="desktop-nav-link" 1455 data-nav="sabung"> 1456 <img src="https://img.viva88athenae.com/new/menu-sabung.png?v=1790436652" alt="">
1457 <span>Sabung</span> 1458 </a> 1459 <a href="/arcade" 1460 onclick="showProviders('arcade',this); return false;" class="desktop-nav-link" 1461 data-nav="arcade"> 1462 <img src="https://img.viva88athenae.com/new/menu-arcade.png?v=1790436652" alt=""> 1463 <span>Arcade</span> 1464 </a> 1465 <a href="/interactive" 1466 onclick="showProviders('interactive',this); return false;" class="desktop-nav-link" 1467 data-nav="interactive"> 1468 <img src="https://img.viva88athenae.com/new/menu-interactive.png?v=1790436652" alt=""> 1469 <span>Interactive</span> 1470 </a> 1471 <a href="/kupon" 1472 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" 1473 data-nav="kupon"> 1474 <img src="https://img.viva88athenae.com/new/menu-kupon.png?v=1790436652" alt=""> 1475 <span>Kupon</span> 1476 </a> 1477 <a href="/promosi" 1478 onclick="openPage('promosi',this); return false;" class="desktop-nav-link" 1479 data-nav="promosi"> 1480 <img src="https://img.viva88athenae.com/new/menu-promo.png?v=1790436652" alt=""> 1481 <span>Promosi</span> 1482 </a> 1483 <a href="/event" 1484 onclick="openPage('event',this); return false;" class="desktop-nav-link" 1485 data-nav="event"> 1486 <img src="https://img.viva88athenae.com/new/menu-event.png?v=1790436652" alt=""> 1487 <span>Event</span> 1488 </a> 1489 </div> 1490 </nav> 1491 1492 </div> 1493 <!-- WHEEL --> 1494 <!-- WHEEL --> 1495 1496 1497 1498 <nav class="navbar px-3 d-md-none" style="z-index: 1046"> 1499 <div class="w-100 d-flex justify-content-between align-items-center ps-3"> 1500 <a class="navbar-brand" href="/home" onclick="content('/home.php','#content',this); return false;"> 1501 <img src="/images/logo.png?v=1790436652" alt="Logo" class="logo"> 1502 </a> 1503 <div class="d-flex align-items-center gap-2 pe-2"> 1504 <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"> 1505 <i class="bi bi-person-lines-fill" style="font-size: 20px; color: var(--primary-text-color)" aria-hidden="true"></i> 1506 </button> 1507 </div> 1508 </div> 1509 </div> 1510 </nav> 1511 1512 1513 1514 1515 1516 1517<style> 1518 1519 .banner { 1520 aspect-ratio: 1920 / 380; 1521 width: 100%; 1522 object-fit: cover; 1523 background: black 1524 } 1525 1526 @media only screen and (max-width: 1000px) { 1527 1528 .banner { 1529 aspect-ratio: 600 / 300; 1530 } 1531 1532 } 1533 1534</style> 1535 1536<div class="carousel slide" id="banner-carousel" data-bs-ride="carousel"> 1537 <div class="carousel-indicators"> 1538 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button> 1539 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="1" aria-label="Slide 2"></button> 1540 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="2" aria-label="Slide 3"></button> 1541 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="3" aria-label="Slide 4"></button> 1542 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="4" aria-label="Slide 5"></button> 1543 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="5" aria-label="Slide 6"></button> 1544 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="6" aria-label="Slide 7"></button> 1545 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="7" aria-label="Slide 8"></button> 1546 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="8" aria-label="Slide 9"></button> 1547 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="9" aria-label="Slide 10"></button> 1548 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="10" aria-label="Slide 11"></button> 1549 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="11" aria-label="Slide 12"></button> 1550 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="12" aria-label="Slide 13"></button> 1551 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="13" aria-label="Slide 14"></button> 1552 </div> 1553 <div class="carousel-inner" style="height: 100%"> 1554 <div class="carousel-item active" style="height: 100%"> 1555 1556 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1557 1558 <img 1559 src="/images/upload-Slides-20240415230058.jpg" 1560 class="d-block w-100 banner" 1561 alt="https://tera4d.fyi/" 1562 fetchpriority="high" > 1563 1564 </a> 1565 1566 </div> 1567 <div class="carousel-item " style="height: 100%"> 1568 1569 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1570 1571 <img 1572 src="/images/upload-Slides-20241107210459.jpg" 1573 class="d-block w-100 banner" 1574 alt="https://tera4d.fyi/" 1575 > 1576 1577 </a> 1578 1579 </div> 1580 <div class="carousel-item " style="height: 100%"> 1581 1582 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1583 1584 <img 1585 src="/images/upload-Slides-20250119175132.jpg" 1586 class="d-block w-100 banner" 1587 alt="https://tera4d.fyi/" 1588 > 1589 1590 </a> 1591 1592 </div> 1593 <div class="carousel-item " style="height: 100%"> 1594 1595 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1596 1597 <img 1598 src="/images/upload-Slides-20241107141340.jpg" 1599 class="d-block w-100 banner" 1600 alt="https://tera4d.fyi/" 1601 > 1602 1603 </a> 1604 1605 </div> 1606 <div class="carousel-item " style="height: 100%"> 1607 1608 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1609 1610 <img 1611 src="/images/upload-Slides-20241107142603.jpg" 1612 class="d-block w-100 banner" 1613 alt="https://tera4d.fyi/" 1614 > 1615 1616 </a> 1617 1618 </div> 1619 <div class="carousel-item " style="height: 100%"> 1620 1621 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1622 1623 <img 1624 src="/images/upload-Slides-20241107143358.jpg" 1625 class="d-block w-100 banner" 1626 alt="https://tera4d.fyi/" 1627 > 1628 1629 </a> 1630 1631 </div> 1632 <div class="carousel-item " style="height: 100%"> 1633 1634 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1635 1636 <img 1637 src="/images/upload-Slides-20241107144247.jpg" 1638 class="d-block w-100 banner" 1639 alt="https://tera4d.fyi/" 1640 > 1641 1642 </a> 1643 1644 </div> 1645 <div class="carousel-item " style="height: 100%"> 1646 1647 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1648 1649 <img 1650 src="/images/upload-Slides-20241107151448.jpg" 1651 class="d-block w-100 banner" 1652 alt="https://tera4d.fyi/" 1653 > 1654 1655 </a> 1656 1657 </div> 1658 <div class="carousel-item " style="height: 100%"> 1659 1660 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1661 1662 <img 1663 src="/images/upload-Slides-20241107152418.jpg" 1664 class="d-block w-100 banner" 1665 alt="https://tera4d.fyi/" 1666 > 1667 1668 </a> 1669 1670 </div> 1671 <div class="carousel-item " style="height: 100%"> 1672 1673 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1674 1675 <img 1676 src="/images/upload-Slides-20241107153258.jpg" 1677 class="d-block w-100 banner" 1678 alt="https://tera4d.fyi/" 1679 > 1680 1681 </a> 1682 1683 </div> 1684 <div class="carousel-item " style="height: 100%"> 1685 1686 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1687 1688 <img 1689 src="/images/upload-Slides-20241107215639.jpg" 1690 class="d-block w-100 banner" 1691 alt="https://tera4d.fyi/" 1692 > 1693 1694 </a> 1695 1696 </div> 1697 <div class="carousel-item " style="height: 100%"> 1698 1699 <a href="https://tera4d.fyi/" target="_blank" rel="noopener noreferrer"> 1700 1701 <img 1702 src="/images/upload-Slides-20241107172952.jpg" 1703 class="d-block w-100 banner" 1704 alt="https://tera4d.fyi/" 1705 > 1706 1707 </a> 1708 1709 </div> 1710 <div class="carousel-item " style="height: 100%"> 1711 1712 <a > 1713 1714 <img 1715 src="https://img.viva88athenae.com/banner/mgl-25.jpg" 1716 class="d-block w-100 banner" 1717 alt="" 1718 > 1719 1720 </a> 1721 1722 </div> 1723 <div class="carousel-item " style="height: 100%"> 1724 1725 <a > 1726 1727 <img 1728 src="https://img.viva88athenae.com/banner/slider-fgs.jpg" 1729 class="d-block w-100 banner" 1730 alt="" 1731 > 1732 1733 </a> 1734 1735 </div> 1736 </div> 1737</div> 1738 1739 <div class="section marquee-bar"> 1740 <div class="marquee-date ps-2">
1741 <span id="datetime"></span> 1742 <i class="bi bi-volume-up-fill ms-1 secondary-text-color"></i> 1743 </div> 1744 <div class="marquee-text"> 1745 <div class="marquee-runner" id="marqueeRunner"> 1746 <span>SELAMAT DATANG DI TERA4D SLOT TERGACOR DAN TERPERCAYA, SALAM JACKPOT!</span> 1747 </div> 1748 </div> 1749 </div> 1750 1751 <div class="p-2"> 1752 <div class="d-md-none"> 1753 <div id="lobbyMenuWrap" class="splide pb-4 mt-2"> 1754 <div class="splide__track"> 1755 <ul class="splide__list"> 1756 <li class="splide__slide"> 1757 <a href="/home" 1758 onclick="openPage('home',this); return false;" 1759 class="lobby-menu" 1760 data-nav="home"> 1761 <img src="https://img.viva88athenae.com/new/menu-home.png?v=1790436652" alt=""> 1762 <small>Home</small> 1763 </a> 1764 </li> 1765 <li class="splide__slide"> 1766 <a href="/togel" 1767 onclick="window.JT_LOGGED_IN ? content('/togel.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'togel'})), scrollToLoginForm()); return false;" 1768 class="lobby-menu" 1769 data-nav="togel"> 1770 <img src="https://img.viva88athenae.com/new/menu-togel.png?v=1790436652" alt=""> 1771 <small>Togel</small> 1772 </a> 1773 </li> 1774 <li class="splide__slide"> 1775 <a href="/kupon" 1776 onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm()); return false;" 1777 class="lobby-menu" 1778 data-nav="kupon"> 1779 <img src="https://img.viva88athenae.com/new/menu-kupon.png?v=1790436652" alt=""> 1780 <small>Kupon</small> 1781 </a> 1782 </li> 1783 <li class="splide__slide"> 1784 <a href="/slot" 1785 onclick="showProviders('slot',this); return false;" 1786 class="lobby-menu" 1787 data-nav="slot"> 1788 <img src="https://img.viva88athenae.com/new/menu-slot.png?v=1790436652" alt=""> 1789 <small>Slot</small> 1790 </a> 1791 </li> 1792 <li class="splide__slide"> 1793 <a href="/casino" 1794 onclick="showProviders('casino',this); return false;" 1795 class="lobby-menu" 1796 data-nav="casino"> 1797 <img src="https://img.viva88athenae.com/new/menu-casino.png?v=1790436652" alt=""> 1798 <small>Casino</small> 1799 </a> 1800 </li> 1801 <li class="splide__slide"> 1802 <a href="/sport" 1803 onclick="openPage('sport',this); return false;" 1804 class="lobby-menu" 1805 data-nav="sport"> 1806 <img src="https://img.viva88athenae.com/new/menu-sport.png?v=1790436652" alt=""> 1807 <small>Sport</small> 1808 </a> 1809 </li> 1810 <li class="splide__slide"> 1811 <a href="/sabung" 1812 onclick="openPage('sabung',this); return false;" 1813 class="lobby-menu" 1814 data-nav="sabung"> 1815 <img src="https://img.viva88athenae.com/new/menu-sabung.png?v=1790436652" alt=""> 1816 <small>Sabung</small> 1817 </a> 1818 </li> 1819 <li class="splide__slide"> 1820 <a href="/arcade" 1821 onclick="showProviders('arcade',this); return false;" 1822 class="lobby-menu" 1823 data-nav="arcade"> 1824 <img src="https://img.viva88athenae.com/new/menu-arcade.png?v=1790436652" alt=""> 1825 <small>Arcade</small> 1826 </a> 1827 </li> 1828 <li class="splide__slide"> 1829 <a href="/interactive" 1830 onclick="showProviders('interactive',this); return false;" 1831 class="lobby-menu" 1832 data-nav="interactive"> 1833 <img src="https://img.viva88athenae.com/new/menu-interactive.png?v=1790436652" alt=""> 1834 <small>Interactive</small> 1835 </a> 1836 </li> 1837 </ul> 1838 </div> 1839 </div> 1840 </div> 1841 1842
1842<script> 1843 document.addEventListener('DOMContentLoaded', function () { 1844 var lobbyEl = document.getElementById('lobbyMenuWrap'); 1845 if (lobbyEl && !lobbyEl.classList.contains('is-initialized')) { 1846 var mountLobby = function () { 1847 if (!lobbyEl || typeof Splide === 'undefined' || lobbyEl.classList.contains('is-initialized')) return; 1848 new Splide('#lobbyMenuWrap', { 1849 type: 'slide', perPage: 5, perMove: 5, 1850 gap: '8px', pagination: true, arrows: false, drag: true, 1851 }).mount(); 1852 }; 1853 if (typeof ensureSplide === 'function') { 1854 ensureSplide().then(mountLobby).catch(function () {}); 1855 } else { 1856 mountLobby(); 1857 } 1858 } 1859 1860 if (typeof initUserareaShell === 'function') { 1861 initUserareaShell(); 1862 } else if (typeof initGuestShell === 'function') { 1863 initGuestShell(); 1864 } else if (typeof content === 'function') { 1865 var isDesktop = window.innerWidth >= 768; 1866 var homeMenu = isDesktop 1867 ? document.querySelector('.desktop-nav-link[data-nav="home"]') 1868 : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]'); 1869 content('/home.php', '#content', homeMenu); 1870 } 1871 }); 1872 </script>
1872 1873 </div> 1874 1875 1876 <!-- Mobile Login Start --> 1877 1878 <div id="mobilelogin" class="d-block d-lg-none mb-3"> 1879 <form class="login-form form d-flex flex-column gap-2 align-items-center" style="padding: 0px; padding-top: 16px" role="form"> 1880 <div id="msgbox" style="font-size: 1rem; width: 100%"></div> 1881 <div class="input-group login-field"> 1882 <span class="input-group-text prepend mobile-only "><div class="h-100 center"><i class="bi bi-person-circle prepend-icon"></i></div></span> 1883 <input type="text" name="username" class="form-control login-input-field username" placeholder="Username" aria-label="Username"> 1884 </div> 1885 <div class="input-group login-field"> 1886 <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> 1887 <input type="password" name="password" class="form-control login-input-field password" placeholder="Password" aria-label="Password"> 1888 </div> 1889 1890 <!-- captcha --> 1891 1892 <div id="mverifikasiform" class="w-100" style=""> 1893 1894 <span id="verifikasi"><img src="/mcapimg.php" width="600" height="88" style="width:100%;height:auto;border-radius: 5px;" alt="Kode verifikasi"></span> 1895 <div class="input-group login-field mt-1"> 1896 <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> 1897 <input type="text" class="form-control login-input-field" name="verifikasi" id="mverform" autocomplete="off" placeholder="Verifikasi"> 1898 </div> 1899 </div> 1900 1901 <input type="hidden" name="verif" id="verifval" class="verifval" value="1"> 1902 1903 <!-- end captcha --> 1904 1905 <label style="font-size:12px;display:flex;align-items:center;margin-top:2px;margin-bottom:4px;cursor:pointer;"> 1906 <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> 1907 </label> 1908 1909 <!--<button type="submit" value="Masuk" class="btn btn-masuk fw-bold p-0 px-2 submit">Masuk</button>--> 1910 <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> 1911 <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> 1912 1913 1914 <button type="button" class="btn btn-tele fw-bold p-0 px-2 mobile-only" onclick="window.open('https://telegram.me/Tera4D1_bot', '_blank')"><i class="bi bi-telegram me-2" style="color: #0088cc"></i>Main di Telegram</button> 1915 1916 1917 <input type="hidden" name="task" value="login"> 1918 <input type="hidden" name="iscaptchalogin" value="1"> 1919 <input type="hidden" name="isrecaptchalogin" value="0"> 1920 <input type="hidden" name="recaptcha_login_token" value=""> 1921 <input type="hidden" name="fp_event_id" value=""> 1922 <input type="hidden" name="fp_visitor_id" value=""> 1923 <input type="hidden" name="loginmobile" value="DzXTrNjavKQ4o2iIC925HBtf2D7Nmpmjl1COVBHexeE="> 1924 </form> 1925 1926 1927 <a href="/wap" class="mt-4" style="display: grid; place-items: center; font-size: 1rem; cursor: pointer; color: var(--menu-item-color)">WAP</a> 1928 1929 </div> 1930 1931 <!-- Mobile Login End --> 1932 1933
1933<script> 1934 function openDaftar() { 1935 if (typeof openRegister === 'function') { 1936 openRegister('desktop'); 1937 } else { 1938 window.location.href = '/register'; 1939 } 1940 } 1941 1942 function openDaftarMobile() { 1943 if (typeof openRegister === 'function') { 1944 openRegister('mobile'); 1945 $("#content").get(0).scrollIntoView({behavior: 'smooth'}); 1946 } else { 1947 window.location.href = '/register'; 1948 } 1949 } 1950 1951 1952 </script>
1952 1953 1954 1955 <div class="modal fade" id="modal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> 1956 <div class="modal-dialog modal-dialog-centered modal-lg modal-fullscreen-sm-down"> 1957 <div id="modal-content" class="modal-content rounded-0 primary-background-color"> 1958 </div> 1959 </div> 1960 </div> 1961 1962 <div id="content" class="section p-2" style="position:relative;min-height:60vh;"> 1963<div class="home-view"> 1964 1965 <div class="home-section"> 1966 <div class="section-title"> 1967 <i class="bi bi-bar-chart-fill me-1"></i> 1968 Pasaran Togel </div> 1969 <div id="togel-panel" class="togel-grid-wrap togel-panel" style="margin-bottom: 20px;margin-top: 15px;"> 1970 <div class="togel-panel-more"><i class="bi bi-chevron-double-down"></i></div> 1971 </div> 1972 </div> 1973 1974 1975 1976 <div class="home-section"> 1977 <div class="section-title"> 1978 <i class="bi bi-fire me-1"></i> 1979 Hot Slot Games </div> 1980 <div class="game-scroll-wrap"> 1981 <div class="game-card" onclick="launchGame('-k731WAu1tOyGBKHIMj4p4CTL44Umj4OtAJBq6ttqSU', 450, 800)"> 1982 <div class="game-card-img-box"> 1983 <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/mahjong-ways.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async"> 1984 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 1985 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 1986 1987 </div> 1988 1989 </div> <div class="game-card" onclick="launchGame('JbwSfqT4VbvimiFW_UL1XWsOwhkt2jtQhl3oMjZxRRY', 450, 800)"> 1990 <div class="game-card-img-box"> 1991 <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/mahjong-ways2.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async"> 1992 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 1993 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 1994 1995 </div> 1996 1997 </div> <div class="game-card" onclick="launchGame('-y86GCLpJUcNwVSJxxrWRIGGCOvsVrNC244ZsuxTOwU', 450, 800)"> 1998 <div class="game-card-img-box"> 1999 <img class="js-game-image" src="https://img.viva88athenae.com/new/pg/images/wild-bounty-showdown.png?v=1" data-provider="pg" alt="" loading="lazy" decoding="async"> 2000 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2001 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2002 2003 </div> 2004 2005 </div> <div class="game-card" onclick="launchGame('VO7NKRqNuG9WPd1e2-pslDGAyfXX4TMT-DLuv30q56s', 1200, 800)"> 2006 <div class="game-card-img-box"> 2007 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vs20olympx.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async"> 2008 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2009 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2010 2011 </div> 2012 2013 </div> <div class="game-card" onclick="launchGame('1qEsAZBcXeWuxwZDHX2q6WqxDWw_MSRzweG3jB9A75wkCE4vK0vUId42NoAWDLQd', 1200, 800)"> 2014 <div class="game-card-img-box"> 2015 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vswaysmahwblck.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async"> 2016 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2017 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2018 2019 </div> 2020 2021 </div> <div class="game-card" onclick="launchGame('uSRLQLUJaA2UTDi7VK52smRmQ5HfthlyZuLw_WXmjEmmQNzoe4oTsjh718JWXZAI', 1200, 800)"> 2022 <div class="game-card-img-box"> 2023 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/vs20olympgold.png?v=1" data-provider="pp" alt="" loading="lazy" decoding="async"> 2024 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div>
2025 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2026 2027 </div> 2028 2029 </div> <div class="game-card" onclick="launchGame('k89I-5wQXdMMd9_45iUklkWCfuGAklsuSSdjV4_59lU', 450, 800)"> 2030 <div class="game-card-img-box"> 2031 <img class="js-game-image" src="https://img.viva88athenae.com/new/cq9/images/VPCQS28.png?v=1" data-provider="cq9" alt="" loading="lazy" decoding="async"> 2032 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2033 2034 2035 </div> 2036 2037 </div> <div class="game-card" onclick="launchGame('45gGh3oBf8rszuAptNCA_TpV8cp7MD9VhRuBsekwx-0', 450, 800)"> 2038 <div class="game-card-img-box"> 2039 <img class="js-game-image" src="https://img.viva88athenae.com/new/mgw/images/6059.png?v=1" data-provider="mgw" alt="" loading="lazy" decoding="async"> 2040 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2041 <span class="game-flag-badge game-flag-badge--hot">HOT</span> 2042 2043 </div> 2044 2045 </div> <div class="game-card" onclick="launchGame('iE3zCcFOvZ_OSF53MsnVSwSFbSk6ThVxqZ_GGl9TsihCI7GGbA_gux_LoU_x1JRP', 1200, 800)"> 2046 <div class="game-card-img-box"> 2047 <img class="js-game-image" src="https://img.viva88athenae.com/new/mg/images/p5_mahjongmaxwin.png?v=1" data-provider="mg" alt="" loading="lazy" decoding="async"> 2048 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2049 2050 2051 </div> 2052 2053 </div> <div class="game-card" onclick="launchGame('n0farSPGTCv8YbNhjhDhTNScO3nXIt6FCHzR0PLhxjqxh0nSboOcP080u7CBucji', 450, 800)"> 2054 <div class="game-card-img-box"> 2055 <img class="js-game-image" src="https://img.viva88athenae.com/new/fgs/images/S5G-H5-99950.png?v=1" data-provider="fgs" alt="" loading="lazy" decoding="async"> 2056 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2057 2058 2059 </div> 2060 2061 </div> </div> 2062 </div> 2063 2064 2065 <div class="home-section"> 2066 <div class="section-title"> 2067 <i class="bi bi-suit-heart-fill me-1"></i> 2068 Hot Casino Games </div> 2069 <div class="game-scroll-wrap"> 2070 <div class="game-card" onclick="launchGame('2W7YRjXgW7AU6MyvaK5iq-p0hOEs_G7lPTBcYM8mXsg', 1080, 700)"> 2071 <div class="game-card-img-box"> 2072 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/1301.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async"> 2073 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2074 2075 2076 </div> 2077 2078 </div> <div class="game-card" onclick="launchGame('pq27LD6IaG7RoyXrp5vtOsiVQtA58kUZavtb2yp5HFE', 1080, 700)"> 2079 <div class="game-card-img-box"> 2080 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/1101.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async"> 2081 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2082 2083 2084 </div> 2085 2086 </div> <div class="game-card" onclick="launchGame('TrB7VXM1rijhS3GV6XcNxIek_J7AA5z15DnrVW1yl6Y', 1080, 700)"> 2087 <div class="game-card-img-box"> 2088 <img class="js-game-image" src="https://img.viva88athenae.com/new/pp/images/801.png?v=1" data-provider="pplc" alt="" loading="lazy" decoding="async"> 2089 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2090 2091 2092 </div> 2093 2094 </div> <div class="game-card" onclick="launchGame('iSxdKtbgsaBcy425Ol3STiIV-RoVbrT24kjG5CnBlRg', 1080, 700)"> 2095 <div class="game-card-img-box"> 2096 <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/icefishing.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async"> 2097 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2098 2099 2100 </div> 2101 2102 </div> <div class="game-card" onclick="launchGame('EEdpyqIkcpju_-E1T5WC4lDBUS3NCCiUL69biPpJGyQ', 1080, 700)"> 2103 <div class="game-card-img-box"> 2104 <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/crazytime.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async"> 2105 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2106 2107 2108 </div> 2109 2110 </div> <div class="game-card" onclick="launchGame('jcYsQVvk4Z1LWPkSfF0-v0IizPTiey4m-wwlDDeX_8rv-zv8M6FZgNOSV-O-dbcm', 1080, 700)"> 2111 <div class="game-card-img-box"> 2112 <img class="js-game-image" src="https://img.viva88athenae.com/new/ion/images/ion_roulette.png?v=1" data-provider="ion" alt="" loading="lazy" decoding="async"> 2113 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2114 2115 2116 </div> 2117 2118 </div> <div class="game-card" onclick="launchGame('LvxKduZzCrojLIq
2118EXPR6vR1g6Di67KE9U06usx2OcjsG6896kQinHvkhCnsoUCBA', 1080, 700)"> 2119 <div class="game-card-img-box"> 2120 <img class="js-game-image" src="https://img.viva88athenae.com/new/evo/images/lightningstorm.png?v=1" data-provider="evo" alt="" loading="lazy" decoding="async"> 2121 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2122 2123 2124 </div> 2125 2126 </div> <div class="game-card" onclick="launchGame('1aK42xYV213eHc1cd28sd3vEhxeTjxmUmuwmTzC0GQU', 1080, 700)"> 2127 <div class="game-card-img-box"> 2128 <img class="js-game-image" src="https://img.viva88athenae.com/new/sx/images/lobby.png?v=1" data-provider="sx" alt="" loading="lazy" decoding="async"> 2129 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2130 2131 2132 </div> 2133 2134 </div> <div class="game-card" onclick="launchGame('RRE_j1exmWieflgca397o2bUAYAIUA5WU0qn7cRlIVHnqBeVz2YDaGx3Ws1W0gc6', 1080, 700)"> 2135 <div class="game-card-img-box"> 2136 <img class="js-game-image" src="https://img.viva88athenae.com/new/sbo/images/sbol_roulette.png?v=1" data-provider="sbol" alt="" loading="lazy" decoding="async"> 2137 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2138 2139 2140 </div> 2141 2142 </div> <div class="game-card" onclick="launchGame('K-rZJe14yEoRFnNmU8-zcbnLVNK084oNL8eQiyv4LlQ', 1080, 700)"> 2143 <div class="game-card-img-box"> 2144 <img class="js-game-image" src="https://img.viva88athenae.com/new/ptlc/images/rol.png?v=1" data-provider="ptlc" alt="" loading="lazy" decoding="async"> 2145 <div class="game-img-placeholder"><i class="bi bi-controller"></i></div> 2146 2147 2148 </div> 2149 2150 </div> </div> 2151 </div> 2152 2153 2154 <div class="home-section"> 2155 <div class="section-title"> 2156 <i class="bi bi-trophy-fill me-1"></i> 2157 Sport Matches </div> 2158 <div class="match-slider-wrap"> 2159 <div id="sportMatchSplide" class="splide"> 2160 <div class="splide__track"> 2161 <ul class="splide__list"> 2162 <li class="splide__slide"> 2163 <div class="match-card-home"> 2164 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2165 <div class="kickoff-time">October 10, 2026 â 18:30 WIB</div> 2166 <div class="match-main-row"> 2167 <div class="team-col"> 2168 <img src="https://cdn.sportnanoapi.com/football/team/d6f5debc456da1119256ab66462ab510.png" class="team-logo" alt=""> 2169 <div class="team-name">Arsenal</div> 2170 </div> 2171 <div class="score-col"> 2172 <div class="score-value">0 : 0</div> 2173 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100346)">BET NOW</a> 2174 </div> 2175 <div class="team-col"> 2176 <img src="https://cdn.sportnanoapi.com/football/team/cd46d2ed1d364308dc206c97b48ce556.png" class="team-logo" alt=""> 2177 <div class="team-name">Leeds United</div> 2178 </div> 2179 </div> 2180 <div class="match-odds-row"> 2181 <div class="odds-col"> 2182 0.75 <small style="margin-left: 5px;">0.50</small> 2183 </div> 2184 <div class="odds-spacer"></div> 2185 <div class="odds-col"> 2186 -0.75 <small style="margin-left: 5px;">-0.60</small> 2187 </div> 2188 </div> 2189 </div> 2190 </li> 2191 <li class="splide__slide"> 2192 <div class="match-card-home"> 2193 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2194 <div class="kickoff-time">October 10, 2026 â 21:00 WIB</div> 2195 <div class="match-main-row"> 2196 <div class="team-col"> 2197 <img src="https://cdn.sportnanoapi.com/football/team/a0cf8f551e9440acb3f4ff533dcc58a4.png" class="team-logo" alt=""> 2198 <div class="team-name">Chelsea</div> 2199 </div> 2200 <div class="score-col"> 2201 <div class="score-value">0 : 0</div> 2202 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100428)">BET NOW</a> 2203 </div> 2204 <div class="team-col"> 2205 <img src="https://cdn.sportnanoapi.com/football/team/240b30d333c97d293752ab7afd77ccd6.png" class="team-logo" alt=""> 2206 <div class="team-name">Bournemouth AFC</div> 2207 </div> 2208 </div> 2209 <div class="match-odds-row"> 2210 <div class="odds-col"> 2211 0.5 <small style="margin-left: 5px;">0.66</small> 2212 </div> 2213 <div class="odds-spacer"></div> 2214 <div class="odds-col"> 2215 -0.5 <small style="margin-left: 5px;">-0.76</small> 2216 </div> 2217 </div> 2218 </div> 2219 </li> 2220 <li class="splide__slide"> 2221 <div class="match-card-home"> 2222 <div class="league-name">
2222SPAIN LA LIGA</div> 2223 <div class="kickoff-time">October 10, 2026 â 23:30 WIB</div> 2224 <div class="match-main-row"> 2225 <div class="team-col"> 2226 <img src="https://cdn.sportnanoapi.com/football/team/f378eb1ea04e53999b89051aa3244de6.png" class="team-logo" alt=""> 2227 <div class="team-name">Barcelona</div> 2228 </div> 2229 <div class="score-col"> 2230 <div class="score-value">0 : 0</div> 2231 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215606)">BET NOW</a> 2232 </div> 2233 <div class="team-col"> 2234 <img src="https://cdn.sportnanoapi.com/football/team/36bf5bf0c8fdf08c1270124808f060e1.png" class="team-logo" alt=""> 2235 <div class="team-name">Getafe</div> 2236 </div> 2237 </div> 2238 <div class="match-odds-row"> 2239 <div class="odds-col"> 2240 2.5 <small style="margin-left: 5px;">0.80</small> 2241 </div> 2242 <div class="odds-spacer"></div> 2243 <div class="odds-col"> 2244 -2.5 <small style="margin-left: 5px;">-0.90</small> 2245 </div> 2246 </div> 2247 </div> 2248 </li> 2249 <li class="splide__slide"> 2250 <div class="match-card-home"> 2251 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2252 <div class="kickoff-time">October 10, 2026 â 23:30 WIB</div> 2253 <div class="match-main-row"> 2254 <div class="team-col"> 2255 <img src="https://cdn.sportnanoapi.com/football/team/d39ce586fd7278342dde33b3090b3f75.png" class="team-logo" alt=""> 2256 <div class="team-name">Manchester United</div> 2257 </div> 2258 <div class="score-col"> 2259 <div class="score-value">0 : 0</div> 2260 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100582)">BET NOW</a> 2261 </div> 2262 <div class="team-col"> 2263 <img src="https://cdn.sportnanoapi.com/football/team/8b22ab4041e666b996a2d96f20dea707.png" class="team-logo" alt=""> 2264 <div class="team-name">Tottenham Hotspur</div> 2265 </div> 2266 </div> 2267 <div class="match-odds-row"> 2268 <div class="odds-col"> 2269 0.5 <small style="margin-left: 5px;">0.72</small> 2270 </div> 2271 <div class="odds-spacer"></div> 2272 <div class="odds-col"> 2273 -0.5 <small style="margin-left: 5px;">-0.82</small> 2274 </div> 2275 </div> 2276 </div> 2277 </li> 2278 <li class="splide__slide"> 2279 <div class="match-card-home"> 2280 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2281 <div class="kickoff-time">October 10, 2026 â 21:00 WIB</div> 2282 <div class="match-main-row"> 2283 <div class="team-col"> 2284 <img src="https://cdn.sportnanoapi.com/football/team/a3c32d6a906083118cac2cb796edaab3.png" class="team-logo" alt=""> 2285 <div class="team-name">Aston Villa</div> 2286 </div> 2287 <div class="score-col"> 2288 <div class="score-value">0 : 0</div> 2289 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100395)">BET NOW</a> 2290 </div> 2291 <div class="team-col"> 2292 <img src="https://cdn.sportnanoapi.com/football/team/60f1c7788be3148a370dbf59f914abfe.png" class="team-logo" alt=""> 2293 <div class="team-name">Brentford</div> 2294 </div> 2295 </div> 2296 <div class="match-odds-row"> 2297 <div class="odds-col"> 2298 0.00 <small style="margin-left: 5px;">-0.97</small> 2299 </div> 2300 <div class="odds-spacer"></div> 2301 <div class="odds-col"> 2302 0.00 <small style="margin-left: 5px;">0.87</small> 2303 </div> 2304 </div> 2305 </div> 2306 </li> 2307 <li class="splide__slide"> 2308 <div class="match-card-home"> 2309 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2310 <div class="kickoff-time">October 10, 2026 â 21:00 WIB</div> 2311 <div class="match-main-row"> 2312 <div class="team-col"> 2313 <img src="https://cdn.sportnanoapi.com/football/team/957bdc50c307e2a9b526b34b3792da1a.png" class="team-logo" alt=""> 2314 <div class="team-name">Sunderland</div> 2315 </div> 2316 <div class="score-col"> 2317 <div class="score-value">0 : 0</div> 2318 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100525)">BET NOW</a> 2319 </div> 2320 <div class="team-col"> 2321 <img src="https://cdn.sportnanoapi.com/football/team/9b43a690d5a09f1e319f036821e8e1d3.png" class="team-logo" alt=""> 2322 <div class="team-name">Brighton & Hove Albion</div> 2323 </div> 2324 </div> 2325 <div class="match-odds-row"> 2326 <div class="odds-col"> 2327 0.00 <small style="margin-left: 5px;">-0.82</small> 2328 </div> 2329 <div class="odds-spacer"></div> 2330 <div class="odds-col"> 2331 0.00 <small style="margin-left: 5px;">0.72</small> 2332 </div> 2333 </div> 2334 </div> 2335 </li> 2336 <li class="splide__slide"> 2337 <div class="match-card-home"> 2338 <div class="league-name">
2338SPAIN LA LIGA</div> 2339 <div class="kickoff-time">October 11, 2026 â 02:00 WIB</div> 2340 <div class="match-main-row"> 2341 <div class="team-col"> 2342 <img src="https://cdn.sportnanoapi.com/football/team/7dacaa934fe4be00f23c1e209b5ef947.png" class="team-logo" alt=""> 2343 <div class="team-name">Real Madrid</div> 2344 </div> 2345 <div class="score-col"> 2346 <div class="score-value">0 : 0</div> 2347 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215615)">BET NOW</a> 2348 </div> 2349 <div class="team-col"> 2350 <img src="https://cdn.sportnanoapi.com/football/team/aee62af96a956756cc29fe4831286357.png" class="team-logo" alt=""> 2351 <div class="team-name">Villarreal</div> 2352 </div> 2353 </div> 2354 <div class="match-odds-row"> 2355 <div class="odds-col"> 2356 1 <small style="margin-left: 5px;">0.55</small> 2357 </div> 2358 <div class="odds-spacer"></div> 2359 <div class="odds-col"> 2360 -1 <small style="margin-left: 5px;">-0.65</small> 2361 </div> 2362 </div> 2363 </div> 2364 </li> 2365 <li class="splide__slide"> 2366 <div class="match-card-home"> 2367 <div class="league-name">ITALY SERIE A</div> 2368 <div class="kickoff-time">October 10, 2026 â 22:59 WIB</div> 2369 <div class="match-main-row"> 2370 <div class="team-col"> 2371 <img src="https://cdn.sportnanoapi.com/football/team/aa2245702c40f77799a5ad4b119581a8.png" class="team-logo" alt=""> 2372 <div class="team-name">Inter Milan</div> 2373 </div> 2374 <div class="score-col"> 2375 <div class="score-value">0 : 0</div> 2376 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145618118)">BET NOW</a> 2377 </div> 2378 <div class="team-col"> 2379 <img src="https://cdn.sportnanoapi.com/football/team/9fadd87d190982c8082dddf1567e0b9b.png" class="team-logo" alt=""> 2380 <div class="team-name">Parma Calcio</div> 2381 </div> 2382 </div> 2383 <div class="match-odds-row"> 2384 <div class="odds-col"> 2385 2 <small style="margin-left: 5px;">0.65</small> 2386 </div> 2387 <div class="odds-spacer"></div> 2388 <div class="odds-col"> 2389 -2 <small style="margin-left: 5px;">-0.75</small> 2390 </div> 2391 </div> 2392 </div> 2393 </li> 2394 <li class="splide__slide"> 2395 <div class="match-card-home"> 2396 <div class="league-name">
2396SPAIN LA LIGA</div> 2397 <div class="kickoff-time">October 10, 2026 â 19:00 WIB</div> 2398 <div class="match-main-row"> 2399 <div class="team-col"> 2400 <img src="https://cdn.sportnanoapi.com/football/team/5005d8feab109ce64e40beb98073cc1f.png" class="team-logo" alt=""> 2401 <div class="team-name">Rayo Vallecano</div> 2402 </div> 2403 <div class="score-col"> 2404 <div class="score-value">0 : 0</div> 2405 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(147215614)">BET NOW</a> 2406 </div> 2407 <div class="team-col"> 2408 <img src="https://cdn.sportnanoapi.com/football/team/abbb31d42c55612737713aac6567a226.png" class="team-logo" alt=""> 2409 <div class="team-name">Athletic Bilbao</div> 2410 </div> 2411 </div> 2412 <div class="match-odds-row"> 2413 <div class="odds-col"> 2414 0.00 <small style="margin-left: 5px;">0.98</small> 2415 </div> 2416 <div class="odds-spacer"></div> 2417 <div class="odds-col"> 2418 0.00 <small style="margin-left: 5px;">0.92</small> 2419 </div> 2420 </div> 2421 </div> 2422 </li> 2423 <li class="splide__slide"> 2424 <div class="match-card-home"> 2425 <div class="league-name">ENGLISH PREMIER LEAGUE</div> 2426 <div class="kickoff-time">October 11, 2026 â 22:30 WIB</div> 2427 <div class="match-main-row"> 2428 <div class="team-col"> 2429 <img src="https://cdn.sportnanoapi.com/football/team/1cb3d08adac0e2dc1c4f10429d055bfe.png" class="team-logo" alt=""> 2430 <div class="team-name">Liverpool</div> 2431 </div> 2432 <div class="score-col"> 2433 <div class="score-value">0 : 0</div> 2434 <a href="javascript:void(0)" class="bet-btn" onclick="jtSboBet(145100751)">BET NOW</a> 2435 </div> 2436 <div class="team-col"> 2437 <img src="https://cdn.sportnanoapi.com/football/team/c4a6528a2ee147b99c9885ef24385a4e.png" class="team-logo" alt=""> 2438 <div class="team-name">Manchester City</div> 2439 </div> 2440 </div> 2441 <div class="match-odds-row"> 2442 <div class="odds-col"> 2443 0.00 <small style="margin-left: 5px;">-0.83</small> 2444 </div> 2445 <div class="odds-spacer"></div> 2446 <div class="odds-col"> 2447 0.00 <small style="margin-left: 5px;">0.73</small> 2448 </div> 2449 </div> 2450 </div> 2451 </li> 2452 </ul> 2453 </div> 2454 </div> 2455 </div> 2456 </div> 2457 2458 2459 2460 <div class="home-section"> 2461 <div class="widget-kupon" style="margin-top:20px;"> 2462 <iframe class="iframe-kupon" src="https://fkupon.com/widget2.php" title="Widget kupon" loading="lazy"></iframe> 2463 <div onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',null) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm())" style="position:absolute;top:0;left:0;right:0;bottom:0;cursor:pointer;z-index:5;"></div> 2464 </div> 2465 </div> 2466 2467 2468</div> 2469
2470<script> 2471(function () { 2472 function mountSportSplide() { 2473 var el = document.getElementById('sportMatchSplide'); 2474 if (!el || el.classList.contains('is-initialized')) return; 2475 if (typeof Splide === 'undefined') return; 2476 new Splide('#sportMatchSplide', { 2477 type : 'loop', 2478 perPage : 3, 2479 gap : '8px', 2480 autoplay : true, 2481 interval : 4500, 2482 pauseOnHover: true, 2483 pagination : true, 2484 arrows : true, 2485 breakpoints: { 2486 767: { perPage: 1 } 2487 } 2488 }).mount(); 2489 } 2490 function bootSportSplide() { 2491 if (typeof ensureSplide === 'function') { 2492 ensureSplide().then(mountSportSplide).catch(function () {}); 2493 } else { 2494 mountSportSplide(); 2495 } 2496 } 2497 // SSR: defer sampai Splide ready; AJAX: mount via ensureSplide. 2498 if (document.readyState === 'loading') { 2499 document.addEventListener('DOMContentLoaded', bootSportSplide); 2500 } else { 2501 bootSportSplide(); 2502 } 2503})(); 2504 2505var _sboLaunchToken = null; 2506 2507function jtSboBet(matchId) { 2508 if (window.JT_LOGGED_IN && _sboLaunchToken) { 2509 var url = '/new/launch/' + _sboLaunchToken; 2510 var standalone = window.navigator.standalone === true || 2511 window.matchMedia('(display-mode: standalone)').matches; 2512 var isMobile = standalone || window.innerWidth < 768; 2513 var popup = isMobile ? null : window.open('about:blank', '_blank', 'width=1200,height=800,top=0,left=0,resizable=yes,scrollbars=yes'); 2514 jtPost(url, { check: 1, matchId: matchId || '' }).then(function(res) { 2515 if (res.ok) { 2516 if (popup) { popup.location.href = url; } else { window.location.href = url; } 2517 } else if (popup) { 2518 popup.close(); 2519 } 2520 }).catch(function() { 2521 if (popup) popup.close(); 2522 }); 2523 } else { 2524 if (matchId) sessionStorage.setItem('jt_pending_action', JSON.stringify({type: 'sbo', matchId: matchId})); 2525 else sessionStorage.removeItem('jt_pending_action'); 2526 if (typeof scrollToLoginForm === 'function') scrollToLoginForm(); 2527 } 2528} 2529 2530</script>
2530 2531 2532<div id="pasaranPopupOverlay" class="pasaran-popup-overlay"> 2533 <div class="pasaran-popup themed-box"> 2534 <div class="pasaran-popup-inner"> 2535 <div class="pasaran-popup-header"> 2536 <div class="pasaran-popup-select"> 2537 <button type="button" class="pasaran-popup-select-btn" onclick="ppToggleDropdown()" id="ppSelectBtn"> 2538 <span id="ppTitle">-</span> 2539 <i class="bi bi-chevron-down"></i> 2540 </button> 2541 <div class="pasaran-popup-dropdown" id="ppDropdown"></div> 2542 </div> 2543 <button type="button" class="tx-btn-close" onclick="closePasaranPopup()" aria-label="Tutup"><i class="bi bi-x-lg"></i></button> 2544 </div> 2545 <div class="pasaran-popup-meta" id="ppMeta"></div> 2546 <div class="pasaran-popup-body"> 2547 <table class="themed-table history-table" id="ppTable"> 2548 <thead> 2549 <tr> 2550 <th style="width:10%">No.</th> 2551 <th>Tanggal</th> 2552 <th>Hari</th> 2553 <th>Periode</th> 2554 <th>Result</th> 2555 </tr> 2556 </thead> 2557 <tbody id="ppTableBody"></tbody> 2558 </table> 2559 </div> 2560 <div class="history-paging pasaran-popup-paging" id="ppPaging" style="display:none;"> 2561 <ul class="h-pages" id="ppPages"></ul> 2562 </div> 2563 </div> 2564 </div> 2565</div> 2566
2567<script> 2568window.addEventListener('message', function(e) { 2569 if (e.origin !== 'https://fkupon.com') return; 2570 var iframe = document.querySelector('.iframe-kupon'); 2571 if (!iframe) return; 2572 var h = null; 2573 if (e.data && typeof e.data.height === 'number') h = e.data.height; 2574 else if (typeof e.data === 'number') h = e.data; 2575 if (h !== null) { 2576 iframe.style.height = Math.max(60, h) + 'px'; 2577 } 2578}); 2579 2580// launchGame / copy helpers â main.js 2581 2582var _ppMarkets = []; 2583var _ppCurrentNameid = ''; 2584var PP_PER_PAGE = 10; 2585 2586function showPasaranPopup(el) { 2587 var overlay = document.getElementById('pasaranPopupOverlay'); 2588 var nameid = el.dataset.nameid || ''; 2589 if (!overlay || !nameid) return; 2590 overlay.style.display = 'flex'; 2591 ppSelectPasaran(nameid); 2592} 2593 2594function ppFindMarket(nameid) { 2595 for (var i = 0; i < _ppMarkets.length; i++) { 2596 if (String(_ppMarkets[i].nameid) === String(nameid)) return _ppMarkets[i]; 2597 } 2598 return null; 2599} 2600 2601function ppRenderDropdown() { 2602 var dd = document.getElementById('ppDropdown'); 2603 if (!dd) return; 2604 dd.innerHTML = ''; 2605 _ppMarkets.forEach(function (m) { 2606 var btn = document.createElement('button'); 2607 btn.type = 'button'; 2608 btn.className = 'pasaran-popup-dd-item' + (String(m.nameid) === String(_ppCurrentNameid) ? ' active' : ''); 2609 btn.textContent = m.name || ''; 2610 btn.dataset.nameid = m.nameid || ''; 2611 btn.addEventListener('click', function () { ppSelectPasaran(btn.dataset.nameid); }); 2612 dd.appendChild(btn); 2613 }); 2614} 2615 2616function ppSelectPasaran(nameid) { 2617 var market = ppFindMarket(nameid); 2618 if (!market) return; 2619 _ppCurrentNameid = nameid; 2620 document.getElementById('ppTitle').textContent = market.name || ''; 2621 var ppMetaRows = [ 2622 ['Website', market.web], 2623 ['Hari Undi', market.hari], 2624 ['Jam Tutup', market.jam_tutup], 2625 ['Jam Result', market.jam_result] 2626 ]; 2627 document.getElementById('ppMeta').innerHTML = ppMetaRows.map(function (r) { 2628 return '<div class="pasaran-popup-meta-row"><span class="pp-meta-label">' + esc(r[0]) + '</span><span class="pp-meta-value">: ' + esc(r[1] || '-') + '</span></div>'; 2629 }).join(''); 2630 ppRenderDropdown(); 2631 ppCloseDropdown(); 2632 ppLoadKeluaran(1); 2633} 2634 2635function ppToggleDropdown() { 2636 var dd = document.getElementById('ppDropdown'); 2637 var wrap = document.querySelector('.pasaran-popup-select'); 2638 if (dd) dd.classList.toggle('open'); 2639 if (wrap) wrap.classList.toggle('open'); 2640} 2641 2642function ppCloseDropdown() { 2643 var dd = document.getElementById('ppDropdown'); 2644 var wrap = document.querySelector('.pasaran-popup-select'); 2645 if (dd) dd.classList.remove('open'); 2646 if (wrap) wrap.classList.remove('open'); 2647} 2648 2649function ppLoadKeluaran(page) { 2650 var tbody = document.getElementById('ppTableBody'); 2651 tbody.innerHTML = '<tr><td colspan="5" class="text-center pp-loading-cell"><div class="content-loader-wrap"><div class="loader"></div></div></td></tr>'; 2652 2653 jtPostJson('/api/front/pasaran-keluaran', { 2654 pasaran: _ppCurrentNameid, 2655 page: page, 2656 per_page: PP_PER_PAGE 2657 }) 2658 .then(function (res) { 2659 if (!res.error || res.error.code !== 200) { ppRenderError(); return; } 2660 var data = res.data || {}; 2661 ppRenderRows(data.rows || [], data.pagination || {}); 2662 }) 2663 .catch(ppRenderError); 2664} 2665 2666function ppRenderError() { 2667 document.getElementById('ppTableBody').innerHTML = '<tr><td colspan="5" class="text-center pp-empty-cell" style="color:var(--secondary-text-color)">Gagal memuat data.</td></tr>'; 2668 document.getElementById('ppPaging').style.display = 'none'; 2669} 2670 2671function ppRenderRows(rows, pagination) { 2672 var tbody = document.getElementById('ppTableBody'); 2673 if (!rows.length) { 2674 tbody.innerHTML = '<tr><td colspan="5" class="text-center pp-empty-cell" style="color:var(--secondary-text-color)">Tidak ada data.</td></tr>'; 2675 } else { 2676 var page = pagination.page || 1; 2677 var startNo = (page - 1) * PP_PER_PAGE; 2678 tbody.innerHTML = rows.map(function (row, i) { 2679 return '<tr>' + 2680 '<td class="text-center" style="color:var(--secondary-text-color)">' + (startNo + i + 1) + '</td>' + 2681 '<td class="pp-col-tanggal">' + esc(row.tanggal) + '</td>' + 2682 '<td class="pp-col-hari">' + esc(row.hari) + '</td>' + 2683 '<td>' + esc(row.pasaran) + '</td>' + 2684 '<td class="pp-col-result"><strong>' + esc(row.result) + '</strong></td>' + 2685 '</tr>'; 2686 }).join(''); 2687 } 2688 ppRenderPaging(pagination); 2689} 2690 2691function ppRenderPaging(pagination) { 2692 var paging = document.getElementById('ppPaging'); 2693 var pagesList = document.getElementById('ppPages'); 2694 var totalPages = pagination.total_pages || 0; 2695 var page = pagination.page || 1; 2696 2697 if (totalPages <= 1) { paging.style.display = 'none'; return; } 2698 paging.style.display = ''; 2699 2700 pagesList.innerHTML = ''; 2701 function btn(label, targetPage, disabled, active) { 2702 var li = document.createElement('li'); 2703 var b = document.createElement('button'); 2704 b.innerHTML = label; 2705 if (disabled) b.disabled = true; 2706 if (active) b.classList.add('active'); 2707 b.addEventListener('click', function () { ppLoadKeluaran(targetPage); }); 2708 li.appendChild(b); 2709 pagesList.appendChild(li); 2710 } 2711 function ellipsis() { 2712 var li = document.createElement('li'); 2713 var span = document.createElement('span'); 2714 span.className = 'h-ellipsis'; 2715 span.textContent = '...'; 2716 li.appendChild(span); 2717 pagesList.appendChild(li); 2718 } 2719 2720 btn('First', 1, page === 1, false); 2721 2722 var winStart = Math.max(1, page - 2); 2723 var winEnd = Math.min(totalPages, page + 2); 2724 for (var p = winStart; p <= winEnd; p++) btn(p, p, false, p === page); 2725 2726 if (winEnd < totalPages) { 2727 if (winEnd < totalPages - 1) ellipsis(); 2728 btn(totalPages, totalPages, false, page === totalPages); 2729 } 2730 2731 btn('Last', totalPages, page === totalPages, false); 2732} 2733 2734function closePasaranPopup() {
2735 var overlay = document.getElementById('pasaranPopupOverlay'); 2736 if (overlay) overlay.style.display = 'none'; 2737 ppCloseDropdown(); 2738} 2739 2740document.addEventListener('click', function(e) { 2741 var overlay = document.getElementById('pasaranPopupOverlay'); 2742 if (overlay && e.target === overlay) closePasaranPopup(); 2743 2744 var selectWrap = document.querySelector('.pasaran-popup-select'); 2745 if (selectWrap && !selectWrap.contains(e.target)) ppCloseDropdown(); 2746}); 2747 2748(function() { 2749 var PER_PAGE = 10; 2750 2751 function initTogelPagination() { 2752 var wrap = document.querySelector('.togel-list-guest'); 2753 if (!wrap) return; 2754 2755 var rows = Array.prototype.slice.call(wrap.querySelectorAll('.togel-list-row')); 2756 var total = rows.length; 2757 if (total <= PER_PAGE) return; 2758 2759 var totalPages = Math.ceil(total / PER_PAGE); 2760 var currentPage = 1; 2761 2762 function showPage(page) { 2763 currentPage = page; 2764 rows.forEach(function(row, i) { 2765 var start = (page - 1) * PER_PAGE; 2766 row.style.display = (i >= start && i < start + PER_PAGE) ? 'flex' : 'none'; 2767 }); 2768 renderPager(); 2769 } 2770 2771 function renderPager() { 2772 var pager = document.getElementById('togelListPager'); 2773 if (!pager) return; 2774 pager.innerHTML = ''; 2775 2776 for (var p = 1; p <= totalPages; p++) { 2777 (function(pg) { 2778 var dot = document.createElement('button'); 2779 dot.className = 'tlp-dot' + (pg === currentPage ? ' active' : ''); 2780 dot.addEventListener('click', function() { showPage(pg); }); 2781 pager.appendChild(dot); 2782 })(p); 2783 } 2784 } 2785 2786 var pager = document.createElement('div'); 2787 pager.id = 'togelListPager'; 2788 pager.className = 'togel-list-pager'; 2789 wrap.parentNode.insertBefore(pager, wrap.nextSibling); 2790 2791 var touchStartX = 0; 2792 wrap.addEventListener('touchstart', function(e) { 2793 touchStartX = e.changedTouches[0].clientX; 2794 }, { passive: true }); 2795 wrap.addEventListener('touchend', function(e) { 2796 var dx = e.changedTouches[0].clientX - touchStartX; 2797 if (Math.abs(dx) < 40) return; 2798 if (dx < 0 && currentPage < totalPages) showPage(currentPage + 1); 2799 if (dx > 0 && currentPage > 1) showPage(currentPage - 1); 2800 }, { passive: true }); 2801 2802 showPage(1); 2803 } 2804 2805 initTogelPagination(); 2806})(); 2807 2808(function() { 2809 var btn = document.querySelector('.togel-panel-more'); 2810 if (!btn) return; 2811 btn.addEventListener('click', function() { 2812 var wrap = btn.closest('.togel-panel'); 2813 if (wrap) wrap.classList.toggle('togel-panel--open'); 2814 }); 2815})(); 2816 2817function jtBootHomePartial() { 2818 var isLoggedIn = false; 2819 var bootMarkets = [{"name":"SINGAPORE","nameid":"SG","periode":"252","status":1,"web":"www.singaporepools.com.sg","hari":"Senin, Rabu, Kamis, Sabtu, Minggu","jam_tutup":"17:20 WIB","jam_result":"17:45 WIB","result":"2855","date":"8/10/2026"},{"name":"NOMERKU","nameid":"NMR","periode":"868","status":1,"web":"https://nomerkuu.com/","hari":"Setiap Hari","jam_tutup":"20:30 WIB","jam_result":"21:00 WIB","result":"1788","date":"9/10/2026"},{"name":"TOTO WUHAN","nameid":"TWH","periode":"924","status":1,"web":"www.totowuhan.com","hari":"Setiap Hari ( 09:00 | 12:00 | 15:00 | 18:00 | 21:00 | 00:00 )","jam_tutup":"Tiap 3 jam","jam_result":"Tiap 3 jam","result":"6536","date":"10/10/2026"},{"name":"HK SIANG","nameid":"HKD","periode":"936","status":1,"web":"www.hkpools1.com","hari":"Setiap Hari","jam_tutup":"10:30 WIB","jam_result":"11:00 WIB","result":"3738","date":"9/10/2026"},{"name":"SG METRO","nameid":"SGM","periode":"967","status":1,"web":"www.sgmetro.com","hari":"Setiap Hari","jam_tutup":"12:30 WIB","jam_result":"13:00 WIB","result":"2724","date":"9/10/2026"},{"name":"TAIPEI","nameid":"TI","periode":"194","status":1,"web":"http://www.lotterytaipei.com/","hari":"Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu","jam_tutup":"14:30 WIB","jam_result":"15:30 WIB","result":"5769","date":"9/10/2026"},{"name":"MALAYSIA","nameid":"MY","periode":"883","status":1,"web":"www.malaysialottery.net","hari":"Setiap Hari","jam_tutup":"18:30 WIB","jam_result":"19:00 WIB","result":"6034","date":"9/10/2026"},{"name":"TAIWAN","nameid":"TWN","periode":"618","status":1,"web":"https://taiwan4dtoto.com","hari":"Setiap Hari","jam_tutup":"19:30 WIB","jam_result":"19:45 WIB","result":"0961","date":"9/10/2026"},{"name":"SDSB","nameid":"SDN","periode":"710","status":1,"web":"www.sdsbindonesia.com","hari":"Setiap Hari","jam_tutup":"22:30 WIB","jam_result":"22:55 WIB","result":"7253","date":"9/10/2026"}]; 2820 2821 function renderTogelCards(markets) { 2822 var panel = document.getElementById('togel-panel'); 2823 if (!panel) return; 2824 2825 var loading = panel.querySelector('.togel-cards-loading'); 2826 if (loading) loading.remove(); 2827 2828 var moreBtn = panel.querySelector('.togel-panel-more'); 2829 panel.querySelectorAll('.togel-grid-row').forEach(function (el) { el.remove(); }); 2830 2831 var mid = markets.length > 10 ? Math.ceil(markets.length / 2) : Math.min(markets.length, 12); 2832 var rows = [markets.slice(0, mid), markets.slice(mid)]; 2833 2834 rows.forEach(function (row) { 2835 if (!row.length) return; 2836 var rowDiv = document.createElement('div'); 2837 rowDiv.className = 'togel-grid-row'; 2838 2839 row.forEach(function (m) { 2840 var card = document.createElement('div'); 2841 card.className = 'togel-card'; 2842 2843 var inner = '<div class="market-name">' + esc(m.name) + '</div>' + 2844 '<div class="market-code">
2844' + esc(m.result) + '</div>' + 2845 '<div class="market-info">' + esc(m.date) + '</div>'; 2846 2847 if (isLoggedIn) { 2848 var isMarketOnline = String(m.status) === '1'; 2849 if (isMarketOnline) { 2850 var marketCode = (m.nameid || '') + '-' + (m.periode || ''); 2851 card.setAttribute('onclick', "content('/togel-detail.php?market=" + encodeURIComponent(marketCode) + "','#content')"); 2852 } else { 2853 card.setAttribute('onclick', "content('/togel.php','#content')"); 2854 } 2855 } else { 2856 card.setAttribute('onclick', 'showPasaranPopup(this)'); 2857 card.dataset.nameid = m.nameid || ''; 2858 card.dataset.market = m.name || ''; 2859 card.dataset.website = m.web || ''; 2860 card.dataset.hari = m.hari || 'Setiap Hari'; 2861 card.dataset.jamTutup = m.jam_tutup || '-'; 2862 card.dataset.jamResult = m.jam_result || '-'; 2863 2864 inner += '<div class="tc-guest-detail">' + 2865 '<div class="tc-dr"><span>Web</span><span>' + esc(m.web) + '</span></div>' + 2866 '<div class="tc-dr"><span>Buka</span><span>' + esc(m.hari) + '</span></div>' + 2867 '<div class="tc-dr"><span>Tutup</span><span>' + esc(m.jam_tutup) + '</span></div>' + 2868 '<div class="tc-dr"><span>Result</span><span>' + esc(m.jam_result)+ '</span></div>' + 2869 '</div>'; 2870 } 2871 2872 card.innerHTML = inner; 2873 rowDiv.appendChild(card); 2874 }); 2875 2876 panel.insertBefore(rowDiv, moreBtn || null); 2877 }); 2878 2879 updateTogelMoreBtn(panel, moreBtn); 2880 } 2881 2882 function updateTogelMoreBtn(panel, moreBtn) { 2883 if (!moreBtn) return; 2884 var check = function() { 2885 var cards = panel.querySelectorAll('.togel-card'); 2886 var multiRow = false; 2887 if (cards.length) { 2888 var firstTop = cards[0].offsetTop; 2889 for (var i = 1; i < cards.length; i++) { 2890 if (cards[i].offsetTop > firstTop + 1) { multiRow = true; break; } 2891 } 2892 } 2893 moreBtn.style.display = multiRow ? '' : 'none'; 2894 if (!multiRow) { 2895 panel.classList.remove('togel-panel--open'); 2896 panel.style.maxHeight = panel.scrollHeight + 'px'; 2897 } else if (!panel.classList.contains('togel-panel--open')) { 2898 var secondTop = null; 2899 for (var j = 0; j < cards.length; j++) { 2900 if (cards[j].offsetTop > firstTop + 1) { secondTop = cards[j].offsetTop; break; } 2901 } 2902 var peek = cards[0].offsetHeight * 0.12; 2903 panel.style.maxHeight = secondTop !== null ? (secondTop + peek) + 'px' : ''; 2904 } 2905 }; 2906 check(); 2907 window.addEventListener('resize', check, { passive: true }); 2908 window.addEventListener('load', check); 2909 } 2910 2911 if (Array.isArray(bootMarkets) && bootMarkets.length) { 2912 _ppMarkets = bootMarkets; 2913 renderTogelCards(bootMarkets); 2914 } 2915 2916 if (typeof initHomeGameImageFallback === 'function') { 2917 initHomeGameImageFallback(document); 2918 } 2919 2920 (function() { 2921 function enableDragScroll(el) { 2922 var isDown = false, startX, scrollLeft; 2923 el.addEventListener('mousedown', function(e) { 2924 isDown = true; 2925 el.style.cursor = 'grabbing'; 2926 startX = e.pageX - el.offsetLeft; 2927 scrollLeft = el.scrollLeft; 2928 e.preventDefault(); 2929 }); 2930 el.addEventListener('mouseleave', function() { isDown = false; el.style.cursor = ''; }); 2931 el.addEventListener('mouseup', function() { isDown = false; el.style.cursor = ''; }); 2932 el.addEventListener('mousemove', function(e) { 2933 if (!isDown) return; 2934 el.scrollLeft = scrollLeft - (e.pageX - el.offsetLeft - startX); 2935 }); 2936 } 2937 document.querySelectorAll('.home-view .game-scroll-wrap, .home-view .togel-grid-wrap').forEach(enableDragScroll); 2938 })(); 2939 2940 (function () { 2941 document.querySelectorAll('.home-view .game-scroll-wrap').forEach(function (wrap) { 2942 if (wrap.parentNode && wrap.parentNode.classList.contains('game-scroll-outer')) return; 2943 2944 var outer = document.createElement('div'); 2945 outer.className = 'game-scroll-outer'; 2946 wrap.parentNode.insertBefore(outer, wrap); 2947 outer.appendChild(wrap); 2948 2949 var btnL = document.createElement('button'); 2950 var btnR = document.createElement('button'); 2951 btnL.className = 'game-scroll-btn game-scroll-btn-l'; 2952 btnR.className = 'game-scroll-btn game-scroll-btn-r'; 2953 btnL.type = 'button'; 2954 btnR.type = 'button'; 2955 btnL.innerHTML = '‹'; 2956 btnR.innerHTML = '›'; 2957 outer.appendChild(btnL); 2958 outer.appendChild(btnR); 2959
2960 function update() { 2961 var canL = wrap.scrollLeft > 0; 2962 var canR = wrap.scrollLeft < wrap.scrollWidth - wrap.clientWidth - 1; 2963 btnL.style.display = canL ? 'flex' : 'none'; 2964 btnR.style.display = canR ? 'flex' : 'none'; 2965 } 2966 2967 function cardWidth() { 2968 var card = wrap.querySelector('.game-card'); 2969 if (!card) return 120; 2970 return card.offsetWidth + 10; 2971 } 2972 btnR.addEventListener('click', function () { 2973 wrap.scrollBy({ left: cardWidth(), behavior: 'smooth' }); 2974 }); 2975 btnL.addEventListener('click', function () { 2976 wrap.scrollBy({ left: -cardWidth(), behavior: 'smooth' }); 2977 }); 2978 2979 wrap.addEventListener('scroll', update); 2980 window.addEventListener('resize', update); 2981 update(); 2982 }); 2983 })(); 2984} 2985 2986if (document.readyState === 'loading') { 2987 document.addEventListener('DOMContentLoaded', jtBootHomePartial); 2988} else { 2989 jtBootHomePartial(); 2990} 2991</script>
2991 2992</div> 2993 2994 2995<!-- Transaksi Start --> 2996 2997 2998 2999<style> 3000 3001 .transaksi-group { 3002 display: grid; 3003 grid-template-columns: 458px 1fr; 3004 justify-content: space-between; 3005 grid-template-areas: 3006 "transaksi-bank transaksi-other transaksi-crypto"; 3007 } 3008 3009 .transaksi-bank { 3010 grid-area: transaksi-bank; 3011 display: grid; 3012 place-items: center 3013 } 3014 3015 .transaksi-other { 3016 grid-area: transaksi-other; 3017 display: flex; 3018 justify-content: space-evenly; 3019 width: 100%; 3020 } 3021 3022 .transaksi-crypto { 3023 grid-area: transaksi-crypto; 3024 display: flex; 3025 justify-content: space-evenly; 3026 width: 100%; 3027 } 3028 3029 .icon-crypto { 3030 width: 24px; 3031 height: 24px; 3032 } 3033 3034 .transaksi-list-bank { 3035 height: fit-content; 3036 display: grid; 3037 grid-template-columns: repeat(4, 92px); 3038 grid-template-rows: repeat(4, auto); 3039 gap: 4px; 3040 } 3041 3042 .transaksi-list-other { 3043 height: fit-content; 3044 display: grid; 3045 grid-template-columns: repeat(3, 92px); 3046 gap: 4px; 3047 } 3048 3049 .transaksi-list-crypto { 3050 height: fit-content; 3051 display: grid; 3052 grid-template-columns: repeat(2, 80px); 3053 gap: 10px 8px; 3054 } 3055 3056 3057 .transaksi-item { 3058 display: flex; 3059 flex-direction: column; 3060 /* transform: perspective(10px) rotateX(3deg); */ 3061 } 3062 3063 .transaksi-header { 3064 3065 height: 30px; 3066 border-radius: 5px; 3067 display: grid; 3068 place-items: center; 3069 font-weight: bold; 3070 border: 2px solid rgba(108,108,108,1); 3071 background: rgba(54,54,54,1); 3072 color: white; 3073 } 3074 3075 .transaksi-status { 3076 margin-left: 3px; 3077 margin-right: 3px; 3078 height: 3px; 3079 border-radius: 0px 0px 4px 4px; 3080 background: rgb(54,54,54); 3081 background: linear-gradient(90deg, rgba(54,54,54,1) 0%, rgba(108,108,108,1) 50%, rgba(54,54,54,1) 100%); 3082 } 3083 3084 .header-green { 3085 background: rgba(44,121,6,1); 3086 border-color: rgba(168,255,0,1); 3087 } 3088 3089 .header-blue { 3090 background: rgba(0,80,89,1); 3091 border-color: rgba(0,255,204,1); 3092 } 3093 3094 .status-green { 3095 background: rgb(44,121,6); 3096 background: linear-gradient(90deg, rgba(44,121,6,1) 0%, rgba(168,255,0,1) 50%, rgba(44,121,6,1) 100%); 3097 } 3098 3099 .status-blue { 3100 background: rgb(0,80,89); 3101 background: linear-gradient(90deg, rgba(0,80,89,1) 0%, rgba(0,255,204,1) 50%, rgba(0,80,89,1) 100%); 3102 } 3103 3104 .transaksi-name { 3105 font-size: 1.1rem; 3106 font-weight: bold; 3107 line-height: 1.5rem 3108 } 3109 3110 .transaksi-wrapper { 3111 display: flex; 3112 flex-direction: column; 3113 gap: .5rem; 3114 } 3115 3116 3117 @media only screen and (max-width: 768px) { 3118 3119 .transaksi-group { 3120 display: grid; 3121 grid-template-columns: 1fr; 3122 grid-template-areas: 3123 "transaksi-bank" 3124 "transaksi-other" 3125 "transaksi-crypto"; 3126 gap: 32px; 3127 margin-bottom: 8px; 3128 3129 } 3130 3131 .transaksi-header { 3132 font-size: 1.1rem; 3133 height: 36px; 3134 } 3135 3136 .transaksi-list-bank { 3137 grid-template-columns: repeat(4, 1fr); 3138 } 3139 3140 .transaksi-list-other { 3141 grid-template-columns: repeat(4, 1fr); 3142 } 3143 3144 .transaksi-list-crypto { 3145 width: 86%; 3146 margin: auto; 3147 grid-template-columns: repeat(4, 1fr); 3148 } 3149 3150 .transaksi-list { 3151 display: grid; 3152 grid-template-columns: repeat(3, 1fr); 3153 } 3154 3155 .transaksi-item { 3156 width: 100%; 3157 } 3158 3159 .transaksi-title-group { 3160 justify-content: center; 3161 padding: 16px 0; 3162 } 3163 3164 .transaksi-name { 3165 font-size: 1.3rem; 3166 text-align: center; 3167 line-height: 1.8rem; 3168 } 3169 3170 .transaksi-wrapper { 3171 width: 100%; 3172 max-width: 100%!important; 3173 gap: 1rem; 3174 } 3175 3176 .icon-crypto { 3177 width: 28px; 3178 height: 28px; 3179 } 3180 3181 } 3182</style> 3183 3184 3185 <style> 3186 .transaksi-wrapper { 3187 display: flex; 3188 flex-direction: column; 3189 gap: .5rem;
3190 align-items: flex-start; 3191} 3192 3193.transaksi-name { 3194 font-size: 1.1rem; 3195 font-weight: bold; 3196 line-height: 1.5rem; 3197} 3198 3199.carousel-inner { 3200 position: relative; 3201 width: 100%; 3202 overflow: hidden; 3203} 3204 3205.transaksi-list-bank, .transaksi-list-other { 3206 grid-template-columns: repeat(4, minmax(110px, 1fr)); 3207 gap: 8px 10px; 3208} 3209 3210 3211.transaksi-list-bank, .transaksi-list-other { 3212 height: fit-content; 3213 display: grid; 3214 grid-template-columns: repeat(4, minmax(80px, 1fr)); 3215 gap: 4px 6px; 3216} 3217 3218 3219.transaksi-item { 3220 display: flex; 3221 flex-direction: column; 3222 position: relative; 3223} 3224.transaksi-header { 3225 height: 34px; 3226 border-radius: 6px; 3227 font-weight: bold; 3228 border: 2px solid rgba(108, 108, 108, 1); 3229 background: rgba(54, 54, 54, 1); 3230 color: white; 3231 min-width: 110px; 3232 padding: 0 16px 0 28px; 3233 display: flex; 3234 align-items: center; 3235 justify-content: center; 3236 text-align: center; 3237 white-space: nowrap; 3238} 3239 3240.transaksi-header { 3241 border: none; 3242 padding: 0px; 3243 padding-bottom: 4px; 3244} 3245 3246.transaksi-header.is-online::before { 3247 content: ""; 3248 position: absolute; 3249 top: auto; 3250 left: 50%; 3251 transform: translateX(-50%); 3252 width: 50%; 3253 height: 4px; 3254 bottom: 0%; 3255 background-color: #00ff66; 3256 border-radius: 6px; 3257 box-shadow: 0 0 8px rgba(0, 255, 102, .85); 3258} 3259 3260.transaksi-header.is-offline { 3261 padding: 0 16px; 3262 background: #2e2e2e; 3263 border-color: #555; 3264 opacity: .35; 3265 align-items: center; 3266 justify-content: center; 3267 text-align: center; 3268} 3269 </style> 3270 3271 <div class="section desktop-only" style="min-height: 220px"> 3272 3273<div class="transaksi-group"> 3274 <div class="transaksi-bank"> 3275 3276 <div class="transaksi-wrapper"> 3277 <div class="transaksi-name">Bank Lokal</div> 3278 3279 <div id="transaksi-bank-indicators" class="carousel slide" data-bs-ride="carousel"> 3280 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 3281 3282 3283 </div> 3284 <div class="carousel-inner" > 3285 <div class="carousel-item active" style="min-height: 144px"> 3286 <div class="transaksi-list-bank"> 3287 3288 3289 3290 <div class="transaksi-item"> 3291 <div class="transaksi-header">BCA</div> 3292 <div class="transaksi-status status-green"></div> 3293 </div> 3294 3295 3296 <div class="transaksi-item"> 3297 <div class="transaksi-header">Mandiri</div> 3298 <div class="transaksi-status status-green"></div> 3299 </div> 3300 3301 3302 <div class="transaksi-item"> 3303 <div class="transaksi-header">BNI</div> 3304 <div class="transaksi-status status-green"></div> 3305 </div> 3306 3307 3308 <div class="transaksi-item"> 3309 <div class="transaksi-header">BRI</div> 3310 <div class="transaksi-status status-green"></div> 3311 </div> 3312 3313 3314 <div class="transaksi-item"> 3315 <div class="transaksi-header">CIMB</div> 3316 <div class="transaksi-status status-green"></div> 3317 </div> 3318 3319 3320 <div class="transaksi-item"> 3321 <div class="transaksi-header">Danamon</div> 3322 <div class="transaksi-status status-green"></div> 3323 </div> 3324 3325 3326 <div class="transaksi-item"> 3327 <div class="transaksi-header">Permata</div> 3328 <div class="transaksi-status status-green"></div> 3329 </div> 3330 3331 3332 <div class="transaksi-item"> 3333 <div class="transaksi-header">BJB</div> 3334 <div class="transaksi-status status-green"></div> 3335 </div> 3336 3337 3338 <div class="transaksi-item"> 3339 <div class="transaksi-header">JAGO</div> 3340 <div class="transaksi-status status-green"></div> 3341 </div> 3342 3343 3344 <div class="transaksi-item"> 3345 <div class="transaksi-header">SeaBank</div> 3346 <div class="transaksi-status status-green"></div> 3347 </div> 3348 3349 3350 <div class="transaksi-item"> 3351 <div class="transaksi-header">Mega</div> 3352 <div class="transaksi-status status-green"></div> 3353 </div> 3354 3355 3356 <div class="transaksi-item"> 3357 <div class="transaksi-header">BluBCA</div> 3358 <div class="transaksi-status status-green"></div> 3359 </div> 3360 3361 3362 <div class="transaksi-item"> 3363 <div class="transaksi-header">Allobank</div> 3364 <div class="transaksi-status status-green"></div> 3365 </div> 3366 3367 3368 </div> 3369 </div> 3370 3371 3372 3373 </div> 3374 </div> 3375 3376 </div> 3377 </div> 3378 3379 <div class="transaksi-other"> 3380 3381 3382 <div class="transaksi-wrapper" style="max-width: 458px"> 3383 3384 <div class="transaksi-name">E Money & Pulsa</div> 3385 3386 3387 <div id="transaksi-other-indicators" class="carousel slide" data-bs-ride="carousel"> 3388 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 3389 3390 3391 </div> 3392 <div class="carousel-inner" > 3393 <div class="carousel-item active"> 3394 <div class="transaksi-list-other"> 3395 3396 3397 3398 <div class="transaksi-item"> 3399 <div class="transaksi-header">Telkomsel</div> 3400 <div class="transaksi-status status-blue"></div> 3401 </div> 3402 3403 3404 <div class="transaksi-item"> 3405 <div class="transaksi-header">Jenius</div> 3406 <div class="transaksi-status status-blue"></div> 3407 </div> 3408 3409 3410 <div class="transaksi-item"> 3411 <div class="transaksi-header">DANA</div> 3412 <div class="transaksi-status status-blue"></div> 3413 </div> 3414 3415 3416 <div class="transaksi-item"> 3417 <div class="transaksi-header">OVO</div> 3418 <div class="transaksi-status status-blue"></div> 3419 </div> 3420 3421 3422 <div class="transaksi-item"> 3423 <div class="transaksi-header">GOPAY</div> 3424 <div class="transaksi-status status-blue"></div> 3425 </div> 3426 3427 3428 <div class="transaksi-item"> 3429 <div class="transaksi-header">LinkAja</div> 3430 <div class="transaksi-status status-blue"></div> 3431 </div> 3432 3433 3434 <div class="transaksi-item"> 3435 <div class="transaksi-header">Lain-lain</div> 3436 <div class="transaksi-status status-blue"></div> 3437 </div> 3438 3439 3440 </div> 3441 </div> 3442 3443 3444 3445 </div> 3446 </div> 3447 </div> 3448 3449 3450 3451 </div> 3452 3453 <div class="transaksi-crypto"> 3454 <div class="transaksi-wrapper" style="max-width: 284px"> 3455 3456 <div class="transaksi-name mb-1">Crypto Currency</div> 3457 3458 3459 <div id="transaksi-crypto-indicators" class="carousel slide" data-bs-ride="carousel"> 3460 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 3461 3462 3463 </div> 3464 <div class="carousel-inner" > 3465 3466 3467 </div> 3468 </div> 3469 </div> 3470 </div> 3471</div> 3472 3473</div> 3474 3475 3476 3477 3478 3479 <footer class="site-footer"> 3480<div class="section"> 3481 3482 <div class="footer-nav"> 3483 <a href="javascript:void(0)" onclick="openCms('tentang')">TENTANG KAMI</a>
3484 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('bantuan')">BANTUAN</a> 3485 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('peraturan')">PERATURAN</a> 3486 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('bank')">INFORMASI BANK</a> 3487 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('hubungi')">HUBUNGI KAMI</a> 3488 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('privasi')">KEBIJAKAN PRIVASI</a> 3489 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('cookies')">PERSETUJUAN COOKIES</a> 3490 </div> 3491 3492 <div class="footer-guidelines-wrap"> 3493 <img src="https://img.viva88athenae.com/new/guidelines.png?v=1790436652" alt="Guidelines" class="footer-guidelines-img" width="929" height="52"> 3494 </div> 3495 3496 <div class="footer-providers"> 3497 <img src="https://img.viva88athenae.com/assets/provider_w.png?v=1790436652" alt="Provider Logos" class="d-none d-md-block" style="margin:0 auto;" width="1201" height="124"> 3498 <img src="/images/new/provider-mobile.png?v=1790436652" alt="Provider Logos" class="d-md-none" width="600" height="262" style="max-width:100%;height:auto;"> 3499 </div> 3500 3501 <div class="footer-meta">
3501<script> 3502 $("<a class='btn blink-border' style='width: 100%;height: 100%;display: block;background: linear-gradient(to bottom,#991bcd, #4fceff);color: #ffffff;margin: auto;margin-top: 3px;text-align: center;padding: 10px 0px;font-size: 18px;font-weight: bold;border-radius: 8px;border: 1px solid #2f4d19;' href='https://vvipt4d.com/' target='_blank'>Bonus VVIP Cek Disini</a>").insertAfter(".btn-info"); 3503</script>
3503 3504 <!--ARTIKEL--> 3505 3506<h1><span style="color: #ff00ff;">TERA4D | Platform Permainan Digital Modern, Unduh APK Terbaru</span></h1> 3507 3508<p>Tera4D merupakan platform permainan digital modern yang menghadirkan akses cepat, aman, dan responsif bagi para pengguna. Dengan tampilan yang nyaman serta sistem yang terus diperbarui, <span style="color: #ff00ff;"><a style="color: #ff00ff;" title="Tera4D Resmi" href="https://tera4d.com/" target="_blank" rel="noopener"><strong>Tera4D</strong></a></span> memberikan pengalaman penggunaan yang praktis melalui berbagai perangkat, baik smartphone, tablet, maupun komputer.</p> 3509 3510<p>Melalui platform yang dirancang dengan teknologi modern, Tera4D menghadirkan navigasi yang mudah, performa yang stabil, serta kemudahan dalam mengakses berbagai fitur. Pengguna dapat menikmati pengalaman digital yang lebih nyaman kapan saja dan di mana saja.</p> 3511 3512<h2><span style="color: #ff00ff;">Mengapa Memilih Tera4D?</span></h2> 3513 3514<p>Tera4D dikembangkan untuk memberikan pengalaman digital yang cepat, aman, dan nyaman bagi seluruh pengguna.</p> 3515 3516<h3><span style="color: #ff00ff;">1. Akses Cepat dan Responsif</span></h3> 3517 3518<p>Platform dioptimalkan agar dapat dimuat dengan cepat sehingga pengguna memperoleh pengalaman yang lebih lancar.</p> 3519 3520<h3><span style="color: #ff00ff;">2. Tampilan Modern</span></h3> 3521 3522<p>Desain antarmuka dibuat sederhana namun elegan sehingga mudah digunakan oleh pengguna baru maupun yang sudah berpengalaman.</p> 3523 3524<h3><span style="color: #ff00ff;">3. Kompatibel di Berbagai Perangkat</span></h3> 3525 3526<p><span style="color: #ff00ff;"><a style="color: #ff00ff;" title="Tera4D Platform Digital" href="https://tera4d.com/" target="_blank" rel="noopener"><strong>Tera4D</strong></a></span> dapat diakses dengan nyaman melalui perangkat Android, iPhone, tablet, hingga desktop tanpa mengurangi kualitas pengalaman pengguna.</p> 3527 3528<h2><span style="color: #ff00ff;">Cara Mengakses Tera4D</span></h2> 3529 3530<p>Ikuti beberapa langkah berikut agar pengalaman penggunaan tetap nyaman.</p> 3531 3532<ol> 3533<li><strong>Kunjungi Website Resmi</strong><br />Akses platform melalui <strong>https://tera4d.com/</strong>.</li> 3534 3535<li><strong>Pastikan Koneksi Aman</strong><br />Gunakan jaringan internet yang stabil serta pastikan website menggunakan HTTPS.</li> 3536 3537<li><strong>Unduh APK Terbaru</strong><br />Bagi pengguna Android, gunakan versi APK terbaru agar memperoleh fitur dan pembaruan terkini.</li> 3538 3539<li><strong>Nikmati Berbagai Fitur</strong><br />Jelajahi berbagai fitur yang tersedia melalui tampilan yang responsif dan mudah digunakan.</li> 3540</ol> 3541 3542<h2><span style="color: #ff00ff;">Keunggulan Platform Tera4D</span></h2> 3543 3544<ul> 3545<li>Akses cepat dengan performa yang stabil.</li> 3546<li>Tampilan responsif untuk semua ukuran layar.</li> 3547<li>Navigasi sederhana dan mudah dipahami.</li> 3548<li>Sistem yang selalu diperbarui secara berkala.</li> 3549<li>Kompatibel dengan berbagai perangkat.</li> 3550</ul> 3551 3552<h2><span style="color: #ff00ff;">Mengapa Banyak Pengguna Memilih Tera4D?</span></h2> 3553 3554<h3>1. Desain Modern</h3> 3555 3556<p>Antarmuka dirancang agar memberikan kenyamanan saat digunakan dalam berbagai kondisi.</p> 3557 3558<h3>2. Pengalaman Pengguna Optimal</h3> 3559 3560<p>Seluruh fitur disusun agar mudah diakses dengan navigasi yang intuitif.</p> 3561 3562<h3>3. Mendukung Multi-Platform</h3> 3563 3564<p>Platform dapat digunakan melalui browser maupun APK terbaru sehingga lebih fleksibel.</p> 3565 3566<h3>4. Pembaruan Berkala</h3> 3567 3568<p>Tera4D secara rutin menghadirkan peningkatan performa dan pembaruan sistem untuk memberikan pengalaman yang semakin baik.</p> 3569 3570<h2><span style="color: #ff00ff;">Tips Menggunakan Tera4D dengan Nyaman</span></h2> 3571 3572<ul> 3573<li>Simpan halaman resmi di bookmark browser.</li> 3574<li>
3574Gunakan versi APK terbaru apabila tersedia.</li> 3575<li>Pastikan koneksi internet tetap stabil.</li> 3576<li>Perbarui aplikasi secara berkala untuk memperoleh fitur terbaru.</li> 3577<li>Akses platform melalui website resmi <strong>https://tera4d.com/</strong>.</li> 3578</ul> 3579<h2><span style="color: #ff00ff;">Mengapa Banyak Pengguna Memilih Tera4D?</span></h2> <p>Tera4D semakin dikenal karena menghadirkan pengalaman digital yang cepat, nyaman, dan responsif di berbagai perangkat. Beberapa alasan yang membuat platform ini banyak dipilih antara lain:</p> <ul> <li>Akses cepat dengan performa yang stabil.</li> <li>Tampilan modern dan mudah digunakan.</li> <li>Kompatibel dengan smartphone, tablet, dan desktop.</li> <li>Pembaruan sistem dan fitur dilakukan secara berkala.</li> </ul> <h2><span style="color: #ff00ff;">Informasi Seputar Tera4D</span></h2> <p>Pengguna umumnya mencari berbagai informasi mengenai Tera4D, seperti:</p> <div class="highlight"> <ul> <li>Tera4D</li> <li>Tera4D APK Terbaru</li> <li>Tera4D Platform Digital</li> <li>Tera4D Login</li> <li>Tera4D Unduh APK</li> <li>Tera4D Akses Cepat</li> </ul> </div> <p>Informasi tersebut membantu pengguna menemukan platform dengan lebih mudah sekaligus memperoleh pembaruan terbaru mengenai fitur dan layanan yang tersedia.</p> <h2><span style="color: #ff00ff;">Nikmati Pengalaman Digital Bersama Tera4D</span></h2> <p>Tera4D menghadirkan platform permainan digital modern dengan akses cepat, tampilan responsif, dan pengalaman penggunaan yang nyaman. Kunjungi <strong>https://tera4d.com/</strong> atau unduh APK terbaru untuk menikmati berbagai fitur yang tersedia melalui satu platform yang praktis dan mudah digunakan.</p> 3580<!--ARTIKEL--> 3581 3582<style> 3583.faq-container { 3584 max-width: 800px; 3585 margin: 40px auto; 3586 font-family: Arial, sans-serif; 3587} 3588 3589.faq-title { 3590 text-align: center; 3591 font-size: 28px; 3592 font-weight: bold; 3593 color: #ff00ff; 3594 margin-bottom: 20px; 3595} 3596 3597.faq-item { 3598 border-bottom: 1px solid #eee; 3599 margin-bottom: 10px; 3600} 3601 3602.faq-question { 3603 cursor: pointer; 3604 padding: 15px; 3605 font-weight: bold; 3606 background: #ff00ff; 3607 color: #fff; 3608 border-radius: 5px; 3609 transition: 0.3s; 3610} 3611 3612.faq-question:hover { 3613 background: #cc00cc; 3614} 3615 3616.faq-answer { 3617 display: none; 3618 padding: 15px; 3619 background: #fafafa; 3620 border-left: 4px solid #ff00ff; 3621 line-height: 1.6; 3622} 3623```html 3624</style> 3625 3626<div class="faq-container"> 3627 <div class="faq-title">FAQ (Pertanyaan yang Sering Diajukan)</div> 3628 3629 <div class="faq-item"> 3630 <div class="faq-question">1. Apa itu Tera4D?</div> 3631 <div class="faq-answer"> 3632 Tera4D adalah platform permainan digital modern yang menghadirkan akses cepat, tampilan responsif, dan pengalaman penggunaan yang nyaman di berbagai perangkat. 3633 </div> 3634 </div> 3635 3636 <div class="faq-item"> 3637 <div class="faq-question">2. Bagaimana cara mengunduh APK Tera4D?</div> 3638 <div class="faq-answer"> 3639 Anda dapat mengunduh APK Tera4D melalui website resmi tera4d.com untuk mendapatkan versi terbaru beserta pembaruan fitur yang tersedia. 3640 </div> 3641 </div> 3642 3643 <div class="faq-item"> 3644 <div class="faq-question">3. Apakah Tera4D dapat diakses melalui smartphone?</div> 3645 <div class="faq-answer"> 3646 Ya. Tera4D telah dioptimalkan untuk berbagai perangkat, termasuk smartphone Android, iPhone, tablet, maupun komputer dengan tampilan yang responsif. 3647 </div> 3648 </div> 3649 3650 <div class="faq-item"> 3651 <div class="faq-question">4. Apa saja keunggulan Tera4D?</div> 3652 <div class="faq-answer"> 3653 Tera4D menawarkan akses yang cepat, desain modern, navigasi yang mudah, performa yang stabil, serta pembaruan sistem secara berkala untuk meningkatkan pengalaman pengguna. 3654 </div> 3655 </div> 3656 3657 <div class="faq-item"> 3658 <div class="faq-question">5. Apakah Tera4D menyediakan pembaruan APK?</div> 3659 <div class="faq-answer"> 3660 Ya. Tera4D secara berkala menghadirkan versi APK terbaru agar pengguna dapat menikmati peningkatan performa, fitur baru, dan pengalaman penggunaan yang lebih optimal. 3661 </div> 3662 </div> 3663 3664 <div class="faq-item"> 3665 <div class="faq-question">6. Mengapa banyak pengguna memilih Tera4D?</div> 3666 <div class="faq-answer"> 3667 Banyak pengguna memilih Tera4D karena menawarkan platform permainan digital yang cepat, responsif, mudah digunakan, serta kompatibel dengan berbagai perangkat untuk memberikan pengalaman yang lebih nyaman. 3668 </div> 3669 </div> 3670 3671</div> 3672
3673<script> 3674document.querySelectorAll(".faq-question").forEach(item => { 3675 item.addEventListener("click", () => { 3676 let answer = item.nextElementSibling; 3677 answer.style.display = (answer.style.display === "block") ? "none" : "block"; 3678 }); 3679}); 3680</script>
3680 3681 3682<style> 3683 3684 @import url("https://fonts.googleapis.com/css?family=Raleway:900&display=swap"); 3685 3686 :root { 3687 --accent-color: #e424ed; 3688 --base-color: #ffffff; 3689 } 3690 3691 .ard-sosmed { 3692 display: block; 3693 cursor: pointer; 3694 position: fixed; 3695 width: 50px; 3696 height: 50px; 3697 bottom: 30%; 3698 left: 1%; 3699 z-index: 50; 3700 font-family: "Raleway", sans-serif; 3701 z-index: 99; 3702 } 3703 3704 .ard-sosmed ul { 3705 margin: 0; 3706 padding: 0; 3707 } 3708 3709 .ard-sosmed ul li { 3710 position: absolute; 3711 text-decoration: none; 3712 list-style: none; 3713 transform: translate(0, 0) rotate(360deg); 3714 transition: all .5s ease; 3715 opacity: 0; 3716 } 3717 3718 .ard-sosmed.open ul li:nth-child(1) { 3719 transform: translateY(-200px); 3720 transition-delay: .24s; 3721 opacity: 1; 3722 } 3723 3724 .ard-sosmed.open ul li:nth-child(2) { 3725 transform: translate(52px, -175px); 3726 transition-delay: .20s; 3727 opacity: 1; 3728 } 3729 3730 .ard-sosmed.open ul li:nth-child(3) { 3731 transform: translate(105px, -150px); 3732 transition-delay: .16s; 3733 opacity: 1; 3734 } 3735 3736 .ard-sosmed.open ul li:nth-child(4) { 3737 transform: translate(150px, -105px); 3738 transition-delay: .12s; 3739 opacity: 1; 3740 } 3741 3742 .ard-sosmed.open ul li:nth-child(5) { 3743 transform: translate(175px, -52px); 3744 transition-delay: .08s; 3745 opacity: 1; 3746 } 3747 3748 .ard-sosmed.open ul li:nth-child(6) { 3749 transform: translateX(200px); 3750 transition-delay: .04s; 3751 opacity: 1; 3752 } 3753 3754 .ard-sosmed.open ul li:nth-child(7) { 3755 transform: translate(175px, 52px); 3756 transition-delay: 0s; 3757 opacity: 1; 3758 } 3759 3760 .ard-sosmed ul li a img { 3761 width: 90%; 3762 height: auto; 3763 } 3764 3765 .ard-sosmed ul li a { 3766 display: flex; 3767 width: 45px; 3768 height: 45px; 3769 border: solid 2px #e524ed; 3770 border-radius: 10px; 3771 justify-content: center; 3772 align-items: center; 3773 } 3774 3775 .bar1, 3776 .bar2, 3777 .bar3 { 3778 width: 100%; 3779 height: 5px; 3780 background-color: var(--accent-color); 3781 margin: 6px 0; 3782 transition: .4s; 3783 position: relative; 3784 transform: translateY(-1px); 3785 } 3786 3787 .open .bar1 { 3788 transform: translate(0, 10px) rotate(-225deg); 3789 } 3790 3791 .open .bar2 { 3792 opacity: 0; 3793 transform: translate(0, -6px) rotate(-225deg); 3794 } 3795 3796 .open .bar3 { 3797 transform: translate(0, -12px) rotate(-315deg); 3798 } 3799 3800 .ard-sosmed ul li div { 3801 position: absolute; 3802 transition: all .3s ease; 3803 opacity: 0; 3804 scale: .1; 3805 font-family: "Raleway", sans-serif; 3806 font-size: large; 3807 background: rgba(0, 0, 0, 1); 3808 color: var(--accent-color); 3809 text-align: center; 3810 text-wrap: nowrap; 3811 } 3812 3813 .ard-sosmed ul li:hover div { 3814 opacity: 1; 3815 scale: 1; 3816 } 3817 3818 .ard-sosmed ul li:nth-child(1) div { 3819 transform: translateY(-150px); 3820 } 3821 3822 .ard-sosmed ul li:nth-child(1):hover div { 3823 transform: translateY(-80px); 3824 } 3825 3826 .ard-sosmed ul li:nth-child(2) div { 3827 transform: translateY(-150px); 3828 } 3829 3830 .ard-sosmed ul li:nth-child(2):hover div { 3831 transform: translate(30px, -80px); 3832 } 3833 3834 .ard-sosmed ul li:nth-child(3) div { 3835 transform: translateY(-150px); 3836 } 3837 3838 .ard-sosmed ul li:nth-child(3):hover div { 3839 transform: translate(50px, -75px); 3840 } 3841 3842 .ard-sosmed ul li:nth-child(4) div { 3843 transform: translateY(-150px); 3844 } 3845 3846 .ard-sosmed ul li:nth-child(4):hover div { 3847 transform: translate(50px, -75px); 3848 } 3849 3850 .ard-sosmed ul li:nth-child(5) div { 3851 transform: translateY(-150px); 3852 } 3853 3854 .ard-sosmed ul li:nth-child(5):hover div { 3855 transform: translate(58px, -65px); 3856 } 3857 3858 .ard-sosmed ul li:nth-child(6) div { 3859 transform: translateY(-150px); 3860 } 3861 3862 .ard-sosmed ul li:nth-child(6):hover div { 3863 transform: translate(60px, -50px); 3864 } 3865 3866 .ard-sosmed ul li:nth-child(7) div { 3867 transform: translateY(-150px); 3868 } 3869 3870 .ard-sosmed ul li:nth-child(7):hover div { 3871 transform: translate(60px, -50px); 3872 } 3873 3874 .attention { 3875 position: relative; 3876 clip-path: polygon(0% 0%, 100% 0%, 100% 75%, 49% 75%, 22% 100%, 22% 75%, 0% 75%); 3877 width: 100px; 3878 height: 30px; 3879 margin-bottom: 5px; 3880 left: 10px; 3881 background-color: #ffffff; 3882 cursor: default; 3883 color: #e224ec; 3884 display: flex; 3885 justify-content: center; 3886 align-items: center; 3887 padding-bottom: 10px; 3888 opacity: 0; 3889 } 3890 3891 .whore { 3892 animation: flicker .6s infinite; 3893 3894 &:hover { 3895 animation-duration: 10s; 3896 } 3897 } 3898 3899 @keyframes flicker { 3900 0% { 3901 opacity: 1;
3902 } 3903 3904 50% { 3905 opacity: 0; 3906 } 3907 3908 100% { 3909 opacity: 1; 3910 } 3911 } 3912</style> 3913 3914<!-- MENU --> 3915 <div class="fixed-left" data-v-38a8c498=""> 3916 <main data-v-38a8c498=""> 3917 <!----> 3918 <div class="fixed-vpn" data-v-38a8c498=""><a href= 3919 "https://tera4d-rtp.com/rtp/" 3920 target="_blank" class="animated" data-v-38a8c498=""><img class= 3921 "fixed-img-100" data-v-38a8c498="" src= 3922 "https://i.imgur.com/rbK4ey5.gif" 3923 lazy="loaded"></a></div> 3924 <!----> 3925 <div class="fixed-vpn" data-v-38a8c498=""><a href= 3926 "https://play.google.com/store/search?q=1.1.1.1.%20WARP&c=apps&hl=en-ID" 3927 target="_blank" class="animated" data-v-38a8c498=""><img class= 3928 "fixed-img-100" data-v-38a8c498="" src= 3929 "https://aempetera4d.com/img/tera4d-vpn.png" 3930 lazy="loaded"></a></div> 3931 <!----> 3932 <div class="fixed-vpn" data-v-38a8c498=""><a href= 3933 "https://t.me/+K15qC22Rouo4Yzhl" 3934 target="_blank" class="animated" data-v-38a8c498=""><img class= 3935 "fixed-img-100" data-v-38a8c498="" src= 3936 "https://aempetera4d.com/img/tera4d-telegram.gif" alt= "livenobar" 3937 lazy="loaded"></a></div> 3938 <!----> 3939 <div class="fixed-vpn" data-v-38a8c498=""><a href= 3940 "https://heylink.me/tera4d-daftar/" 3941 target="_blank" class="animated" data-v-38a8c498=""><img class= 3942 "fixed-img-100" data-v-38a8c498="" src= 3943 "https://aempetera4d.com/img/tera4d-whatsapp.gif" 3944 lazy="loaded"></a></div> 3945 <!----> 3946 <style> 3947 .fixed-left[data-v-38a8c498]{zoom:.85;position:fixed;z-index:99;bottom:150px;left:-20px;width:105px;padding:15px 15px 15px 20px;background-color:#262626d2;border-radius:10px;border:3px solid rgba(255, 0, 0, 0);transition:.5s ease-in-out}.fixed-left a[data-v-38a8c498],main{display:block}.fixed-img-100[data-v-38a8c498], 3948 .fixed-rtp[data-v-38a8c498], 3949 .fixed-wa[data-v-38a8c498] { 3950 width: 100%; 3951 } 3952 .fixed-rtp .fixed-apk .fixed-rtp .fixed-vpn [data-v-38a8c498] { 3953 margin-bottom:5px; /* Properti margin-bottom untuk menambahkan jarak */ 3954 } 3955 .fixed-rtp .animated[data-v-38a8c498],.fixed-wa .animated[data-v-38a8c498]{-webkit-animation:1s ease-in-out infinite alternate zoom-data-v-38a8c498;animation:1s ease-in-out infinite alternate zoom-data-v-38a8c498}.fixed-arrow[data-v-38a8c498]{position:absolute;right:-25px;top:10px;bottom:10px;background-color:#ff00b3;width:25px;border-radius:0 10px 10px 0;cursor:pointer}.vertical-align-center{align-items:center}.dflex{display:flex!important}.justify-content-center{justify-content:center!important}.fixed-arrow img[data-v-38a8c498]{transform:rotate(240deg);filter:invert(1)}.img-xxs{height:20px}@media (max-width:1366px){.img-xxs{height:15px}}.fixed-left.nganu[data-v-38a8c498]{left:-110px} 3956 </style></main> 3957 <section class= 3958 "fixed-arrow dflex vertical-align-center justify-content-center" 3959 data-v-38a8c498=""><img src= 3960 "https://aempetera4d.com/img/rowkanan.png" 3961 alt="Arrow RTP" class="img-xxs" data-v-38a8c498=""></section> 3962 </div> 3963
3963<script> 3964 $(document).ready(function(){$(".fixed-arrow").click(function(){$(".fixed-left").toggleClass("nganu")})}); 3965 </script>
3965<body> 3966
3967<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"c3568d3ecd8b482e9f0ce613f6b3d56d","r":1,"spa":2}' crossorigin="anonymous"></script>
3967 3968</body> 3969 <style> 3970 #pop-up-container { 3971 display: flex; 3972 align-items: center; 3973 justify-content: space-evenly; 3974 position: fixed; 3975 z-index: 11; 3976 top: 0; 3977 left: 0; 3978 right: 0; 3979 bottom: 0; 3980 } 3981 3982 #pop-up-wrapper { 3983 width: 85%; 3984 min-width: 315px; 3985 max-width: 500px; 3986 min-height: 210px; 3987 position: relative; 3988 z-index: 11; 3989 overflow: visible; 3990 border-radius: 5px; 3991 } 3992 3993 #pop-up-wrapper img { 3994 width: 100%; 3995 border-radius: 5px 5px 0 0; 3996 } 3997 3998 #pop-up-wrapper button { 3999 width: 100%; 4000 padding: 0.75rem; 4001 font-size: -0.75rem; 4002 font-weight: 700; 4003 border: none; 4004 border-radius: 0 0 5px 5px; 4005 margin: 0; 4006 background-color: #d10ec2; 4007 } 4008 4009 .gray-bg { 4010 background: #00000000 no-repeat; 4011 } 4012 4013 .swirl-in-fwd { 4014 -webkit-animation: swirl-in-fwd 0.6s ease-out both; 4015 animation: swirl-in-fwd 0.6s ease-out both; 4016 } 4017 4018 .x-mark-container { 4019 position: absolute; 4020 top: 5px; 4021 right: 5px; 4022 background-color: black; 4023 border-radius: 50%; 4024 width: 8%; 4025 } 4026 4027 #bg-black { 4028 background-color: rgba(0, 0, 0, 0.86); 4029 position: fixed; 4030 z-index: 10; 4031 top: 0; 4032 left: 0; 4033 right: 0; 4034 bottom: 0; 4035 } 4036 4037 @-webkit-keyframes swirl-in-fwd { 4038 0% { 4039 -webkit-transform: rotate(-540deg) scale(0); 4040 transform: rotate(-540deg) scale(0); 4041 opacity: 0; 4042 } 4043 4044 100% { 4045 -webkit-transform: rotate(0) scale(1); 4046 transform: rotate(0) scale(1); 4047 opacity: 1; 4048 } 4049 } 4050 4051 @keyframes swirl-in-fwd { 4052 0% { 4053 -webkit-transform: rotate(-540deg) scale(0); 4054 transform: rotate(-540deg) scale(0); 4055 opacity: 0; 4056 } 4057 4058 100% { 4059 -webkit-transform: rotate(0) scale(1); 4060 transform: rotate(0) scale(1); 4061 opacity: 1; 4062 } 4063 } 4064 4065 .swirl-out-bck { 4066 -webkit-animation: swirl-out-bck 0.6s ease-in both; 4067 animation: swirl-out-bck 0.6s ease-in both; 4068 } 4069 4070 @-webkit-keyframes swirl-out-bck { 4071 0% { 4072 -webkit-transform: rotate(0) scale(1); 4073 transform: rotate(0) scale(1); 4074 opacity: 1; 4075 } 4076 4077 100% { 4078 -webkit-transform: rotate(-540deg) scale(0); 4079 transform: rotate(-540deg) scale(0); 4080 opacity: 0; 4081 } 4082 } 4083 4084 @keyframes swirl-out-bck { 4085 0% { 4086 -webkit-transform: rotate(0) scale(1); 4087 transform: rotate(0) scale(1); 4088 opacity: 1; 4089 } 4090 4091 100% { 4092 -webkit-transform: rotate(-540deg) scale(0); 4093 transform: rotate(-540deg) scale(0); 4094 opacity: 0; 4095 } 4096 } 4097 4098 .fade-in { 4099 -webkit-animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) both; 4100 animation: fade-in 1.2s cubic-bezier(0.39, 0.575, 0.565, 1) both; 4101 } 4102 4103 @-webkit-keyframes fade-in { 4104 0% { 4105 opacity: 0; 4106 } 4107 4108 100% { 4109 opacity: 1; 4110 } 4111 } 4112 4113 @keyframes fade-in { 4114 0% { 4115 opacity: 0; 4116 } 4117 4118 100% { 4119 opacity: 1; 4120 } 4121 } 4122 4123 .fade-out { 4124 -webkit-animation: fade-out 1s ease-out both; 4125 animation: fade-out 1s ease-out both; 4126 } 4127 4128 @-webkit-keyframes fade-out { 4129 0% { 4130 opacity: 1;
4131 } 4132 4133 100% { 4134 opacity: 0; 4135 } 4136 } 4137 4138 @keyframes fade-out { 4139 0% { 4140 opacity: 1; 4141 } 4142 4143 100% { 4144 opacity: 0; 4145 } 4146 } 4147 </style>
4148<script> 4149 window.addEventListener('DOMContentLoaded', () => { 4150 // Pengecekan path URL (hanya muncul di halaman utama/home) 4151 if (window.location.pathname === '/') { 4152 4153 // HTML Pop-up yang sudah dirapikan 4154 const popUpHTML = ` 4155 <div id="pop-up-container" onclick="close_pop_up()"> 4156 <div id="bg-black" class="fade-in"></div> 4157 4158 <div id="pop-up-wrapper" class="swirl-in-fwd gray-bg"> 4159 <img src="https://i.ibb.co/gLV4P6RM/tera4dpopup.png" alt="popup" style="max-width: 100%; height: auto;" /> 4160 4161 <div class="button-container"> 4162 <button class="link-btn-snippet" onclick="window.location.href='https://t.me/+K15qC22Rouo4Yzhl'" style="color: #fff; cursor: pointer;"> 4163 JOIN KOMUNITAS TELEGRAM Tera4D 4164 </button> 4165 <button onclick="close_pop_up()" style="color: #fff; cursor: pointer;"> 4166 KLIK UNTUK MENUTUP 4167 </button> 4168 </div> 4169 </div> 4170 </div> 4171 `; 4172 4173 // Memasukkan HTML ke dalam body tanpa butuh jQuery 4174 document.body.insertAdjacentHTML('beforeend', popUpHTML); 4175 4176 // Mencegah klik di dalam area gambar/tombol ikut menutup popup 4177 document.getElementById('pop-up-wrapper').addEventListener('click', e => { 4178 e.stopPropagation(); 4179 }); 4180 } 4181 }); 4182 4183 // Fungsi untuk menutup popup dengan efek animasi 4184 const close_pop_up = () => { 4185 const wrapper = document.getElementById('pop-up-wrapper'); 4186 const bgBlack = document.getElementById('bg-black'); 4187 4188 if (wrapper) wrapper.classList.replace('swirl-in-fwd', 'swirl-out-bck'); 4189 if (bgBlack) bgBlack.classList.replace('fade-in', 'fade-out'); 4190 4191 // Menghapus elemen dari DOM setelah animasi selesai (1 detik) 4192 setTimeout(() => { 4193 const pop_up_container = document.getElementById('pop-up-container'); 4194 if (pop_up_container) { 4195 pop_up_container.parentElement.removeChild(pop_up_container); 4196 } 4197 }, 1000); 4198 }; 4199</script>
4199
4199<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"5d2eafebbbe940caab4acac8ae8c5c2d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
4199 4200 4201 <style> 4202.input-group { 4203 border: 2px solid #cc1ddb; 4204} 4205 4206span.input-group-text.prepend.mobile-only { 4207 background: #250a29; 4208} 4209 4210.bi::before, [class^="bi-"]::before, [class*=" bi-"]::before { 4211 display: inline-block; 4212 font-family: bootstrap-icons !important; 4213 font-style: normal; 4214 font-weight: normal !important; 4215 font-variant: normal; 4216 text-transform: none; 4217 line-height: 1; 4218 vertical-align: -.125em; 4219 -webkit-font-smoothing: antialiased; 4220 -moz-osx-font-smoothing: grayscale; 4221 color: rgb(255, 217, 0); 4222} 4223 4224@media only screen and (max-width: 1000px) { 4225.contact-ofc { 4226display:flex; 4227} 4228} 4229 4230@media only screen and (max-width: 1000px) { 4231 .btn-masuk { 4232 font-size: 1.3rem; 4233 text-shadow: 1px 1px #000000; 4234 height: 44px !important; 4235 border-radius: 8px; 4236 background: linear-gradient(to bottom, #4f0 0, #1c7a00 100%) !important; 4237 border: 1px solid #2fff00; 4238 } 4239} 4240 4241@media only screen and (max-width: 1000px) { 4242 .btn-daftar { 4243 font-size: 1.3rem; 4244 text-shadow: 1px 1px #000000; 4245 height: 48px !important; 4246 border-radius: 8px; 4247 background: linear-gradient(to bottom, #05a3ff 0, #09305c 100%) !important; 4248 border: 1px solid #0ef; 4249 } 4250 } 4251 4252@media only screen and (max-width: 1000px) { 4253 .footer { 4254 font-size: 1rem; 4255 padding-bottom: 96px; 4256 z-index: 1; 4257 } 4258} 4259 4260 .btn-success { 4261 display: block; 4262 background: linear-gradient(0deg, #59002e, #981b5b, #cc1ddb); 4263 color: #e3e3e3; 4264 text-shadow: 1px 1px #000000; 4265 width: 300px; 4266 height: 48px; 4267 margin: auto; 4268 text-align: center; 4269 font-size: 1.5em; 4270 font-weight: bold; 4271 border-radius: 8px; 4272 border: 2px solid #cc1ddb; 4273 background-repeat: no-repeat; 4274 filter: none; 4275} 4276 </style> 4277
4278<script> 4279 document.addEventListener("DOMContentLoaded", function () { 4280 const configMobile = { 4281 app: { 4282 icon: "https://i.postimg.cc/Hx7FG0Bp/logotera4dd.png", 4283 judul: "APLIKASI Tera4D", 4284 subJudul: "Download Aplikasi", 4285 linkApk: "https://tera4d.com/downloads/app/TeraToto.apk", 4286 }, 4287 }; 4288 4289 if (window.innerWidth <= 768) { 4290 const loginFormDownload = [ 4291 ...document.querySelectorAll(".login-form"), 4292 ].find(function (form) { 4293 return form.querySelector("a[href*=''download.apk'']"); 4294 }); 4295 4296 if (loginFormDownload) { 4297 // Hapus tombol download.apk 4298 const oldDownloadBtn = loginFormDownload.querySelector( 4299 "a[href*=''download.apk'']" 4300 ); 4301 if (oldDownloadBtn) oldDownloadBtn.remove(); 4302 4303 const buttonContact = document.createElement("div"); 4304 buttonContact.className = "buttoncontact"; 4305 buttonContact.style.marginTop = "20px"; 4306 buttonContact.style.paddingLeft = "14px"; 4307 buttonContact.style.paddingRight = "14px"; 4308 4309 buttonContact.innerHTML = ` 4310 `; 4311 4312 loginFormDownload.insertAdjacentElement("afterend", buttonContact); 4313 } 4314 4315 // ======= SMART BANNER ======= 4316 const appContainer = document.querySelector(".mobile-only"); 4317 const smartBanner = document.createElement("div"); 4318 const divider = document.createElement("div"); 4319 divider.className = "divider-mobile"; 4320 smartBanner.id = "smart_banner"; 4321 smartBanner.className = "smart-benner"; 4322 smartBanner.innerHTML = ` 4323 <div> 4324 <img src="${configMobile.app.icon}" alt="App Icon" style="height: 45px; width: 45px; margin-left: 18px;" class="app-icon"> 4325 </div> 4326 <div class="app_info" style="left:80px;"> 4327 <div class="app_title">${configMobile.app.judul}</div> 4328 <div class="app_slogan">${configMobile.app.subJudul}</div> 4329 </div> 4330 <a href="${configMobile.app.linkApk}" target="_blank" class="button-download" title="Download Apk Tera4D"><div class="buttonBG">DOWNLOAD</div></a>
4331 <span id="close_button" class="btn-close">x</span> 4332 `; 4333 4334 if (appContainer && appContainer.parentNode) { 4335 appContainer.parentNode.insertBefore(smartBanner, appContainer); 4336 appContainer.parentNode.insertBefore(divider, appContainer); 4337 } 4338 4339 const buttonMe = document.querySelector(".buttonme"); 4340 const containerMain = document.querySelector(".container.main.no-bottom"); 4341 if (buttonMe) buttonMe.style.top = "67px"; 4342 if (containerMain) containerMain.style.paddingTop = "0px"; 4343 4344 const closeButton = document.querySelector("#close_button"); 4345 if (closeButton) { 4346 closeButton.addEventListener("click", function () { 4347 smartBanner.style.display = "none"; 4348 const dividerMobile = document.querySelector(".divider-mobile"); 4349 if (dividerMobile) dividerMobile.remove(); 4350 }); 4351 } 4352 } 4353 }); 4354</script>
4354 4355 4356<style> 4357 :root { 4358 --m1-color: #00f5f6; 4359 --m2-color: #0b669e; 4360 --m3-color: #05f4fa; 4361 --m4-color: #00d3ff; 4362 } 4363 4364 .button-download { 4365 padding: 5px 12px; 4366 color: #ffffff; 4367 background: linear-gradient(0deg, #cc1ddb, #cc1ddb, #cc1ddb); 4368 border-radius: 20px; 4369 border: 1px solid #cc1ddb; 4370 box-shadow: -1px 1px 3px 0px #ffffff; 4371 display: inline; 4372 text-align: center; 4373 right: 9px; 4374 margin-top: -42px; 4375 position: absolute; 4376 font-size: 12px; 4377 height: 28px; 4378 } 4379 4380 a.button-download .buttonBG { 4381 background: #ffffff; 4382 font-weight: bold; 4383 -webkit-text-fill-color: transparent; 4384 -webkit-background-clip: text; 4385 animation: fade-blink 1.7s infinite; 4386 } 4387 4388 .btn-close { 4389 position: absolute; 4390 display: block; 4391 top: -4px; 4392 left: 0px; 4393 width: 25px; 4394 height: 63px; 4395 color: #ffffff; 4396 text-align: center; 4397 font-size: 15px; 4398 line-height: 60px; 4399 z-index: 999; 4400 } 4401 4402 .smart-benner { 4403 width: 100%; 4404 padding: 10px; 4405 font-family: Verdana, arial, sans-serif; 4406 color: #fff; 4407 background: linear-gradient( 4408 to right, 4409 #000000 0%, 4410 #333333 50%, 4411 #000000 100% 4412 ); 4413 height: inherit; 4414 transition: all 0.5s cubic-bezier(0, 1, 0.5, 1) 0s; 4415 overflow: hidden; 4416 position: fixed; 4417 z-index: 999; 4418 } 4419 4420 .app-icon { 4421 width: 43px !important; 4422 height: auto !important; 4423 margin: 0px 0px 0px 13px; 4424 } 4425 4426 .app_info { 4427 position: absolute; 4428 left: 67px; 4429 top: 12px; 4430 } 4431 4432 .app_title { 4433 font-size: 15px; 4434 font-weight: bold; 4435 color: #cc1ddb; 4436 } 4437 4438 .app_slogan { 4439 font-size: 12px; 4440 color: #ffffff; 4441 letter-spacing: 0px; 4442 } 4443 4444 @keyframes fade-blink { 4445 0%, 4446 100% { 4447 opacity: 1; 4448 } 4449 50% { 4450 opacity: 0; 4451 } 4452 } 4453 4454 .divider-mobile { 4455 height: 64px; 4456 } 4457 4458 .contact-us-text { 4459 font-size: 12px; 4460 color: #fff; 4461 margin-bottom: 10px; 4462 text-align: center; 4463 font-weight: bold; 4464 } 4465</style> 4466<style> 4467 4468 @media (max-width: 800px) { 4469 .result > .pasaran, 4470 .result > .keluaran, 4471 .result > .tanggal { 4472 color: #fff !important; 4473 text-align: center !important; 4474 width: 100% !important; 4475 } 4476 4477 .result > .pasaran { 4478 font-size: 20px !important; 4479 border-bottom: 1px solid #cc1ddb !important; 4480 border-radius: 20%; 4481 background: linear-gradient( 4482 270deg, 4483 #cc1ddb 0%, 4484 #450064 21%, 4485 #580f8f 33%, 4486 #7d0d8b 44%, 4487 #580f8f 60%, 4488 #450064 73%, 4489 #580f8f 85%, 4490 #7d0d8b 100% 4491 ); 4492 background-size: 400% 400%; 4493 animation: gradient 5s ease infinite; 4494 border-radius: 15px 2px 15px 5px !important; 4495 box-shadow: linear-gradient( 4496 270deg, 4497 #cc1ddb 0%, 4498 #450064 21%, 4499 #580f8f 33%, 4500 #7d0d8b 44%, 4501 #580f8f 60%, 4502 #450064 73%, 4503 #580f8f 85%, 4504 #7d0d8b 100% 4505 ); 4506 justify-content: center; 4507 height: 2.22rem; 4508 opacity: 100%; 4509 } 4510 4511 .result > .keluaran { 4512 font-size: 36px !important; 4513 font-weight: bold !important; 4514 height: 3.72rem; 4515 display: flex; 4516 align-items: center; 4517 justify-content: center; 4518 font-weight: bold !important; 4519 } 4520 4521 .result > .tanggal { 4522 height: 20%; 4523 } 4524 4525 .result { 4526 width: 100%; 4527 border-radius: 15px 2px 15px 5px !important; 4528 background-color: rgba(0, 0, 0, 0.55) !important; 4529 display: inline-block !important; 4530 border: 1px solid #fff !important; 4531 margin-bottom: 0 !important; 4532 padding: 0 !important; 4533 } 4534 4535 div.carousel-item.accordion.accordion-flush.active { 4536 display: grid; 4537 grid-template-columns: repeat(2, 1fr); 4538 } 4539 4540 div.carousel-item.accordion.accordion-flush.carousel-item-next.carousel-item-start { 4541 display: grid; 4542 grid-template-columns: repeat(2, 1fr); 4543 } 4544 } 4545 4546 @media (max-width: 800px) { 4547 .togel-title { 4548 font-size: 20px; 4549 display: flex; 4550 justify-content: center; 4551 } 4552 } 4553 4554 @media (max-width: 800px) { 4555 .result:nth-child(odd) { 4556 background: rgba(0, 0, 0, 0.55) !important; 4557 } 4558 } 4559 4560 @media screen and (min-width: 801px) { 4561 #datapasaran-divname, 4562 #datapasaran-date, 4563 .result > .pasaran, 4564 .result > .tanggal { 4565 background: linear-gradient( 4566 232deg, 4567 #cc1ddb 0%, 4568 #450064 21%, 4569 #580f8f 33%, 4570 #7d0d8b 44%, 4571 #580f8f 60%, 4572 #450064 73%, 4573 #580f8f 85%, 4574 #7d0d8b 100% 4575 ); 4576 background-size: 400% 400%; 4577 animation: gradient 5s ease infinite; 4578 } 4579 4580 #datapasaran-divname { 4581 padding-top: 1px; 4582 } 4583 4584 .result > .pasaran { 4585 padding-top: 3px; 4586 color: blac; 4587 } 4588 } 4589 4590 .status-green { 4591 background-size: 400% 400%; 4592 animation: gradient 5s ease infinite; 4593 } 4594 4595 .status-blue { 4596 background-size: 400% 400%; 4597 animation: gradient 5s ease infinite; 4598 } 4599 </style><style> 4600 .alerti { 4601 padding: 15px; 4602 margin-bottom: 20px; 4603 border: 1px solid transparent; 4604 border-radius: 4px; 4605 margin-top: 30px; 4606 border-style: ridge; 4607 border-color: #7c00bf; 4608 border-radius: 0.2cm; 4609 border-width: 0.1cm; 4610 display: flex; 4611 justify-content: center; 4612 font-size: 22px; 4613 } 4614 4615 .penting{ 4616 border-style: ridge; 4617 border-color: #cc1ddb; 4618 border-radius: 0.2cm; 4619 border-width: 0.1cm; 4620 } 4621 .blinking{ 4622 animation: blink-animation 1s steps(5, start) infinite; 4623 -webkit-animation: blink-animation 1s steps(5, start) infinite; 4624 } 4625 .eventblink{ 4626 animation: blink-animation 1s steps(5, start) infinite; 4627 -webkit-animation: blink-animation 1s steps(5, start) infinite; 4628 } 4629 @keyframes blink-animation { 4630 to { 4631 visibility: hidden; 4632 } 4633 } 4634 @-webkit-keyframes blink-animation { 4635 to { 4636 visibility: hidden; 4637 } 4638 } 4639 4640 .wrappers { 4641 width: 100%; 4642 } 4643 4644 .infos { 4645 display: inline-block; 4646 text-align: center; 4647 border: #000solid 1px; 4648 background: #ffba00; 4649 color: #000; 4650 margin: auto; 4651 font-size: 14px; 4652 padding: 5px; 4653 } 4654
4655 </style> 4656<style> 4657 4658.popup{ 4659 position:fixed; 4660 z-index:99999; 4661} 4662 4663/* DESKTOP */ 4664@media(min-width:768px){ 4665 4666.popup{ 4667 right:20px; 4668 bottom:20px; 4669} 4670 4671.popuptext{ 4672 width:320px; 4673} 4674 4675} 4676 4677/* MOBILE */ 4678@media(max-width:767px){ 4679 4680.popup{ 4681 top:70px; 4682 left:50%; 4683 transform:translateX(-50%); 4684} 4685 4686.popuptext{ 4687 width:280px; 4688} 4689 4690#winner-title{ 4691 font-size:14px !important; 4692} 4693 4694#winner-info{ 4695 font-size:14px !important; 4696 line-height:1.5; 4697} 4698 4699#imageid{ 4700 width:35px !important; 4701 height:35px !important; 4702} 4703 4704} 4705 4706.popuptext{ 4707 4708 visibility:hidden; 4709 background:#d1007a; 4710 color:#fff; 4711 text-align:center; 4712 border-radius:10px; 4713 border:2px solid #ff5bcf; 4714 padding:12px; 4715 position:relative; 4716 font-family:Arial; 4717 box-shadow:0 0 15px rgba(0,0,0,0.5); 4718 4719} 4720 4721.popuptext.show{ 4722 visibility:visible; 4723 animation:slideFade 0.5s ease; 4724} 4725 4726#winner-title{ 4727 font-size:16px; 4728 font-weight:bold; 4729 margin-bottom:8px; 4730 display:flex;
4731 align-items:center; 4732 justify-content:center; 4733 gap:8px; 4734 line-height:1.3; 4735} 4736 4737#winner-info{ 4738 font-size:16px; 4739} 4740 4741#imageid{ 4742 width:45px; 4743 height:45px; 4744 object-fit:contain; 4745 vertical-align:middle; 4746 margin-right:10px; 4747} 4748 4749@keyframes slideFade{ 4750 4751 from{ 4752 opacity:0; 4753 transform:translateY(20px); 4754 } 4755 4756 to{ 4757 opacity:1; 4758 transform:translateY(0); 4759 } 4760 4761} 4762 4763</style> 4764 4765 4766<div class="popup"> 4767 4768<div class="popuptext show" id="myPopup"> 4769 4770<div id="winner-title"> 4771 4772<img id="imageid" 4773src="https://i.ibb.co/2yWwJn2/Logo-Gopay-svg.png"> 4774 4775<strong>LUCKY MEMBER HARI INI</strong> 4776 4777</div> 4778 4779<div id="winner-info"></div> 4780 4781</div> 4782 4783</div> 4784 4785
4786<script> 4787 4788const withdrawData = [ 4789 4790{ 4791user:"mard***h", 4792nominal:"IDR 10.385.000", 4793image:"https://i.ibb.co.com/9HhcJ342/bri.jpg" 4794}, 4795 4796{ 4797user:"Kek***23", 4798nominal:"IDR 11.000.000", 4799image:"https://i.ibb.co.com/hFC1Xx9V/bca.jpg" 4800}, 4801 4802 4803{ 4804user:"Ain***23", 4805nominal:"IDR 26.543.000", 4806image:"https://i.ibb.co.com/hFC1Xx9V/bca.jpg" 4807}, 4808 4809 4810{ 4811user:"Muhri***17", 4812nominal:"IDR 13.772.000", 4813image:"https://i.ibb.co.com/WW523Zrc/seabank.jpg" 4814}, 4815 4816 4817{ 4818user:"Sil*****55", 4819nominal:"IDR 90.000.000", 4820image:"https://i.ibb.co.com/Pzsnyw9y/mandirii.jpg" 4821}, 4822 4823{ 4824user:"tera*****49", 4825nominal:"IDR 12.500.000", 4826image:"https://i.ibb.co.com/wNP0Zg4S/gopay.jpg" 4827}, 4828 4829{ 4830user:"max*****8", 4831nominal:"IDR 18.750.000", 4832image:"https://i.ibb.co.com/9HhcJ342/bri.jpg" 4833}, 4834 4835{ 4836user:"bos*****x", 4837nominal:"IDR 25.000.000", 4838image:"https://i.ibb.co.com/0pgR3Y2P/bni.jpg" 4839}, 4840 4841{ 4842user:"ase***7", 4843nominal:"IDR 23.800.000", 4844image:"https://i.ibb.co.com/WW523Zrc/seabank.jpg" 4845}, 4846 4847{ 4848user:"gaco**5", 4849nominal:"IDR 12.350.000", 4850image:"https://i.ibb.co.com/RTQstL77/jago.jpg" 4851}, 4852 4853{ 4854user:"pe***23", 4855nominal:"IDR 72.500.000", 4856image:"https://i.ibb.co.com/Pzsnyw9y/mandirii.jpg" 4857}, 4858 4859{ 4860user:"afr***in", 4861nominal:"IDR 50.200.000", 4862image:"https://i.ibb.co.com/hFC1Xx9V/bca.jpg" 4863}, 4864 4865{ 4866user:"jok*****7", 4867nominal:"IDR 10.000.000", 4868image:"https://i.ibb.co.com/HDqMSvxL/dana.jpg" 4869} 4870 4871]; 4872 4873let index = 0; 4874 4875function showWithdraw(){ 4876 4877const data = withdrawData[index]; 4878 4879document.getElementById("winner-info").innerHTML = 4880data.user + " Telah Melakukan WD Sebesar " + data.nominal; 4881 4882document.getElementById("imageid").src = 4883data.image; 4884 4885const popup = 4886document.getElementById("myPopup"); 4887 4888popup.classList.remove("show"); 4889 4890setTimeout(() => { 4891 4892 popup.classList.add("show"); 4893 4894 setTimeout(() => { 4895 4896 popup.classList.remove("show"); 4897 4898 }, 5000); 4899 4900},100); 4901 4902index++; 4903 4904if(index >= withdrawData.length){ 4905index = 0; 4906} 4907 4908} 4909 4910showWithdraw(); 4911 4912/* GANTI SLIDE SETIAP 10 DETIK */ 4913 4914setInterval(showWithdraw,10000); 4915 4916</script>
4916</div> 4917 4918 4919 <!-- LIVE CHAT --> 4920 <!-- Start of LiveChat (www.livechat.com) code -->
4921<script> 4922 window.__lc = window.__lc || {}; 4923 window.__lc.license = 13043202; 4924 ;(function(n,t,c){function i(n){return e._h?e._h.apply(null,n):e._q.push(n)}var e={_q:[],_h:null,_v:"2.0",on:function(){i(["on",c.call(arguments)])},once:function(){i(["once",c.call(arguments)])},off:function(){i(["off",c.call(arguments)])},get:function(){if(!e._h)throw new Error("[LiveChatWidget] You can''t use getters before load.");return i(["get",c.call(arguments)])},call:function(){i(["call",c.call(arguments)])},init:function(){var n=t.createElement("script");n.async=!0,n.type="text/javascript",n.src="https://cdn.livechatinc.com/tracking.js",t.head.appendChild(n)}};!n.__lc.asyncInit&&e.init(),n.LiveChatWidget=n.LiveChatWidget||e}(window,document,[].slice)) 4925</script>
4925 4926<noscript><a href="https://www.livechat.com/chat-with/13043202/" rel="nofollow">Chat with us</a>, powered by <a href="https://www.livechat.com/?welcome" rel="noopener nofollow" target="_blank">LiveChat</a></noscript> 4927<!-- End of LiveChat code --> 4928<style> 4929.menu1 { 4930 width: 95%; 4931 display: block; 4932 background: #bd1cb6; 4933 color: #ffffff; 4934 margin: auto; 4935 margin-top: 10px; 4936 text-align: center; 4937 padding: 10px 0px; 4938 font-size: 15px; 4939 font-weight: bold; 4940 border-radius: 5px; 4941 border: 1px solid #914ec1; 4942 box-shadow: rgb(0 0 0 / 8%) 0px 0 0px inset, #aa00f9 0px 0px 5px 3px; 4943} 4944.menu1:hover { 4945color: #ffffff; 4946background-color: #000000; 4947background: #000000; 4948} 4949#mobile #logo-img { 4950 width: 350px; 4951} 4952 4953#mobile .logo-div { 4954 margin-top: 10px; 4955 margin-bottom: 5px; 4956} 4957.popup { 4958 position: relative; 4959 display: inline-block; 4960 cursor: pointer; 4961} 4962 4963/* The actual popup (appears on top) */ 4964.popup .popuptext { 4965 visibility: hidden; 4966 width: 350px; 4967 background-color: black; 4968 color: white; 4969 text-align: center; 4970 border-radius: 6px; 4971 padding: 8px 0; 4972 position: fixed; 4973 z-index: 999; 4974 bottom: 100px; 4975 left: 100px; 4976 margin-left: -80px; 4977 font-size: 13px; 4978} 4979 4980/* Popup arrow */ 4981.popup .popuptext::after { 4982 content: ""; 4983 position: absolute; 4984 top: 100%; 4985 left: 50%; 4986 margin-left: -5px; 4987 border-width: 5px; 4988 border-style: solid; 4989 border-color: #555 transparent transparent transparent; 4990} 4991 4992/* Toggle this class when clicking on the popup container (hide and show the popup) */ 4993.popup .show { 4994 visibility: visible; 4995 -webkit-animation: fadeinout 3s linear forwards; 4996 animation: fadeinout 3s linear forwards; 4997} 4998@-webkit-keyframes fadeinout { 4999 0%,100% { opacity: 0; } 5000 50% { opacity: 1; } 5001} 5002 5003@keyframes fadeinout { 5004 0%,100% { opacity: 0; } 5005 50% { opacity: 1; } 5006} 5007</style> 5008<link rel="stylesheet" type="text/css" href="https://nomerku.com/tera/gaya.css" />
5009<script> 5010$(''<div id="wowslider-container1"><div class="ws_images"><ul><li><img src="https://nomerku.com/tera/cbtera.jpg" alt="" title="Situs Judi Togel Online" id="wows1_0" /></li><li><img src="https://nomerku.com/tera/newmemtera.jpg" alt="" title="Bandar Togel Online Terpercaya" id="wows1_1" /><li><img src="https://i.ibb.co/NL6fND6/Desain-tanpa-judul-7.png" alt="" title="Bandar Togel Online Terpercaya" id="wows1_2" /></li></ul></div></div>'').insertAfter($(".logo-div")); 5011$(''<div class="popup"><div class="popuptext" id="mobilePopup"><div id="mobile-winner"></div></div></div>'').insertAfter(''#mobilelogin''); 5012</script>
5012 5013<div class="popup"> 5014 <div class="popuptext" id="myPopup"> 5015 <img id="imageid"> 5016 <div id="winner-title"><img id="imageid"><strong>SELAMAT!</strong></div> 5017 <div id="winner-info"></div> 5018 </div> 5019</div>
5020<script type="text/javascript" src="https://nomerku.com/tera/script1.js"></script>
vendor: 2 bytes, line 5020
5020
5021<script type="text/javascript" src="https://nomerku.com/tera/script2.js"></script>
vendor: 2 bytes, line 5021
5021
5022<script> 5023var modal = document.getElementById(''modal-wrapper''); 5024window.onclick = function(event) { 5025 if (event.target == modal) { 5026 modal.style.display = "none"; 5027 } 5028} 5029</script>
5029 5030<!-- Google Tag Manager (noscript) -->
vendor: 69 bytes, lines 5030-5031
5030 5031<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
5031GTM-MK9XDNB7
vendor: 85 bytes, lines 5031-5032
5031" 5032height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
5033<!-- End Google Tag Manager (noscript) -->
5034<script> 5035var modal = document.getElementById(''modal-wrapper''); 5036window.onclick = function(event) { 5037 if (event.target == modal) { 5038 modal.style.display = "none"; 5039 } 5040} 5041</script>
5041 5042 5043 <!-- LiveChat Internal --> 5044 5045 <div class="footer-group"> 5046 5047 <div class="footer-copyright"> 5048 <div style="white-space:nowrap"> 5049 © 2015 – 2026 Copyright TERA4D. 5050 All Rights Reserved. 5051 </div> 5052 </div> 5053 5054 <div class="footer-wap-btn" onclick='window.location.href="/wap"'>WAP</div> 5055 5056 </div> 5057 5058</div> 5059</footer> <nav class="navbar fixed-bottom p-0 d-md-none" style="z-index:10000"> 5060 <div class="container-fluid px-0"> 5061 <div style="display:grid;grid-template-columns:repeat(4,1fr);width:100%;"> 5062 5063 5064 <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"> 5065 <i class="bi bi-house-fill" style="font-size:20px;"></i> 5066 <small>Home</small> 5067 </a> 5068 5069 <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"> 5070 <i class="bi bi-gift-fill" style="font-size:20px;"></i> 5071 <small>Promosi</small> 5072 </a> 5073 5074 <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"> 5075 <i class="bi bi-calendar-event-fill" style="font-size:20px;"></i> 5076 <small>Event</small> 5077 </a> 5078 5079 <div class="chat-dial-wrap bottom-menu d-flex flex-column justify-content-around align-items-center py-2" style="position:relative;"> 5080 <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;"> 5081 <img src="https://img.viva88athenae.com/navbar/chat_w.png?v=1790436652" alt="" style="width:20px;height:20px;object-fit:contain;"> 5082 <small>Chat</small> 5083 </a> 5084 <div class="chat-dial-list" id="chatDialList"> 5085 <a href="https://www.instagram.com/official_tera4d?igsh=MXdwbzEyNDZqamdqMg==" target="_blank" class="chat-dial-item" title="Instagram"> 5086 <img src="https://img.viva88athenae.com/instagram.png?v=1790436652" alt="Instagram"> 5087 </a> 5088 <a href="https://t.me/+K15qC22Rouo4Yzhl" target="_blank" class="chat-dial-item" title="Telegram"> 5089 <img src="https://img.viva88athenae.com/telegram.png?v=1790436652" alt="Telegram"> 5090 </a> 5091 <a href="https://www.facebook.com/groups/2024670584531535/" target="_blank" class="chat-dial-item" title="Facebook"> 5092 <img src="https://img.viva88athenae.com/facebook.png?v=1790436652" alt="Facebook"> 5093 </a> 5094 <a href="https://heylink.me/tera4d-daftar/" target="_blank" class="chat-dial-item" title="WhatsApp"> 5095 <img src="https://img.viva88athenae.com/whatsapp.png?v=1790436652" alt="WhatsApp"> 5096 </a> 5097 <a href="https://direct.lc.chat/13043202/" target="_blank" class="chat-dial-item chat-dial-livechat" title="Livechat"> 5098 <img src="https://img.viva88athenae.com/navbar/livechat_w.png?v=1790436652" alt="Livechat"> 5099 </a> 5100 </div> 5101 </div> 5102 5103 5104 </div> 5105 </div> 5106</nav> 5107
5108<script> 5109 function toggleChatDial(e) { 5110 e.stopPropagation(); 5111 document.getElementById('chatDialList').classList.toggle('open'); 5112 } 5113 document.addEventListener('click', function (e) { 5114 var list = document.getElementById('chatDialList'); 5115 if (!list) return; 5116 // close when clicking outside, or after picking any dial item (livechat included) 5117 if (!e.target.closest('.chat-dial-wrap') || e.target.closest('.chat-dial-item')) { 5118 list.classList.remove('open'); 5119 } 5120 }); 5121</script>
5121 5122 5123 <div class="offcanvas offcanvas-end w-100" tabindex="-1" id="offcanvasExample"> 5124 5125 <div class="offcanvas-body p-0"> 5126 5127 <div class="d-grid gap-2 mt-2 px-3 offcanvas-user-menu"> 5128 <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()"> 5129 <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement 5130</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()"> 5131 <i class="bi bi-clock-fill me-2 accent-text-color"></i> History 5132</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()"> 5133 <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo 5134</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()"> 5135 <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral 5136</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()"> 5137 <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password 5138</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()"> 5139 <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening 5140</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/TeraToto.apk','_blank')"> 5141 <div class="d-flex align-items-center px-3"> 5142 <i class="bi bi-android2 me-2 accent-text-color"></i> Download App 5143 </div> 5144 <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55"> 5145</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('https://telegram.me/Tera4D1_bot','_blank')"> 5146 <div class="d-flex align-items-center px-3"> 5147 <i class="bi bi-send-fill me-2 accent-text-color"></i> Bet Via Telegram 5148 </div> 5149 <img src="/images/new/btn-telegram.png" class="btn-menu-img" alt="" width="171" height="55"> 5150</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')"> 5151 <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout 5152</button> </div> 5153 5154 </div> 5155 </div> 5156 5157 <div id="desktopUserDropdown" class="desktop-user-dropdown"> 5158 <div class="d-grid"> 5159 <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()"> 5160 <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement 5161</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()"> 5162 <i class="bi bi-clock-fill me-2 accent-text-color"></i> History 5163</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()"> 5164 <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo 5165</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()"> 5166 <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral 5167</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()"> 5168 <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password 5169</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()"> 5170 <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening 5171</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/TeraToto.apk','_blank')"> 5172 <div class="d-flex align-items-center px-3"> 5173 <i class="bi bi-android2 me-2 accent-text-color"></i> Download App 5174 </div> 5175 <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55"> 5176</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('https://telegram.me/Tera4D1_bot','_blank')"> 5177 <div class="d-flex align-items-center px-3"> 5178 <i class="bi bi-send-fill me-2 accent-text-color"></i> Bet Via Telegram 5179 </div> 5180 <img src="/images/new/btn-telegram.png" class="btn-menu-img" alt="" width="171" height="55"> 5181</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')"> 5182 <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout 5183</button> </div> 5184 </div> 5185 5186
5186<script src="/js/new/vendor/bootstrap.bundle.min.js?v=1790436652"></script>
5186 5187
5187<script src="/js/new/main.js?v=1790436652"></script>
5187 5188 5189
5189<script> 5190 window.JT_SSR_PATH = "\/home.php"; 5191 setTimeout(function() { 5192 const mobileForm = document.querySelector('#mobilelogin form') || 5193 document.querySelector('#mobilelogin .login-form') || 5194 document.querySelector('.mobile-only form'); 5195 5196 if (!mobileForm) { 5197 return; 5198 } 5199 5200 const username = mobileForm.querySelector('input[name="username"]'); 5201 const password = mobileForm.querySelector('input[name="password"]'); 5202 const remember = document.querySelector('#rememberMe') || 5203 document.querySelector('input[type="checkbox"]'); 5204 5205 if (!username || !password || !remember) { 5206 return; 5207 } 5208 5209 5210 5211 try { 5212 localStorage.setItem('test', 'working'); 5213 if (localStorage.getItem('test') === 'working') { 5214 localStorage.removeItem('test'); 5215 } else { 5216 return; 5217 } 5218 } catch(e) { 5219 return; 5220 } 5221 5222 initializeRememberMe(); 5223 loadSavedData(); 5224 5225 mobileForm.addEventListener('submit', handleSave); 5226 mobileForm.addEventListener('click', function(e) { 5227 if (e.target.type === 'submit' || e.target.classList.contains('submit')) { 5228 handleSave(); 5229 } 5230 }); 5231 remember.addEventListener('change', function() { 5232 if (!this.checked) { 5233 clearSavedData(); 5234 localStorage.setItem('mobile_remember_unchecked', 'true'); 5235 } else { 5236 localStorage.removeItem('mobile_remember_unchecked'); 5237 } 5238 }); 5239 5240 function initializeRememberMe() { 5241 try { 5242 const wasUnchecked = localStorage.getItem('mobile_remember_unchecked'); 5243 const hasSuccessfulLogin = localStorage.getItem('mobile_login_success'); 5244 if (wasUnchecked === 'true' && hasSuccessfulLogin === 'true') { 5245 remember.checked = false; 5246 } else { 5247 remember.checked = true; 5248 } 5249 } catch(e) { 5250 remember.checked = true; 5251 } 5252 } 5253 5254 function loadSavedData() { 5255 try { 5256 5257 const savedUsername = localStorage.getItem('mobile_username'); 5258 const savedPassword = localStorage.getItem('mobile_password'); 5259 5260 5261 5262 const rememberChecked = localStorage.getItem('mobile_remember'); 5263 if (rememberChecked === 'true' && savedUsername && savedPassword) { 5264 username.value = savedUsername; 5265 password.value = savedPassword; 5266 } 5267 } catch(e) { 5268 // console.log('Error loading data:', e); 5269 } 5270 } 5271 5272 function handleSave() { 5273 if (remember.checked) { 5274 const usernameVal = username.value.trim(); 5275 const passwordVal = password.value.trim(); 5276 5277 if (usernameVal && passwordVal) { 5278 try { 5279 localStorage.setItem('mobile_username', usernameVal); 5280 localStorage.setItem('mobile_password', passwordVal); 5281 localStorage.setItem('mobile_remember', 'true'); 5282 localStorage.setItem('mobile_login_success', 'true'); 5283 } catch(e) { 5284 // console.log('Error saving data:', e); 5285 } 5286 } 5287 } else { 5288 clearSavedData(); 5289 localStorage.setItem('mobile_login_success', 'true'); 5290 } 5291 } 5292 5293 function clearSavedData() { 5294 try { 5295 localStorage.removeItem('mobile_username'); 5296 localStorage.removeItem('mobile_password'); 5297 localStorage.removeItem('mobile_remember'); 5298 } catch(e) { 5299 // console.log('Error clearing data:', e); 5300 } 5301 } 5302 }, 100); // Wait 100ms 5303 </script>
5303 5304 5305
5305<script> 5306 var JT_GUEST_MAP = { 5307 '': '/' + 'home' + '.php', 5308 'home': '/' + 'home' + '.php', 5309 'togel': '/togel.php', 5310 'kupon': '/kupon.php', 5311 'promosi': '/' + 'promosi' + '.php', 5312 'event': '/' + 'event' + '.php', 5313 'register': '/' + 'register' + '.php', 5314 'slot': '/game.php?content=slot', 5315 'casino': '/game.php?content=casino', 5316 'sport': '/' + 'game' + '.php?' + 'content=sport', 5317 'sabung': '/' + 'game' + '.php?' + 'content=sabung', 5318 'arcade': '/game.php?content=arcade', 5319 'interactive': '/game.php?content=interactive', 5320 }; 5321 5322 if (window.matchMedia("(max-width: 768px)").matches) { 5323 JT_GUEST_MAP.register = '/' + 'mregister' + '.php'; 5324 } 5325 5326 var JT_URL_PREFIX = ""; 5327 5328 function jtGuestAjaxPathFromLocation() { 5329 var re = new RegExp('^' + (JT_URL_PREFIX ? JT_URL_PREFIX.replace(/\//g, '\\/') : '') + '\\/([^/?#]*)'); 5330 var match = location.pathname.match(re); 5331 var slug = match ? match[1] : ''; 5332 return JT_GUEST_MAP[slug] || '/home.php'; 5333 } 5334 5335 function jtGuestUrlForPath(path) { 5336 var gameMatch = path.match(/^\/game\.php\?content=([a-z]+)/); 5337 if (gameMatch) return JT_URL_PREFIX + '/' + gameMatch[1]; 5338 for (var slug in JT_GUEST_MAP) { 5339 if (JT_GUEST_MAP[slug] === path) { 5340 return slug === '' ? JT_URL_PREFIX + '/' : JT_URL_PREFIX + '/' + slug; 5341 } 5342 } 5343 return null; 5344 } 5345 5346 function jtUpdateBrowserUrl(path) { 5347 var cleanUrl = jtGuestUrlForPath(path); 5348 if (cleanUrl && window.history) { 5349 history.pushState({ path: path }, '', cleanUrl); 5350 } 5351 } 5352 5353 var _initGuestPath = jtGuestAjaxPathFromLocation(); 5354 history.replaceState({ path: _initGuestPath }, '', location.href); 5355 5356 function initGuestShell() { 5357 var path = jtGuestAjaxPathFromLocation(); 5358 var homeMenu = path === '/home.php' 5359 ? (window.innerWidth >= 768 5360 ? document.querySelector('.desktop-nav-link[data-nav="home"]') 5361 : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]')) 5362 : null; 5363 5364 // Skip AJAX jika home sudah di-SSR. 5365 if (window.JT_SSR_PATH && window.JT_SSR_PATH === path) { 5366 $('.lobby-menu, .desktop-nav-link').removeClass('active'); 5367 if (homeMenu) $(homeMenu).addClass('active'); 5368 if (typeof waitForCss === 'function') waitForCss(ASYNC_CSS_IDS); 5369 return; 5370 } 5371 5372 content(path, '#content', homeMenu, true); 5373 } 5374 5375 window.addEventListener('popstate', function (e) { 5376 var path = e.state && e.state.path; 5377 if (path) content(path, '#content', null, true); 5378 }); 5379 5380 // Heartbeat 60 detik â cek maintenance mode diaktifkan admin saat guest lagi buka web 5381 setInterval(function () { 5382 fetch('/api/front/maintenance-status') 5383 .then(function (r) { return r.json(); }) 5384 .then(function (res) { 5385 if (res.data && res.data.maintenance) { 5386 window.location.href = '/maintenance'; 5387 } 5388 }) 5389 .catch(function () {}); 5390 }, 60000); 5391 5392 $('#modal').on('hidden.bs.modal', function () { 5393 $('.navbar.fixed-bottom').css('z-index', '9999'); 5394 }); 5395 5396 function syncOffcanvasBounds() { 5397 if (window.innerWidth >= 768) return; 5398 5399 var topNav = document.querySelector('nav.navbar.d-md-none:not(.fixed-bottom)'); 5400 var bottomNav = document.querySelector('nav.navbar.fixed-bottom'); 5401 var top = topNav ? Math.round(topNav.getBoundingClientRect().bottom) : 56; 5402 var bottom = bottomNav 5403 ? Math.round(window.innerHeight - bottomNav.getBoundingClientRect().top) 5404 : 58; 5405 // navbar atas bukan fixed: kalau halaman ter-scroll (mis. setelah 5406 // buka menu Statement/History/dll lewat content()), rect.bottom bisa 5407 // negatif dan bikin sisi atas offcanvas + backdrop kepotong. 5408 top = Math.max(0, top); 5409 bottom = Math.max(0, bottom); 5410 5411 document.documentElement.style.setProperty('--offcanvas-top', top + 'px'); 5412 document.documentElement.style.setProperty('--offcanvas-bottom', bottom + 'px'); 5413 } 5414 5415 document.addEventListener('DOMContentLoaded', syncOffcanvasBounds); 5416 window.addEventListener('resize', syncOffcanvasBounds); 5417 5418 $('#offcanvasExample').on('show.bs.offcanvas', function () { 5419 syncOffcanvasBounds(); 5420 $('#providerBackdrop, #providerOverlay').remove(); 5421 var modalInst = bootstrap.Modal.getInstance(document.getElementById('modal')); 5422 if (modalInst) modalInst.hide(); 5423 }); 5424 5425 /* ââ Nav horizontal scroll (desktop) âââââââââââââââââââââââââââââ */ 5426 (function () { 5427 var navEl = document.querySelector('.desktop-mainnav .ms-auto'); 5428 if (!navEl) return; 5429 5430 /* mouse-wheel â horizontal scroll */ 5431 navEl.addEventListener('wheel', function (e) { 5432 if (e.deltaY !== 0) { 5433 e.preventDefault(); 5434 navEl.scrollLeft += e.deltaY; 5435 } 5436 }, { passive: false }); 5437 5438 /* scroll arrow buttons */ 5439 var btnL = document.createElement('button'); 5440 var btnR = document.createElement('button');
5441 [btnL, btnR].forEach(function (b) { 5442 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;'; 5443 }); 5444 btnL.innerHTML = '‹'; 5445 btnR.innerHTML = '›'; 5446 btnL.style.fontSize = btnR.style.fontSize = '20px'; 5447 5448 var nav = document.querySelector('.desktop-mainnav'); 5449 if (nav) { 5450 nav.style.position = 'relative'; 5451 nav.appendChild(btnL); 5452 nav.appendChild(btnR); 5453 } 5454 5455 function placeArrows() { 5456 var navRect = nav ? nav.getBoundingClientRect() : null; 5457 var logoEl = nav ? nav.querySelector('.navbar-brand') : null; 5458 var logoRight = logoEl ? logoEl.getBoundingClientRect().right : 0; 5459 btnL.style.left = (logoRight - (navRect ? navRect.left : 0) + 4) + 'px'; 5460 btnR.style.right = '4px'; 5461 } 5462 5463 function updateArrows() { 5464 placeArrows(); 5465 var canL = navEl.scrollLeft > 0; 5466 var canR = navEl.scrollLeft < navEl.scrollWidth - navEl.clientWidth - 1; 5467 btnL.style.display = canL ? 'flex' : 'none'; 5468 btnR.style.display = canR ? 'flex' : 'none'; 5469 } 5470 5471 var scrollTimer; 5472 function scrollBy(dir) { 5473 scrollTimer = setInterval(function () { navEl.scrollLeft += dir * 8; }, 16); 5474 } 5475 btnL.addEventListener('mousedown', function () { scrollBy(-1); }); 5476 btnR.addEventListener('mousedown', function () { scrollBy(1); }); 5477 document.addEventListener('mouseup', function () { clearInterval(scrollTimer); }); 5478 5479 navEl.addEventListener('scroll', updateArrows); 5480 window.addEventListener('resize', updateArrows); 5481 updateArrows(); 5482 })(); 5483 5484 function toggleDesktopUserMenu(e) { 5485 e.stopPropagation(); 5486 document.getElementById('desktopUserDropdown').classList.toggle('open'); 5487 } 5488 function closeDesktopUserMenu() { 5489 var d = document.getElementById('desktopUserDropdown'); 5490 if (d) d.classList.remove('open'); 5491 } 5492 document.addEventListener('click', function(e) { 5493 if (!e.target.closest('#desktopUserDropdown')) closeDesktopUserMenu(); 5494 if (!e.target.closest('.tpl-picker-wrap')) { 5495 var dd = document.getElementById('tplPickerDd'); 5496 if (dd) dd.classList.remove('open'); 5497 } 5498 }); 5499 5500 function toggleTplPicker(e) { 5501 e.stopPropagation(); 5502 closeDesktopUserMenu(); 5503 document.getElementById('tplPickerDd').classList.toggle('open'); 5504 } 5505 5506 5507 (function() { 5508 var days = ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu']; 5509 var daysShort = ['Min','Sen','Sel','Rab','Kam','Jum','Sab']; 5510 var p = n => String(n).padStart(2,'0'); 5511 function updateClock() { 5512 var now = new Date(); 5513 var isMobile = window.innerWidth < 768; 5514 var dayName = isMobile ? daysShort[now.getDay()] : days[now.getDay()]; 5515 var text = dayName + ' ' + p(now.getDate()) + '/' + p(now.getMonth()+1) + '/' + now.getFullYear(); 5516 if (!isMobile) text += ' ' + p(now.getHours()) + ':' + p(now.getMinutes()) + ':' + p(now.getSeconds()); 5517 var el = document.getElementById('datetime'); 5518 if (el) el.textContent = text; 5519 } 5520 updateClock(); 5521 setInterval(updateClock, 1000); 5522 })(); 5523 5524 (function () { 5525 var runner = document.getElementById('marqueeRunner'); 5526 var container = runner ? runner.closest('.marquee-text') : null; 5527 var resizeTimer; 5528 var SPEED = 100; 5529 5530 function initMarquee() { 5531 if (!runner || !container) return; 5532 var cW = container.offsetWidth; 5533 var tW = runner.offsetWidth; 5534 var dur = ((cW + tW) / SPEED).toFixed(2); 5535 runner.style.setProperty('--mq-start', cW + 'px');
5536 runner.style.animation = 'none'; 5537 requestAnimationFrame(function () { 5538 requestAnimationFrame(function () { 5539 runner.style.animation = 'mq-scroll ' + dur + 's linear infinite'; 5540 }); 5541 }); 5542 } 5543 5544 requestAnimationFrame(function () { requestAnimationFrame(initMarquee); }); 5545 5546 document.addEventListener('visibilitychange', function () { 5547 if (!document.hidden) initMarquee(); 5548 }); 5549 5550 window.addEventListener('resize', function () { 5551 clearTimeout(resizeTimer); 5552 resizeTimer = setTimeout(function () { 5553 initMarquee(); 5554 positionProviderOverlay(); 5555 var isDesktop = window.innerWidth >= 768; 5556 if (isDesktop) { 5557 var oc = bootstrap.Offcanvas.getInstance(document.getElementById('offcanvasExample')); 5558 if (oc) oc.hide(); 5559 } else { 5560 closeDesktopUserMenu(); 5561 } 5562 }, 150); 5563 }); 5564 5565 window.addEventListener('orientationchange', function () { 5566 setTimeout(function () { initMarquee(); positionProviderOverlay(); }, 200); 5567 }); 5568 })(); 5569 </script>
5569 5570 5571 <!-- Auth --> 5572 5573
5573<script> 5574 5575$(document).on("click", "#desktopregister #buttonRegisterDesktop", function() 5576 { 5577 nocache = new Date().getTime().toString().slice(-3); 5578 5579 var ver = `<img src="capreg.php?${nocache}" width="100%" height="30" style="border:1px #999 solid;" alt="Kode verifikasi">`; 5580 var $form = $('#desktopregister #formRegister'); 5581 var $status = $('#desktopregister #statusRegister'); 5582 5583 if (typeof window.validateAllDesktop === 'function' && !window.validateAllDesktop()) { 5584 $('#desktopregister #statusRegister').removeClass().addClass('alert alert-sm alert-warning').text('Harap periksa data yang diisi').fadeIn(500); 5585 return false; 5586 } 5587 5588 $status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000); 5589 5590 function submitDesktopRegister() { 5591 5592 $.ajax({ 5593 url: "/api/front/register", 5594 type: "POST", 5595 data: $form.serialize(), 5596 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 5597 success: function(data) 5598 { 5599 5600 $('.is-invalid').removeClass('is-invalid'); 5601 5602 if (data == 'success') 5603 { 5604 5605 toast('Registrasi Sukses!, Selamat Bergabung.', 200); 5606 $status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900); 5607 5608 window.location='/home?welcome'; 5609 } 5610 else 5611 if (data == 'userWrong') 5612 { 5613 $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); 5614 $('#desktopregister #reg_username').addClass('is-invalid'); 5615 5616 } 5617 else 5618 if (data == 'passWrong') 5619 { 5620 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000); 5621 $('#desktopregister #reg_pass').addClass('is-invalid'); 5622 } 5623 else 5624 if (data == 'passSame') 5625 { 5626 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000); 5627 $('#desktopregister #reg_passcon').addClass('is-invalid'); 5628 } 5629 else 5630 if (data == 'bankEmpty') 5631 { 5632 $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000); 5633 $('#desktopregister #reg_bank').addClass('is-invalid'); 5634 } 5635 else 5636 if (data == 'rekEmpty') 5637 { 5638 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000); 5639 $('#desktopregister #reg_rek').addClass('is-invalid'); 5640 } 5641 else 5642 if (data == 'namaEmpty') 5643 { 5644 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000); 5645 $('#desktopregister #reg_nama').addClass('is-invalid'); 5646 } 5647 else 5648 if (data == 'dbError') 5649 { 5650 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000); 5651 } 5652 else 5653 if (data == 'userExist') 5654 { 5655 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000); 5656 $('#desktopregister #reg_username').addClass('is-invalid'); 5657 } 5658 else 5659 if (data == 'rekExist') 5660 { 5661 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000); 5662 $('#desktopregister #reg_rek').addClass('is-invalid'); 5663 } 5664 else 5665 if (data == 'refError') 5666 { 5667 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut, bila tidak punya referal, bisa kosongkan').fadeIn(1000); 5668 $('#desktopregister #reg_ref').addClass('is-invalid'); $('#desktopregister #reg_ref').removeAttr('readonly').val(''); 5669 } 5670 else 5671 if (data == 'emailError') 5672 { 5673 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000); 5674 $('#desktopregister #reg_email').addClass('is-invalid'); 5675 } 5676 else 5677 if (data == 'telponEmpty') 5678 { 5679 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
5679idak boleh kosong').fadeIn(1000); 5680 $('#desktopregister #reg_telpon').addClass('is-invalid'); 5681 } 5682 else 5683 if (data == 'telponError') 5684 { 5685 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000); 5686 $('#desktopregister #reg_telpon').addClass('is-invalid'); 5687 } 5688 else if (data == 'namaError') { 5689 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000); 5690 $('#desktopregister #reg_nama').addClass('is-invalid'); 5691 } 5692 else 5693 if (data == 'dariEmpty') 5694 { 5695 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000); 5696 $('#desktopregister #reg_dari').addClass('is-invalid'); 5697 } 5698 else 5699 if (data == 'lainEmpty') 5700 { 5701 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000); 5702 $('#desktopregister #reg_lain').addClass('is-invalid'); 5703 } 5704 else 5705 if (data == 'caperror') 5706 { 5707 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000); 5708 $('#desktopregister #reg_verifikasi').addClass('is-invalid'); 5709 5710 } 5711 else 5712 if (data == 'recaperror') 5713 { 5714 $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000); 5715 } 5716 else 5717 if (data == 'iperror') 5718 { 5719 $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000); 5720 } 5721 else 5722 if (data == 'capexp') 5723 { 5724 $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000); 5725 } 5726 else 5727 if (data == 'wait') 5728 { 5729 $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000); 5730 } 5731 else 5732 if (data == 'turnnoevent') 5733 { 5734 window.location.reload(); 5735 } 5736 else 5737 if (data == 'turnblock') 5738 { 5739 $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000); 5740 } 5741 else 5742 if (data.indexOf('passNotSafe|') === 0) 5743 { 5744 var msg = data.substring('passNotSafe|'.length); 5745 if (!msg) { 5746 msg = 'Password tidak aman! Gunakan password yang lebih kuat.'; 5747 } 5748 5749 $status 5750 .removeClass() 5751 .addClass('alert alert-sm alert-warning') 5752 .text(msg) 5753 .fadeIn(1000); 5754 5755 $('#desktopregister #reg_pass').addClass('is-invalid'); 5756 } 5757 5758 $('#desktopregister #capverifikasi').html(ver); 5759 5760 }}) 5761 .fail(function() { 5762 $status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000); 5763 $('#desktopregister #capverifikasi').html(ver); 5764 }); 5765 } 5766 5767 jtWithIframeCaptchaRegister($form, false, function () { 5768 jtWithTurnstileRegister($form, function () { 5769 jtWithRecaptchaRegisterToken($form, $status, submitDesktopRegister); 5770 }); 5771 }, function (msg) { 5772 $status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000); 5773 }); 5774 return false; 5775}); 5776 </script>
5776 5777 5778
5778<script> 5779 5780 function onlyNumber(n) { 5781 return n.replace(/\D/g, ''); 5782 } 5783 5784 5785 $(document).on("keyup", "#mobileregister #reg_rek, #mobileregister #reg_telpon", function() 5786 { 5787 var rek = $(this).val(); 5788 rek = onlyNumber(rek); 5789 if (isNaN(rek)) rek = ''; 5790 $(this).val(rek); 5791 }); 5792 5793// 5794$(document).on("change", '#mobileregister #reg_dari', function() 5795 { 5796 inputdari = $('#mobileregister #reg_dari').val(); 5797 5798 if (inputdari == 'Lain-lain') 5799 { 5800 $('#mobileregister #reg_lain').show(); 5801 } 5802 else 5803 { 5804 $('#mobileregister #reg_lain').hide(); 5805 } 5806 }); 5807 5808 5809$(document).on("click", "#mobileregister #buttonRegister", function() 5810 { 5811 5812 nocache = new Date().getTime().toString().slice(-3); 5813 5814 var ver = `<img src=\"mcapreg.php?${nocache}\" width=\"100%\" style=\"height: 40px; width: 100%; border-radius: 5px;margin-top: -3px;\" alt=\"Kode verifikasi\">`; 5815 var $form = $('#mobileregister #formRegister'); 5816 var $status = $('#mobileregister #statusRegister'); 5817 $status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000); 5818 5819 function submitMobileRegister() { 5820 5821 5822 5823 $.ajax({ 5824 url: "/api/front/register", 5825 type: "POST", 5826 data: $form.serialize(), 5827 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 5828 success: function(data) 5829 { 5830 $('.is-invalid').removeClass('is-invalid'); 5831 5832 if (data == 'success') 5833 { 5834 5835 toast('Registrasi Sukses!, Selamat Bergabung.', 200); 5836 $status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900); 5837 window.location='/home?welcome'; 5838 } 5839 else 5840 if (data == 'userWrong') 5841 { 5842 $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); 5843 $('#mobileregister #reg_username').addClass('is-invalid'); 5844 } 5845 else 5846 if (data == 'passWrong') 5847 { 5848 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000); 5849 $('#mobileregister #reg_pass').addClass('is-invalid'); 5850 } 5851 else 5852 if (data == 'passSame') 5853 { 5854 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000); 5855 $('#mobileregister #reg_passcon').addClass('is-invalid'); 5856 } 5857 else 5858 if (data == 'bankEmpty') 5859 { 5860 $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000); 5861 $('#mobileregister #reg_bank').addClass('is-invalid'); 5862 } 5863 else 5864 if (data == 'rekEmpty') 5865 { 5866 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000); 5867 $('#mobileregister #reg_rek').addClass('is-invalid'); 5868 } 5869 else 5870 if (data == 'namaEmpty') 5871 { 5872 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000); 5873 $('#mobileregister #reg_nama').addClass('is-invalid'); 5874 } 5875 else 5876 if (data == 'dbError') 5877 { 5878 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000); 5879 } 5880 else 5881 if (data == 'userExist') 5882 { 5883 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000); 5884 $('#mobileregister #reg_username').addClass('is-invalid'); 5885 } 5886 else 5887 if (data == 'rekExist') 5888 { 5889 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000); 5890 $('#mobileregister #reg_rek').addClass('is-invalid'); 5891 } 5892 else 5893 if (data == 'refError') 5894 { 5895 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut').fadeIn(1000); 5896 $('#mobileregister #reg_ref').addClass('is-invalid'); 5897 } 5898 else 5899 if (data == 'emailError') 5900 { 5901 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000); 5902 $('#mobileregister #reg_email').addClass('is-invalid'); 5903 } 5904 else 5905 if (data == 'telponEmpty') 5906 { 5907 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
5907idak boleh kosong').fadeIn(1000); 5908 $('#mobileregister #reg_telpon').addClass('is-invalid'); 5909 } 5910 else 5911 if (data == 'telponError') 5912 { 5913 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000); 5914 $('#mobileregister #reg_telpon').addClass('is-invalid'); 5915 } 5916 else if (data == 'namaError') { 5917 5918 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000); 5919 $('#mobileregister #reg_nama').addClass('is-invalid'); 5920 } 5921 else 5922 if (data == 'dariEmpty') 5923 { 5924 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000); 5925 $('#mobileregister #reg_dari').addClass('is-invalid'); 5926 } 5927 else 5928 if (data == 'lainEmpty') 5929 { 5930 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000); 5931 $('#mobileregister #reg_lain').addClass('is-invalid'); 5932 } 5933 else 5934 if (data == 'caperror') 5935 { 5936 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000); 5937 $('#mobileregister #reg_verifikasi').addClass('is-invalid'); 5938 5939 } 5940 else 5941 if (data == 'recaperror') 5942 { 5943 $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000); 5944 } 5945 else 5946 if (data == 'iperror') 5947 { 5948 $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000); 5949 } 5950 else 5951 if (data == 'capexp') 5952 { 5953 $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000); 5954 } 5955 else 5956 if (data == 'wait') 5957 { 5958 $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000); 5959 } 5960 else 5961 if (data == 'turnnoevent') 5962 { 5963 window.location.reload(); 5964 } 5965 else 5966 if (data == 'turnblock') 5967 { 5968 $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000); 5969 } 5970 else 5971 if (data.indexOf('passNotSafe|') === 0) 5972 { 5973 var msg = data.substring('passNotSafe|'.length); 5974 if (!msg) { 5975 msg = 'Password tidak aman! Gunakan password yang lebih kuat.'; 5976 } 5977 5978 $status 5979 .removeClass() 5980 .addClass('alert alert-sm alert-warning') 5981 .text(msg) 5982 .fadeIn(1000); 5983 5984 $('#mobileregister #reg_pass').addClass('is-invalid'); 5985 } 5986 5987 $('#mobileregister #capverifikasi').html(ver); 5988 // ke('#mobileregister #content'); 5989 }}) 5990 .fail(function() { 5991 $status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000); 5992 $('#mobileregister #capverifikasi').html(ver); 5993 }); 5994 } 5995 5996 jtWithIframeCaptchaRegister($form, true, function () { 5997 jtWithTurnstileRegister($form, function () { 5998 jtWithRecaptchaRegisterToken($form, $status, submitMobileRegister); 5999 }); 6000 }, function (msg) { 6001 $status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000); 6002 }); 6003 return false; 6004}); 6005 </script>
6005 6006 6007
6007<script> 6008 const currentPath = window.location.pathname.replace(/\/+$/, ''); 6009 const popupElement = document.getElementById('popup'); 6010 6011 if (currentPath === '/register') { 6012 document.getElementById('content')?.scrollIntoView(); 6013 } else if (popupElement && typeof bootstrap !== 'undefined') { 6014 const popupModal = bootstrap.Modal.getOrCreateInstance(popupElement); 6015 popupModal.show(); 6016 } 6017 </script>
6017 6018 6019 </body> 6020</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.