PageSourceSearch

https://lonexlabs.com/

html lonexlabs.com collected 2026-10-08 13:52:27 UTC 78,363 bytes, 1,421 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <meta name="color-scheme" content="dark">
7    <title>Tools for FiveM servers and online communities - LonexLabs</title>
8    <meta name="description" content="CAD systems, community websites, staff tools, Discord integrations and vehicles for FiveM roleplay servers and online communities.">
9    
10    <!-- SEO Meta Tags -->
11    <meta name="keywords" content="FiveM, server tools, CAD system, Discord integration, roleplay, staff management, server management">
12    <meta name="author" content="LonexLabs">
13    <meta name="robots" content="index, follow">
14    <link rel="canonical" href="https://lonexlabs.com/">
15    
16    <!-- Open Graph / Facebook -->
17    <meta property="og:type" content="website">
18    <meta property="og:url" content="https://lonexlabs.com/">
19    <meta property="og:title" content="Tools for FiveM servers and online communities - LonexLabs">
20    <meta property="og:description" content="CAD systems, community websites, staff tools, Discord integrations and vehicles for FiveM roleplay servers and online communities.">
21    <meta property="og:image" content="https://lonexlabs.com/og-image.png">
22    <meta property="og:image:width" content="1200">
23    <meta property="og:image:height" content="630">
24    <meta property="og:site_name" content="LonexLabs">
25    <meta property="og:locale" content="en_US">
26    
27    <!-- Twitter Card -->
28    <meta name="twitter:card" content="summary_large_image">
29    <meta name="twitter:url" content="https://lonexlabs.com/">
30    <meta name="twitter:title" content="Tools for FiveM servers and online communities - LonexLabs">
31    <meta name="twitter:description" content="CAD systems, community websites, staff tools, Discord integrations and vehicles for FiveM roleplay servers and online communities.">
32    <meta name="twitter:image" content="https://lonexlabs.com/og-image.png">
33    
34    <!-- Theme Color -->
35    <meta name="theme-color" content="#29cd96">
36    <meta name="msapplication-TileColor" content="#0a0a0b">
37    
38    <link rel="icon" type="image/png" href="/public/favicon.png">
39    <link rel="preconnect" href="https://fonts.googleapis.com">
40    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
41    <link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,[email protected],400..800&family=Geist:wght@500;600;700&family=Geist+Mono:wght@400;500&display=swap" rel="stylesheet">
42        <link rel="stylesheet" href="/public/assets/store.css?v=1790773669">
43    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
44    <style>
45        /* Native UI (select popups, scrollbars, pickers) follows the document. */
46        :root { color-scheme: dark; }
47
48        /* Dropdowns — the same control the portal and admin use. */
49        select {
50            appearance: none;
51            -webkit-appearance: none;
52            color-scheme: dark;
53            cursor: pointer;
54            min-height: 40px;
55            padding: 9px 36px 9px 13px;
56            font: inherit;
57            font-size: 15px;
58            color: var(--lx-text, #eef0f2);
59            background-color: var(--lx-bg, #0a0b0d);
60            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237d858e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
61            background-repeat: no-repeat;
62            background-position: right 12px center;
63            background-size: 14px 14px;
64            border: 1px solid var(--lx-line-2, rgba(255,255,255,.12));
65            border-radius: 10px;
66            outline: none;
67            transition: border-color .15s;
68        }
69        select:hover, select:focus { border-color: var(--lx-line-3, rgba(255,255,255,.2)); }
70        option, optgroup { background-color: var(--lx-bg-2, #14171b); color: var(--lx-text, #eef0f2); }
71        /* Pages that style their own fields do it through a class, which outranks
72           a bare element rule; :not([hidden]) lifts this one past them so the
73           arrow survives. */
74        body select:not([hidden]) {
75            appearance: none;
76            -webkit-appearance: none;
77            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237d858e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
78            background-repeat: no-repeat;
79            background-position: right 13px center;
80            background-size: 14px 14px;
81            padding-right: 38px;
82        }
83
84
85        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
86        
87        /* The store pages that have not been ported yet are written against
88           these names. Pointing them at the design system's tokens brings them
89           onto the same palette and gives them its corners. */
90        :root {
91            --bg: var(--lx-bg);
92            --bg-elevated: var(--lx-bg-2);
93            --bg-card: var(--lx-bg-1);
94            --bg-card-hover: var(--lx-bg-2);
95            --border: var(--lx-line);
96            --border-light: var(--lx-line-2);
97            --text: var(--lx-text);
98            --text-dim: var(--lx-text-2);
99            --text-faint: var(--lx-text-3);
100            --accent: var(--lx-accent);
101            --accent-dim: var(--lx-accent-hi);
102            --accent-glow: rgba(41, 205, 150, 0.15);
103            --accent-soft: var(--lx-accent-soft);
104            --error: var(--lx-red);
105            --warning: var(--lx-amber);
106            --radius: var(--lx-r);
107            --radius-sm: var(--lx-r-sm);
108            --radius-lg: var(--lx-r-lg);
109            --shadow: 0 4px 24px rgba(0,0,0,0.4);
110            --shadow-lg: 0 8px 48px rgba(0,0,0,0.5);
111        }
112        
113        html { scroll-behavior: smooth; }
114        
115        body {
116            font-family: 'Plus Jakarta Sans', -apple-system, sans-serif;
117            background: var(--bg);
118            color: var(--text);
119            line-height: 1.6;
120            min-height: 100vh;
121            -webkit-font-smoothing: antialiased;
122        }
123        
124        a { color: inherit; text-decoration: none; }
125        svg { stroke-linecap: round; stroke-linejoin: round; }
126        button, input, select, textarea { font-family: inherit; }
127        
128        /* Header */
129        .header {
130            position: fixed;
131            top: 0;
132            left: 0;
133            right: 0;
134            z-index: 100;
135            background: rgba(10, 10, 11, 0.8);
136            backdrop-filter: blur(20px);
137            border-bottom: 1px solid var(--border);
138        }
139        
140        .header-inner {
141            max-width: 1360px;
142            margin: 0 auto;
143            padding: 0 24px;
144            height: 72px;
145            display: flex;
146            align-items: center;
147            justify-content: space-between;
148        }
149        
150        .logo {
151            display: flex;
152            align-items: center;
153            gap: 2px;
154        }
155        
156        .logo img {
157            height: 36px;
158            width: auto;
159        }
160        
161        .logo-accent { color: var(--accent); }
162        
163        .nav { display: flex; align-items: center; gap: 8px; }
164        
165        .nav-link {
166            display: inline-flex;
167            align-items: center;
168            gap: 6px;
169            padding: 10px 18px;
170            font-size: 14px;
171            font-weight: 500;
172            color: var(--text-dim);
173            border-radius: var(--radius-sm);
174            transition: all 0.2s;
175        }
176        
177        .nav-link svg {
178            flex-shrink: 0;
179        }
180        
181        .nav-link:hover { color: var(--text); background: var(--bg-card); }
182        .nav-link.active { color: var(--accent); }
183        
184        .nav-cta {
185            background: var(--accent);
186            color: var(--bg);
187            font-weight: 600;
188            margin-left: 8px;
189        }
190        
191        .nav-cta:hover { background: var(--accent-dim); color: var(--bg); }
192        
193        /* Cart */
194        .nav-cart {
195            position: relative;
196            padding: 10px 14px !important;
197        }
198        
199        .cart-badge {
200            position: absolute;
201            top: 4px;
202            right: 4px;
203            min-width: 18px;
204            height: 18px;
205            padding: 0 5px;
206            background: var(--accent);
207            color: var(--bg);
208            font-size: 11px;
209            font-weight: 700;
210            border-radius:0;
211            display: flex;
212            align-items: center;
213            justify-content: center;
214        }
215        
216        /* Main */
217        main { padding-top: 72px; }
218        
219        .container {
220            max-width: 1360px;
221            margin: 0 auto;
222            padding: 0 24px;
223        }
224        
225        /* Buttons */
226        .btn {
227            display: inline-flex;
228            align-items: center;
229            justify-content: center;
230            gap: 8px;
231            padding: 12px 24px;
232            font-size: 14px;
233            font-weight: 600;
234            font-family: inherit;
235            border-radius: var(--radius-sm);
236            border: none;
237            cursor: pointer;
238            transition: all 0.2s;
239        }
240        
241        .btn-primary {
242            background: var(--accent);
243            color: var(--bg);
244        }
245        
246        .btn-primary:hover {
247            background: var(--accent-dim);
248            transform: translateY(-1px);
249            box-shadow: 0 4px 20px var(--accent-glow);
250        }
251        
252        .btn-secondary {
253            background: var(--bg-card);
254            color: var(--text);
255            border: 1px solid var(--border);
256        }
257        
258        .btn-secondary:hover {
259            background: var(--bg-card-hover);
260            border-color: var(--border-light);
261        }
262        
263        .btn-github {
264            background: #ffffff;
265            color: #24292f;
266            border: 1px solid rgba(255, 255, 255, 0.2);
267            display: inline-flex;
268            align-items: center;
269            justify-content: center;
270            gap: 10px;
271            font-weight: 600;
272        }
273        
274        .btn-github:hover {
275            background: #f6f8fa;
276            transform: translateY(-1px);
277            box-shadow: 0 4px 20px rgba(255, 255, 255, 0.15);
278        }
279        
280        .btn-github svg {
281            fill: #24292f;
282        }
283
284        /* Tebex — third-party vendor button (mirrors .btn-github).
285           The light wordmark is official artwork: scaled only, never recoloured. */
286        .btn-tebex {
287            background: #12141c;
288            color: #ffffff;
289            border: 1px solid rgba(255, 255, 255, 0.22);
290            display: inline-flex;
291            align-items: center;
292            justify-content: center;
293            gap: 10px;
294            font-weight: 600;
295        }
296
297        .btn-tebex:hover {
298            background: #1b1e29;
299            border-color: rgba(255, 255, 255, 0.4);
300            transform: translateY(-1px);
301            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
302        }
303
304        .tebex-mark {
305            height: 30px;
306            width: auto;
307            display: block;
308            flex-shrink: 0;
309        }
310
311        .btn-lg {
312            padding: 16px 32px;
313            font-size: 16px;
314            border-radius: var(--radius);
315        }
316        
317        .btn-sm {
318            padding: 8px 16px;
319            font-size: 13px;
320        }
321        
322        /* Cards */
323        .card {
324            background: var(--bg-card);
325            border: 1px solid var(--border);
326            border-radius: var(--radius-lg);
327            overflow: hidden;
328            transition: all 0.3s;
329        }
330        
331        .card:hover {
332            border-color: var(--border-light);
333            transform: translateY(-2px);
334            box-shadow: var(--shadow);
335        }
336        
337        /* Section */
338        .section {
339            padding: 80px 0;
340        }
341        
342        .section-header {
343            text-align: center;
344            margin-bottom: 48px;
345        }
346        
347        .section-label {
348            display: inline-block;
349            padding: 6px 14px;
350            background: var(--accent-soft);
351            color: var(--accent);
352            font-size: 12px;
353            font-weight: 600;
354            text-transform: uppercase;
355            letter-spacing: 1px;
356            border-radius:0;
357            margin-bottom: 16px;
358        }
359        
360        .section-title {
361            font-size: 40px;
362            font-weight: 800;
363            letter-spacing: -1px;
364            margin-bottom: 16px;
365        }
366        
367        .section-subtitle {
368            font-size: 18px;
369            color: var(--text-dim);
370            max-width: 600px;
371            margin: 0 auto;
372        }
373        
374        /* Footer */
375        .footer {
376            padding: 48px 0;
377            border-top: 1px solid var(--border);
378            background: var(--bg-elevated);
379        }
380        
381        .footer-inner {
382            display: flex;
383            justify-content: space-between;
384            align-items: center;
385            flex-wrap: wrap;
386            gap: 24px;
387        }
388        
389        .footer-text {
390            font-size: 14px;
391            color: var(--text-dim);
392        }
393        
394        .footer-links {
395            display: flex;
396            gap: 24px;
397        }
398        
399        .footer-link {
400            font-size: 14px;
401            color: var(--text-dim);
402            transition: color 0.2s;
403        }
404        
405        .footer-link:hover { color: var(--accent); }
406        
407        /* Utilities */
408        .text-accent { color: var(--accent); }
409        .text-dim { color: var(--text-dim); }
410        .text-center { text-align: center; }
411        .mt-4 { margin-top: 16px; }
412        .mt-8 { margin-top: 32px; }
413        .mb-4 { margin-bottom: 16px; }
414        .mb-8 { margin-bottom: 32px; }
415        
416        /* Alerts */
417        .alert {
418            padding: 16px 20px;
419            border-radius: var(--radius-sm);
420            margin-bottom: 24px;
421            font-size: 14px;
422        }
423        
424        .alert-success {
425            background: rgba(41, 205, 150, 0.1);
426            border: 1px solid var(--accent);
427            color: var(--accent);
428        }
429        
430        .alert-error {
431            background: rgba(239, 68, 68, 0.1);
432            border: 1px solid var(--error);
433            color: var(--error);
434        }
435        
436        /* Mobile Menu Toggle */
437        .mobile-toggle { display: none; padding: 8px; background: none; border: none; color: var(--text); cursor: pointer; position: relative; width: 40px; height: 40px; border-radius: var(--radius-sm); transition: background 0.2s; }
438        .mobile-toggle:hover { background: var(--bg-card); }
439        .mobile-toggle span { display: block; width: 20px; height: 2px; background: var(--text); position: absolute; left: 10px; transition: all 0.3s ease; border-radius:0; }
440        .mobile-toggle span:nth-child(1) { top: 12px; }
441        .mobile-toggle span:nth-child(2) { top: 19px; }
442        .mobile-toggle span:nth-child(3) { top: 26px; }
443        .mobile-toggle.open span:nth-child(1) { top: 19px; transform: rotate(45deg); }
444        .mobile-toggle.open span:nth-child(2) { opacity: 0; }
445        .mobile-toggle.open span:nth-child(3) { top: 19px; transform: rotate(-45deg); }
446        
447        .mobile-nav {
448            display: none;
449            position: fixed;
450            top: 72px;
451            left: 0;
452            right: 0;
453            bottom: 0;
454            background: var(--bg);
455            z-index: 99;
456            flex-direction: column;
457            padding: 16px;
458            gap: 4px;
459            overflow-y: auto;
460            border-top: 1px solid var(--border);
461        }
462        .mobile-nav.open { display: flex; }
463        .mobile-nav .nav-link {
464            display: flex;
465            width: 100%;
466            padding: 14px 18px;
467            border-radius: var(--radius-sm);
468            font-size: 15px;
469            color: var(--text-dim);
470        }
471        .mobile-nav .nav-link:hover { background: var(--bg-card); color: var(--text); }
472        .mobile-nav .nav-link.active { color: var(--accent); }
473        .mobile-nav .nav-cta { margin-top: 8px; justify-content: center; background: var(--accent); color: var(--bg); font-weight: 600; }
474        .mobile-nav .nav-cta:hover { background: var(--accent-dim); color: var(--bg); }
475        
476        /* Responsive */
477        @media (max-width: 768px) {
478            .mobile-toggle { display: block; }
479            .header-inner { padding: 0 16px; }
480            .container { padding: 0 16px; }
481            .section { padding: 48px 0; }
482            .section-title { font-size: 28px; }
483            .nav { display: none; }
484            .footer-inner { flex-direction: column; text-align: center; }
485        }
486        
487        /* Page-specific styles injected here */
488            </style>
489    
489<script defer src="https://api.pirsch.io/pa.js" id="pianjs" data-code="eiHmgjIWsb3mplztzSJLXOSFFiCTGLXI"></script>
489
490    
491    <!-- Structured Data -->
492    
492<script type="application/ld+json">
493    {
494        "@context": "https://schema.org",
495        "@type": "Organization",
496        "name": "LonexLabs",
497        "url": "https://lonexlabs.com",
498        "logo": "https://lonexlabs.com/og-image.png",
499        "description": "Professional tools for FiveM server management",
500        "sameAs": [
501            "https://discord.gg/lonexlabs"
502        ]
503    }
504    </script>
504
505    </head>
506<body class="pg-home">
507        <header class="lx-site-header">
508        <div class="lx-wrap lx-header-inner">
509            <a class="lx-brand" href="/" aria-label="LonexLabs home"><img src="/public/logo.svg" alt="LonexLabs" width="158" height="36"></a>
510
511            <nav class="lx-nav" aria-label="Primary">
512                <a href="/" aria-current="page">Home</a>
513                <a href="/products">Products</a>
514                <a href="/marketplace">Marketplace</a>
515                <a class="lx-secondary" href="/commissions">Commissions</a>
516
517                <div class="lx-menu-wrap">
518                    <button class="lx-menu-btn-nav" data-pop-trigger="resources-menu" aria-expanded="false" aria-haspopup="true">
519                        Resources <svg class="lx-chev"><use href="#i-chev"/></svg>
520                    </button>
521                    <div class="lx-menu-pop" id="resources-menu" hidden>
522                        <a href="https://docs.lonexlabs.com/" target="_blank" rel="noopener"><svg class="lx-ic"><use href="#i-book"/></svg><b>Documentation</b><span>Install guides and API reference</span><svg class="lx-ext"><use href="#i-ext"/></svg></a>
523                        <a href="https://basecamp.lonexlabs.com/" target="_blank" rel="noopener"><svg class="lx-ic"><use href="#i-flag"/></svg><b>Basecamp</b><span>Changelogs and release notes</span><svg class="lx-ext"><use href="#i-ext"/></svg></a>
524                        <a href="https://discord.gg/lonexlabs" target="_blank" rel="noopener"><svg class="lx-ic"><use href="#i-discord"/></svg><b>Discord</b><span>Ask the team and other owners</span><svg class="lx-ext"><use href="#i-ext"/></svg></a>
525                        <div class="lx-menu-sep"></div>
526                        <a href="/support"><svg class="lx-ic"><use href="#i-life"/></svg><b>Support</b><span>Open a ticket from your dashboard</span></a>
527                    </div>
528                </div>
529
530                <span style="flex:1"></span>
531
532                <button class="lx-nav-search" data-search-open aria-label="Search products">
533                    <svg><use href="#i-search"/></svg>
534                    <span class="lx-label">Search products…</span>
535                    <span class="lx-kbd">⌘K</span>
536                </button>
537
538                <div class="lx-cart-wrap">
539                                            <a class="lx-cart-link" href="/cart" aria-label="Cart, empty"><svg><use href="#i-cart"/></svg></a>
540                                    </div>
541
542                                    <a class="lx-nav-cta" href="/login">Sign In</a>
543                            </nav>
544
545            <button class="lx-menu-btn" aria-expanded="false" aria-controls="mobile-menu" aria-label="Menu"><svg><use href="#i-menu"/></svg></button>
546        </div>
547
548        <div id="mobile-menu" class="lx-wrap lx-mobile-menu" hidden>
549            <a href="/">Home</a>
550            <a href="/products">Products</a>
551            <a href="/marketplace">Marketplace</a>
552            <a href="/commissions">Commissions</a>
553            <a href="https://docs.lonexlabs.com/" target="_blank" rel="noopener">Documentation</a>
554            <a href="https://basecamp.lonexlabs.com/" target="_blank" rel="noopener">Basecamp</a>
555            <a href="https://discord.gg/lonexlabs" target="_blank" rel="noopener">Discord</a>
556            <a href="/support">Support</a>
557            <a href="/cart">Cart</a>
558                            <a class="lx-btn lx-btn-primary lx-btn-block" href="/login">Sign In</a>
559                    </div>
560    </header>
561
562    <main>
563        
564<!-- Hero -->
565<section class="lx-hero">
566    <div class="lx-wrap lx-hero-grid">
567        <div>
568            <h1>Software your community <em>runs&nbsp;on.</em></h1>
569            <p class="lx-hero-sub">CAD systems, community websites, staff tools, Discord integrations and vehicles for FiveM roleplay servers and online communities.</p>
570            <div class="lx-hero-cta">
571                <a class="lx-btn lx-btn-primary lx-btn-lg" href="/products">Browse products <svg class="lx-arrow"><use href="#i-arrow"/></svg></a>
572                <a class="lx-btn lx-btn-ghost lx-btn-lg" href="https://discord.gg/lonexlabs" target="_blank" rel="noopener"><svg><use href="#i-discord"/></svg>Join Discord</a>
573            </div>
574            <div class="lx-hero-stats">
575                <div><b>18</b><span>Released products</span></div>
576                <div><b>512</b><span>Licences issued</span></div>
577                <div><b>259</b><span>Active customers</span></div>
578                <div><b>24/7</b><span>Support</span></div>
579            </div>
580        </div>
581
582                    <div class="lx-stack" aria-label="Featured products">
583                                    <a class="lx-s1" href="/products/lonexcad">
584                        <img src="/public/uploads/products/lonexcad-1783898258.png" alt="LonexCAD">
585                        <span class="lx-label">LonexCAD</span>
586                    </a>
587                                    <a class="lx-s2" href="/products/lonexdiscordapi">
588                        <img src="/public/uploads/products/lonexdiscordapi-1783650183.jpg" alt="LonexDiscordAPI">
589                        <span class="lx-label">LonexDiscordAPI</span>
590                    </a>
591                                    <a class="lx-s3" href="/products/lonexstaff">
592                        <img src="/public/uploads/products/lonexstaff-1783680275.jpg" alt="LonexStaff">
593                        <span class="lx-label">LonexStaff</span>
594                    </a>
595                                    <a class="lx-s4" href="/products/brandingremoval">
596                        <img src="/public/uploads/products/brandingremoval-1784024947.jpg" alt="Branding Removal">
597                        <span class="lx-label">Branding Removal</span>
598                    </a>
599                            </div>
600            </div>
601</section>
602
603<!-- Store -->
604<section class="lx-section" id="products">
605    <div class="lx-wrap">
606        <div class="lx-head">
607            <div>
608                <h2>Products</h2>
609                <p>Every product is licensed to your server, delivered instantly through your dashboard, and updated for life.</p>
610            </div>
611                            <div class="lx-chips" data-filter-for="store" role="group" aria-label="Filter products">
612                    <button class="lx-chip" data-value="all" aria-pressed="true">All <span class="lx-n"></span></button>
613                                            <button class="lx-chip" data-value="resource" aria-pressed="false">Resource <span class="lx-n"></span></button>
614                                            <button class="lx-chip" data-value="web" aria-pressed="false">Web <span class="lx-n"></span></button>
615                                            <button class="lx-chip" data-value="addon" aria-pressed="false">Addon <span class="lx-n"></span></button>
616                                            <button class="lx-chip" data-value="free" aria-pressed="false">Free <span class="lx-n"></span></button>
617                                            <button class="lx-chip" data-value="community" aria-pressed="false">Community <span class="lx-n"></span></button>
618                                            <button class="lx-chip" data-value="fivem" aria-pressed="false">Fivem <span class="lx-n"></span></button>
619                                    </div>
620                    </div>
621
622        <div class="lx-store-grid" id="store">
623                            <article class="lx-pcard lx-lg lx-reveal" data-tags="web cad">
624                    <a class="lx-pcard-link" href="/products/lonexcad" aria-label="LonexCAD"></a>
625                    <div class="lx-pcard-media">
626                                                    <img src="/public/uploads/products/lonexcad-1783898258.png" alt="">
627                                                <div class="lx-badges">
628                            <span class="lx-tag lx-tag-accent">Featured</span>                                                                                </div>
629                    </div>
630                    <div class="lx-pcard-body">
631                        <span class="lx-pcard-cat">Cad · Web</span>
632                        <h3>LonexCAD</h3>
633                                                    <p>Complete Computer Aided Dispatch system with real-time updates, unit management, and comprehensive record keeping.</p>
634                                                <div class="lx-pcard-foot">
635                            <span class="lx-price">$50.00</span>
636                            <a class="lx-cart-add" href="/products/lonexcad" aria-label="View LonexCAD"><svg><use href="#i-arrow"/></svg></a>
637                        </div>
638                    </div>
639                </article>
640                            <article class="lx-pcard lx-lg lx-reveal" data-tags="addon resource free">
641                    <a class="lx-pcard-link" href="/products/lonexdiscordapi" aria-label="LonexDiscordAPI"></a>
642                    <div class="lx-pcard-media">
643                                                    <img src="/public/uploads/products/lonexdiscordapi-1783650183.jpg" alt="">
644                                                <div class="lx-badges">
645                            <span class="lx-tag lx-tag-accent">Featured</span>                                                                                </div>
646                    </div>
647                    <div class="lx-pcard-body">
648                        <span class="lx-pcard-cat">Resource · Addon</span>
649                        <h3>LonexDiscordAPI</h3>
650                                                    <p>LonexDiscordAPI is a powerful, high-performance Discord integration library for FiveM servers. It provides seamless Discord role syncing, permissions, webhooks, player data access, and server utilities.</p>
651                                                <div class="lx-pcard-foot">
652                            <span class="lx-price lx-free">Free</span>
653                            <a class="lx-cart-add" href="/products/lonexdiscordapi" aria-label="View LonexDiscordAPI"><svg><use href="#i-arrow"/></svg></a>
654                        </div>
655                    </div>
656                </article>
657                            <article class="lx-pcard lx-reveal" data-tags="web resource">
658                    <a class="lx-pcard-link" href="/products/lonexstaff" aria-label="LonexStaff"></a>
659                    <div class="lx-pcard-media">
660                                                    <img src="/public/uploads/products/lonexstaff-1783680275.jpg" alt="">
661                                                <div class="lx-badges">
662                            <span class="lx-tag lx-tag-accent">Featured</span>                                                                                </div>
663                    </div>
664                    <div class="lx-pcard-body">
665                        <span class="lx-pcard-cat">Resource · Web</span>
666                        <h3>LonexStaff</h3>
667                                                    <p>A powerful staff management panel and in-game menu for FiveM servers, combining real-time player moderation with comprehensive web-based administration.</p>
668                                                <div class="lx-pcard-foot">
669                            <span class="lx-price">$60.00</span>
670                            <a class="lx-cart-add" href="/products/lonexstaff" aria-label="View LonexStaff"><svg><use href="#i-arrow"/></svg></a>
671                        </div>
672                    </div>
673                </article>
674                            <article class="lx-pcard lx-reveal" data-tags="web resource addon">
675                    <a class="lx-pcard-link" href="/products/brandingremoval" aria-label="Branding Removal"></a>
676                    <div class="lx-pcard-media">
677                                                    <img src="/public/uploads/products/brandingremoval-1784024947.jpg" alt="">
678                                                <div class="lx-badges">
679                                                        <span class="lx-tag">Add-on</span>                                                    </div>
680                    </div>
681                    <div class="lx-pcard-body">
682                        <span class="lx-pcard-cat">Resource · Web</span>
683                        <h3>Branding Removal</h3>
684                                                    <p>Hide all visible LonexLabs branding from supported products automatically while your Branding Removal license is active.</p>
685                                                <div class="lx-pcard-foot">
686                            <span class="lx-price">$35.00</span>
687                            <a class="lx-cart-add" href="/products/brandingremoval" aria-label="View Branding Removal"><svg><use href="#i-arrow"/></svg></a>
688                        </div>
689                    </div>
690                </article>
691                            <article class="lx-pcard lx-reveal" data-tags="fivem resource">
692                    <a class="lx-pcard-link" href="/products/lonexdept" aria-label="Department Panel"></a>
693                    <div class="lx-pcard-media">
694                                                    <img loading="lazy" src="/public/uploads/products/lonexdept-1786268385.jpg" alt="">
695                                                <div class="lx-badges">
696                                                                                                            </div>
697                    </div>
698                    <div class="lx-pcard-body">
699                        <span class="lx-pcard-cat">Resource · Fivem</span>
700                        <h3>Department Panel</h3>
701                                                    <p>Rosters, ranks, callsigns, hours, training and discipline in one panel, with Discord roles and nicknames that follow every promotion.</p>
702                                                <div class="lx-pcard-foot">
703                            <span class="lx-price">$60.00</span>
704                            <a class="lx-cart-add" href="/products/lonexdept" aria-label="View Department Panel"><svg><use href="#i-arrow"/></svg></a>
705                        </div>
706                    </div>
707                </article>
708                            <article class="lx-pcard lx-reveal" data-tags="web community addon">
709                    <a class="lx-pcard-link" href="/products/helpdesk-module" aria-label="Helpdesk Module"></a>
710                    <div class="lx-pcard-media">
711                                                    <img loading="lazy" src="/public/uploads/products/helpdesk-module-1783649428.jpg" alt="">
712                                                <div class="lx-badges">
713                                                        <span class="lx-tag">Add-on</span>                                                    </div>
714                    </div>
715                    <div class="lx-pcard-body">
716                        <span class="lx-pcard-cat">Community · Web</span>
717                        <h3>Helpdesk Module</h3>
718                                                    <p>Add a powerful helpdesk to your LonexCommunity installation. Members can submit tickets, staff can manage queues, and everything stays organized with categories, priorities, and full conversation history.</p>
719                                                <div class="lx-pcard-foot">
720                            <span class="lx-price">$15.00</span>
721                            <a class="lx-cart-add" href="/products/helpdesk-module" aria-label="View Helpdesk Module"><svg><use href="#i-arrow"/></svg></a>
722                        </div>
723                    </div>
724                </article>
725                            <article class="lx-pcard lx-reveal" data-tags="standalone resource free">
726                    <a class="lx-pcard-link" href="/products/image-uploader" aria-label="Image Uploader"></a>
727                    <div class="lx-pcard-media">
728                                                    <img loading="lazy" src="/public/uploads/products/image-uploader-1783650129.jpg" alt="">
729                                                <div class="lx-badges">
730                                                                                                            </div>
731                    </div>
732                    <div class="lx-pcard-body">
733                        <span class="lx-pcard-cat">Resource · Standalone</span>
734                        <h3>Image Uploader</h3>
735                                                    <p>A lightweight, IP-restricted PHP image uploader with a public gallery, built for simple, secure image hosting without a database.</p>
736                                                <div class="lx-pcard-foot">
737                            <span class="lx-price lx-free">Free</span>
738                            <a class="lx-cart-add" href="/products/image-uploader" aria-label="View Image Uploader"><svg><use href="#i-arrow"/></svg></a>
739                        </div>
740                    </div>
741                </article>
742                            <article class="lx-pcard lx-reveal" data-tags="fivem resource addon">
743                    <a class="lx-pcard-link" href="/products/lonexcad-ingame" aria-label="LonexCAD In-Game"></a>
744                    <div class="lx-pcard-media">
745                                                    <img loading="lazy" src="/public/uploads/products/lonexcad-ingame-1783650157.jpg" alt="">
746                                                <div class="lx-badges">
747                                                        <span class="lx-tag">Add-on</span>                                                    </div>
748                    </div>
749                    <div class="lx-pcard-body">
750                        <span class="lx-pcard-cat">Resource · Fivem</span>
751                        <h3>LonexCAD In-Game</h3>
752                                                    <p>Access your CAD directly in FiveM. Run plates, check records, update your status, and view active calls - all without alt-tabbing.</p>
753                                                <div class="lx-pcard-foot">
754                            <span class="lx-price">$20.00</span>
755                            <a class="lx-cart-add" href="/products/lonexcad-ingame" aria-label="View LonexCAD In-Game"><svg><use href="#i-arrow"/></svg></a>
756                        </div>
757                    </div>
758                </article>
759                            <article class="lx-pcard lx-reveal" data-tags="web community">
760                    <a class="lx-pcard-link" href="/products/lonexcommunity" aria-label="LonexCommunity"></a>
761                    <div class="lx-pcard-media">
762                                                    <img loading="lazy" src="/public/uploads/products/lonexcommunity-1783650168.jpg" alt="">
763                                                <div class="lx-badges">
764                                                                                                            </div>
765                    </div>
766                    <div class="lx-pcard-body">
767                        <span class="lx-pcard-cat">Community · Web</span>
768                        <h3>LonexCommunity</h3>
769                                                    <p>The ultimate community management platform for game servers. Centralize your staff management, applications, announcements, and member tools.</p>
770                                                <div class="lx-pcard-foot">
771                            <span class="lx-price">$40.00</span>
772                            <a class="lx-cart-add" href="/products/lonexcommunity" aria-label="View LonexCommunity"><svg><use href="#i-arrow"/></svg></a>
773                        </div>
774                    </div>
775                </article>
776                            <article class="lx-pcard lx-reveal" data-tags="web resource">
777                    <a class="lx-pcard-link" href="/products/lonexdocs" aria-label="LonexDocs"></a>
778                    <div class="lx-pcard-media">
779                                                    <img loading="lazy" src="/public/uploads/products/lonexdocs-1783650192.jpg" alt="">
780                                                <div class="lx-badges">
781                                                                                                            </div>
782                    </div>
783                    <div class="lx-pcard-body">
784                        <span class="lx-pcard-cat">Resource · Web</span>
785                        <h3>LonexDocs</h3>
786                                                    <p>LonexDocs is a self-hosted documentation platform built for communities that want full control over their docs.</p>
787                                                <div class="lx-pcard-foot">
788                            <span class="lx-price">$20.00</span>
789                            <a class="lx-cart-add" href="/products/lonexdocs" aria-label="View LonexDocs"><svg><use href="#i-arrow"/></svg></a>
790                        </div>
791                    </div>
792                </article>
793                            <article class="lx-pcard lx-reveal" data-tags="web resource">
794                    <a class="lx-pcard-link" href="/products/lonexrelay" aria-label="LonexRelay"></a>
795                    <div class="lx-pcard-media">
796                                                    <img loading="lazy" src="/public/uploads/products/lonexrelay-1784504606.jpg" alt="">
797                                                <div class="lx-badges">
798                                                                                                            </div>
799                    </div>
800                    <div class="lx-pcard-body">
801                        <span class="lx-pcard-cat">Resource · Web</span>
802                        <h3>LonexRelay</h3>
803                                                    <p>A self-hosted product feedback board with voting, a public roadmap, and a versioned changelog with Discord sign-in built in.</p>
804                                                <div class="lx-pcard-foot">
805                            <span class="lx-price">$40.00</span>
806                            <a class="lx-cart-add" href="/products/lonexrelay" aria-label="View LonexRelay"><svg><use href="#i-arrow"/></svg></a>
807                        </div>
808                    </div>
809                </article>
810                            <article class="lx-pcard lx-reveal" data-tags="web resource">
811                    <a class="lx-pcard-link" href="/products/lonexstatus" aria-label="LonexStatus"></a>
812                    <div class="lx-pcard-media">
813                                                    <img loading="lazy" src="/public/uploads/products/lonexstatus-1783650221.jpg" alt="">
814                                                <div class="lx-badges">
815                                                                                                            </div>
816                    </div>
817                    <div class="lx-pcard-body">
818                        <span class="lx-pcard-cat">Resource · Web</span>
819                        <h3>LonexStatus</h3>
820                                                    <p>A self-hosted status page built for gaming communities and operators. Monitor your FiveM, Minecraft, and Rust servers, websites, APIs, Discord bots, and anything else your community depends on.</p>
821                                                <div class="lx-pcard-foot">
822                            <span class="lx-price">$20.00</span>
823                            <a class="lx-cart-add" href="/products/lonexstatus" aria-label="View LonexStatus"><svg><use href="#i-arrow"/></svg></a>
824                        </div>
825                    </div>
826                </article>
827                            <article class="lx-pcard lx-reveal" data-tags="fivem resource free">
828                    <a class="lx-pcard-link" href="/products/lonexsync" aria-label="LonexSync"></a>
829                    <div class="lx-pcard-media">
830                                                    <img loading="lazy" src="/public/uploads/products/lonexsync-1784039233.jpg" alt="">
831                                                <div class="lx-badges">
832                                                                                                            </div>
833                    </div>
834                    <div class="lx-pcard-body">
835                        <span class="lx-pcard-cat">Resource · Fivem</span>
836                        <h3>LonexSync</h3>
837                                                <div class="lx-pcard-foot">
838                            <span class="lx-price lx-free">Free</span>
839                            <a class="lx-cart-add" href="/products/lonexsync" aria-label="View LonexSync"><svg><use href="#i-arrow"/></svg></a>
840                        </div>
841                    </div>
842                </article>
843                            <article class="lx-pcard lx-reveal" data-tags="web resource">
844                    <a class="lx-pcard-link" href="/products/training" aria-label="LonexTraining"></a>
845                    <div class="lx-pcard-media">
846                                                    <img loading="lazy" src="/public/uploads/products/training-1783650683.jpg" alt="">
847                                                <div class="lx-badges">
848                                                                                                            </div>
849                    </div>
850                    <div class="lx-pcard-body">
851                        <span class="lx-pcard-cat">Resource · Web</span>
852                        <h3>LonexTraining</h3>
853                                                    <p>Complete training and assessment platform for law-enforcement and roleplay departments, live FTO-led sessions, structured assessments, and real Discord identities.</p>
854                                                <div class="lx-pcard-foot">
855                            <span class="lx-price">$40.00</span>
856                            <a class="lx-cart-add" href="/products/training" aria-label="View LonexTraining"><svg><use href="#i-arrow"/></svg></a>
857                        </div>
858                    </div>
859                </article>
860                            <article class="lx-pcard lx-reveal" data-tags="standalone resource">
861                    <a class="lx-pcard-link" href="/products/lonexwhmcsl
861ink" aria-label="LonexWHMCS"></a>
862                    <div class="lx-pcard-media">
863                                                    <img loading="lazy" src="/public/uploads/products/lonexwhmcslink-1783650233.jpg" alt="">
864                                                <div class="lx-badges">
865                                                                                                            </div>
866                    </div>
867                    <div class="lx-pcard-body">
868                        <span class="lx-pcard-cat">Resource · Standalone</span>
869                        <h3>LonexWHMCS</h3>
870                                                    <p>Your WHMCS, in their Discord. Auto-assign Discord roles when customers buy products, forward invoice and ticket emails as DMs, and manage members across every guild - without leaving the WHMCS admin.</p>
871                                                <div class="lx-pcard-foot">
872                            <span class="lx-price">$30.00</span>
873                            <a class="lx-cart-add" href="/products/lonexwhmcslink" aria-label="View LonexWHMCS"><svg><use href="#i-arrow"/></svg></a>
874                        </div>
875                    </div>
876                </article>
877                            <article class="lx-pcard lx-reveal" data-tags="managed resource free">
878                    <a class="lx-pcard-link" href="/products/managed-service" aria-label="Managed Service"></a>
879                    <div class="lx-pcard-media">
880                                                    <img loading="lazy" src="/public/uploads/products/managed-service-1783650374.jpg" alt="">
881                                                <div class="lx-badges">
882                                                                                                            </div>
883                    </div>
884                    <div class="lx-pcard-body">
885                        <span class="lx-pcard-cat">Resource · Managed</span>
886                        <h3>Managed Service</h3>
887                                                    <p>Let us handle all the stress!</p>
888                                                <div class="lx-pcard-foot">
889                            <span class="lx-price lx-free">Free</span>
890                            <a class="lx-cart-add" href="/products/managed-service" aria-label="View Managed Service"><svg><use href="#i-arrow"/></svg></a>
891                        </div>
892                    </div>
893                </article>
894                            <article class="lx-pcard lx-reveal" data-tags="web community addon">
895                    <a class="lx-pcard-link" href="/products/staff-module" aria-label="Staff Module"></a>
896                    <div class="lx-pcard-media">
897                                                    <img loading="lazy" src="/public/uploads/products/staff-module-1783650243.jpg" alt="">
898                                                <div class="lx-badges">
899                                                        <span class="lx-tag">Add-on</span>                                                    </div>
900                    </div>
901                    <div class="lx-pcard-body">
902                        <span class="lx-pcard-cat">Community · Web</span>
903                        <h3>Staff Module</h3>
904                                                    <p>Connect your LonexStaff panel to your LonexCommunity site to display player leaderboards, staff duty hours, player profiles, and ban appeals.</p>
905                                                <div class="lx-pcard-foot">
906                            <span class="lx-price">$15.00</span>
907                            <a class="lx-cart-add" href="/products/staff-module" aria-label="View Staff Module"><svg><use href="#i-arrow"/></svg></a>
908                        </div>
909                    </div>
910                </article>
911                            <article class="lx-pcard lx-reveal" data-tags="web community addon">
912                    <a class="lx-pcard-link" href="/products/store-module" aria-label="Store Module"></a>
913                    <div class="lx-pcard-media">
914                                                    <img loading="lazy" src="/public/uploads/products/store-module-1783650255.jpg" alt="">
915                                                <div class="lx-badges">
916                                                        <span class="lx-tag">Add-on</span>                                                    </div>
917                    </div>
918                    <div class="lx-pcard-body">
919                        <span class="lx-pcard-cat">Community · Web</span>
920                        <h3>Store Module</h3>
921                                                    <p>Add a complete, self-hosted store to your LonexCommunity, sell digital downloads, Discord roles, and product keys with Stripe and PayPal built in.</p>
922                                                <div class="lx-pcard-foot">
923                            <span class="lx-price">$30.00</span>
924                            <a class="lx-cart-add" href="/products/store-module" aria-label="View Store Module"><svg><use href="#i-arrow"/></svg></a>
925                        </div>
926                    </div>
927                </article>
928                    </div>
929        <div class="lx-empty" hidden>Nothing in this category yet.</div>
930    </div>
931</section>
932
933<!-- Marketplace -->
934<section class="lx-section lx-market" id="marketplace">
935    <div class="lx-wrap">
936        <div class="lx-head">
937            <div>
938                <h2>Vehicle marketplace</h2>
939                <p>Emergency, utility and civilian vehicles for FiveM, made by community creators.</p>
940            </div>
941            <div style="display:flex;gap:16px;align-items:center">
942                <a class="lx-link-arrow" href="/marketplace">Browse the marketplace <svg><use href="#i-arrow"/></svg></a>
943                <div class="lx-rail-nav">
944                    <button type="button" data-rail="-1" aria-label="Scroll left"><svg><use href="#i-left"/></svg></button>
945                    <button type="button" data-rail="1" aria-label="Scroll right"><svg><use href="#i-right"/></svg></button>
946                </div>
947            </div>
948        </div>
949        <div class="lx-rail" id="rail">
950                                            <a class="lx-vcard" href="/marketplace/um-2019-toyota-tundra-trd-pro">
951                    <div class="lx-vcard-media">
952                        <img loading="lazy" src="/public/uploads/marketplace/um-2019-toyota-tundra-trd-pro-1770240671-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
953                    <div class="lx-vcard-body">
954                        <h3>UM 2019 Toyota Tundra TRD Pro</h3>
955                        <div class="lx-vcard-foot">
956                                                            <span class="lx-author">
957                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
958                                                        <span class="lx-price">$5.00</span>
959                        </div>
960                    </div>
961                </a>
962                                            <a class="lx-vcard" href="/marketplace/um-2020-ford-f250">
963                    <div class="lx-vcard-media">
964                        <img loading="lazy" src="/public/uploads/marketplace/um-2020-ford-f250-1770240636-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
965                    <div class="lx-vcard-body">
966                        <h3>UM 2020 Ford F250</h3>
967                        <div class="lx-vcard-foot">
968                                                            <span class="lx-author">
969                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
970                                                        <span class="lx-price">$5.00</span>
971                        </div>
972                    </div>
973                </a>
974                                            <a class="lx-vcard" href="/marketplace/um-2018-ford-transit-surveillance">
975                    <div class="lx-vcard-media">
976                        <img loading="lazy" src="/public/uploads/marketplace/um-2018-ford-transit-surveillance-1770240598-0.png" alt="">
976                        <span class="lx-tag">Emergency</span>                    </div>
977                    <div class="lx-vcard-body">
978                        <h3>UM 2018 Ford Transit Surveillance</h3>
979                        <div class="lx-vcard-foot">
980                                                            <span class="lx-author">
981                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
982                                                        <span class="lx-price">$5.00</span>
983                        </div>
984                    </div>
985                </a>
986                                            <a class="lx-vcard" href="/marketplace/legacy-2014-dodge-charger">
987                    <div class="lx-vcard-media">
988                        <img loading="lazy" src="/public/uploads/marketplace/legacy-2014-dodge-charger-1770240560-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
989                    <div class="lx-vcard-body">
990                        <h3>Legacy 2014 Dodge Charger</h3>
991                        <div class="lx-vcard-foot">
992                                                            <span class="lx-author">
993                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
994                                                        <span class="lx-price">$5.00</span>
995                        </div>
996                    </div>
997                </a>
998                                            <a class="lx-vcard" href="/marketplace/wildlife-2016-dodge-ram-2500">
999                    <div class="lx-vcard-media">
1000                        <img loading="lazy" src="/public/uploads/marketplace/wildlife-2016-dodge-ram-2500-1770240525-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
1001                    <div class="lx-vcard-body">
1002                        <h3>Wildlife 2016 Dodge Ram 2500</h3>
1003                        <div class="lx-vcard-foot">
1004                                                            <span class="lx-author">
1005                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
1006                                                        <span class="lx-price">$5.00</span>
1007                        </div>
1008                    </div>
1009                </a>
1010                                            <a class="lx-vcard" href="/marketplace/legacy-2011-ford-crown-victoria">
1011                    <div class="lx-vcard-media">
1012                        <img loading="lazy" src="/public/uploads/marketplace/legacy-2011-ford-crown-victoria-1770240488-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
1013                    <div class="lx-vcard-body">
1014                        <h3>Legacy 2011 Ford Crown Victoria</h3>
1015                        <div class="lx-vcard-foot">
1016                                                            <span class="lx-author">
1017                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
1018                                                        <span class="lx-price">$5.00</span>
1019                        </div>
1020                    </div>
1021                </a>
1022                                            <a class="lx-vcard" href="/marketplace/2018-canam-4-door">
1023                    <div class="lx-vcard-media">
1024                        <img loading="lazy" src="/public/uploads/marketplace/2018-canam-4-door-1770240393-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
1025                    <div class="lx-vcard-body">
1026                        <h3>2018 Canam 4 Door</h3>
1027                        <div class="lx-vcard-foot">
1028                                                            <span class="lx-author">
1029                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
1030                                                        <span class="lx-price">$5.00</span>
1031                        </div>
1032                    </div>
1033                </a>
1034                                            <a class="lx-vcard" href="/marketplace/um-2017-chevy-colorado">
1035                    <div class="lx-vcard-media">
1036                        <img loading="lazy" src="/public/uploads/marketplace/um-2017-chevy-colorado-1770240297-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
1037                    <div class="lx-vcard-body">
1038                        <h3>UM 2017 Chevy Colorado</h3>
1039                        <div class="lx-vcard-foot">
1040                                                            <span class="lx-author">
1041                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
1042                                                        <span class="lx-price">$5.00</span>
1043                        </div>
1044                    </div>
1045                </a>
1046                                            <a class="lx-vcard" href="/marketplace/um-2016-cadillac-cts-v">
1047                    <div class="lx-vcard-media">
1048                        <img loading="lazy" src="/public/uploads/marketplace/um-2016-cadillac-cts-v-1770240258-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
1049                    <div class="lx-vcard-body">
1050                        <h3>UM 2016 Cadillac CTS V</h3>
1051                        <div class="lx-vcard-foot">
1052                                                            <span class="lx-author">
1053                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
1054                                                        <span class="lx-price">$5.00</span>
1055                        </div>
1056                    </div>
1057                </a>
1058                                            <a class="lx-vcard" href="/marketplace/legacy-2018-dodge-charger">
1059                    <div class="lx-vcard-media">
1060                        <img loading="lazy" src="/public/uploads/marketplace/legacy-2018-dodge-charger-1770240216-0.png" alt="">                        <span class="lx-tag">Emergency</span>                    </div>
1061                    <div class="lx-vcard-body">
1062                        <h3>Legacy 2018 Dodge Charger</h3>
1063                        <div class="lx-vcard-foot">
1064                                                            <span class="lx-author">
1065                                    <img src="/public/uploads/authors/zeakor-1769953157.png" alt="">                                    Zeakor                                </span>
1066                                                        <span class="lx-price">$5.00</span>
1067                        </div>
1068                    </div>
1069                </a>
1070                    </div>
1071    </div>
1072</section>
1073
1074<!-- Services -->
1075<section class="lx-section-sm">
1076    <div class="lx-wrap">
1077        <div class="lx-services">
1078            <a href="/commissions"><h3>Commissions</h3><p>Need something custom? Get a quote within 24&ndash;48 hours.</p><svg class="lx-go"><use href="#i-arrow"/></svg></a>
1079            <a href="/products"><h3>Managed hosting</h3><p>We host, set up and maintain your product for you.</p><svg class="lx-go"><use href="#i-arrow"/></svg></a>
1080            <a href="/support"><h3>Support</h3><p>Open a ticket, read the docs, or ask on Discord.</p><svg class="lx-go"><use href="#i-arrow"/></svg></a>
1081        </div>
1082    </div>
1083</section>
1084
1085<!-- Community -->
1086<section class="lx-section-sm" style="padding-top:0">
1087    <div class="lx-wrap">
1088        <div class="lx-community lx-reveal">
1089                                                                <img src="/public/uploads/marketplace/um-2019-toyota-tundra-trd-pro-1770240671-0.png" alt="" loading="lazy">
1090                                        <div class="lx-community-copy">
1091                <h2>Trusted by 400+ communities.</h2>
1092                <p>Join the LonexLabs Discord for release news, sneak peeks and help from the team and other server owners.</p>
1093                <div class="lx-hero-cta">
1094                    <a class="lx-btn lx-btn-primary lx-btn-lg" href="https://discord.gg/lonexlabs" target="_blank" rel="noopener"><svg><use href="#i-discord"/></svg>Join Discord</a>
1095                    <a class="lx-btn lx-btn-ghost lx-btn-lg" href="/products">Browse products</a>
1096                </div>
1097            </div>
1098        </div>
1099    </div>
1100</section>
1101
1102<script>
1103document.querySelectorAll('[data-rail]').forEach(b => b.addEventListener('click', () => {
1104    const r = document.getElementById('rail');
1105    if (r) r.scrollBy({ left: +b.dataset.rail * r.clientWidth * 0.8, behavior: 'smooth' });
1106}));
1107</script>
1107
1108    </main>
1109    
1110    <footer class="lx-site-footer">
1111        <div class="lx-wrap">
1112            <div class="lx-footer-grid">
1113                <div class="lx-footer-brand">
1114                    <img src="/public/logo.svg" alt="LonexLabs" width="141" height="32">
1115                    <p>Tools, integrations and digital resources for FiveM servers and online communities.</p>
1116                </div>
1117                <div class="lx-footer-col">
1118                    <h2>Store</h2>
1119                    <a href="/products">Products</a>
1120                    <a href="/marketplace">Marketplace</a>
1121                    <a href="/commissions">Commissions</a>
1122                </div>
1123                <div class="lx-footer-col">
1124                    <h2>Customers</h2>
1125                    <a href="/portal">Dashboard</a>
1126                    <a href="/license-verify">Licence lookup</a>
1127                    <a href="/support">Support</a>
1128                    <a href="https://docs.lonexlabs.com/" target="_blank" rel="noopener">Docs</a>
1129                </div>
1130                <div class="lx-footer-col">
1131                    <h2>Company</h2>
1132                    <a href="https://discord.gg/lonexlabs" target="_blank" rel="noopener">Discord</a>
1133                    <a href="/terms">Terms</a>
1134                    <a href="/privacy">Privacy</a>
1135                    <a href="/delete-account">Delete My Data</a>
1136                </div>
1137            </div>
1138            <div class="lx-footer-base">
1139                <span>&copy; 2026 LonexLabs. All rights reserved.</span>
1140                <span class="lx-status-ok"><span class="lx-dot"></span>All systems operational</span>
1141            </div>
1142        </div>
1143    </footer>
1144
1145    <!-- Custom Modal -->
1146    <div class="modal-overlay" id="customModal">
1147        <div class="modal-box">
1148            <div class="modal-icon" id="modalIcon">
1149                <svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
1150                    <path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"/>
1151                </svg>
1152            </div>
1153            <h3 class="modal-title" id="modalTitle">Confirm Action</h3>
1154            <p class="modal-message" id="modalMessage">Are you sure you want to proceed?</p>
1155            <div class="modal-actions">
1156                <button type="button" class="modal-btn modal-btn-cancel" id="modalCancel">Cancel</button>
1157                <button type="button" class="modal-btn modal-btn-confirm" id="modalConfirm">Confirm</button>
1158            </div>
1159        </div>
1160    </div>
1161
1162    <style>
1163    .modal-overlay {
1164        position: fixed;
1165        inset: 0;
1166        background: rgba(0, 0, 0, 0.8);
1167        backdrop-filter: blur(4px);
1168        display: flex;
1169        align-items: center;
1170        justify-content: center;
1171        z-index: 9999;
1172        opacity: 0;
1173        visibility: hidden;
1174        transition: all 0.2s ease;
1175    }
1176    .modal-overlay.active {
1177        opacity: 1;
1178        visibility: visible;
1179    }
1180    .modal-box {
1181        background: var(--bg-card);
1182        border: 1px solid var(--border);
1183        border-radius:0;
1184        padding: 28px;
1185        max-width: 420px;
1186        width: 90%;
1187        text-align: center;
1188        transform: scale(0.9) translateY(-20px);
1189        transition: transform 0.2s ease;
1190    }
1191    .modal-overlay.active .modal-box {
1192        transform: scale(1) translateY(0);
1193    }
1194    .modal-icon {
1195        width: 56px;
1196        height: 56px;
1197        border-radius: 50%;
1198        background: rgba(239, 68, 68, 0.15);
1199        color: #ef4444;
1200        display: flex;
1201        align-items: center;
1202        justify-content: center;
1203        margin: 0 auto 20px;
1204    }
1205    .modal-icon svg {
1206        width: 28px;
1207        height: 28px;
1208    }
1209    .modal-icon.warning {
1210        background: rgba(245, 158, 11, 0.15);
1211        color: #f59e0b;
1212    }
1213    .modal-icon.info {
1214        background: rgba(59, 130, 246, 0.15);
1215        color: #3b82f6;
1216    }
1217    .modal-icon.success {
1218        background: rgba(41, 205, 150, 0.15);
1219        color: var(--accent);
1220    }
1221    .modal-title {
1222        font-size: 20px;
1223        font-weight: 700;
1224        margin-bottom: 8px;
1225        color: var(--text);
1226    }
1227    .modal-message {
1228        font-size: 15px;
1229        color: var(--text-dim);
1230        margin-bottom: 28px;
1231        line-height: 1.6;
1232    }
1233    .modal-actions {
1234        display: flex;
1235        gap: 12px;
1236        justify-content: center;
1237    }
1238    .modal-btn {
1239        padding: 12px 24px;
1240        border-radius:0;
1241        font-size: 14px;
1242        font-weight: 600;
1243        cursor: pointer;
1244        transition: all 0.2s;
1245        border: none;
1246        min-width: 110px;
1247    }
1248    .modal-btn-cancel {
1249        background: var(--bg-card-hover);
1250        color: var(--text);
1251        border: 1px solid var(--border);
1252    }
1253    .modal-btn-cancel:hover {
1254        background: var(--bg-elevated);
1255    }
1256    .modal-btn-confirm {
1257        background: #ef4444;
1258        color: white;
1259    }
1260    .modal-btn-confirm:hover {
1261        background: #dc2626;
1262    }
1263    .modal-btn-confirm.primary {
1264        background: var(--accent);
1265    }
1266    .modal-btn-confirm.primary:hover {
1267        background: var(--accent-dim);
1268    }
1269    </style>
1270
1271    
1271<script>
1272    // Custom modal system
1273    const modal = {
1274        el: document.getElementById('customModal'),
1275        title: document.getElementById('modalTitle'),
1276        message: document.getElementById('modalMessage'),
1277        icon: document.getElementById('modalIcon'),
1278        confirmBtn: document.getElementById('modalConfirm'),
1279        cancelBtn: document.getElementById('modalCancel'),
1280        callback: null,
1281
1282        show(options = {}) {
1283            this.title.textContent = options.title || 'Confirm Action';
1284            this.message.textContent = options.message || 'Are you sure you want to proceed?';
1285            this.confirmBtn.textContent = options.confirmText || 'Confirm';
1286            this.confirmBtn.className = 'modal-btn modal-btn-confirm ' + (options.confirmClass || '');
1287            
1288            this.icon.className = 'modal-icon ' + (options.type || '');
1289            
1290            this.callback = options.onConfirm || null;
1291            this.el.classList.add('active');
1292            document.body.style.overflow = 'hidden';
1293        },
1294
1295        hide() {
1296            this.el.classList.remove('active');
1297            document.body.style.overflow = '';
1298            this.callback = null;
1299        },
1300
1301        confirm(title, message, onConfirm, options = {}) {
1302            this.show({ title, message, onConfirm, ...options });
1303        }
1304    };
1305
1306    modal.confirmBtn.addEventListener('click', () => {
1307        if (modal.callback) modal.callback();
1308        modal.hide();
1309    });
1310
1311    modal.cancelBtn.addEventListener('click', () => modal.hide());
1312    modal.el.addEventListener('click', (e) => {
1313        if (e.target === modal.el) modal.hide();
1314    });
1315
1316    document.addEventListener('keydown', (e) => {
1317        if (e.key === 'Escape' && modal.el.classList.contains('active')) {
1318            modal.hide();
1319        }
1320    });
1321
1322    // Override confirm dialogs on forms
1323    document.querySelectorAll('form[onsubmit*="confirm"]').forEach(form => {
1324        const originalOnsubmit = form.getAttribute('onsubmit');
1325        const match = originalOnsubmit.match(/confirm\(['"](.+?)['"]\)/);
1326        
1327        if (match) {
1328            form.removeAttribute('onsubmit');
1329            let confirmed = false;
1330            
1331            form.addEventListener('submit', function(e) {
1332                if (confirmed) {
1333                    confirmed = false;
1334                    return true;
1335                }
1336                
1337                e.preventDefault();
1338                modal.confirm(
1339                    'Confirm Action',
1340                    match[1],
1341                    () => {
1342                        confirmed = true;
1343                        form.submit();
1344                    },
1345                    { type: 'warning' }
1346                );
1347            });
1348        }
1349    });
1350    </script>
1350
1351    
1352    
1352<script>
1353    (function() {
1354        const toggle = document.getElementById('mobileToggle');
1355        const mobileNav = document.getElementById('mobileNav');
1356        if (!toggle || !mobileNav) return;
1357        
1358        toggle.addEventListener('click', function() {
1359            this.classList.toggle('open');
1360            mobileNav.classList.toggle('open');
1361            document.body.style.overflow = mobileNav.classList.contains('open') ? 'hidden' : '';
1362        });
1363        
1364        mobileNav.querySelectorAll('.nav-link').forEach(link => {
1365            link.addEventListener('click', function() {
1366                toggle.classList.remove('open');
1367                mobileNav.classList.remove('open');
1368                document.body.style.overflow = '';
1369            });
1370        });
1371    })();
1372    </script>
1372
1373    
1374    <svg width="0" height="0" style="position:absolute" aria-hidden="true"><defs>
1375  <symbol id="i-arrow" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 6l6 6-6 6"/></symbol>
1376  <symbol id="i-download" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4v11M7 10l5 5 5-5M5 20h14"/></symbol>
1377  <symbol id="i-left" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m15 6-6 6 6 6"/></symbol>
1378  <symbol id="i-right" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="m9 6 6 6-6 6"/></symbol>
1379  <symbol id="i-ext" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17 17 7M8 7h9v9"/></symbol>
1380  <symbol id="i-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 1.9-1.5L21 8H6.2"/><circle cx="10" cy="20.5" r="1"/><circle cx="17" cy="20.5" r="1"/></symbol>
1381  <symbol id="i-cart-plus" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 1.9-1.5L21 8H6.2"/><circle cx="10" cy="20.5" r="1"/><circle cx="17" cy="20.5" r="1"/><path d="M13 9.5v4M11 11.5h4"/></symbol>
1382  <symbol id="i-menu" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><path d="M4 7h16M4 12h16M4 17h16"/></symbol>
1383  <symbol id="i-life" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/><path d="m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M14.8 9.2l3.6-3.6M5.6 18.4l3.6-3.6"/></symbol>
1384  <symbol id="i-spark" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2l2.2 6.3L20.5 10l-6.3 2.2L12 18.5l-2.2-6.3L3.5 10l6.3-1.7z"/></symbol>
1385  <symbol id="i-discord" viewBox="0 0 24 24" fill="currentColor"><path d="M20.3 4.4A19.8 19.8 0 0 0 15.4 3a13.6 13.6 0 0 0-.6 1.3 18.3 18.3 0 0 0-5.5 0A12.6 12.6 0 0 0 8.7 3a19.7 19.7 0 0 0-4.9 1.5C.5 9-.3 13.6.1 18.1a19.9 19.9 0 0 0 6 3 14 14 0 0 0 1.3-2 13 13 0 0 1-1.9-.9l.4-.3a14.2 14.2 0 0 0 12.1 0l.4.3c-.6.4-1.2.7-1.9.9.4.7.8 1.4 1.3 2a19.8 19.8 0 0 0 6-3c.5-5.2-.9-9.7-3.6-13.7zM8 15.3c-1.2 0-2.2-1.1-2.2-2.4s1-2.4 2.2-2.4 2.2 1.1 2.2 2.4-1 2.4-2.2 2.4zm8 0c-1.2 0-2.2-1.1-2.2-2.4s1-2.4 2.2-2.4 2.2 1.1 2.2 2.4-1 2.4-2.2 2.4z"/></symbol>
1386  <symbol id="i-chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 9 6 6 6-6"/></symbol>
1387  <symbol id="i-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></symbol>
1388  <symbol id="i-book" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5V5a2 2 0 0 1 2-2h14v15H6a2 2 0 0 0-2 2 2 2 0 0 0 2 2h14"/></symbol>
1389  <symbol id="i-flag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.8 20.5 7v10L12 21.2 3.5 17V7z"/><path d="M3.5 7 12 11.2 20.5 7M12 11.2v10"/></symbol>
1390  <symbol id="i-x" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><path d="M6 6l12 12M18 6 6 18"/></symbol>
1391  <symbol id="i-check" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="m5 12.5 4.2 4L19 7"/></symbol>
1392  <symbol id="i-lock" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="11" width="14" height="9" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3"/></symbol>
1393  <symbol id="i-shield" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-3.6 8-10V5l-8-3-8 3v7c0 6.4 8 10 8 10z"/><path d="m9 12 2 2 4-4"/></symbol>
1394  <symbol id="i-zoom" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5M11 8v6M8 11h6"/></symbol>
1395  <symbol id="i-server" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><rect x="3" y="4" width="18" height="7" rx="1.5"/><rect x="3" y="13" width="18" height="7" rx="1.5"/><path d="M7 7.5h.01M7 16.5h.01"/></symbol>
1396  <symbol id="i-key" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="12" r="4"/><path d="M12 12h9M18 12v4M15 12v3"/></symbol>
1397  <symbol id="i-puzzle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M10 3.5a2 2 0 1 1 4 0V5h4a1 1 0 0 1 1 1v4h-1.5a2 2 0 1 0 0 4H19v4a1 1 0 0 1-1 1h-4v-1.5a2 2 0 1 0-4 0V19H6a1 1 0 0 1-1-1v-4h1.5a2 2 0 1 0 0-4H5V6a1 1 0 0 1 1-1h4z"/></symbol>
1398  <symbol id="i-apple" viewBox="0 0 24 24" fill="currentColor"><path d="M16.4 12.6c0-2.5 2-3.6 2.1-3.7a4.6 4.6 0 0 0-3.6-2c-1.5-.2-3 .9-3.7.9-.8 0-2-.9-3.2-.8a4.8 4.8 0 0 0-4 2.4c-1.7 3-.4 7.3 1.2 9.7.8 1.2 1.8 2.5 3 2.4 1.2 0 1.7-.8 3.1-.8s1.9.8 3.2.8c1.3 0 2.1-1.2 2.9-2.4a10 10 0 0 0 1.3-2.7 4.2 4.2 0 0 1-2.3-3.8zM14 5.3A4.2 4.2 0 0 0 15 2.2a4.3 4.3 0 0 0-2.8 1.5 4 4 0 0 0-1 3 3.6 3.6 0 0 0 2.8-1.4z"/></symbol>
1399  <symbol id="i-play" viewBox="0 0 24 24" fill="currentColor"><path d="M4.2 2.6c-.3.3-.4.7-.4 1.2v16.4c0 .5.1.9.4 1.2l9.3-9.4z" opacity=".85"/><path d="m16.6 15.1-3.1-3.1 3.1-3.1 3.6 2c1 .6 1 1.6 0 2.2z"/><path d="M13.5 12 4.2 21.4c.4.4 1 .4 1.6.1l10.8-6.4z" opacity=".7"/><path d="M13.5 12 16.6 8.9 5.8 2.5c-.6-.3-1.2-.3-1.6.1z" opacity=".95"/></symbol>
1400</defs></svg>
1401
1402<div class="lx-search-overlay" id="search-overlay" hidden role="dialog" aria-modal="true" aria-label="Search">
1403  <div class="lx-search-panel">
1404    <div class="lx-search-field">
1405      <svg><use href="#i-search"/></svg>
1406      <input type="text" placeholder="Search products, vehicles and docs…" aria-label="Search">
1407      <span class="lx-esc">esc</span>
1408    </div>
1409    <div class="lx-search-results"></div>
1410    <div class="lx-search-foot">
1411      <span><kbd>↑↓</kbd>navigate</span>
1412      <span><kbd>↵</kbd>open</span>
1413      <span><kbd>⌘K</kbd>toggle</span>
1414    </div>
1415  </div>
1416</div>
1417
1418<script src="/public/assets/store.js?v=1790773669"></script>
vendor: 1 bytes, line 1418
1418
1419<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":"2f2f5851bc7c48afab05f8e8fa61b48f","r":1,"spa":2}' crossorigin="anonymous"></script>
1419
1420</body>
1421</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.