PageSourceSearch

https://tera4d.com/home

html tera4d.com collected 2026-10-10 00:32:27 UTC 261,908 bytes, 6,020 lines download raw bytes

1<!doctype html>
2<html lang="id">
3  <head>
4    <meta charset="utf-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
6    <title>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 &amp; 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 = '&#8249;';
2956            btnR.innerHTML = '&#8250;';
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                &copy; 2015 &ndash; 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 = '&#8249;';
5445            btnR.innerHTML = '&#8250;';
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.